34static void applySizeLimits(
_GLFWwindow* window,
int* width,
int* height)
38 const float ratio = (float) window->
numer / (
float) window->
denom;
39 *height = (int) (*width / ratio);
60 window->null.width = mode.
width;
61 window->null.height = mode.
height;
85 window->null.xpos = 17;
86 window->null.ypos = 17;
87 window->null.width = wndconfig->
width;
88 window->null.height = wndconfig->
height;
91 window->null.visible = wndconfig->
visible;
93 window->null.maximized = wndconfig->
maximized;
96 window->null.opacity = 1.f;
111 if (!createNativeWindow(window, wndconfig, fbconfig))
135 acquireMonitor(window);
144 releaseMonitor(window);
146 if (
_glfw.null.focusedWindow == window)
165 int width,
int height,
168 if (window->
monitor == monitor)
180 releaseMonitor(window);
187 acquireMonitor(window);
188 fitToMonitor(window);
200 *xpos = window->null.xpos;
202 *ypos = window->null.ypos;
210 if (window->null.xpos != xpos || window->null.ypos != ypos)
212 window->null.xpos = xpos;
213 window->null.ypos = ypos;
221 *width = window->null.width;
223 *height = window->null.height;
231 if (window->null.width != width || window->null.height != height)
233 window->null.width = width;
234 window->null.height = height;
241 int minwidth,
int minheight,
242 int maxwidth,
int maxheight)
244 int width = window->null.width;
245 int height = window->null.height;
246 applySizeLimits(window, &width, &height);
252 int width = window->null.width;
253 int height = window->null.height;
254 applySizeLimits(window, &width, &height);
261 *width = window->null.width;
263 *height = window->null.height;
268 int* right,
int* bottom)
295 float* xscale,
float* yscale)
305 if (
_glfw.null.focusedWindow == window)
311 if (!window->null.iconified)
317 releaseMonitor(window);
323 if (window->null.iconified)
329 acquireMonitor(window);
331 else if (window->null.maximized)
340 if (!window->null.maximized)
349 return window->null.maximized;
354 return _glfw.null.xcursor >= window->null.xpos &&
355 _glfw.null.ycursor >= window->null.ypos &&
356 _glfw.null.xcursor <= window->null.xpos + window->null.width - 1 &&
357 _glfw.null.ycursor <= window->null.ypos + window->null.height - 1;
362 return window->null.transparent;
386 return window->null.opacity;
391 window->null.opacity = opacity;
414 if (
_glfw.null.focusedWindow == window)
425 if (
_glfw.null.focusedWindow == window)
428 if (!window->null.visible)
432 _glfw.null.focusedWindow = window;
446 return _glfw.null.focusedWindow == window;
451 return window->null.iconified;
456 return window->null.visible;
478 *xpos =
_glfw.null.xcursor - window->null.xpos;
480 *ypos =
_glfw.null.ycursor - window->null.ypos;
485 _glfw.null.xcursor = window->null.xpos + (int) x;
486 _glfw.null.ycursor = window->null.ypos + (int) y;
516 free(
_glfw.null.clipboardString);
517 _glfw.null.clipboardString = copy;
522 return _glfw.null.clipboardString;
void _glfwPlatformGetVideoMode(_GLFWmonitor *monitor, GLFWvidmode *mode)
void _glfwPlatformGetMonitorPos(_GLFWmonitor *monitor, int *xpos, int *ypos)
#define GLFW_NATIVE_CONTEXT_API
#define GLFW_OSMESA_CONTEXT_API
#define GLFW_API_UNAVAILABLE
GLFW could not find support for the requested API on the system.
#define GLFW_KEY_KP_DECIMAL
#define GLFW_KEY_APOSTROPHE
#define GLFW_KEY_SEMICOLON
#define GLFW_KEY_RIGHT_BRACKET
#define GLFW_KEY_KP_MULTIPLY
#define GLFW_KEY_KP_SUBTRACT
#define GLFW_KEY_BACKSLASH
#define GLFW_KEY_KP_DIVIDE
#define GLFW_KEY_LEFT_BRACKET
#define GLFW_KEY_KP_EQUAL
void _glfwInputError(int code, const char *format,...)
char * _glfw_strdup(const char *source)
void _glfwInputMonitorWindow(_GLFWmonitor *monitor, _GLFWwindow *window)
void _glfwInputFramebufferSize(_GLFWwindow *window, int width, int height)
void _glfwInputWindowIconify(_GLFWwindow *window, GLFWbool iconified)
void _glfwInputWindowMaximize(_GLFWwindow *window, GLFWbool maximized)
void _glfwInputWindowSize(_GLFWwindow *window, int width, int height)
void _glfwInputWindowMonitor(_GLFWwindow *window, _GLFWmonitor *monitor)
void _glfwInputWindowPos(_GLFWwindow *window, int xpos, int ypos)
void _glfwInputWindowFocus(_GLFWwindow *window, GLFWbool focused)
void _glfwPlatformSetWindowMonitor(_GLFWwindow *window, _GLFWmonitor *monitor, int xpos, int ypos, int width, int height, int refreshRate)
void _glfwPlatformSetWindowPos(_GLFWwindow *window, int xpos, int ypos)
void _glfwPlatformGetWindowContentScale(_GLFWwindow *window, float *xscale, float *yscale)
void _glfwPlatformSetCursorPos(_GLFWwindow *window, double x, double y)
void _glfwPlatformSetWindowResizable(_GLFWwindow *window, GLFWbool enabled)
int _glfwPlatformWindowIconified(_GLFWwindow *window)
void _glfwPlatformMaximizeWindow(_GLFWwindow *window)
void _glfwPlatformIconifyWindow(_GLFWwindow *window)
void _glfwPlatformSetWindowSize(_GLFWwindow *window, int width, int height)
void _glfwPlatformWaitEvents(void)
void _glfwPlatformSetWindowSizeLimits(_GLFWwindow *window, int minwidth, int minheight, int maxwidth, int maxheight)
void _glfwPlatformGetRequiredInstanceExtensions(char **extensions)
VkResult _glfwPlatformCreateWindowSurface(VkInstance instance, _GLFWwindow *window, const VkAllocationCallbacks *allocator, VkSurfaceKHR *surface)
int _glfwPlatformFramebufferTransparent(_GLFWwindow *window)
int _glfwPlatformCreateCursor(_GLFWcursor *cursor, const GLFWimage *image, int xhot, int yhot)
void _glfwPlatformPollEvents(void)
void _glfwPlatformGetFramebufferSize(_GLFWwindow *window, int *width, int *height)
void _glfwPlatformSetWindowAspectRatio(_GLFWwindow *window, int n, int d)
int _glfwPlatformWindowVisible(_GLFWwindow *window)
void _glfwPlatformSetCursor(_GLFWwindow *window, _GLFWcursor *cursor)
void _glfwPlatformGetWindowSize(_GLFWwindow *window, int *width, int *height)
void _glfwPlatformGetWindowFrameSize(_GLFWwindow *window, int *left, int *top, int *right, int *bottom)
void _glfwPlatformSetWindowIcon(_GLFWwindow *window, int count, const GLFWimage *images)
const char * _glfwPlatformGetScancodeName(int scancode)
void _glfwPlatformSetWindowDecorated(_GLFWwindow *window, GLFWbool enabled)
void _glfwPlatformGetWindowPos(_GLFWwindow *window, int *xpos, int *ypos)
void _glfwPlatformSetWindowOpacity(_GLFWwindow *window, float opacity)
float _glfwPlatformGetWindowOpacity(_GLFWwindow *window)
void _glfwPlatformDestroyCursor(_GLFWcursor *cursor)
void _glfwPlatformRestoreWindow(_GLFWwindow *window)
GLFWbool _glfwPlatformRawMouseMotionSupported(void)
void _glfwPlatformSetCursorMode(_GLFWwindow *window, int mode)
int _glfwPlatformWindowHovered(_GLFWwindow *window)
void _glfwPlatformDestroyWindow(_GLFWwindow *window)
void _glfwPlatformWaitEventsTimeout(double timeout)
void _glfwPlatformHideWindow(_GLFWwindow *window)
int _glfwPlatformGetPhysicalDevicePresentationSupport(VkInstance instance, VkPhysicalDevice device, uint32_t queuefamily)
int _glfwPlatformWindowMaximized(_GLFWwindow *window)
void _glfwPlatformSetClipboardString(const char *string)
void _glfwPlatformShowWindow(_GLFWwindow *window)
void _glfwPlatformSetRawMouseMotion(_GLFWwindow *window, GLFWbool enabled)
int _glfwPlatformWindowFocused(_GLFWwindow *window)
void _glfwPlatformPostEmptyEvent(void)
int _glfwPlatformGetKeyScancode(int key)
int _glfwPlatformCreateStandardCursor(_GLFWcursor *cursor, int shape)
int _glfwPlatformCreateWindow(_GLFWwindow *window, const _GLFWwndconfig *wndconfig, const _GLFWctxconfig *ctxconfig, const _GLFWfbconfig *fbconfig)
const char * _glfwPlatformGetClipboardString(void)
void _glfwPlatformGetCursorPos(_GLFWwindow *window, double *xpos, double *ypos)
void _glfwPlatformRequestWindowAttention(_GLFWwindow *window)
void _glfwPlatformSetWindowTitle(_GLFWwindow *window, const char *title)
void _glfwPlatformFocusWindow(_GLFWwindow *window)
void _glfwPlatformSetWindowMousePassthrough(_GLFWwindow *window, GLFWbool enabled)
void _glfwPlatformSetWindowFloating(_GLFWwindow *window, GLFWbool enabled)
GLFWbool _glfwCreateContextOSMesa(_GLFWwindow *window, const _GLFWctxconfig *ctxconfig, const _GLFWfbconfig *fbconfig)
GLFWbool _glfwInitOSMesa(void)
_GLFWdestroycontextfun destroy
@ VK_ERROR_EXTENSION_NOT_PRESENT