Wise&mystical  1.0
Project about Europe
Loading...
Searching...
No Matches
window.c
Go to the documentation of this file.
1//========================================================================
2// GLFW 3.4 - www.glfw.org
3//------------------------------------------------------------------------
4// Copyright (c) 2002-2006 Marcus Geelnard
5// Copyright (c) 2006-2019 Camilla Löwy <elmindreda@glfw.org>
6// Copyright (c) 2012 Torsten Walluhn <tw@mad-cad.net>
7//
8// This software is provided 'as-is', without any express or implied
9// warranty. In no event will the authors be held liable for any damages
10// arising from the use of this software.
11//
12// Permission is granted to anyone to use this software for any purpose,
13// including commercial applications, and to alter it and redistribute it
14// freely, subject to the following restrictions:
15//
16// 1. The origin of this software must not be misrepresented; you must not
17// claim that you wrote the original software. If you use this software
18// in a product, an acknowledgment in the product documentation would
19// be appreciated but is not required.
20//
21// 2. Altered source versions must be plainly marked as such, and must not
22// be misrepresented as being the original software.
23//
24// 3. This notice may not be removed or altered from any source
25// distribution.
26//
27//========================================================================
28// Please use C89 style variable declarations in this file because VS 2010
29//========================================================================
30
31#include "internal.h"
32
33#include <assert.h>
34#include <string.h>
35#include <stdlib.h>
36#include <float.h>
37
38
42
43// Notifies shared code that a window has lost or received input focus
44//
46{
47 if (window->callbacks.focus)
48 window->callbacks.focus((GLFWwindow*) window, focused);
49
50 if (!focused)
51 {
52 int key, button;
53
54 for (key = 0; key <= GLFW_KEY_LAST; key++)
55 {
56 if (window->keys[key] == GLFW_PRESS)
57 {
58 const int scancode = _glfwPlatformGetKeyScancode(key);
59 _glfwInputKey(window, key, scancode, GLFW_RELEASE, 0);
60 }
61 }
62
63 for (button = 0; button <= GLFW_MOUSE_BUTTON_LAST; button++)
64 {
65 if (window->mouseButtons[button] == GLFW_PRESS)
66 _glfwInputMouseClick(window, button, GLFW_RELEASE, 0);
67 }
68 }
69}
70
71// Notifies shared code that a window has moved
72// The position is specified in content area relative screen coordinates
73//
74void _glfwInputWindowPos(_GLFWwindow* window, int x, int y)
75{
76 if (window->callbacks.pos)
77 window->callbacks.pos((GLFWwindow*) window, x, y);
78}
79
80// Notifies shared code that a window has been resized
81// The size is specified in screen coordinates
82//
83void _glfwInputWindowSize(_GLFWwindow* window, int width, int height)
84{
85 if (window->callbacks.size)
86 window->callbacks.size((GLFWwindow*) window, width, height);
87}
88
89// Notifies shared code that a window has been iconified or restored
90//
92{
93 if (window->callbacks.iconify)
94 window->callbacks.iconify((GLFWwindow*) window, iconified);
95}
96
97// Notifies shared code that a window has been maximized or restored
98//
100{
101 if (window->callbacks.maximize)
102 window->callbacks.maximize((GLFWwindow*) window, maximized);
103}
104
105// Notifies shared code that a window framebuffer has been resized
106// The size is specified in pixels
107//
108void _glfwInputFramebufferSize(_GLFWwindow* window, int width, int height)
109{
110 if (window->callbacks.fbsize)
111 window->callbacks.fbsize((GLFWwindow*) window, width, height);
112}
113
114// Notifies shared code that a window content scale has changed
115// The scale is specified as the ratio between the current and default DPI
116//
117void _glfwInputWindowContentScale(_GLFWwindow* window, float xscale, float yscale)
118{
119 if (window->callbacks.scale)
120 window->callbacks.scale((GLFWwindow*) window, xscale, yscale);
121}
122
123// Notifies shared code that the window contents needs updating
124//
126{
127 if (window->callbacks.refresh)
128 window->callbacks.refresh((GLFWwindow*) window);
129}
130
131// Notifies shared code that the user wishes to close a window
132//
134{
135 window->shouldClose = GLFW_TRUE;
136
137 if (window->callbacks.close)
138 window->callbacks.close((GLFWwindow*) window);
139}
140
141// Notifies shared code that a window has changed its desired monitor
142//
144{
145 window->monitor = monitor;
146}
147
151
152GLFWAPI GLFWwindow* glfwCreateWindow(int width, int height,
153 const char* title,
154 GLFWmonitor* monitor,
155 GLFWwindow* share)
156{
157 _GLFWfbconfig fbconfig;
158 _GLFWctxconfig ctxconfig;
159 _GLFWwndconfig wndconfig;
160 _GLFWwindow* window;
161
162 assert(title != NULL);
163 assert(width >= 0);
164 assert(height >= 0);
165
167
168 if (width <= 0 || height <= 0)
169 {
171 "Invalid window size %ix%i",
172 width, height);
173
174 return NULL;
175 }
176
177 fbconfig = _glfw.hints.framebuffer;
178 ctxconfig = _glfw.hints.context;
179 wndconfig = _glfw.hints.window;
180
181 wndconfig.width = width;
182 wndconfig.height = height;
183 wndconfig.title = title;
184 ctxconfig.share = (_GLFWwindow*) share;
185
186 if (!_glfwIsValidContextConfig(&ctxconfig))
187 return NULL;
188
189 window = calloc(1, sizeof(_GLFWwindow));
190 window->next = _glfw.windowListHead;
191 _glfw.windowListHead = window;
192
193 window->videoMode.width = width;
194 window->videoMode.height = height;
195 window->videoMode.redBits = fbconfig.redBits;
196 window->videoMode.greenBits = fbconfig.greenBits;
197 window->videoMode.blueBits = fbconfig.blueBits;
199
200 window->monitor = (_GLFWmonitor*) monitor;
201 window->resizable = wndconfig.resizable;
202 window->decorated = wndconfig.decorated;
203 window->autoIconify = wndconfig.autoIconify;
204 window->floating = wndconfig.floating;
205 window->focusOnShow = wndconfig.focusOnShow;
206 window->mousePassthrough = wndconfig.mousePassthrough;
208
209 window->doublebuffer = fbconfig.doublebuffer;
210
211 window->minwidth = GLFW_DONT_CARE;
212 window->minheight = GLFW_DONT_CARE;
213 window->maxwidth = GLFW_DONT_CARE;
214 window->maxheight = GLFW_DONT_CARE;
215 window->numer = GLFW_DONT_CARE;
216 window->denom = GLFW_DONT_CARE;
217
218 // Open the actual window and create its context
219 if (!_glfwPlatformCreateWindow(window, &wndconfig, &ctxconfig, &fbconfig))
220 {
221 glfwDestroyWindow((GLFWwindow*) window);
222 return NULL;
223 }
224
225 if (ctxconfig.client != GLFW_NO_API)
226 {
227 if (!_glfwRefreshContextAttribs(window, &ctxconfig))
228 {
229 glfwDestroyWindow((GLFWwindow*) window);
230 return NULL;
231 }
232 }
233
234 if (wndconfig.mousePassthrough)
236
237 if (window->monitor)
238 {
239 if (wndconfig.centerCursor)
241 }
242 else
243 {
244 if (wndconfig.visible)
245 {
247 if (wndconfig.focused)
249 }
250 }
251
252 return (GLFWwindow*) window;
253}
254
256{
258
259 // The default is OpenGL with minimum version 1.0
260 memset(&_glfw.hints.context, 0, sizeof(_glfw.hints.context));
265
266 // The default is a focused, visible, resizable window with decorations
267 memset(&_glfw.hints.window, 0, sizeof(_glfw.hints.window));
275
276 // The default is 24 bits of color, 24 bits of depth and 8 bits of stencil,
277 // double buffered
278 memset(&_glfw.hints.framebuffer, 0, sizeof(_glfw.hints.framebuffer));
286
287 // The default is to select the highest available refresh rate
289
290 // The default is to use full Retina resolution framebuffers
292}
293
294GLFWAPI void glfwWindowHint(int hint, int value)
295{
297
298 switch (hint)
299 {
300 case GLFW_RED_BITS:
302 return;
303 case GLFW_GREEN_BITS:
305 return;
306 case GLFW_BLUE_BITS:
308 return;
309 case GLFW_ALPHA_BITS:
311 return;
312 case GLFW_DEPTH_BITS:
314 return;
317 return;
320 return;
323 return;
326 return;
329 return;
330 case GLFW_AUX_BUFFERS:
332 return;
333 case GLFW_STEREO:
335 return;
338 return;
341 return;
342 case GLFW_SAMPLES:
344 return;
347 return;
348 case GLFW_RESIZABLE:
350 return;
351 case GLFW_DECORATED:
353 return;
354 case GLFW_FOCUSED:
356 return;
359 return;
360 case GLFW_FLOATING:
362 return;
363 case GLFW_MAXIMIZED:
365 return;
366 case GLFW_VISIBLE:
368 return;
371 return;
374 return;
377 return;
380 return;
383 return;
386 return;
389 return;
390 case GLFW_CLIENT_API:
391 _glfw.hints.context.client = value;
392 return;
394 _glfw.hints.context.source = value;
395 return;
397 _glfw.hints.context.major = value;
398 return;
400 _glfw.hints.context.minor = value;
401 return;
404 return;
407 return;
410 return;
413 return;
415 _glfw.hints.context.profile = value;
416 return;
418 _glfw.hints.context.release = value;
419 return;
421 _glfw.hints.refreshRate = value;
422 return;
423 }
424
425 _glfwInputError(GLFW_INVALID_ENUM, "Invalid window hint 0x%08X", hint);
426}
427
428GLFWAPI void glfwWindowHintString(int hint, const char* value)
429{
430 assert(value != NULL);
431
433
434 switch (hint)
435 {
437 strncpy(_glfw.hints.window.ns.frameName, value,
438 sizeof(_glfw.hints.window.ns.frameName) - 1);
439 return;
441 strncpy(_glfw.hints.window.x11.className, value,
442 sizeof(_glfw.hints.window.x11.className) - 1);
443 return;
445 strncpy(_glfw.hints.window.x11.instanceName, value,
446 sizeof(_glfw.hints.window.x11.instanceName) - 1);
447 return;
448 }
449
450 _glfwInputError(GLFW_INVALID_ENUM, "Invalid window hint string 0x%08X", hint);
451}
452
454{
455 _GLFWwindow* window = (_GLFWwindow*) handle;
456
458
459 // Allow closing of NULL (to match the behavior of free)
460 if (window == NULL)
461 return;
462
463 // Clear all callbacks to avoid exposing a half torn-down window object
464 memset(&window->callbacks, 0, sizeof(window->callbacks));
465
466 // The window's context must not be current on another thread when the
467 // window is destroyed
468 if (window == _glfwPlatformGetTls(&_glfw.contextSlot))
470
472
473 // Unlink window from global linked list
474 {
476
477 while (*prev != window)
478 prev = &((*prev)->next);
479
480 *prev = window->next;
481 }
482
483 free(window);
484}
485
487{
488 _GLFWwindow* window = (_GLFWwindow*) handle;
489 assert(window != NULL);
490
492 return window->shouldClose;
493}
494
496{
497 _GLFWwindow* window = (_GLFWwindow*) handle;
498 assert(window != NULL);
499
501 window->shouldClose = value;
502}
503
504GLFWAPI void glfwSetWindowTitle(GLFWwindow* handle, const char* title)
505{
506 _GLFWwindow* window = (_GLFWwindow*) handle;
507 assert(window != NULL);
508 assert(title != NULL);
509
511 _glfwPlatformSetWindowTitle(window, title);
512}
513
515 int count, const GLFWimage* images)
516{
517 _GLFWwindow* window = (_GLFWwindow*) handle;
518 assert(window != NULL);
519 assert(count >= 0);
520 assert(count == 0 || images != NULL);
521
523 _glfwPlatformSetWindowIcon(window, count, images);
524}
525
526GLFWAPI void glfwGetWindowPos(GLFWwindow* handle, int* xpos, int* ypos)
527{
528 _GLFWwindow* window = (_GLFWwindow*) handle;
529 assert(window != NULL);
530
531 if (xpos)
532 *xpos = 0;
533 if (ypos)
534 *ypos = 0;
535
537 _glfwPlatformGetWindowPos(window, xpos, ypos);
538}
539
540GLFWAPI void glfwSetWindowPos(GLFWwindow* handle, int xpos, int ypos)
541{
542 _GLFWwindow* window = (_GLFWwindow*) handle;
543 assert(window != NULL);
544
546
547 if (window->monitor)
548 return;
549
550 _glfwPlatformSetWindowPos(window, xpos, ypos);
551}
552
553GLFWAPI void glfwGetWindowSize(GLFWwindow* handle, int* width, int* height)
554{
555 _GLFWwindow* window = (_GLFWwindow*) handle;
556 assert(window != NULL);
557
558 if (width)
559 *width = 0;
560 if (height)
561 *height = 0;
562
564 _glfwPlatformGetWindowSize(window, width, height);
565}
566
567GLFWAPI void glfwSetWindowSize(GLFWwindow* handle, int width, int height)
568{
569 _GLFWwindow* window = (_GLFWwindow*) handle;
570 assert(window != NULL);
571 assert(width >= 0);
572 assert(height >= 0);
573
575
576 window->videoMode.width = width;
577 window->videoMode.height = height;
578
579 _glfwPlatformSetWindowSize(window, width, height);
580}
581
583 int minwidth, int minheight,
584 int maxwidth, int maxheight)
585{
586 _GLFWwindow* window = (_GLFWwindow*) handle;
587 assert(window != NULL);
588
590
591 if (minwidth != GLFW_DONT_CARE && minheight != GLFW_DONT_CARE)
592 {
593 if (minwidth < 0 || minheight < 0)
594 {
596 "Invalid window minimum size %ix%i",
597 minwidth, minheight);
598 return;
599 }
600 }
601
602 if (maxwidth != GLFW_DONT_CARE && maxheight != GLFW_DONT_CARE)
603 {
604 if (maxwidth < 0 || maxheight < 0 ||
605 maxwidth < minwidth || maxheight < minheight)
606 {
608 "Invalid window maximum size %ix%i",
609 maxwidth, maxheight);
610 return;
611 }
612 }
613
614 window->minwidth = minwidth;
615 window->minheight = minheight;
616 window->maxwidth = maxwidth;
617 window->maxheight = maxheight;
618
619 if (window->monitor || !window->resizable)
620 return;
621
623 minwidth, minheight,
624 maxwidth, maxheight);
625}
626
627GLFWAPI void glfwSetWindowAspectRatio(GLFWwindow* handle, int numer, int denom)
628{
629 _GLFWwindow* window = (_GLFWwindow*) handle;
630 assert(window != NULL);
631 assert(numer != 0);
632 assert(denom != 0);
633
635
636 if (numer != GLFW_DONT_CARE && denom != GLFW_DONT_CARE)
637 {
638 if (numer <= 0 || denom <= 0)
639 {
641 "Invalid window aspect ratio %i:%i",
642 numer, denom);
643 return;
644 }
645 }
646
647 window->numer = numer;
648 window->denom = denom;
649
650 if (window->monitor || !window->resizable)
651 return;
652
653 _glfwPlatformSetWindowAspectRatio(window, numer, denom);
654}
655
656GLFWAPI void glfwGetFramebufferSize(GLFWwindow* handle, int* width, int* height)
657{
658 _GLFWwindow* window = (_GLFWwindow*) handle;
659 assert(window != NULL);
660
661 if (width)
662 *width = 0;
663 if (height)
664 *height = 0;
665
667 _glfwPlatformGetFramebufferSize(window, width, height);
668}
669
671 int* left, int* top,
672 int* right, int* bottom)
673{
674 _GLFWwindow* window = (_GLFWwindow*) handle;
675 assert(window != NULL);
676
677 if (left)
678 *left = 0;
679 if (top)
680 *top = 0;
681 if (right)
682 *right = 0;
683 if (bottom)
684 *bottom = 0;
685
687 _glfwPlatformGetWindowFrameSize(window, left, top, right, bottom);
688}
689
691 float* xscale, float* yscale)
692{
693 _GLFWwindow* window = (_GLFWwindow*) handle;
694 assert(window != NULL);
695
696 if (xscale)
697 *xscale = 0.f;
698 if (yscale)
699 *yscale = 0.f;
700
702 _glfwPlatformGetWindowContentScale(window, xscale, yscale);
703}
704
706{
707 _GLFWwindow* window = (_GLFWwindow*) handle;
708 assert(window != NULL);
709
711 return _glfwPlatformGetWindowOpacity(window);
712}
713
714GLFWAPI void glfwSetWindowOpacity(GLFWwindow* handle, float opacity)
715{
716 _GLFWwindow* window = (_GLFWwindow*) handle;
717 assert(window != NULL);
718 assert(opacity == opacity);
719 assert(opacity >= 0.f);
720 assert(opacity <= 1.f);
721
723
724 if (opacity != opacity || opacity < 0.f || opacity > 1.f)
725 {
726 _glfwInputError(GLFW_INVALID_VALUE, "Invalid window opacity %f", opacity);
727 return;
728 }
729
730 _glfwPlatformSetWindowOpacity(window, opacity);
731}
732
734{
735 _GLFWwindow* window = (_GLFWwindow*) handle;
736 assert(window != NULL);
737
740}
741
743{
744 _GLFWwindow* window = (_GLFWwindow*) handle;
745 assert(window != NULL);
746
749}
750
752{
753 _GLFWwindow* window = (_GLFWwindow*) handle;
754 assert(window != NULL);
755
757
758 if (window->monitor)
759 return;
760
762}
763
765{
766 _GLFWwindow* window = (_GLFWwindow*) handle;
767 assert(window != NULL);
768
770
771 if (window->monitor)
772 return;
773
775
776 if (window->focusOnShow)
778}
779
781{
782 _GLFWwindow* window = (_GLFWwindow*) handle;
783 assert(window != NULL);
784
786
788}
789
791{
792 _GLFWwindow* window = (_GLFWwindow*) handle;
793 assert(window != NULL);
794
796
797 if (window->monitor)
798 return;
799
801}
802
804{
805 _GLFWwindow* window = (_GLFWwindow*) handle;
806 assert(window != NULL);
807
809
811}
812
813GLFWAPI int glfwGetWindowAttrib(GLFWwindow* handle, int attrib)
814{
815 _GLFWwindow* window = (_GLFWwindow*) handle;
816 assert(window != NULL);
817
819
820 switch (attrib)
821 {
822 case GLFW_FOCUSED:
823 return _glfwPlatformWindowFocused(window);
824 case GLFW_ICONIFIED:
825 return _glfwPlatformWindowIconified(window);
826 case GLFW_VISIBLE:
827 return _glfwPlatformWindowVisible(window);
828 case GLFW_MAXIMIZED:
829 return _glfwPlatformWindowMaximized(window);
830 case GLFW_HOVERED:
831 return _glfwPlatformWindowHovered(window);
833 return window->focusOnShow;
835 return window->mousePassthrough;
838 case GLFW_RESIZABLE:
839 return window->resizable;
840 case GLFW_DECORATED:
841 return window->decorated;
842 case GLFW_FLOATING:
843 return window->floating;
845 return window->autoIconify;
847 return window->doublebuffer;
848 case GLFW_CLIENT_API:
849 return window->context.client;
851 return window->context.source;
853 return window->context.major;
855 return window->context.minor;
857 return window->context.revision;
859 return window->context.robustness;
861 return window->context.forward;
863 return window->context.debug;
865 return window->context.profile;
867 return window->context.release;
869 return window->context.noerror;
870 }
871
872 _glfwInputError(GLFW_INVALID_ENUM, "Invalid window attribute 0x%08X", attrib);
873 return 0;
874}
875
876GLFWAPI void glfwSetWindowAttrib(GLFWwindow* handle, int attrib, int value)
877{
878 _GLFWwindow* window = (_GLFWwindow*) handle;
879 assert(window != NULL);
880
882
883 value = value ? GLFW_TRUE : GLFW_FALSE;
884
885 if (attrib == GLFW_AUTO_ICONIFY)
886 window->autoIconify = value;
887 else if (attrib == GLFW_RESIZABLE)
888 {
889 window->resizable = value;
890 if (!window->monitor)
891 _glfwPlatformSetWindowResizable(window, value);
892 }
893 else if (attrib == GLFW_DECORATED)
894 {
895 window->decorated = value;
896 if (!window->monitor)
897 _glfwPlatformSetWindowDecorated(window, value);
898 }
899 else if (attrib == GLFW_FLOATING)
900 {
901 window->floating = value;
902 if (!window->monitor)
903 _glfwPlatformSetWindowFloating(window, value);
904 }
905 else if (attrib == GLFW_FOCUS_ON_SHOW)
906 window->focusOnShow = value;
907 else if (attrib == GLFW_MOUSE_PASSTHROUGH)
908 {
909 window->mousePassthrough = value;
911 }
912 else
913 _glfwInputError(GLFW_INVALID_ENUM, "Invalid window attribute 0x%08X", attrib);
914}
915
917{
918 _GLFWwindow* window = (_GLFWwindow*) handle;
919 assert(window != NULL);
920
922 return (GLFWmonitor*) window->monitor;
923}
924
926 GLFWmonitor* mh,
927 int xpos, int ypos,
928 int width, int height,
929 int refreshRate)
930{
931 _GLFWwindow* window = (_GLFWwindow*) wh;
932 _GLFWmonitor* monitor = (_GLFWmonitor*) mh;
933 assert(window != NULL);
934 assert(width >= 0);
935 assert(height >= 0);
936
938
939 if (width <= 0 || height <= 0)
940 {
942 "Invalid window size %ix%i",
943 width, height);
944 return;
945 }
946
947 if (refreshRate < 0 && refreshRate != GLFW_DONT_CARE)
948 {
950 "Invalid refresh rate %i",
951 refreshRate);
952 return;
953 }
954
955 window->videoMode.width = width;
956 window->videoMode.height = height;
957 window->videoMode.refreshRate = refreshRate;
958
959 _glfwPlatformSetWindowMonitor(window, monitor,
960 xpos, ypos, width, height,
961 refreshRate);
962}
963
964GLFWAPI void glfwSetWindowUserPointer(GLFWwindow* handle, void* pointer)
965{
966 _GLFWwindow* window = (_GLFWwindow*) handle;
967 assert(window != NULL);
968
970 window->userPointer = pointer;
971}
972
974{
975 _GLFWwindow* window = (_GLFWwindow*) handle;
976 assert(window != NULL);
977
979 return window->userPointer;
980}
981
983 GLFWwindowposfun cbfun)
984{
985 _GLFWwindow* window = (_GLFWwindow*) handle;
986 assert(window != NULL);
987
989 _GLFW_SWAP_POINTERS(window->callbacks.pos, cbfun);
990 return cbfun;
991}
992
994 GLFWwindowsizefun cbfun)
995{
996 _GLFWwindow* window = (_GLFWwindow*) handle;
997 assert(window != NULL);
998
1000 _GLFW_SWAP_POINTERS(window->callbacks.size, cbfun);
1001 return cbfun;
1002}
1003
1005 GLFWwindowclosefun cbfun)
1006{
1007 _GLFWwindow* window = (_GLFWwindow*) handle;
1008 assert(window != NULL);
1009
1011 _GLFW_SWAP_POINTERS(window->callbacks.close, cbfun);
1012 return cbfun;
1013}
1014
1017{
1018 _GLFWwindow* window = (_GLFWwindow*) handle;
1019 assert(window != NULL);
1020
1022 _GLFW_SWAP_POINTERS(window->callbacks.refresh, cbfun);
1023 return cbfun;
1024}
1025
1027 GLFWwindowfocusfun cbfun)
1028{
1029 _GLFWwindow* window = (_GLFWwindow*) handle;
1030 assert(window != NULL);
1031
1033 _GLFW_SWAP_POINTERS(window->callbacks.focus, cbfun);
1034 return cbfun;
1035}
1036
1039{
1040 _GLFWwindow* window = (_GLFWwindow*) handle;
1041 assert(window != NULL);
1042
1044 _GLFW_SWAP_POINTERS(window->callbacks.iconify, cbfun);
1045 return cbfun;
1046}
1047
1050{
1051 _GLFWwindow* window = (_GLFWwindow*) handle;
1052 assert(window != NULL);
1053
1055 _GLFW_SWAP_POINTERS(window->callbacks.maximize, cbfun);
1056 return cbfun;
1057}
1058
1061{
1062 _GLFWwindow* window = (_GLFWwindow*) handle;
1063 assert(window != NULL);
1064
1066 _GLFW_SWAP_POINTERS(window->callbacks.fbsize, cbfun);
1067 return cbfun;
1068}
1069
1072{
1073 _GLFWwindow* window = (_GLFWwindow*) handle;
1074 assert(window != NULL);
1075
1077 _GLFW_SWAP_POINTERS(window->callbacks.scale, cbfun);
1078 return cbfun;
1079}
1080
1082{
1085}
1086
1088{
1091}
1092
1093GLFWAPI void glfwWaitEventsTimeout(double timeout)
1094{
1096 assert(timeout == timeout);
1097 assert(timeout >= 0.0);
1098 assert(timeout <= DBL_MAX);
1099
1100 if (timeout != timeout || timeout < 0.0 || timeout > DBL_MAX)
1101 {
1102 _glfwInputError(GLFW_INVALID_VALUE, "Invalid time %f", timeout);
1103 return;
1104 }
1105
1107}
1108
1110{
1113}
1114
void _glfwPlatformSetWindowMonitor(_GLFWwindow *window, _GLFWmonitor *monitor, int xpos, int ypos, int width, int height, int refreshRate)
void _glfwPlatformGetWindowContentScale(_GLFWwindow *window, float *xscale, float *yscale)
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)
int _glfwPlatformFramebufferTransparent(_GLFWwindow *window)
void _glfwPlatformPollEvents(void)
void _glfwPlatformGetFramebufferSize(_GLFWwindow *window, int *width, int *height)
int _glfwPlatformWindowVisible(_GLFWwindow *window)
void _glfwPlatformGetWindowSize(_GLFWwindow *window, int *width, int *height)
void _glfwPlatformSetWindowPos(_GLFWwindow *window, int x, int y)
void _glfwPlatformGetWindowFrameSize(_GLFWwindow *window, int *left, int *top, int *right, int *bottom)
void _glfwPlatformSetWindowIcon(_GLFWwindow *window, int count, const GLFWimage *images)
Definition: cocoa_window.m:993
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 _glfwPlatformRestoreWindow(_GLFWwindow *window)
int _glfwPlatformWindowHovered(_GLFWwindow *window)
void _glfwPlatformDestroyWindow(_GLFWwindow *window)
Definition: cocoa_window.m:951
void _glfwPlatformWaitEventsTimeout(double timeout)
void _glfwPlatformHideWindow(_GLFWwindow *window)
int _glfwPlatformWindowMaximized(_GLFWwindow *window)
void _glfwPlatformShowWindow(_GLFWwindow *window)
int _glfwPlatformWindowFocused(_GLFWwindow *window)
void _glfwPlatformPostEmptyEvent(void)
int _glfwPlatformGetKeyScancode(int key)
int _glfwPlatformCreateWindow(_GLFWwindow *window, const _GLFWwndconfig *wndconfig, const _GLFWctxconfig *ctxconfig, const _GLFWfbconfig *fbconfig)
Definition: cocoa_window.m:899
void _glfwPlatformSetWindowAspectRatio(_GLFWwindow *window, int numer, int denom)
void _glfwPlatformRequestWindowAttention(_GLFWwindow *window)
void _glfwPlatformSetWindowTitle(_GLFWwindow *window, const char *title)
Definition: cocoa_window.m:982
void _glfwPlatformFocusWindow(_GLFWwindow *window)
void _glfwPlatformSetWindowMousePassthrough(_GLFWwindow *window, GLFWbool enabled)
void _glfwPlatformSetWindowFloating(_GLFWwindow *window, GLFWbool enabled)
GLFWbool _glfwIsValidContextConfig(const _GLFWctxconfig *ctxconfig)
Definition: context.c:49
GLFWbool _glfwRefreshContextAttribs(_GLFWwindow *window, const _GLFWctxconfig *ctxconfig)
Definition: context.c:340
#define GLFW_OPENGL_API
Definition: glfw3.h:1087
#define GLFW_NATIVE_CONTEXT_API
Definition: glfw3.h:1112
#define GLFWAPI
Definition: glfw3.h:269
#define GLFW_DONT_CARE
Definition: glfw3.h:1262
#define GLFW_NO_API
Definition: glfw3.h:1086
#define GLFW_CURSOR_NORMAL
Definition: glfw3.h:1104
#define GLFW_MOUSE_BUTTON_LAST
Definition: glfw3.h:577
GLFWAPI void glfwMakeContextCurrent(GLFWwindow *window)
Makes the context of the specified window current for the calling thread.
Definition: context.c:609
#define GLFW_INVALID_ENUM
One of the arguments to the function was an invalid enum value.
Definition: glfw3.h:695
#define GLFW_INVALID_VALUE
One of the arguments to the function was an invalid value.
Definition: glfw3.h:706
#define GLFW_TRUE
One.
Definition: glfw3.h:310
#define GLFW_FALSE
Zero.
Definition: glfw3.h:319
#define GLFW_PRESS
The key or mouse button was pressed.
Definition: glfw3.h:336
#define GLFW_RELEASE
The key or mouse button was released.
Definition: glfw3.h:329
#define GLFW_KEY_LAST
Definition: glfw3.h:515
struct GLFWmonitor GLFWmonitor
Opaque monitor object.
Definition: glfw3.h:1307
GLFWAPI void glfwGetWindowPos(GLFWwindow *handle, int *xpos, int *ypos)
Retrieves the position of the content area of the specified window.
Definition: window.c:526
GLFWAPI void glfwWaitEventsTimeout(double timeout)
Waits with timeout until events are queued and processes them.
Definition: window.c:1093
GLFWAPI void glfwFocusWindow(GLFWwindow *handle)
Brings the specified window to front and sets input focus.
Definition: window.c:803
GLFWAPI void glfwSetWindowPos(GLFWwindow *handle, int xpos, int ypos)
Sets the position of the content area of the specified window.
Definition: window.c:540
#define GLFW_REFRESH_RATE
Monitor refresh rate hint.
Definition: glfw3.h:980
GLFWAPI void glfwSetWindowMonitor(GLFWwindow *wh, GLFWmonitor *mh, int xpos, int ypos, int width, int height, int refreshRate)
Sets the mode, monitor, video mode and placement of a window.
Definition: window.c:925
#define GLFW_OPENGL_FORWARD_COMPAT
OpenGL forward-compatibility hint and attribute.
Definition: glfw3.h:1023
GLFWAPI void glfwSetWindowIcon(GLFWwindow *handle, int count, const GLFWimage *images)
Sets the icon for the specified window.
Definition: window.c:514
GLFWAPI int glfwGetWindowAttrib(GLFWwindow *handle, int attrib)
Returns an attribute of the specified window.
Definition: window.c:813
GLFWAPI void glfwSetWindowShouldClose(GLFWwindow *handle, int value)
Sets the close flag of the specified window.
Definition: window.c:495
GLFWAPI void glfwRestoreWindow(GLFWwindow *handle)
Restores the specified window.
Definition: window.c:742
#define GLFW_DECORATED
Window decoration window hint and attribute.
Definition: glfw3.h:856
#define GLFW_ACCUM_BLUE_BITS
Framebuffer bit depth hint.
Definition: glfw3.h:950
GLFWAPI void glfwIconifyWindow(GLFWwindow *handle)
Iconifies the specified window.
Definition: window.c:733
#define GLFW_SAMPLES
Framebuffer MSAA samples hint.
Definition: glfw3.h:970
#define GLFW_DEPTH_BITS
Framebuffer bit depth hint.
Definition: glfw3.h:930
#define GLFW_CONTEXT_VERSION_MINOR
Context client API minor version hint and attribute.
Definition: glfw3.h:1005
#define GLFW_ICONIFIED
Window iconification window attribute.
Definition: glfw3.h:838
GLFWAPI void glfwWindowHintString(int hint, const char *value)
Sets the specified window hint to the desired value.
Definition: window.c:428
struct GLFWwindow GLFWwindow
Opaque window object.
Definition: glfw3.h:1319
GLFWAPI GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindow *handle, GLFWwindowiconifyfun cbfun)
Sets the iconify callback for the specified window.
Definition: window.c:1037
GLFWAPI GLFWframebuffersizefun glfwSetFramebufferSizeCallback(GLFWwindow *handle, GLFWframebuffersizefun cbfun)
Sets the framebuffer resize callback for the specified window.
Definition: window.c:1059
#define GLFW_SRGB_CAPABLE
Framebuffer sRGB hint.
Definition: glfw3.h:975
#define GLFW_OPENGL_PROFILE
OpenGL profile hint and attribute.
Definition: glfw3.h:1040
#define GLFW_X11_INSTANCE_NAME
X11 specific window hint.
Definition: glfw3.h:1082
GLFWAPI void glfwMaximizeWindow(GLFWwindow *handle)
Maximizes the specified window.
Definition: window.c:751
#define GLFW_CONTEXT_CREATION_API
Context creation API hint and attribute.
Definition: glfw3.h:1058
GLFWAPI GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindow *handle, GLFWwindowposfun cbfun)
Sets the position callback for the specified window.
Definition: window.c:982
#define GLFW_STENCIL_BITS
Framebuffer bit depth hint.
Definition: glfw3.h:935
#define GLFW_COCOA_GRAPHICS_SWITCHING
macOS specific window hint.
Definition: glfw3.h:1074
void(* GLFWframebuffersizefun)(GLFWwindow *, int, int)
The function pointer type for framebuffer size callbacks.
Definition: glfw3.h:1524
#define GLFW_FOCUSED
Input focus window hint and attribute.
Definition: glfw3.h:833
#define GLFW_CONTEXT_NO_ERROR
Context error suppression hint and attribute.
Definition: glfw3.h:1052
#define GLFW_CENTER_CURSOR
Cursor centering window hint.
Definition: glfw3.h:879
void(* GLFWwindowclosefun)(GLFWwindow *)
The function pointer type for window close callbacks.
Definition: glfw3.h:1420
#define GLFW_TRANSPARENT_FRAMEBUFFER
Window framebuffer transparency hint and attribute.
Definition: glfw3.h:886
#define GLFW_SCALE_TO_MONITOR
Window content area scaling window window hint.
Definition: glfw3.h:1062
GLFWAPI void glfwSetWindowOpacity(GLFWwindow *handle, float opacity)
Sets the opacity of the whole window.
Definition: window.c:714
GLFWAPI GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow *handle, GLFWwindowrefreshfun cbfun)
Sets the refresh callback for the specified window.
Definition: window.c:1015
#define GLFW_CLIENT_API
Context client API hint and attribute.
Definition: glfw3.h:993
#define GLFW_ACCUM_GREEN_BITS
Framebuffer bit depth hint.
Definition: glfw3.h:945
GLFWAPI GLFWwindowclosefun glfwSetWindowCloseCallback(GLFWwindow *handle, GLFWwindowclosefun cbfun)
Sets the close callback for the specified window.
Definition: window.c:1004
GLFWAPI void glfwWindowHint(int hint, int value)
Sets the specified window hint to the desired value.
Definition: window.c:294
void(* GLFWwindowfocusfun)(GLFWwindow *, int)
The function pointer type for window focus callbacks.
Definition: glfw3.h:1461
GLFWAPI void glfwWaitEvents(void)
Waits until events are queued and processes them.
Definition: window.c:1087
#define GLFW_COCOA_FRAME_NAME
macOS specific window hint.
Definition: glfw3.h:1070
#define GLFW_DOUBLEBUFFER
Framebuffer double buffering hint and attribute.
Definition: glfw3.h:986
GLFWAPI void glfwGetWindowContentScale(GLFWwindow *handle, float *xscale, float *yscale)
Retrieves the content scale for the specified window.
Definition: window.c:690
#define GLFW_CONTEXT_RELEASE_BEHAVIOR
Context flush-on-release hint and attribute.
Definition: glfw3.h:1046
void(* GLFWwindowrefreshfun)(GLFWwindow *)
The function pointer type for window content refresh callbacks.
Definition: glfw3.h:1440
GLFWAPI void glfwShowWindow(GLFWwindow *handle)
Makes the specified window visible.
Definition: window.c:764
#define GLFW_FLOATING
Window decoration window hint and attribute.
Definition: glfw3.h:868
GLFWAPI void glfwGetWindowSize(GLFWwindow *handle, int *width, int *height)
Retrieves the size of the content area of the specified window.
Definition: window.c:553
void glfwDefaultWindowHints(void)
Resets all window hints to their default values.
Definition: window.c:255
GLFWAPI void glfwDestroyWindow(GLFWwindow *handle)
Destroys the specified window and its context.
Definition: window.c:453
void(* GLFWwindowmaximizefun)(GLFWwindow *, int)
The function pointer type for window maximize callbacks.
Definition: glfw3.h:1503
#define GLFW_STEREO
OpenGL stereoscopic rendering hint.
Definition: glfw3.h:965
GLFWAPI void glfwSetWindowTitle(GLFWwindow *handle, const char *title)
Sets the title of the specified window.
Definition: window.c:504
#define GLFW_HOVERED
Mouse cursor hover window attribute.
Definition: glfw3.h:891
GLFWAPI void glfwPollEvents(void)
Processes all pending events.
Definition: window.c:1081
#define GLFW_MOUSE_PASSTHROUGH
Mouse input transparency window hint and attribute.
Definition: glfw3.h:904
GLFWAPI void glfwSetWindowSizeLimits(GLFWwindow *handle, int minwidth, int minheight, int maxwidth, int maxheight)
Sets the size limits of the specified window.
Definition: window.c:582
#define GLFW_CONTEXT_DEBUG
Debug mode context hint and attribute.
Definition: glfw3.h:1029
#define GLFW_AUTO_ICONIFY
Window auto-iconification window hint and attribute.
Definition: glfw3.h:862
GLFWAPI void glfwHideWindow(GLFWwindow *handle)
Hides the specified window.
Definition: window.c:790
GLFWAPI int glfwWindowShouldClose(GLFWwindow *handle)
Checks the close flag of the specified window.
Definition: window.c:486
void(* GLFWwindowiconifyfun)(GLFWwindow *, int)
The function pointer type for window iconify callbacks.
Definition: glfw3.h:1482
void(* GLFWwindowsizefun)(GLFWwindow *, int, int)
The function pointer type for window size callbacks.
Definition: glfw3.h:1400
GLFWAPI GLFWwindow * glfwCreateWindow(int width, int height, const char *title, GLFWmonitor *monitor, GLFWwindow *share)
Creates a window and its associated context.
Definition: window.c:152
GLFWAPI void glfwGetWindowFrameSize(GLFWwindow *handle, int *left, int *top, int *right, int *bottom)
Retrieves the size of the frame of the window.
Definition: window.c:670
#define GLFW_AUX_BUFFERS
Framebuffer auxiliary buffer hint.
Definition: glfw3.h:960
GLFWAPI GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow *handle, GLFWwindowsizefun cbfun)
Sets the size callback for the specified window.
Definition: window.c:993
#define GLFW_BLUE_BITS
Framebuffer bit depth hint.
Definition: glfw3.h:920
#define GLFW_COCOA_RETINA_FRAMEBUFFER
macOS specific window hint.
Definition: glfw3.h:1066
GLFWAPI GLFWwindowcontentscalefun glfwSetWindowContentScaleCallback(GLFWwindow *handle, GLFWwindowcontentscalefun cbfun)
Sets the window content scale callback for the specified window.
Definition: window.c:1070
void(* GLFWwindowcontentscalefun)(GLFWwindow *, float, float)
The function pointer type for window content scale callbacks.
Definition: glfw3.h:1545
GLFWAPI void glfwSetWindowUserPointer(GLFWwindow *handle, void *pointer)
Sets the user pointer of the specified window.
Definition: window.c:964
GLFWAPI GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow *handle, GLFWwindowfocusfun cbfun)
Sets the focus callback for the specified window.
Definition: window.c:1026
GLFWAPI void * glfwGetWindowUserPointer(GLFWwindow *handle)
Returns the user pointer of the specified window.
Definition: window.c:973
GLFWAPI void glfwRequestWindowAttention(GLFWwindow *handle)
Requests user attention to the specified window.
Definition: window.c:780
GLFWAPI float glfwGetWindowOpacity(GLFWwindow *handle)
Returns the opacity of the whole window.
Definition: window.c:705
GLFWAPI void glfwSetWindowAspectRatio(GLFWwindow *handle, int numer, int denom)
Sets the aspect ratio of the specified window.
Definition: window.c:627
GLFWAPI void glfwSetWindowAttrib(GLFWwindow *handle, int attrib, int value)
Sets an attribute of the specified window.
Definition: window.c:876
GLFWAPI GLFWmonitor * glfwGetWindowMonitor(GLFWwindow *handle)
Returns the monitor that the window uses for full screen mode.
Definition: window.c:916
GLFWAPI void glfwPostEmptyEvent(void)
Posts an empty event to the event queue.
Definition: window.c:1109
#define GLFW_MAXIMIZED
Window maximization window hint and attribute.
Definition: glfw3.h:874
#define GLFW_RESIZABLE
Window resize-ability window hint and attribute.
Definition: glfw3.h:844
#define GLFW_CONTEXT_ROBUSTNESS
Context robustness hint and attribute.
Definition: glfw3.h:1017
GLFWAPI void glfwSetWindowSize(GLFWwindow *handle, int width, int height)
Sets the size of the content area of the specified window.
Definition: window.c:567
#define GLFW_X11_CLASS_NAME
X11 specific window hint.
Definition: glfw3.h:1078
GLFWAPI GLFWwindowmaximizefun glfwSetWindowMaximizeCallback(GLFWwindow *handle, GLFWwindowmaximizefun cbfun)
Sets the maximize callback for the specified window.
Definition: window.c:1048
#define GLFW_ACCUM_ALPHA_BITS
Framebuffer bit depth hint.
Definition: glfw3.h:955
#define GLFW_ACCUM_RED_BITS
Framebuffer bit depth hint.
Definition: glfw3.h:940
#define GLFW_WIN32_KEYBOARD_MENU
Definition: glfw3.h:1083
#define GLFW_RED_BITS
Framebuffer bit depth hint.
Definition: glfw3.h:910
GLFWAPI void glfwGetFramebufferSize(GLFWwindow *handle, int *width, int *height)
Retrieves the size of the framebuffer of the specified window.
Definition: window.c:656
#define GLFW_FOCUS_ON_SHOW
Input focus on calling show window hint and attribute.
Definition: glfw3.h:897
#define GLFW_VISIBLE
Window visibility window hint and attribute.
Definition: glfw3.h:850
#define GLFW_CONTEXT_REVISION
Context client API revision number hint and attribute.
Definition: glfw3.h:1011
#define GLFW_GREEN_BITS
Framebuffer bit depth hint.
Definition: glfw3.h:915
#define GLFW_CONTEXT_VERSION_MAJOR
Context client API major version hint and attribute.
Definition: glfw3.h:999
#define GLFW_ALPHA_BITS
Framebuffer bit depth hint.
Definition: glfw3.h:925
void(* GLFWwindowposfun)(GLFWwindow *, int, int)
The function pointer type for window position callbacks.
Definition: glfw3.h:1378
_GLFWlibrary _glfw
Definition: init.c:46
void _glfwInputError(int code, const char *format,...)
Definition: init.c:160
void _glfwInputKey(_GLFWwindow *window, int key, int scancode, int action, int mods)
Definition: input.c:277
void _glfwCenterCursorInContentArea(_GLFWwindow *window)
Definition: input.c:475
void _glfwInputMouseClick(_GLFWwindow *window, int button, int action, int mods)
Definition: input.c:336
#define _GLFW_REQUIRE_INIT_OR_RETURN(x)
Definition: internal.h:214
#define _GLFW_SWAP_POINTERS(x, y)
Definition: internal.h:222
void * _glfwPlatformGetTls(_GLFWtls *tls)
Definition: posix_thread.c:62
int GLFWbool
Definition: internal.h:61
#define _GLFW_REQUIRE_INIT()
Definition: internal.h:208
#define NULL
Definition: miniaudio.h:3718
GLFWbool forward
Definition: internal.h:351
int revision
Definition: internal.h:350
GLFWbool debug
Definition: internal.h:351
GLFWbool noerror
Definition: internal.h:351
int robustness
Definition: internal.h:353
GLFWbool offline
Definition: internal.h:311
GLFWbool debug
Definition: internal.h:304
GLFWbool noerror
Definition: internal.h:305
struct _GLFWctxconfig::@21 nsgl
_GLFWwindow * share
Definition: internal.h:309
GLFWbool forward
Definition: internal.h:303
int accumBlueBits
Definition: internal.h:333
int auxBuffers
Definition: internal.h:335
int stencilBits
Definition: internal.h:330
GLFWbool stereo
Definition: internal.h:336
int accumGreenBits
Definition: internal.h:332
GLFWbool transparent
Definition: internal.h:340
int accumAlphaBits
Definition: internal.h:334
int accumRedBits
Definition: internal.h:331
GLFWbool sRGB
Definition: internal.h:338
GLFWbool doublebuffer
Definition: internal.h:339
_GLFWfbconfig framebuffer
Definition: internal.h:533
_GLFWwndconfig window
Definition: internal.h:534
_GLFWctxconfig context
Definition: internal.h:535
_GLFWwindow * windowListHead
Definition: internal.h:541
_GLFWtls contextSlot
Definition: internal.h:552
int refreshRate
Definition: internal.h:536
struct _GLFWlibrary::@23 hints
int minwidth
Definition: internal.h:395
GLFWbool doublebuffer
Definition: internal.h:390
int minheight
Definition: internal.h:395
GLFWvidmode videoMode
Definition: internal.h:391
GLFWwindowmaximizefun maximize
Definition: internal.h:418
struct _GLFWwindow::@22 callbacks
int cursorMode
Definition: internal.h:402
char mouseButtons[GLFW_MOUSE_BUTTON_LAST+1]
Definition: internal.h:403
GLFWframebuffersizefun fbsize
Definition: internal.h:419
_GLFWmonitor * monitor
Definition: internal.h:392
GLFWbool mousePassthrough
Definition: internal.h:387
GLFWbool resizable
Definition: internal.h:382
struct _GLFWwindow * next
Definition: internal.h:379
int maxheight
Definition: internal.h:396
GLFWbool decorated
Definition: internal.h:383
GLFWbool focusOnShow
Definition: internal.h:386
int maxwidth
Definition: internal.h:396
GLFWwindowrefreshfun refresh
Definition: internal.h:415
GLFWwindowiconifyfun iconify
Definition: internal.h:417
GLFWwindowposfun pos
Definition: internal.h:412
GLFWbool shouldClose
Definition: internal.h:388
GLFWwindowsizefun size
Definition: internal.h:413
GLFWbool autoIconify
Definition: internal.h:384
void * userPointer
Definition: internal.h:389
GLFWbool floating
Definition: internal.h:385
GLFWwindowclosefun close
Definition: internal.h:414
GLFWwindowcontentscalefun scale
Definition: internal.h:420
char keys[GLFW_KEY_LAST+1]
Definition: internal.h:404
GLFWwindowfocusfun focus
Definition: internal.h:416
_GLFWcontext context
Definition: internal.h:409
GLFWbool decorated
Definition: internal.h:269
GLFWbool centerCursor
Definition: internal.h:274
GLFWbool scaleToMonitor
Definition: internal.h:277
GLFWbool keymenu
Definition: internal.h:287
const char * title
Definition: internal.h:266
char className[256]
Definition: internal.h:283
struct _GLFWwndconfig::@20 win32
GLFWbool visible
Definition: internal.h:268
char frameName[256]
Definition: internal.h:280
GLFWbool focusOnShow
Definition: internal.h:275
struct _GLFWwndconfig::@18 ns
GLFWbool resizable
Definition: internal.h:267
char instanceName[256]
Definition: internal.h:284
GLFWbool retina
Definition: internal.h:279
GLFWbool mousePassthrough
Definition: internal.h:276
GLFWbool floating
Definition: internal.h:272
GLFWbool focused
Definition: internal.h:270
GLFWbool autoIconify
Definition: internal.h:271
struct _GLFWwndconfig::@19 x11
GLFWbool maximized
Definition: internal.h:273
Image data.
Definition: glfw3.h:1855
int greenBits
Definition: glfw3.h:1804
int redBits
Definition: glfw3.h:1801
int width
Definition: glfw3.h:1795
int refreshRate
Definition: glfw3.h:1810
int height
Definition: glfw3.h:1798
int blueBits
Definition: glfw3.h:1807
void _glfwInputFramebufferSize(_GLFWwindow *window, int width, int height)
Definition: window.c:108
void _glfwInputWindowIconify(_GLFWwindow *window, GLFWbool iconified)
Definition: window.c:91
void _glfwInputWindowMaximize(_GLFWwindow *window, GLFWbool maximized)
Definition: window.c:99
void _glfwInputWindowSize(_GLFWwindow *window, int width, int height)
Definition: window.c:83
void _glfwInputWindowMonitor(_GLFWwindow *window, _GLFWmonitor *monitor)
Definition: window.c:143
void _glfwInputWindowPos(_GLFWwindow *window, int x, int y)
Definition: window.c:74
void _glfwInputWindowContentScale(_GLFWwindow *window, float xscale, float yscale)
Definition: window.c:117
void _glfwInputWindowDamage(_GLFWwindow *window)
Definition: window.c:125
void _glfwInputWindowCloseRequest(_GLFWwindow *window)
Definition: window.c:133
void _glfwInputWindowFocus(_GLFWwindow *window, GLFWbool focused)
Definition: window.c:45