mirror of
				https://github.com/Ryujinx/SDL.git
				synced 2025-11-04 15:14:56 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
  Copyright (C) 1997-2023 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 */
 |