Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Put in a couple of fixes that I realized hadn't gotten done when I wr…
Browse files Browse the repository at this point in the history
…ote out the SCRUM stuff in TODO. Added SCRUM listings in TODO.
  • Loading branch information
Eli Gottlieb committed Jul 10, 2010
1 parent bc613c3 commit 9a0c1eb
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 0 deletions.
22 changes: 22 additions & 0 deletions TODO
@@ -1,3 +1,25 @@
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:
* http://wiki.libsdl.org/moin.cgi/Roadmap
Expand Down
2 changes: 2 additions & 0 deletions src/video/win32/SDL_win32events.c
Expand Up @@ -492,6 +492,8 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
BOOL menu;

/* 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) {
returnCode = 0;
break;
Expand Down
6 changes: 6 additions & 0 deletions src/video/win32/SDL_win32video.c
Expand Up @@ -28,6 +28,7 @@
#include "../SDL_pixels_c.h"

#include "SDL_win32video.h"
#include "SDL_win32shape.h"
#include "SDL_d3drender.h"
#include "SDL_gdirender.h"

Expand Down Expand Up @@ -183,6 +184,11 @@ WIN_CreateDevice(int devindex)
device->SetWindowGrab = WIN_SetWindowGrab;
device->DestroyWindow = WIN_DestroyWindow;
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
device->GL_LoadLibrary = WIN_GL_LoadLibrary;
device->GL_GetProcAddress = WIN_GL_GetProcAddress;
Expand Down

0 comments on commit 9a0c1eb

Please sign in to comment.