[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]

Re: [XaraXtreme-dev] Mac Developer - good news

Phil Martin wrote:
I still don't think you should be editing setup.h in wxWidgets - it's
designed to accept config settings from the outside world so there ought
to be a way of passing them in without editing setup.h. Right, Alex?

I'd have thought so. Perhaps you run ./configure with parameters
then use XCode.

And related to that point, if we're creating an Xcode project for XaraLX
developers to use, wouldn't it be better of they used an Xcode project
to build wxWidgets too? That would be more consistent and I think Xcode
projects are smarter about references to each other than to general
libraries. If you want to push ahead building wxWidgets on the command
line, though, please carry on. Better to get something going than to be
too perfectionist at this stage.

I thought he was using XCode. If you aren't using XCode, then definitely
use ./configure with parameters rather than edit setup.h.

Some crashes, error messages and odd colours you might get when loading
XAR files are probably to do with the byte-order of floats and doubles
in XAR files. If you can sort out a way to load those properly you might
find the program takes a huge leap forward. (See the float and double
overloads in hardwaremanager.h.)

Can you load in designs/BLUECAR.xar successfully? If so, please email us
a screen shot.

If you do this
  Scripts/all.sh | xargs fgrep -in ff000000

you will see a whole sequence of rather dodgy little-endian assumptions.
Output enclosed below.


Kernel/bmanip.cpp:177: if (((Area[1][1] & 0xff000000) >> 24) != 0xff || !bIgnoreBlankPixels) Kernel/bmanip.cpp:187: A = (BYTE)(Area[i][j] & 0xff000000) >> 24; Kernel/GDrawIntf.cpp:1021: pSetBits[Index++] = 0xFF000000; Kernel/nodeliveeffect.cpp:5500: // pDst[i] = (pSrc[i]==0xFF000000) ? 0 : 0xFF; // Invert Kernel/nodeliveeffect.cpp:5501: // pDst[i] = (pSrc[i]==0xFF000000) ? 0xFF : 0; Kernel/nodeliveeffect.cpp:5502: pDst[i] = (pSrc[i]&0xFF000000) >> 24; Kernel/nodeliveeffect.cpp:5588: pDst[i] = (pDst[i]&0xFF000000) | pSrc[i] << 24; Kernel/strkattr.cpp:537: ERROR3IF((Handle & 0xff000000) != 0, "Handle overflow");
Kernel/tracectl.cpp:143:const INT32 REGION_PIXEL = 0xFF000000;
wxOil/bfxalu.cpp:2076: if (((Area/*assign*/=pA[Pixel])<0xFF000000) && (Area>=0x80000000)) wxOil/cdrform.h:174:#define DEFFOURCC(n, v) n = (((v&0xff)<<24)|((v&0xff00)<<8)|((v&0xff0000)>>8)|((v&0xff000000)>>24)) wxOil/dibutil.cpp:4849: // XORing the bitmap's RGBA values with Oxff000000 will invert the alpha channel
wxOil/dibutil.cpp:4851:                 *lpRGBA ^= 0xff000000;
wxOil/gpalopt.cpp:247: if ( (DWORD&)pBitmap[i]<0xff000000u ) wxOil/grndrgn.cpp:3905:// StartTransp = (StartTransp & 0xFF000000) >> 24; wxOil/grndrgn.cpp:3906:// EndTransp = (EndTransp & 0xFF000000) >> 24; wxOil/grndrgn.cpp:7527: const RGBQUAD TOnly = {0, 0, 0, 0xFF}; ; // 0xFF000000 on LittleEndian; wxOil/maskfilt.cpp:829: if((pAlpha && ((pAlpha[i++] & 0xFF000000) >> 24) == 0xFF) || Padding) wxOil/metafilt.cpp:1519: (pHeader->mtSize < 0xFF000000L) && // assume <24 bit file length wxOil/oilbitmap.cpp:898: if (*pBits && 0xFF000000) // If the pixel is not completely opaque
wxOil/oilbitmap.cpp:4296:                       if (*pMask == 0xFF000000)
wxOil/oilbitmap.cpp:4297:                               *pDest = 0xFF000000;