86 #if !defined(_WIN32) && (defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__))
96 #define APIENTRY __stdcall
108 #if !defined(WINGDIAPI) && defined(_WIN32)
109 #if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__POCC__)
111 #define WINGDIAPI __declspec(dllimport)
112 #elif defined(__LCC__)
114 #define WINGDIAPI __stdcall
117 #define WINGDIAPI extern
119 #define GLFW_WINGDIAPI_DEFINED
123 #if !defined(CALLBACK) && defined(_WIN32)
124 #if defined(_MSC_VER)
126 #if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS)
127 #define CALLBACK __stdcall
133 #define CALLBACK __stdcall
135 #define GLFW_CALLBACK_DEFINED
140 #if !defined(GLFW_INCLUDE_NONE)
146 #if defined(__APPLE_CC__)
147 #if defined(GLFW_INCLUDE_GLCOREARB)
148 #include <OpenGL/gl3.h>
149 #if defined(GLFW_INCLUDE_GLEXT)
150 #include <OpenGL/gl3ext.h>
152 #elif !defined(GLFW_INCLUDE_NONE)
153 #if !defined(GLFW_INCLUDE_GLEXT)
154 #define GL_GLEXT_LEGACY
156 #include <OpenGL/gl.h>
158 #if defined(GLFW_INCLUDE_GLU)
159 #include <OpenGL/glu.h>
162 #if defined(GLFW_INCLUDE_GLCOREARB)
163 #include <GL/glcorearb.h>
164 #elif defined(GLFW_INCLUDE_ES1)
166 #if defined(GLFW_INCLUDE_GLEXT)
167 #include <GLES/glext.h>
169 #elif defined(GLFW_INCLUDE_ES2)
170 #include <GLES2/gl2.h>
171 #if defined(GLFW_INCLUDE_GLEXT)
172 #include <GLES2/gl2ext.h>
174 #elif defined(GLFW_INCLUDE_ES3)
175 #include <GLES3/gl3.h>
176 #if defined(GLFW_INCLUDE_GLEXT)
177 #include <GLES3/gl2ext.h>
179 #elif defined(GLFW_INCLUDE_ES31)
180 #include <GLES3/gl31.h>
181 #if defined(GLFW_INCLUDE_GLEXT)
182 #include <GLES3/gl2ext.h>
184 #elif !defined(GLFW_INCLUDE_NONE)
186 #if defined(GLFW_INCLUDE_GLEXT)
187 #include <GL/glext.h>
190 #if defined(GLFW_INCLUDE_GLU)
195 #if defined(GLFW_DLL) && defined(_GLFW_BUILD_DLL)
200 #error "You must not have both GLFW_DLL and _GLFW_BUILD_DLL defined"
203 #if defined(_WIN32) && defined(_GLFW_BUILD_DLL)
206 #define GLFWAPI __declspec(dllexport)
208 #elif defined(_WIN32) && defined(GLFW_DLL)
212 #define GLFWAPI extern
214 #define GLFWAPI __declspec(dllimport)
217 #elif defined(__GNUC__) && defined(_GLFW_BUILD_DLL)
220 #define GLFWAPI __attribute__((visibility("default")))
243 #define GLFW_VERSION_MAJOR 3
250 #define GLFW_VERSION_MINOR 1
257 #define GLFW_VERSION_REVISION 0
268 #define GLFW_RELEASE 0
282 #define GLFW_REPEAT 2
307 #define GLFW_KEY_UNKNOWN -1
310 #define GLFW_KEY_SPACE 32
311 #define GLFW_KEY_APOSTROPHE 39
312 #define GLFW_KEY_COMMA 44
313 #define GLFW_KEY_MINUS 45
314 #define GLFW_KEY_PERIOD 46
315 #define GLFW_KEY_SLASH 47
316 #define GLFW_KEY_0 48
317 #define GLFW_KEY_1 49
318 #define GLFW_KEY_2 50
319 #define GLFW_KEY_3 51
320 #define GLFW_KEY_4 52
321 #define GLFW_KEY_5 53
322 #define GLFW_KEY_6 54
323 #define GLFW_KEY_7 55
324 #define GLFW_KEY_8 56
325 #define GLFW_KEY_9 57
326 #define GLFW_KEY_SEMICOLON 59
327 #define GLFW_KEY_EQUAL 61
328 #define GLFW_KEY_A 65
329 #define GLFW_KEY_B 66
330 #define GLFW_KEY_C 67
331 #define GLFW_KEY_D 68
332 #define GLFW_KEY_E 69
333 #define GLFW_KEY_F 70
334 #define GLFW_KEY_G 71
335 #define GLFW_KEY_H 72
336 #define GLFW_KEY_I 73
337 #define GLFW_KEY_J 74
338 #define GLFW_KEY_K 75
339 #define GLFW_KEY_L 76
340 #define GLFW_KEY_M 77
341 #define GLFW_KEY_N 78
342 #define GLFW_KEY_O 79
343 #define GLFW_KEY_P 80
344 #define GLFW_KEY_Q 81
345 #define GLFW_KEY_R 82
346 #define GLFW_KEY_S 83
347 #define GLFW_KEY_T 84
348 #define GLFW_KEY_U 85
349 #define GLFW_KEY_V 86
350 #define GLFW_KEY_W 87
351 #define GLFW_KEY_X 88
352 #define GLFW_KEY_Y 89
353 #define GLFW_KEY_Z 90
354 #define GLFW_KEY_LEFT_BRACKET 91
355 #define GLFW_KEY_BACKSLASH 92
356 #define GLFW_KEY_RIGHT_BRACKET 93
357 #define GLFW_KEY_GRAVE_ACCENT 96
358 #define GLFW_KEY_WORLD_1 161
359 #define GLFW_KEY_WORLD_2 162
362 #define GLFW_KEY_ESCAPE 256
363 #define GLFW_KEY_ENTER 257
364 #define GLFW_KEY_TAB 258
365 #define GLFW_KEY_BACKSPACE 259
366 #define GLFW_KEY_INSERT 260
367 #define GLFW_KEY_DELETE 261
368 #define GLFW_KEY_RIGHT 262
369 #define GLFW_KEY_LEFT 263
370 #define GLFW_KEY_DOWN 264
371 #define GLFW_KEY_UP 265
372 #define GLFW_KEY_PAGE_UP 266
373 #define GLFW_KEY_PAGE_DOWN 267
374 #define GLFW_KEY_HOME 268
375 #define GLFW_KEY_END 269
376 #define GLFW_KEY_CAPS_LOCK 280
377 #define GLFW_KEY_SCROLL_LOCK 281
378 #define GLFW_KEY_NUM_LOCK 282
379 #define GLFW_KEY_PRINT_SCREEN 283
380 #define GLFW_KEY_PAUSE 284
381 #define GLFW_KEY_F1 290
382 #define GLFW_KEY_F2 291
383 #define GLFW_KEY_F3 292
384 #define GLFW_KEY_F4 293
385 #define GLFW_KEY_F5 294
386 #define GLFW_KEY_F6 295
387 #define GLFW_KEY_F7 296
388 #define GLFW_KEY_F8 297
389 #define GLFW_KEY_F9 298
390 #define GLFW_KEY_F10 299
391 #define GLFW_KEY_F11 300
392 #define GLFW_KEY_F12 301
393 #define GLFW_KEY_F13 302
394 #define GLFW_KEY_F14 303
395 #define GLFW_KEY_F15 304
396 #define GLFW_KEY_F16 305
397 #define GLFW_KEY_F17 306
398 #define GLFW_KEY_F18 307
399 #define GLFW_KEY_F19 308
400 #define GLFW_KEY_F20 309
401 #define GLFW_KEY_F21 310
402 #define GLFW_KEY_F22 311
403 #define GLFW_KEY_F23 312
404 #define GLFW_KEY_F24 313
405 #define GLFW_KEY_F25 314
406 #define GLFW_KEY_KP_0 320
407 #define GLFW_KEY_KP_1 321
408 #define GLFW_KEY_KP_2 322
409 #define GLFW_KEY_KP_3 323
410 #define GLFW_KEY_KP_4 324
411 #define GLFW_KEY_KP_5 325
412 #define GLFW_KEY_KP_6 326
413 #define GLFW_KEY_KP_7 327
414 #define GLFW_KEY_KP_8 328
415 #define GLFW_KEY_KP_9 329
416 #define GLFW_KEY_KP_DECIMAL 330
417 #define GLFW_KEY_KP_DIVIDE 331
418 #define GLFW_KEY_KP_MULTIPLY 332
419 #define GLFW_KEY_KP_SUBTRACT 333
420 #define GLFW_KEY_KP_ADD 334
421 #define GLFW_KEY_KP_ENTER 335
422 #define GLFW_KEY_KP_EQUAL 336
423 #define GLFW_KEY_LEFT_SHIFT 340
424 #define GLFW_KEY_LEFT_CONTROL 341
425 #define GLFW_KEY_LEFT_ALT 342
426 #define GLFW_KEY_LEFT_SUPER 343
427 #define GLFW_KEY_RIGHT_SHIFT 344
428 #define GLFW_KEY_RIGHT_CONTROL 345
429 #define GLFW_KEY_RIGHT_ALT 346
430 #define GLFW_KEY_RIGHT_SUPER 347
431 #define GLFW_KEY_MENU 348
432 #define GLFW_KEY_LAST GLFW_KEY_MENU
442 #define GLFW_MOD_SHIFT 0x0001
445 #define GLFW_MOD_CONTROL 0x0002
448 #define GLFW_MOD_ALT 0x0004
451 #define GLFW_MOD_SUPER 0x0008
458 #define GLFW_MOUSE_BUTTON_1 0
459 #define GLFW_MOUSE_BUTTON_2 1
460 #define GLFW_MOUSE_BUTTON_3 2
461 #define GLFW_MOUSE_BUTTON_4 3
462 #define GLFW_MOUSE_BUTTON_5 4
463 #define GLFW_MOUSE_BUTTON_6 5
464 #define GLFW_MOUSE_BUTTON_7 6
465 #define GLFW_MOUSE_BUTTON_8 7
466 #define GLFW_MOUSE_BUTTON_LAST GLFW_MOUSE_BUTTON_8
467 #define GLFW_MOUSE_BUTTON_LEFT GLFW_MOUSE_BUTTON_1
468 #define GLFW_MOUSE_BUTTON_RIGHT GLFW_MOUSE_BUTTON_2
469 #define GLFW_MOUSE_BUTTON_MIDDLE GLFW_MOUSE_BUTTON_3
475 #define GLFW_JOYSTICK_1 0
476 #define GLFW_JOYSTICK_2 1
477 #define GLFW_JOYSTICK_3 2
478 #define GLFW_JOYSTICK_4 3
479 #define GLFW_JOYSTICK_5 4
480 #define GLFW_JOYSTICK_6 5
481 #define GLFW_JOYSTICK_7 6
482 #define GLFW_JOYSTICK_8 7
483 #define GLFW_JOYSTICK_9 8
484 #define GLFW_JOYSTICK_10 9
485 #define GLFW_JOYSTICK_11 10
486 #define GLFW_JOYSTICK_12 11
487 #define GLFW_JOYSTICK_13 12
488 #define GLFW_JOYSTICK_14 13
489 #define GLFW_JOYSTICK_15 14
490 #define GLFW_JOYSTICK_16 15
491 #define GLFW_JOYSTICK_LAST GLFW_JOYSTICK_16
506 #define GLFW_NOT_INITIALIZED 0x00010001
517 #define GLFW_NO_CURRENT_CONTEXT 0x00010002
526 #define GLFW_INVALID_ENUM 0x00010003
538 #define GLFW_INVALID_VALUE 0x00010004
547 #define GLFW_OUT_OF_MEMORY 0x00010005
565 #define GLFW_API_UNAVAILABLE 0x00010006
583 #define GLFW_VERSION_UNAVAILABLE 0x00010007
594 #define GLFW_PLATFORM_ERROR 0x00010008
614 #define GLFW_FORMAT_UNAVAILABLE 0x00010009
617 #define GLFW_FOCUSED 0x00020001
618 #define GLFW_ICONIFIED 0x00020002
619 #define GLFW_RESIZABLE 0x00020003
620 #define GLFW_VISIBLE 0x00020004
621 #define GLFW_DECORATED 0x00020005
622 #define GLFW_AUTO_ICONIFY 0x00020006
623 #define GLFW_FLOATING 0x00020007
625 #define GLFW_RED_BITS 0x00021001
626 #define GLFW_GREEN_BITS 0x00021002
627 #define GLFW_BLUE_BITS 0x00021003
628 #define GLFW_ALPHA_BITS 0x00021004
629 #define GLFW_DEPTH_BITS 0x00021005
630 #define GLFW_STENCIL_BITS 0x00021006
631 #define GLFW_ACCUM_RED_BITS 0x00021007
632 #define GLFW_ACCUM_GREEN_BITS 0x00021008
633 #define GLFW_ACCUM_BLUE_BITS 0x00021009
634 #define GLFW_ACCUM_ALPHA_BITS 0x0002100A
635 #define GLFW_AUX_BUFFERS 0x0002100B
636 #define GLFW_STEREO 0x0002100C
637 #define GLFW_SAMPLES 0x0002100D
638 #define GLFW_SRGB_CAPABLE 0x0002100E
639 #define GLFW_REFRESH_RATE 0x0002100F
640 #define GLFW_DOUBLEBUFFER 0x00021010
642 #define GLFW_CLIENT_API 0x00022001
643 #define GLFW_CONTEXT_VERSION_MAJOR 0x00022002
644 #define GLFW_CONTEXT_VERSION_MINOR 0x00022003
645 #define GLFW_CONTEXT_REVISION 0x00022004
646 #define GLFW_CONTEXT_ROBUSTNESS 0x00022005
647 #define GLFW_OPENGL_FORWARD_COMPAT 0x00022006
648 #define GLFW_OPENGL_DEBUG_CONTEXT 0x00022007
649 #define GLFW_OPENGL_PROFILE 0x00022008
650 #define GLFW_CONTEXT_RELEASE_BEHAVIOR 0x00022009
652 #define GLFW_OPENGL_API 0x00030001
653 #define GLFW_OPENGL_ES_API 0x00030002
655 #define GLFW_NO_ROBUSTNESS 0
656 #define GLFW_NO_RESET_NOTIFICATION 0x00031001
657 #define GLFW_LOSE_CONTEXT_ON_RESET 0x00031002
659 #define GLFW_OPENGL_ANY_PROFILE 0
660 #define GLFW_OPENGL_CORE_PROFILE 0x00032001
661 #define GLFW_OPENGL_COMPAT_PROFILE 0x00032002
663 #define GLFW_CURSOR 0x00033001
664 #define GLFW_STICKY_KEYS 0x00033002
665 #define GLFW_STICKY_MOUSE_BUTTONS 0x00033003
667 #define GLFW_CURSOR_NORMAL 0x00034001
668 #define GLFW_CURSOR_HIDDEN 0x00034002
669 #define GLFW_CURSOR_DISABLED 0x00034003
671 #define GLFW_ANY_RELEASE_BEHAVIOR 0
672 #define GLFW_RELEASE_BEHAVIOR_FLUSH 0x00035001
673 #define GLFW_RELEASE_BEHAVIOR_NONE 0x00035002
675 #define GLFW_CONNECTED 0x00040001
676 #define GLFW_DISCONNECTED 0x00040002
678 #define GLFW_DONT_CARE -1
1430 GLFWAPI
void glfwSetGamma(GLFWmonitor* monitor,
float gamma);
1627 GLFWAPI GLFWwindow*
glfwCreateWindow(
int width,
int height,
const char* title, GLFWmonitor* monitor, GLFWwindow* share);
2496 GLFWAPI
int glfwGetKey(GLFWwindow* window,
int key);
2568 GLFWAPI
void glfwGetCursorPos(GLFWwindow* window,
double* xpos,
double* ypos);
2607 GLFWAPI
void glfwSetCursorPos(GLFWwindow* window,
double xpos,
double ypos);
3341 #ifdef GLFW_WINGDIAPI_DEFINED
3343 #undef GLFW_WINGDIAPI_DEFINED
3346 #ifdef GLFW_CALLBACK_DEFINED
3348 #undef GLFW_CALLBACK_DEFINED
void glfwGetVersion(int *major, int *minor, int *rev)
Retrieves the version of the GLFW library.
int redBits
Definition: glfw3.h:979
void glfwGetWindowSize(GLFWwindow *window, int *width, int *height)
Retrieves the size of the client area of the specified window.
int height
Definition: glfw3.h:976
GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow *window, GLFWwindowrefreshfun cbfun)
Sets the refresh callback for the specified window.
GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindow *window, GLFWwindowposfun cbfun)
Sets the position callback for the specified window.
void glfwGetWindowPos(GLFWwindow *window, int *xpos, int *ypos)
Retrieves the position of the client area of the specified window.
int blueBits
Definition: glfw3.h:985
void(* GLFWmonitorfun)(GLFWmonitor *, int)
The function signature for monitor configuration callbacks.
Definition: glfw3.h:961
unsigned char * pixels
Definition: glfw3.h:1029
void * glfwGetWindowUserPointer(GLFWwindow *window)
Returns the user pointer of the specified window.
const GLFWvidmode * glfwGetVideoModes(GLFWmonitor *monitor, int *count)
Returns the available video modes for the specified monitor.
const GLFWgammaramp * glfwGetGammaRamp(GLFWmonitor *monitor)
Returns the current gamma ramp for the specified monitor.
struct GLFWcursor GLFWcursor
Opaque cursor object.
Definition: glfw3.h:716
void glfwIconifyWindow(GLFWwindow *window)
Iconifies the specified window.
GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun cbfun)
Sets the error callback.
GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindow *window, GLFWwindowiconifyfun cbfun)
Sets the iconify callback for the specified window.
int width
Definition: glfw3.h:973
const char * glfwGetVersionString(void)
Returns a string describing the compile-time configuration.
GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow *window, GLFWwindowsizefun cbfun)
Sets the size callback for the specified window.
struct GLFWimage GLFWimage
Image data.
void glfwWaitEvents(void)
Waits until events are queued and processes them.
int height
Definition: glfw3.h:1026
GLFWglproc glfwGetProcAddress(const char *procname)
Returns the address of the specified function for the current context.
void(* GLFWwindowiconifyfun)(GLFWwindow *, int)
The function signature for window iconify/restore callbacks.
Definition: glfw3.h:812
int refreshRate
Definition: glfw3.h:988
unsigned short * red
Definition: glfw3.h:1003
GLFWmonitor ** glfwGetMonitors(int *count)
Returns the currently connected monitors.
void glfwDestroyWindow(GLFWwindow *window)
Destroys the specified window and its context.
unsigned short * green
Definition: glfw3.h:1006
void glfwSetWindowTitle(GLFWwindow *window, const char *title)
Sets the title of the specified window.
struct GLFWmonitor GLFWmonitor
Opaque monitor object.
Definition: glfw3.h:700
struct GLFWwindow GLFWwindow
Opaque window object.
Definition: glfw3.h:708
void glfwShowWindow(GLFWwindow *window)
Makes the specified window visible.
void glfwSetWindowSize(GLFWwindow *window, int width, int height)
Sets the size of the client area of the specified window.
int greenBits
Definition: glfw3.h:982
void glfwSwapBuffers(GLFWwindow *window)
Swaps the front and back buffers of the specified window.
void glfwSetGamma(GLFWmonitor *monitor, float gamma)
Generates a gamma ramp and sets it for the specified monitor.
const GLFWvidmode * glfwGetVideoMode(GLFWmonitor *monitor)
Returns the current mode of the specified monitor.
void glfwGetWindowFrameSize(GLFWwindow *window, int *left, int *top, int *right, int *bottom)
Retrieves the size of the frame of the window.
void glfwRestoreWindow(GLFWwindow *window)
Restores the specified window.
void(* GLFWwindowclosefun)(GLFWwindow *)
The function signature for window close callbacks.
Definition: glfw3.h:771
void(* GLFWwindowposfun)(GLFWwindow *, int, int)
The function signature for window position callbacks.
Definition: glfw3.h:745
struct GLFWgammaramp GLFWgammaramp
Gamma ramp.
GLFWwindow * glfwCreateWindow(int width, int height, const char *title, GLFWmonitor *monitor, GLFWwindow *share)
Creates a window and its associated context.
unsigned int size
Definition: glfw3.h:1012
void glfwSetWindowUserPointer(GLFWwindow *window, void *pointer)
Sets the user pointer of the specified window.
void glfwSetWindowShouldClose(GLFWwindow *window, int value)
Sets the close flag of the specified window.
void glfwPostEmptyEvent(void)
Posts an empty event to the event queue.
GLFWframebuffersizefun glfwSetFramebufferSizeCallback(GLFWwindow *window, GLFWframebuffersizefun cbfun)
Sets the framebuffer resize callback for the specified window.
void glfwWindowHint(int target, int hint)
Sets the specified window hint to the desired value.
void(* GLFWframebuffersizefun)(GLFWwindow *, int, int)
The function signature for framebuffer resize callbacks.
Definition: glfw3.h:827
void glfwPollEvents(void)
Processes all pending events.
void glfwHideWindow(GLFWwindow *window)
Hides the specified window.
GLFWwindow * glfwGetCurrentContext(void)
Returns the window whose context is current on the calling thread.
void glfwSetGammaRamp(GLFWmonitor *monitor, const GLFWgammaramp *ramp)
Sets the current gamma ramp for the specified monitor.
void(* GLFWwindowrefreshfun)(GLFWwindow *)
The function signature for window content refresh callbacks.
Definition: glfw3.h:783
int width
Definition: glfw3.h:1023
GLFWmonitor * glfwGetWindowMonitor(GLFWwindow *window)
Returns the monitor that the window uses for full screen mode.
GLFWmonitor * glfwGetPrimaryMonitor(void)
Returns the primary monitor.
void glfwMakeContextCurrent(GLFWwindow *window)
Makes the context of the specified window current for the calling thread.
Gamma ramp.
Definition: glfw3.h:999
GLFWwindowclosefun glfwSetWindowCloseCallback(GLFWwindow *window, GLFWwindowclosefun cbfun)
Sets the close callback for the specified window.
unsigned short * blue
Definition: glfw3.h:1009
Video mode type.
Definition: glfw3.h:969
void(* GLFWglproc)(void)
Client API function pointer type.
Definition: glfw3.h:692
void glfwSetWindowPos(GLFWwindow *window, int xpos, int ypos)
Sets the position of the client area of the specified window.
int glfwExtensionSupported(const char *extension)
Returns whether the specified extension is available.
void glfwGetFramebufferSize(GLFWwindow *window, int *width, int *height)
Retrieves the size of the framebuffer of the specified window.
void(* GLFWwindowsizefun)(GLFWwindow *, int, int)
The function signature for window resize callbacks.
Definition: glfw3.h:759
void glfwSwapInterval(int interval)
Sets the swap interval for the current context.
int glfwInit(void)
Initializes the GLFW library.
void(* GLFWwindowfocusfun)(GLFWwindow *, int)
The function signature for window focus/defocus callbacks.
Definition: glfw3.h:797
Image data.
Definition: glfw3.h:1019
void glfwGetMonitorPos(GLFWmonitor *monitor, int *xpos, int *ypos)
Returns the position of the monitor's viewport on the virtual screen.
struct GLFWvidmode GLFWvidmode
Video mode type.
void glfwDefaultWindowHints(void)
Resets all window hints to their default values.
GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow *window, GLFWwindowfocusfun cbfun)
Sets the focus callback for the specified window.
void glfwTerminate(void)
Terminates the GLFW library.
void glfwGetMonitorPhysicalSize(GLFWmonitor *monitor, int *width, int *height)
Returns the physical size of the monitor.
void(* GLFWerrorfun)(int, const char *)
The function signature for error callbacks.
Definition: glfw3.h:729
GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun cbfun)
Sets the monitor configuration callback.
const char * glfwGetMonitorName(GLFWmonitor *monitor)
Returns the name of the specified monitor.
int glfwWindowShouldClose(GLFWwindow *window)
Checks the close flag of the specified window.
int glfwGetWindowAttrib(GLFWwindow *window, int attrib)
Returns an attribute of the specified window.