paragui-cvs
[Top][All Lists]
Advanced

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

[paragui-cvs] CVS: paragui/src/draw draw.cpp,1.1.2.12,1.1.2.13


From: Teunis Peters <address@hidden>
Subject: [paragui-cvs] CVS: paragui/src/draw draw.cpp,1.1.2.12,1.1.2.13
Date: Fri, 08 Nov 2002 06:22:04 -0500

Update of /cvsroot/paragui/paragui/src/draw
In directory subversions:/tmp/cvs-serv13762/src/draw

Modified Files:
      Tag: devel-opengl
        draw.cpp 
Log Message:
Add in greyscale and bitmap images (still largely untested)
also now pango future plugin now renders... :)


Index: draw.cpp
===================================================================
RCS file: /cvsroot/paragui/paragui/src/draw/Attic/draw.cpp,v
retrieving revision 1.1.2.12
retrieving revision 1.1.2.13
diff -C2 -r1.1.2.12 -r1.1.2.13
*** draw.cpp    4 Nov 2002 10:58:32 -0000       1.1.2.12
--- draw.cpp    8 Nov 2002 11:22:01 -0000       1.1.2.13
***************
*** 343,346 ****
--- 343,393 ----
  };
  
+ PG_Draw::PG_DrawableSurface* PG_Draw::PG_Draw::CreateBitmap(int width, int 
height) {
+   PG_DrawableSurface* surf;
+   SDL_Surface* t;
+   Uint32 rmask, gmask, bmask, amask;
+   int bits = 1;
+ #if SDL_BYTEORDER == SDL_BIG_ENDIAN
+   rmask = 0xff000000;
+   gmask = 0x00ff0000;
+   bmask = 0x0000ff00;
+   amask = 0x000000ff;
+ #else
+   rmask = 0x000000ff;
+   gmask = 0x0000ff00;
+   bmask = 0x00ff0000;
+   amask = 0xff000000;
+ #endif
+   /* SDL_SRCALPHA? */
+   t = 
SDL_CreateRGBSurface(SDL_SWSURFACE,width,height,bits,rmask,gmask,bmask,amask);
+   if (t == NULL) { PG_LogERR("[%s] SDL: %s", __FUNCTION__, SDL_GetError()); 
exit(-1); }
+   surf = new PG_DrawableSurface(t);
+   attach(surf);
+   if (surf == NULL) { PG_LogERR("failed to create window"); exit(-1); }
+   return surf;
+ };
+ 
+ PG_Draw::PG_DrawableSurface* PG_Draw::PG_Draw::CreateGrey(int width, int 
height) {
+   PG_DrawableSurface* surf;
+   surf = CreateDrawableSurface(SDL_SWSURFACE,width,height,8,0,0,0,0);
+   if (surf == NULL) return NULL;
+   SDL_Color tmp_pal[256];
+   for (int i=0; i<0x100; ++i) {
+     tmp_pal[i].r = i;
+     tmp_pal[i].g = i;
+     tmp_pal[i].b = i;
+   }
+   surf->SetPalette(SDL_LOGPAL, tmp_pal, 0, 256);
+   return surf;
+ };
+ 
+ PG_Draw::PG_DrawableSurface* PG_Draw::PG_Draw::CreateGreyAlpha(int width, int 
height) {
+   PG_DrawableSurface* surf;
+   /* checking SDL - this looks like it will work... */
+   surf = 
CreateDrawableSurface(SDL_SWSURFACE,width,height,16,0xff,0x00,0x00,0xff00);
+   if (surf == NULL) return NULL;
+   return surf;
+ };
+ 
  PG_Draw::PG_DrawableSurface*
  PG_Draw::PG_Draw::CreateDrawableSurfaceFrom(void* pixels,





reply via email to

[Prev in Thread] Current Thread [Next in Thread]