mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-10-28 14:56:06 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.1 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_X11
 | |
| 
 | |
| static void *CreateWindowX11(int w, int h);
 | |
| static void DestroyWindowX11(void *window);
 | |
| 
 | |
| NativeWindowFactory X11WindowFactory = {
 | |
|     "x11",
 | |
|     CreateWindowX11,
 | |
|     DestroyWindowX11
 | |
| };
 | |
| 
 | |
| static Display *dpy;
 | |
| 
 | |
| static void *
 | |
| CreateWindowX11(int w, int h)
 | |
| {
 | |
|     Window window = 0;
 | |
| 
 | |
|     dpy = XOpenDisplay(NULL);
 | |
|     if (dpy) {
 | |
|         window =
 | |
|             XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, w, h, 0, 0,
 | |
|                                 0);
 | |
|         XMapRaised(dpy, window);
 | |
|         XSync(dpy, False);
 | |
|     }
 | |
|     return (void *)window;
 | |
| }
 | |
| 
 | |
| static void
 | |
| DestroyWindowX11(void *window)
 | |
| {
 | |
|     if (dpy) {
 | |
|         XDestroyWindow(dpy, (Window)window);
 | |
|         XCloseDisplay(dpy);
 | |
|     }
 | |
| }
 | |
| 
 | |
| #endif
 | 
