Commit 559963b1 authored by Eli Gottlieb's avatar Eli Gottlieb

Put in a couple of fixes that I realized hadn't gotten done when I wrote out...

Put in a couple of fixes that I realized hadn't gotten done when I wrote out the SCRUM stuff in TODO.  Added SCRUM listings in TODO.
parent 7e0f1f18
Eli Gottlieb's checklist for the GSOC shaped windows project. Dated July 9, 2010.
1. Enable proper linking of the X11 implementation and test it.
--> Find the place in the build system for platform-specific linking flags. STATUS: BLOODY IMPOSSIBLE.
--> Add a linker flag to bring in libXext.a. STATUS: WILL BE SIMPLE ONCE PREVIOUS STEP IS ACCOMPLISHED (kshemashiach yagia).
2. Build the Win32 implementation of shaped-windows functionality.
--> Add driver functions to the SDL_ShapeDriver in the Win32 driver's SDL_DisplayDevice at the proper point in the code. STATUS: CHECK.
--> Add a hook in the Windows resize-window code to call Win32_ResizeWindowShape(). STATUS: CHECK.
3. Enable building the testeyes program.
--> Reprogram it to use the latest shaped-windows API. STATUS: CHECK.
--> Get it, along with the rest of the test suite in my branch, building successfully. STATUS: REQUIRES X11 IMPLEMENTATION TO LINK PROPERLY AND/OR A BUILD-BUDDY BUILDING AND RUNNING THE TEST FOR ME.
--> Debug testeyes and the platform-specific shaped-window implementations in tandem. STATUS: TO BEGIN, CURRENT SPRINT.
4. Implement the SDL shaped-windows API for Mac OS X using Cocoa. STATUS: NEXT SPRINT.
--> Locate (once more) the API documentation for shaped windows under Cocoa.
--> Design and encode a version of SDL_ShapeData for Cocoa.
--> Write Cocoa_CreateShaper().
--> Write Cocoa_ResizeWindowShape().
--> Write Cocoa_SetWindowShape().
--> If necessary, implement functionality adjunct to SDL_CalculateShapeBitmap() for Cocoa usage.
5. Use testeyes to debug all implementations. STATUS: SPRINT + 2.
--> Debug Cocoa implementation.
--> Debug Win32 implementation.
--> Debug X11 implementation (again).
1.3 release checklist: 1.3 release checklist:
* http://wiki.libsdl.org/moin.cgi/Roadmap * http://wiki.libsdl.org/moin.cgi/Roadmap
......
...@@ -492,6 +492,8 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) ...@@ -492,6 +492,8 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
BOOL menu; BOOL menu;
/* If we allow resizing, let the resize happen naturally */ /* If we allow resizing, let the resize happen naturally */
if(SDL_IsShapedWindow(data->window))
SDL_ResizeWindowShape(data->window);
if (SDL_GetWindowFlags(data->window) & SDL_WINDOW_RESIZABLE) { if (SDL_GetWindowFlags(data->window) & SDL_WINDOW_RESIZABLE) {
returnCode = 0; returnCode = 0;
break; break;
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include "../SDL_pixels_c.h" #include "../SDL_pixels_c.h"
#include "SDL_win32video.h" #include "SDL_win32video.h"
#include "SDL_win32shape.h"
#include "SDL_d3drender.h" #include "SDL_d3drender.h"
#include "SDL_gdirender.h" #include "SDL_gdirender.h"
...@@ -183,6 +184,11 @@ WIN_CreateDevice(int devindex) ...@@ -183,6 +184,11 @@ WIN_CreateDevice(int devindex)
device->SetWindowGrab = WIN_SetWindowGrab; device->SetWindowGrab = WIN_SetWindowGrab;
device->DestroyWindow = WIN_DestroyWindow; device->DestroyWindow = WIN_DestroyWindow;
device->GetWindowWMInfo = WIN_GetWindowWMInfo; device->GetWindowWMInfo = WIN_GetWindowWMInfo;
device->shape_driver.CreateShaper = Win32_CreateShaper;
device->shape_driver.SetWindowShape = Win32_SetWindowShape;
device->shape_driver.ResizeWindowShape = Win32_ResizeWindowShape;
#ifdef SDL_VIDEO_OPENGL_WGL #ifdef SDL_VIDEO_OPENGL_WGL
device->GL_LoadLibrary = WIN_GL_LoadLibrary; device->GL_LoadLibrary = WIN_GL_LoadLibrary;
device->GL_GetProcAddress = WIN_GL_GetProcAddress; device->GL_GetProcAddress = WIN_GL_GetProcAddress;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment