[SDL] Newbie: Color confusion in TTF_RenderUNICODE_Solid
jeroen clarysse
jeroen.clarysse at telenet.be
Fri Dec 21 12:48:40 PST 2007
You have to convert the colors. This is the call you need :
http://www.libsdl.org/cgi/docwiki.cgi/SDL_5fMapRGB
On 21-dec-07, at 14:19, Phuoc Can Hua wrote:
> I'm trying to draw text with outline font in two
> colors. My codes look something like this:
> SDL_Color black = { 0x00, 0x00, 0x00, 0 };
> SDL_Color red = { 0xFF, 0x00, 0x00, 0 };
>
> text0=
> TTF_RenderUNICODE_Solid(font,(Uint16*)"aSfU\000",
> red);
> text1=
> TTF_RenderUNICODE_Solid(font,(Uint16*)"aSfU\000",
> black);
>
> text2= SDL_ConvertSurface( text0, text0->format,
> SDL_SWSURFACE);
> // Draw outline with shifted text
> dstrect.w = text2->w;
> dstrect.h = text2->h;
> dstrect.x = 0;
> dstrect.y = 1;
> SDL_BlitSurface( text0, NULL, text2, &dstrect);
> dstrect.y = 3;
> SDL_BlitSurface( text0, NULL, text2, &dstrect);
> ...
>
> dstrect.x = 2;
> SDL_BlitSurface( text0, NULL, text2, &dstrect);
>
> // Draw the centre text in black
> dstrect.x = 0;
> dstrect.y = 2;
> SDL_BlitSurface( text1, NULL, text2, &dstrect);
> ...
>
> SDL_BlitSurface( text2, NULL, screen, &dstrect)
>
> I know, It's a bit messy with the different surfaces.
> Everything looks okay. But... when I start
> experimenting with the RGB values for the centre text.
> All other colors don't work. They either appear as red
> or background color.
>
> Is that because a palette is used in the format?
> Is that the way I handle the 3 surfaces?
> Can someone suggest a solution for that and any 2
> colors can be used?
>
> thanks
> Phuoc Can HUA
>
>
>
> _/\__/\__/\__/\__/\__/\_
> www.huaonline.com
> My Homepage is my Castle
>
>
> Make the switch to the world's best email. Get the new Yahoo!7
> Mail now. www.yahoo7.com.au/worldsbestemail
>
>
> _______________________________________________
> SDL mailing list
> SDL at lists.libsdl.org
> http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
>
More information about the SDL
mailing list