comparison src/video/x11/SDL_x11shape.c @ 4785:ef8b32ef9793

Updated test code, updated win32 code a bit (still not complete, but hopefully tonight), and removed the last vestiges of ellipse and polygon drawing support.
author Eli Gottlieb <eligottlieb@gmail.com>
date Tue, 06 Jul 2010 22:05:22 -0400
parents 2878650e0dc9
children 175da36d1342
comparison
equal deleted inserted replaced
4784:2878650e0dc9 4785:ef8b32ef9793
60 60
61 return 0; 61 return 0;
62 } 62 }
63 63
64 int X11_SetWindowShape(SDL_WindowShaper *shaper,SDL_Surface *shape,SDL_WindowShapeMode *shapeMode) { 64 int X11_SetWindowShape(SDL_WindowShaper *shaper,SDL_Surface *shape,SDL_WindowShapeMode *shapeMode) {
65 assert(shaper != NULL && shape != NULL);
65 if(!SDL_ISPIXELFORMAT_ALPHA(SDL_MasksToPixelFormatEnum(shape->format->BitsPerPixel,shape->format->Rmask,shape->format->Gmask,shape->format->Bmask,shape->format->Amask))) 66 if(!SDL_ISPIXELFORMAT_ALPHA(SDL_MasksToPixelFormatEnum(shape->format->BitsPerPixel,shape->format->Rmask,shape->format->Gmask,shape->format->Bmask,shape->format->Amask)))
66 return -2; 67 return -2;
67 if(shape->w != shaper->window->w || shape->h != shaper->window->h) 68 if(shape->w != shaper->window->w || shape->h != shaper->window->h)
68 return -3; 69 return -3;
69 SDL_ShapeData *data = shaper->driverdata; 70 SDL_ShapeData *data = shaper->driverdata;
70 assert(data != NULL); 71 assert(data != NULL);
71 72
72 /* Assume that shaper->alphacutoff already has a value. */ 73 /* Assume that shaper->alphacutoff already has a value, because SDL_SetWindowShape() should have given it one. */
73 SDL_CalculateShapeBitmap(shaper->alphacutoff,shape,data->bitmap); 74 SDL_CalculateShapeBitmap(shaper->alphacutoff,shape,data->bitmap,8,1);
74 75
75 SDL_WindowData *windowdata = (SDL_WindowData*)(shaper->window->driverdata); 76 SDL_WindowData *windowdata = (SDL_WindowData*)(shaper->window->driverdata);
76 Pixmap shapemask = XCreateBitmapFromData(windowdata->videodata->display,windowdata->xwindow,data->bitmap,shaper->window->w,shaper->window->h); 77 Pixmap shapemask = XCreateBitmapFromData(windowdata->videodata->display,windowdata->xwindow,data->bitmap,shaper->window->w,shaper->window->h);
77 78
78 XShapeCombineMask(windowdata->videodata->display,windowdata->xwindow, ShapeBounding, 0, 0,shapemask, ShapeSet); 79 XShapeCombineMask(windowdata->videodata->display,windowdata->xwindow, ShapeBounding, 0, 0,shapemask, ShapeSet);