mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-10-31 16:26:03 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|   Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
 | |
| 
 | |
|   This software is provided 'as-is', without any express or implied
 | |
|   warranty.  In no event will the authors be held liable for any damages
 | |
|   arising from the use of this software.
 | |
| 
 | |
|   Permission is granted to anyone to use this software for any purpose,
 | |
|   including commercial applications, and to alter it and redistribute it
 | |
|   freely.
 | |
| */
 | |
| 
 | |
| #include "testnative.h"
 | |
| 
 | |
| #ifdef TEST_NATIVE_OS2
 | |
| 
 | |
| #define WIN_CLIENT_CLASS    "SDL Test"
 | |
| 
 | |
| static void *CreateWindowNative(int w, int h);
 | |
| static void DestroyWindowNative(void *window);
 | |
| 
 | |
| NativeWindowFactory OS2WindowFactory = {
 | |
|     "DIVE",
 | |
|     CreateWindowNative,
 | |
|     DestroyWindowNative
 | |
| };
 | |
| 
 | |
| static void *CreateWindowNative(int w, int h)
 | |
| {
 | |
|     HWND    hwnd, hwndFrame;
 | |
|     ULONG   ulFrameFlags = FCF_TASKLIST | FCF_DLGBORDER | FCF_TITLEBAR |
 | |
|                            FCF_SYSMENU  | FCF_SHELLPOSITION |
 | |
|                            FCF_SIZEBORDER | FCF_MINBUTTON | FCF_MAXBUTTON;
 | |
| 
 | |
|     WinRegisterClass(0, WIN_CLIENT_CLASS, WinDefWindowProc,
 | |
|                      CS_SIZEREDRAW | CS_MOVENOTIFY,
 | |
|                      sizeof(ULONG)); /* We should have minimum 4 bytes. */
 | |
| 
 | |
|     hwndFrame = WinCreateStdWindow(HWND_DESKTOP, 0, &ulFrameFlags,
 | |
|                                    WIN_CLIENT_CLASS, "SDL Test", 0, 0, 1, &hwnd);
 | |
|     if (hwndFrame == NULLHANDLE) {
 | |
|         return NULL;
 | |
|     }
 | |
| 
 | |
|     WinSetWindowPos(hwndFrame, HWND_TOP, 0, 0, w, h,
 | |
|                     SWP_ZORDER | SWP_ACTIVATE | SWP_SIZE | SWP_SHOW);
 | |
| 
 | |
|     return (void *)hwndFrame;   /* We may return client or frame window
 | |
|                                    handle for SDL_CreateWindowFrom(). */
 | |
| }
 | |
| 
 | |
| static void DestroyWindowNative(void *window)
 | |
| {
 | |
|     WinDestroyWindow((HWND) window);
 | |
| }
 | |
| 
 | |
| #endif /* TEST_NATIVE_OS2 */
 | 
