Mercurial > sdl-ios-xcode
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); |