openglada_glfw_0.9.0_fc25165c/src/glfw-windows-hints.adb

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
--  part of OpenGLAda, (c) 2017 Felix Krause
--  released under the terms of the MIT license, see the file "COPYING"

with Glfw.API;
with Glfw.Enums;

package body Glfw.Windows.Hints is

   procedure Reset_To_Defaults renames API.Default_Window_Hints;

   procedure Set_Resizable (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Resizable, Bool (Value));
   end Set_Resizable;

   procedure Set_Visible (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Visible, Bool (Value));
   end Set_Visible;

   procedure Set_Decorated (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Decorated, Bool (Value));
   end Set_Decorated;

   procedure Set_Focused (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Focused, Bool (Value));
   end Set_Focused;

   procedure Set_Auto_Iconify (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Auto_Iconify, Bool (Value));
   end Set_Auto_Iconify;

   procedure Set_Floating (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Floating, Bool (Value));
   end Set_Floating;

   procedure Set_Maximized (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Maximized, Bool (Value));
   end Set_Maximized;

   procedure Set_Center_Cursor (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Center_Cursor, Bool (Value));
   end Set_Center_Cursor;

   procedure Set_Transparent_Framebuffer (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Transparent_Framebuffer, Bool (Value));
   end Set_Transparent_Framebuffer;

   procedure Set_Focus_On_Show (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Focus_On_Show, Bool (Value));
   end Set_Focus_On_Show;

   procedure Set_Scale_To_Monitor (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Scale_To_Monitor, Bool (Value));
   end Set_Scale_To_Monitor;

   procedure Set_Color_Bits (Red, Green, Blue, Alpha : Natural) is
   begin
      API.Window_Hint (Enums.Red_Bits, Interfaces.C.int (Red));
      API.Window_Hint (Enums.Green_Bits, Interfaces.C.int (Green));
      API.Window_Hint (Enums.Blue_Bits, Interfaces.C.int (Blue));
      API.Window_Hint (Enums.Alpha_Bits, Interfaces.C.int (Alpha));
   end Set_Color_Bits;

   procedure Set_Depth_Bits (Value : Natural) is
   begin
      API.Window_Hint (Enums.Depth_Bits, Interfaces.C.int (Value));
   end Set_Depth_Bits;

   procedure Set_Stencil_Bits (Value : Natural) is
   begin
      API.Window_Hint (Enums.Stencil_Bits, Interfaces.C.int (Value));
   end Set_Stencil_Bits;

   procedure Set_Accumulation_Bits (Red, Green, Blue, Alpha : Natural) is
   begin
      API.Window_Hint (Enums.Accum_Red_Bits, Interfaces.C.int (Red));
      API.Window_Hint (Enums.Accum_Green_Bits, Interfaces.C.int (Green));
      API.Window_Hint (Enums.Accum_Blue_Bits, Interfaces.C.int (Blue));
      API.Window_Hint (Enums.Accum_Alpha_Bits, Interfaces.C.int (Alpha));
   end Set_Accumulation_Bits;

   procedure Set_Aux_Buffers (Value : Natural) is
   begin
      API.Window_Hint (Enums.Aux_Buffers, Interfaces.C.int (Value));
   end Set_Aux_Buffers;

   procedure Set_Stereo (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Stereo, Bool (Value));
   end Set_Stereo;

   procedure Set_Samples (Value : Natural) is
   begin
      API.Window_Hint (Enums.Samples, Interfaces.C.int (Value));
   end Set_Samples;

   procedure Set_SRGB_Capable (Value : Boolean) is
   begin
      API.Window_Hint (Enums.SRGB_Capable, Bool (Value));
   end Set_SRGB_Capable;

   procedure Set_Doublebuffer (Value : Boolean) is
   begin
      API.Window_Hint (Enums.Doublebuffer, Bool (Value));
   end Set_Doublebuffer;

   procedure Set_Refresh_Rate (Value : Natural) is
   begin
      API.Window_Hint (Enums.Refresh_Rate, Interfaces.C.int (Value));
   end Set_Refresh_Rate;

   procedure Set_Client_API (Value : Context.API_Kind) is
   begin
      API.Window_Hint (Enums.Client_API, Value);
   end Set_Client_API;

   procedure Set_Minimum_OpenGL_Version (Major : Positive; Minor : Natural) is
   begin
      API.Window_Hint (Enums.Context_Version_Major, Interfaces.C.int (Major));
      API.Window_Hint (Enums.Context_Version_Minor, Interfaces.C.int (Minor));
   end Set_Minimum_OpenGL_Version;

   procedure Set_Robustness (Value : Context.Robustness_Kind) is
   begin
      API.Window_Hint (Enums.Context_Robustness, Value);
   end Set_Robustness;

   procedure Set_Forward_Compat (Value : Boolean) is
   begin
      API.Window_Hint (Enums.OpenGL_Forward_Compat, Bool (Value));
   end Set_Forward_Compat;

   procedure Set_Debug_Context (Value : Boolean) is
   begin
      API.Window_Hint (Enums.OpenGL_Debug_Context, Bool (Value));
   end Set_Debug_Context;

   procedure Set_Profile (Value : Context.OpenGL_Profile_Kind) is
   begin
      API.Window_Hint (Enums.OpenGL_Profile, Value);
   end Set_Profile;

end Glfw.Windows.Hints;