Try testing in the simulator with it set to 16-bit color -- that mode
has no indices, just direct RGB values, and that's the default mode on
the LifeDrive, IIRC.

On 3/24/06, cp <[EMAIL PROTECTED]> wrote:
> I am using this piece of code to draw coloured text on screen. It works in 
> simulator, but not working in my LifeDrive Device
>
>                 RectangleType rect = {{0, 32},{160, 12},};
>
>                 IndexedColorType redIndex, blueIndex, blackIndex;
>                 RGBColorType rgb;
>
>                 Boolean inColor;
>                 UInt32 depth;
>                 UInt32 romVersion;
>
>                 FtrGet(sysFtrCreator, sysFtrNumROMVersion, &romVersion);
>
>                 if (romVersion >= sysVersion35)
>                         WinPushDrawState();
>
>                 // first, what color depth are we in?
>                 if (romVersion < sysVersion30) {
>                         depth = 1;  // no system support for gray or colors.
>                         inColor = 0;
>                 }
>                 else {
>                         WinScreenMode(winScreenModeGet, 0, 0, &depth, 0);
>                         inColor = (depth==8);
>                 }
>
>                 if (romVersion >= sysVersion35) {
>                         // black's index changes for different depths (but is 
> always at the highest palette entry)
>                         MemSet(&rgb, sizeof(rgb), 0);
>                         blackIndex = WinRGBToIndex(&rgb);
>
>                         // ditto for red.
>                         MemSet(&rgb, sizeof(rgb), 0);
>                         rgb.r=0xb0;
>                         redIndex = WinRGBToIndex(&rgb);
>
>                         // ditto for blue.
>                         MemSet(&rgb, sizeof(rgb), 0);
>                         rgb.b=0xb0;
>                         blueIndex = WinRGBToIndex(&rgb);
>
>                 }
>
>                 if (inColor)
>                 {
>                         WinSetTextColor(blueIndex);
>                 }
>
>                 WinEraseRectangle(&rect,0);
>                 WinDrawChars(message, strlen(message), 2, 32);
>
>                 if (romVersion >= sysVersion35)
>                         WinPopDrawState();
>
>         }
>
> thanks in advance
> -- cp
> --
> For information on using the PalmSource Developer Forums, or to unsubscribe, 
> please see http://www.palmos.com/dev/support/forums/
>

-- 
For information on using the PalmSource Developer Forums, or to unsubscribe, 
please see http://www.palmos.com/dev/support/forums/

Reply via email to