1al_set_new_display_flags(3) al_set_new_display_flags(3)
2
3
4
6 al_set_new_display_flags - Allegro 5 API
7
9 #include <allegro5/allegro.h>
10
11 void al_set_new_display_flags(int flags)
12
14 Sets various flags to be used when creating new displays on the calling
15 thread. flags is a bitfield containing any reasonable combination of
16 the following:
17
18 ALLEGRO_WINDOWED
19 Prefer a windowed mode.
20
21 Under multi-head X (not XRandR/TwinView), the use of more than
22 one adapter is impossible due to bugs in X and GLX. al_cre‐
23 ate_display(3) will fail if more than one adapter is attempted
24 to be used.
25
26 ALLEGRO_FULLSCREEN_WINDOW
27 Make the window span the entire screen. Unlike ALLE‐
28 GRO_FULLSCREEN this will never attempt to modify the screen res‐
29 olution. Instead the pixel dimensions of the created display
30 will be the same as the desktop.
31
32 The passed width and height are only used if the window is
33 switched out of fullscreen mode later but will be ignored ini‐
34 tially.
35
36 Under Windows and X11 a fullscreen display created with this
37 flag will behave differently from one created with the ALLE‐
38 GRO_FULLSCREEN flag - even if the ALLEGRO_FULLSCREEN display is
39 passed the desktop dimensions. The exact difference is platform
40 dependent, but some things which may be different is how alt-tab
41 works, how fast you can toggle between fullscreen/windowed mode
42 or how additional monitors behave while your display is in
43 fullscreen mode.
44
45 Additionally under X, the use of more than one adapter in
46 multi-head mode or with true Xinerama enabled is impossible due
47 to bugs in X/GLX, creation will fail if more than one adapter is
48 attempted to be used.
49
50 ALLEGRO_FULLSCREEN
51 Prefer a fullscreen mode.
52
53 Under X the use of more than one FULLSCREEN display when using
54 multi-head X, or true Xinerama is not possible due to bugs in X
55 and GLX, display creation will fail if more than one adapter is
56 attempted to be used.
57
58 Note: Prefer using ALLEGRO_FULLSCREEN_WINDOW as it typi‐
59 cally provides a better user experience as the monitor
60 doesn't change resolution and switching away from your
61 game via Alt-Tab works smoothly. ALLEGRO_FULLSCREEN is
62 typically less well supported compared to ALLE‐
63 GRO_FULLSCREEN_WINDOW.
64
65 ALLEGRO_RESIZABLE
66 The display is resizable (only applicable if combined with ALLE‐
67 GRO_WINDOWED).
68
69 ALLEGRO_MAXIMIZED
70 The display window will be maximized (only applicable if com‐
71 bined with ALLEGRO_RESIZABLE). Since: 5.1.12
72
73 ALLEGRO_OPENGL
74 Require the driver to provide an initialized OpenGL context
75 after returning successfully.
76
77 ALLEGRO_OPENGL_3_0
78 Require the driver to provide an initialized OpenGL context com‐
79 patible with OpenGL version 3.0.
80
81 ALLEGRO_OPENGL_FORWARD_COMPATIBLE
82 If this flag is set, the OpenGL context created with ALLE‐
83 GRO_OPENGL_3_0 will be forward compatible only, meaning that all
84 of the OpenGL API declared deprecated in OpenGL 3.0 will not be
85 supported. Currently, a display created with this flag will not
86 be compatible with Allegro drawing routines; the display option
87 ALLEGRO_COMPATIBLE_DISPLAY will be set to false.
88
89 ALLEGRO_OPENGL_ES_PROFILE
90 Used together with ALLEGRO_OPENGL, requests that the OpenGL con‐
91 text uses the OpenGL ES profile. A specific version can be
92 requested with al_set_new_display_option(3). Note: Currently
93 this is only supported by the X11/GLX driver. Since: 5.1.13
94
95 ALLEGRO_DIRECT3D
96 Require the driver to do rendering with Direct3D and provide a
97 Direct3D device.
98
99 ALLEGRO_PROGRAMMABLE_PIPELINE
100 Require a programmable graphics pipeline. This flag is required
101 to use ALLEGRO_SHADER(3) objects. Since: 5.1.6
102
103 ALLEGRO_FRAMELESS
104 Try to create a window without a frame (i.e. no border or
105 titlebar). This usually does nothing for fullscreen modes, and
106 even in windowed modes it depends on the underlying platform
107 whether it is supported or not. Since: 5.0.7, 5.1.2
108
109 ALLEGRO_NOFRAME
110 Original name for ALLEGRO_FRAMELESS. This works with older ver‐
111 sions of Allegro.
112
113 ALLEGRO_GENERATE_EXPOSE_EVENTS
114 Let the display generate expose events.
115
116 ALLEGRO_GTK_TOPLEVEL
117 Create a GTK toplevel window for the display, on X. This flag
118 is conditionally defined by the native dialog addon. You must
119 call al_init_native_dialog_addon(3) for it to succeed. ALLE‐
120 GRO_GTK_TOPLEVEL is incompatible with ALLEGRO_FULLSCREEN.
121 Since: 5.1.5
122
123 0 can be used for default values.
124
126 al_set_new_display_option(3), al_get_display_option(3), al_set_dis‐
127 play_option(3)
128
129
130
131Allegro reference manual al_set_new_display_flags(3)