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 multi-
46 head mode or with true Xinerama enabled is impossible due to
47 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 af‐
75 ter 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 re‐
92 quested with al_set_new_display_option(3). Note: Currently this
93 is only supported by the X11/GLX driver. Since: 5.1.13
94
95 ALLEGRO_OPENGL_CORE_PROFILE
96 Used together with ALLEGRO_OPENGL, requests that the OpenGL con‐
97 text uses the OpenGL Core profile. A specific version can be
98 requested with al_set_new_display_option(3). Note: Currently
99 this is only supported by the X11/GLX driver. Since: 5.2.7
100
101 ALLEGRO_DIRECT3D
102 Require the driver to do rendering with Direct3D and provide a
103 Direct3D device.
104
105 ALLEGRO_PROGRAMMABLE_PIPELINE
106 Require a programmable graphics pipeline. This flag is required
107 to use ALLEGRO_SHADER(3) objects. Since: 5.1.6
108
109 ALLEGRO_FRAMELESS
110 Try to create a window without a frame (i.e. no border or title‐
111 bar). This usually does nothing for fullscreen modes, and even
112 in windowed modes it depends on the underlying platform whether
113 it is supported or not. Since: 5.0.7, 5.1.2
114
115 ALLEGRO_NOFRAME
116 Original name for ALLEGRO_FRAMELESS. This works with older ver‐
117 sions of Allegro.
118
119 ALLEGRO_GENERATE_EXPOSE_EVENTS
120 Let the display generate expose events.
121
122 ALLEGRO_GTK_TOPLEVEL
123 Create a GTK toplevel window for the display, on X. This flag
124 is conditionally defined by the native dialog addon. You must
125 call al_init_native_dialog_addon(3) for it to succeed. ALLE‐
126 GRO_GTK_TOPLEVEL is incompatible with ALLEGRO_FULLSCREEN.
127 Since: 5.1.5
128
129 0 can be used for default values.
130
132 al_set_new_display_option(3), al_get_display_option(3), al_set_dis‐
133 play_option(3)
134
135
136
137Allegro reference manual al_set_new_display_flags(3)