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
|
-- Programmed by Jedidiah Barber
-- Released into the public domain
package FLTK.Screen is
type Visual_Mode is (RGB, RGB_24bit, Double_Buffer, Double_RGB, Double_RGB_24bit);
-- Environment --
procedure Set_Display_String
(Value : in String);
procedure Set_Visual_Mode
(Value : in Visual_Mode);
function Set_Visual_Mode
(Value : in Visual_Mode)
return Boolean;
-- Basic Dimensions --
function Get_X
return Integer;
function Get_Y
return Integer;
function Get_W
return Integer;
function Get_H
return Integer;
-- Pixel Density --
function Count
return Integer;
-- Screen numbers in the range 1 .. Count
procedure DPI
(Horizontal, Vertical : out Float;
Screen_Number : in Integer := 1);
-- Position Lookup --
function Containing
(X, Y : in Integer)
return Integer;
function Containing
(X, Y, W, H : in Integer)
return Integer;
-- Bounding Boxes --
procedure Work_Area
(X, Y, W, H : out Integer;
Pos_X, Pos_Y : in Integer);
procedure Work_Area
(X, Y, W, H : out Integer;
Screen_Num : in Integer);
procedure Work_Area
(X, Y, W, H : out Integer);
procedure Bounding_Rect
(X, Y, W, H : out Integer;
Pos_X, Pos_Y : in Integer);
procedure Bounding_Rect
(X, Y, W, H : out Integer;
Screen_Num : in Integer);
procedure Bounding_Rect
(X, Y, W, H : out Integer);
procedure Bounding_Rect
(X, Y, W, H : out Integer;
PX, PY, PW, PH : in Integer);
-- Drawing --
function Is_Damaged
return Boolean;
procedure Set_Damaged
(To : in Boolean);
procedure Flush;
procedure Redraw;
private
pragma Import (C, Flush, "fl_screen_flush");
pragma Import (C, Redraw, "fl_screen_redraw");
pragma Inline (Set_Display_String);
pragma Inline (Set_Visual_Mode);
pragma Inline (Get_X);
pragma Inline (Get_Y);
pragma Inline (Get_W);
pragma Inline (Get_H);
pragma Inline (Count);
pragma Inline (DPI);
pragma Inline (Containing);
pragma Inline (Work_Area);
pragma Inline (Bounding_Rect);
pragma Inline (Is_Damaged);
pragma Inline (Set_Damaged);
pragma Inline (Flush);
pragma Inline (Redraw);
end FLTK.Screen;
|