reflexion 0.1.40 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.doc/ext/reflex/native.cpp +2 -0
- data/.doc/ext/reflex/screen.cpp +53 -0
- data/.doc/ext/reflex/window.cpp +70 -12
- data/ChangeLog.md +7 -0
- data/VERSION +1 -1
- data/ext/reflex/native.cpp +2 -0
- data/ext/reflex/screen.cpp +55 -0
- data/ext/reflex/window.cpp +76 -13
- data/include/reflex/ruby/screen.h +40 -0
- data/include/reflex/screen.h +43 -0
- data/include/reflex/window.h +21 -3
- data/lib/reflex/screen.rb +21 -0
- data/lib/reflex/window.rb +3 -1
- data/lib/reflex.rb +1 -0
- data/reflex.gemspec +5 -8
- data/src/osx/native_window.mm +10 -10
- data/src/osx/screen.h +21 -0
- data/src/osx/screen.mm +58 -0
- data/src/osx/window.h +4 -0
- data/src/osx/window.mm +35 -9
- data/src/window.cpp +23 -7
- data/src/window.h +6 -2
- data/test/test_event.rb +4 -0
- data/test/test_screen.rb +18 -0
- data/test/test_view.rb +6 -6
- data/test/test_window.rb +48 -6
- metadata +20 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b412c2e913baaeacdd4afff628c339c01a6ce7359572901d6193fc97d772a426
|
4
|
+
data.tar.gz: f8cba434ac873919a9bd75ea5c5e08d0436eb672313e60541d5634b210b81b76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b6f7fd46e08e459010a98facf5c8e800c326f93d0482b0649c4f20a6bc54537947e5e3316285db7e759870c7739c68ab5284fba8f4640fb88e5dc02c106b598
|
7
|
+
data.tar.gz: a30e5f7bde2f8f9b09ff0e76847d2bbbfefe9187e3888224409ebfe04a72c05e36387ab4a976f0dd385f1ead5aa749d1ba8478182030e73058879792b0ca051e
|
data/.doc/ext/reflex/native.cpp
CHANGED
@@ -32,6 +32,7 @@ void Init_reflex_rect_shape ();
|
|
32
32
|
void Init_reflex_ellipse_shape ();
|
33
33
|
|
34
34
|
void Init_reflex_application ();
|
35
|
+
void Init_reflex_screen ();
|
35
36
|
void Init_reflex_window ();
|
36
37
|
void Init_reflex_view ();
|
37
38
|
|
@@ -80,6 +81,7 @@ extern "C" void
|
|
80
81
|
Init_reflex_ellipse_shape();
|
81
82
|
|
82
83
|
Init_reflex_application();
|
84
|
+
Init_reflex_screen();
|
83
85
|
Init_reflex_window();
|
84
86
|
Init_reflex_view();
|
85
87
|
|
@@ -0,0 +1,53 @@
|
|
1
|
+
#include "reflex/ruby/screen.h"
|
2
|
+
|
3
|
+
|
4
|
+
#include <rays/ruby/bounds.h>
|
5
|
+
#include "defs.h"
|
6
|
+
|
7
|
+
|
8
|
+
RUCY_DEFINE_VALUE_FROM_TO(Reflex::Screen)
|
9
|
+
|
10
|
+
#define THIS to<Reflex::Screen*>(self)
|
11
|
+
|
12
|
+
#define CHECK RUCY_CHECK_OBJECT(Reflex::Screen, self)
|
13
|
+
|
14
|
+
|
15
|
+
static
|
16
|
+
VALUE alloc(VALUE klass)
|
17
|
+
{
|
18
|
+
Reflex::reflex_error(__FILE__, __LINE__, "can not instantiate Screen class.");
|
19
|
+
}
|
20
|
+
|
21
|
+
static
|
22
|
+
VALUE get_frame(VALUE self)
|
23
|
+
{
|
24
|
+
CHECK;
|
25
|
+
return value(THIS->frame());
|
26
|
+
}
|
27
|
+
|
28
|
+
|
29
|
+
static Class cScreen;
|
30
|
+
|
31
|
+
void
|
32
|
+
Init_reflex_screen ()
|
33
|
+
{
|
34
|
+
Module mReflex = rb_define_module("Reflex");
|
35
|
+
|
36
|
+
cScreen = rb_define_class_under(mReflex, "Screen", rb_cObject);
|
37
|
+
rb_define_alloc_func(cScreen, alloc);
|
38
|
+
rb_define_method(cScreen, "frame", RUBY_METHOD_FUNC(get_frame), 0);
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
namespace Reflex
|
43
|
+
{
|
44
|
+
|
45
|
+
|
46
|
+
Class
|
47
|
+
screen_class ()
|
48
|
+
{
|
49
|
+
return cScreen;
|
50
|
+
}
|
51
|
+
|
52
|
+
|
53
|
+
}// Reflex
|
data/.doc/ext/reflex/window.cpp
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
|
4
4
|
#include <rays/ruby/bounds.h>
|
5
5
|
#include <rays/ruby/painter.h>
|
6
|
+
#include "reflex/ruby/screen.h"
|
6
7
|
#include "reflex/ruby/view.h"
|
7
8
|
#include "defs.h"
|
8
9
|
|
@@ -38,6 +39,13 @@ VALUE hide(VALUE self)
|
|
38
39
|
return self;
|
39
40
|
}
|
40
41
|
|
42
|
+
static
|
43
|
+
VALUE hidden(VALUE self)
|
44
|
+
{
|
45
|
+
CHECK;
|
46
|
+
return value(THIS->hidden());
|
47
|
+
}
|
48
|
+
|
41
49
|
static
|
42
50
|
VALUE close(VALUE self)
|
43
51
|
{
|
@@ -98,44 +106,89 @@ VALUE get_frame(VALUE self)
|
|
98
106
|
return value(THIS->frame());
|
99
107
|
}
|
100
108
|
|
109
|
+
static
|
110
|
+
VALUE set_closable(VALUE self, VALUE state)
|
111
|
+
{
|
112
|
+
CHECK;
|
113
|
+
|
114
|
+
if (state)
|
115
|
+
THIS-> add_flag(Reflex::Window::FLAG_CLOSABLE);
|
116
|
+
else
|
117
|
+
THIS->remove_flag(Reflex::Window::FLAG_CLOSABLE);
|
118
|
+
|
119
|
+
return state;
|
120
|
+
}
|
121
|
+
|
122
|
+
static
|
123
|
+
VALUE is_closable(VALUE self)
|
124
|
+
{
|
125
|
+
CHECK;
|
126
|
+
return value(THIS->has_flag(Reflex::Window::FLAG_CLOSABLE));
|
127
|
+
}
|
128
|
+
|
129
|
+
static
|
130
|
+
VALUE set_minimizable(VALUE self, VALUE state)
|
131
|
+
{
|
132
|
+
CHECK;
|
133
|
+
|
134
|
+
if (state)
|
135
|
+
THIS-> add_flag(Reflex::Window::FLAG_MINIMIZABLE);
|
136
|
+
else
|
137
|
+
THIS->remove_flag(Reflex::Window::FLAG_MINIMIZABLE);
|
138
|
+
|
139
|
+
return state;
|
140
|
+
}
|
141
|
+
|
142
|
+
static
|
143
|
+
VALUE is_minimizable(VALUE self)
|
144
|
+
{
|
145
|
+
CHECK;
|
146
|
+
return value(THIS->has_flag(Reflex::Window::FLAG_MINIMIZABLE));
|
147
|
+
}
|
148
|
+
|
101
149
|
static
|
102
150
|
VALUE set_resizable(VALUE self, VALUE state)
|
103
151
|
{
|
104
152
|
CHECK;
|
105
|
-
|
106
|
-
|
153
|
+
|
154
|
+
if (state)
|
155
|
+
THIS-> add_flag(Reflex::Window::FLAG_RESIZABLE);
|
156
|
+
else
|
157
|
+
THIS->remove_flag(Reflex::Window::FLAG_RESIZABLE);
|
158
|
+
|
159
|
+
return state;
|
107
160
|
}
|
108
161
|
|
109
162
|
static
|
110
163
|
VALUE is_resizable(VALUE self)
|
111
164
|
{
|
112
165
|
CHECK;
|
113
|
-
return value(THIS->
|
166
|
+
return value(THIS->has_flag(Reflex::Window::FLAG_RESIZABLE));
|
114
167
|
}
|
115
168
|
|
116
169
|
static
|
117
|
-
VALUE
|
170
|
+
VALUE get_screen(VALUE self)
|
118
171
|
{
|
119
172
|
CHECK;
|
120
|
-
return value(THIS->
|
173
|
+
return value(THIS->screen());
|
121
174
|
}
|
122
175
|
|
123
176
|
static
|
124
|
-
VALUE
|
177
|
+
VALUE get_root(VALUE self)
|
125
178
|
{
|
126
179
|
CHECK;
|
127
180
|
return value(THIS->root());
|
128
181
|
}
|
129
182
|
|
130
183
|
static
|
131
|
-
VALUE
|
184
|
+
VALUE get_focus(VALUE self)
|
132
185
|
{
|
133
186
|
CHECK;
|
134
187
|
return value(THIS->focus());
|
135
188
|
}
|
136
189
|
|
137
190
|
static
|
138
|
-
VALUE
|
191
|
+
VALUE get_painter(VALUE self)
|
139
192
|
{
|
140
193
|
CHECK;
|
141
194
|
return value(THIS->painter());
|
@@ -277,12 +330,17 @@ Init_reflex_window ()
|
|
277
330
|
rb_define_method(cWindow, "title", RUBY_METHOD_FUNC(get_title), 0);
|
278
331
|
rb_define_method(cWindow, "frame=", RUBY_METHOD_FUNC(set_frame), -1);
|
279
332
|
rb_define_method(cWindow, "frame", RUBY_METHOD_FUNC(get_frame), 0);
|
333
|
+
rb_define_method(cWindow, "closable=", RUBY_METHOD_FUNC(set_closable), 1);
|
334
|
+
cWindow.define_method("closable?", is_closable);
|
335
|
+
rb_define_method(cWindow, "minimizable=", RUBY_METHOD_FUNC(set_minimizable), 1);
|
336
|
+
cWindow.define_method("minimizable?", is_minimizable);
|
280
337
|
rb_define_method(cWindow, "resizable=", RUBY_METHOD_FUNC(set_resizable), 1);
|
281
|
-
cWindow.define_method("resizable?",
|
338
|
+
cWindow.define_method("resizable?", is_resizable);
|
282
339
|
rb_define_method(cWindow, "hidden", RUBY_METHOD_FUNC(hidden), 0);
|
283
|
-
rb_define_method(cWindow, "
|
284
|
-
rb_define_method(cWindow, "
|
285
|
-
rb_define_method(cWindow, "
|
340
|
+
rb_define_method(cWindow, "screen", RUBY_METHOD_FUNC(get_screen), 0);
|
341
|
+
rb_define_method(cWindow, "root", RUBY_METHOD_FUNC(get_root), 0);
|
342
|
+
rb_define_method(cWindow, "focus", RUBY_METHOD_FUNC(get_focus), 0);
|
343
|
+
rb_define_method(cWindow, "painter", RUBY_METHOD_FUNC(get_painter), 0);
|
286
344
|
rb_define_method(cWindow, "on_show", RUBY_METHOD_FUNC(on_show), 1);
|
287
345
|
rb_define_method(cWindow, "on_hide", RUBY_METHOD_FUNC(on_hide), 1);
|
288
346
|
rb_define_method(cWindow, "on_close", RUBY_METHOD_FUNC(on_close), 1);
|
data/ChangeLog.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# reflex ChangeLog
|
2
2
|
|
3
3
|
|
4
|
+
## [v0.1.41] - 2023-05-29
|
5
|
+
|
6
|
+
- Add Reflex::Screen class
|
7
|
+
- Add Window#closable and Window#minimizable accessors
|
8
|
+
- Fix that non-closable, non-minimizable, or non-resizable buttons raise error on clicking them
|
9
|
+
|
10
|
+
|
4
11
|
## [v0.1.40] - 2023-05-27
|
5
12
|
|
6
13
|
- required_ruby_version >= 3.0.0
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.41
|
data/ext/reflex/native.cpp
CHANGED
@@ -32,6 +32,7 @@ void Init_reflex_rect_shape ();
|
|
32
32
|
void Init_reflex_ellipse_shape ();
|
33
33
|
|
34
34
|
void Init_reflex_application ();
|
35
|
+
void Init_reflex_screen ();
|
35
36
|
void Init_reflex_window ();
|
36
37
|
void Init_reflex_view ();
|
37
38
|
|
@@ -80,6 +81,7 @@ extern "C" void
|
|
80
81
|
Init_reflex_ellipse_shape();
|
81
82
|
|
82
83
|
Init_reflex_application();
|
84
|
+
Init_reflex_screen();
|
83
85
|
Init_reflex_window();
|
84
86
|
Init_reflex_view();
|
85
87
|
|
@@ -0,0 +1,55 @@
|
|
1
|
+
#include "reflex/ruby/screen.h"
|
2
|
+
|
3
|
+
|
4
|
+
#include <rays/ruby/bounds.h>
|
5
|
+
#include "defs.h"
|
6
|
+
|
7
|
+
|
8
|
+
RUCY_DEFINE_VALUE_FROM_TO(Reflex::Screen)
|
9
|
+
|
10
|
+
#define THIS to<Reflex::Screen*>(self)
|
11
|
+
|
12
|
+
#define CHECK RUCY_CHECK_OBJECT(Reflex::Screen, self)
|
13
|
+
|
14
|
+
|
15
|
+
static
|
16
|
+
RUCY_DEF_ALLOC(alloc, klass)
|
17
|
+
{
|
18
|
+
Reflex::reflex_error(__FILE__, __LINE__, "can not instantiate Screen class.");
|
19
|
+
}
|
20
|
+
RUCY_END
|
21
|
+
|
22
|
+
static
|
23
|
+
RUCY_DEF0(get_frame)
|
24
|
+
{
|
25
|
+
CHECK;
|
26
|
+
return value(THIS->frame());
|
27
|
+
}
|
28
|
+
RUCY_END
|
29
|
+
|
30
|
+
|
31
|
+
static Class cScreen;
|
32
|
+
|
33
|
+
void
|
34
|
+
Init_reflex_screen ()
|
35
|
+
{
|
36
|
+
Module mReflex = define_module("Reflex");
|
37
|
+
|
38
|
+
cScreen = mReflex.define_class("Screen");
|
39
|
+
cScreen.define_alloc_func(alloc);
|
40
|
+
cScreen.define_method("frame", get_frame);
|
41
|
+
}
|
42
|
+
|
43
|
+
|
44
|
+
namespace Reflex
|
45
|
+
{
|
46
|
+
|
47
|
+
|
48
|
+
Class
|
49
|
+
screen_class ()
|
50
|
+
{
|
51
|
+
return cScreen;
|
52
|
+
}
|
53
|
+
|
54
|
+
|
55
|
+
}// Reflex
|
data/ext/reflex/window.cpp
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
|
4
4
|
#include <rays/ruby/bounds.h>
|
5
5
|
#include <rays/ruby/painter.h>
|
6
|
+
#include "reflex/ruby/screen.h"
|
6
7
|
#include "reflex/ruby/view.h"
|
7
8
|
#include "defs.h"
|
8
9
|
|
@@ -41,6 +42,14 @@ RUCY_DEF0(hide)
|
|
41
42
|
}
|
42
43
|
RUCY_END
|
43
44
|
|
45
|
+
static
|
46
|
+
RUCY_DEF0(hidden)
|
47
|
+
{
|
48
|
+
CHECK;
|
49
|
+
return value(THIS->hidden());
|
50
|
+
}
|
51
|
+
RUCY_END
|
52
|
+
|
44
53
|
static
|
45
54
|
RUCY_DEF0(close)
|
46
55
|
{
|
@@ -109,12 +118,61 @@ RUCY_DEF0(get_frame)
|
|
109
118
|
}
|
110
119
|
RUCY_END
|
111
120
|
|
121
|
+
static
|
122
|
+
RUCY_DEF1(set_closable, state)
|
123
|
+
{
|
124
|
+
CHECK;
|
125
|
+
|
126
|
+
if (state)
|
127
|
+
THIS-> add_flag(Reflex::Window::FLAG_CLOSABLE);
|
128
|
+
else
|
129
|
+
THIS->remove_flag(Reflex::Window::FLAG_CLOSABLE);
|
130
|
+
|
131
|
+
return state;
|
132
|
+
}
|
133
|
+
RUCY_END
|
134
|
+
|
135
|
+
static
|
136
|
+
RUCY_DEF0(is_closable)
|
137
|
+
{
|
138
|
+
CHECK;
|
139
|
+
return value(THIS->has_flag(Reflex::Window::FLAG_CLOSABLE));
|
140
|
+
}
|
141
|
+
RUCY_END
|
142
|
+
|
143
|
+
static
|
144
|
+
RUCY_DEF1(set_minimizable, state)
|
145
|
+
{
|
146
|
+
CHECK;
|
147
|
+
|
148
|
+
if (state)
|
149
|
+
THIS-> add_flag(Reflex::Window::FLAG_MINIMIZABLE);
|
150
|
+
else
|
151
|
+
THIS->remove_flag(Reflex::Window::FLAG_MINIMIZABLE);
|
152
|
+
|
153
|
+
return state;
|
154
|
+
}
|
155
|
+
RUCY_END
|
156
|
+
|
157
|
+
static
|
158
|
+
RUCY_DEF0(is_minimizable)
|
159
|
+
{
|
160
|
+
CHECK;
|
161
|
+
return value(THIS->has_flag(Reflex::Window::FLAG_MINIMIZABLE));
|
162
|
+
}
|
163
|
+
RUCY_END
|
164
|
+
|
112
165
|
static
|
113
166
|
RUCY_DEF1(set_resizable, state)
|
114
167
|
{
|
115
168
|
CHECK;
|
116
|
-
|
117
|
-
|
169
|
+
|
170
|
+
if (state)
|
171
|
+
THIS-> add_flag(Reflex::Window::FLAG_RESIZABLE);
|
172
|
+
else
|
173
|
+
THIS->remove_flag(Reflex::Window::FLAG_RESIZABLE);
|
174
|
+
|
175
|
+
return state;
|
118
176
|
}
|
119
177
|
RUCY_END
|
120
178
|
|
@@ -122,20 +180,20 @@ static
|
|
122
180
|
RUCY_DEF0(is_resizable)
|
123
181
|
{
|
124
182
|
CHECK;
|
125
|
-
return value(THIS->
|
183
|
+
return value(THIS->has_flag(Reflex::Window::FLAG_RESIZABLE));
|
126
184
|
}
|
127
185
|
RUCY_END
|
128
186
|
|
129
187
|
static
|
130
|
-
RUCY_DEF0(
|
188
|
+
RUCY_DEF0(get_screen)
|
131
189
|
{
|
132
190
|
CHECK;
|
133
|
-
return value(THIS->
|
191
|
+
return value(THIS->screen());
|
134
192
|
}
|
135
193
|
RUCY_END
|
136
194
|
|
137
195
|
static
|
138
|
-
RUCY_DEF0(
|
196
|
+
RUCY_DEF0(get_root)
|
139
197
|
{
|
140
198
|
CHECK;
|
141
199
|
return value(THIS->root());
|
@@ -143,7 +201,7 @@ RUCY_DEF0(root)
|
|
143
201
|
RUCY_END
|
144
202
|
|
145
203
|
static
|
146
|
-
RUCY_DEF0(
|
204
|
+
RUCY_DEF0(get_focus)
|
147
205
|
{
|
148
206
|
CHECK;
|
149
207
|
return value(THIS->focus());
|
@@ -151,7 +209,7 @@ RUCY_DEF0(focus)
|
|
151
209
|
RUCY_END
|
152
210
|
|
153
211
|
static
|
154
|
-
RUCY_DEF0(
|
212
|
+
RUCY_DEF0(get_painter)
|
155
213
|
{
|
156
214
|
CHECK;
|
157
215
|
return value(THIS->painter());
|
@@ -310,12 +368,17 @@ Init_reflex_window ()
|
|
310
368
|
cWindow.define_method("title", get_title);
|
311
369
|
cWindow.define_method("frame=", set_frame);
|
312
370
|
cWindow.define_method("frame", get_frame);
|
313
|
-
cWindow.define_method("
|
314
|
-
cWindow.define_method("
|
371
|
+
cWindow.define_method("closable=", set_closable);
|
372
|
+
cWindow.define_method("closable?", is_closable);
|
373
|
+
cWindow.define_method("minimizable=", set_minimizable);
|
374
|
+
cWindow.define_method("minimizable?", is_minimizable);
|
375
|
+
cWindow.define_method("resizable=", set_resizable);
|
376
|
+
cWindow.define_method("resizable?", is_resizable);
|
315
377
|
cWindow.define_method("hidden", hidden);
|
316
|
-
cWindow.define_method("
|
317
|
-
cWindow.define_method("
|
318
|
-
cWindow.define_method("
|
378
|
+
cWindow.define_method("screen", get_screen);
|
379
|
+
cWindow.define_method("root", get_root);
|
380
|
+
cWindow.define_method("focus", get_focus);
|
381
|
+
cWindow.define_method("painter", get_painter);
|
319
382
|
cWindow.define_method("on_show", on_show);
|
320
383
|
cWindow.define_method("on_hide", on_hide);
|
321
384
|
cWindow.define_method("on_close", on_close);
|
@@ -0,0 +1,40 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_RUBY_SCREEN_H__
|
4
|
+
#define __REFLEX_RUBY_SCREEN_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include <rucy/class.h>
|
8
|
+
#include <rucy/extension.h>
|
9
|
+
#include <reflex/screen.h>
|
10
|
+
|
11
|
+
|
12
|
+
RUCY_DECLARE_VALUE_FROM_TO(Reflex::Screen)
|
13
|
+
|
14
|
+
|
15
|
+
namespace Reflex
|
16
|
+
{
|
17
|
+
|
18
|
+
|
19
|
+
Rucy::Class screen_class ();
|
20
|
+
// class Reflex::Screen
|
21
|
+
|
22
|
+
|
23
|
+
}// Reflex
|
24
|
+
|
25
|
+
|
26
|
+
namespace Rucy
|
27
|
+
{
|
28
|
+
|
29
|
+
|
30
|
+
template <> inline Class
|
31
|
+
get_ruby_class<Reflex::Screen> ()
|
32
|
+
{
|
33
|
+
return Reflex::screen_class();
|
34
|
+
}
|
35
|
+
|
36
|
+
|
37
|
+
}// Rucy
|
38
|
+
|
39
|
+
|
40
|
+
#endif//EOH
|
@@ -0,0 +1,43 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_SCREEN_H__
|
4
|
+
#define __REFLEX_SCREEN_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include <xot/pimpl.h>
|
8
|
+
#include <rays/bounds.h>
|
9
|
+
#include <reflex/defs.h>
|
10
|
+
|
11
|
+
|
12
|
+
namespace Reflex
|
13
|
+
{
|
14
|
+
|
15
|
+
|
16
|
+
class Screen
|
17
|
+
{
|
18
|
+
|
19
|
+
typedef Screen This;
|
20
|
+
|
21
|
+
public:
|
22
|
+
|
23
|
+
Screen ();
|
24
|
+
|
25
|
+
virtual ~Screen ();
|
26
|
+
|
27
|
+
virtual Bounds frame () const;
|
28
|
+
|
29
|
+
operator bool () const;
|
30
|
+
|
31
|
+
bool operator ! () const;
|
32
|
+
|
33
|
+
struct Data;
|
34
|
+
|
35
|
+
Xot::PSharedImpl<Data> self;
|
36
|
+
|
37
|
+
};// Screen
|
38
|
+
|
39
|
+
|
40
|
+
}// Reflex
|
41
|
+
|
42
|
+
|
43
|
+
#endif//EOH
|
data/include/reflex/window.h
CHANGED
@@ -11,6 +11,7 @@
|
|
11
11
|
#include <rays/painter.h>
|
12
12
|
#include <reflex/defs.h>
|
13
13
|
#include <reflex/event.h>
|
14
|
+
#include <reflex/screen.h>
|
14
15
|
|
15
16
|
|
16
17
|
namespace Reflex
|
@@ -29,12 +30,27 @@ namespace Reflex
|
|
29
30
|
|
30
31
|
typedef Xot::Ref<This> Ref;
|
31
32
|
|
33
|
+
enum Flag
|
34
|
+
{
|
35
|
+
|
36
|
+
FLAG_CLOSABLE = Xot::bit(0),
|
37
|
+
|
38
|
+
FLAG_MINIMIZABLE = Xot::bit(1),
|
39
|
+
|
40
|
+
FLAG_RESIZABLE = Xot::bit(2),
|
41
|
+
|
42
|
+
FLAG_LAST = FLAG_RESIZABLE
|
43
|
+
|
44
|
+
};// Flag
|
45
|
+
|
32
46
|
Window ();
|
33
47
|
|
34
48
|
virtual void show ();
|
35
49
|
|
36
50
|
virtual void hide ();
|
37
51
|
|
52
|
+
virtual bool hidden () const;
|
53
|
+
|
38
54
|
virtual void close (bool force = false);
|
39
55
|
|
40
56
|
virtual void redraw ();
|
@@ -53,11 +69,13 @@ namespace Reflex
|
|
53
69
|
|
54
70
|
virtual Bounds frame () const;
|
55
71
|
|
56
|
-
virtual void
|
72
|
+
virtual void add_flag (uint flags);
|
57
73
|
|
58
|
-
virtual
|
74
|
+
virtual void remove_flag (uint flags);
|
59
75
|
|
60
|
-
virtual bool
|
76
|
+
virtual bool has_flag (uint flags) const;
|
77
|
+
|
78
|
+
virtual Screen screen () const;
|
61
79
|
|
62
80
|
virtual View* root ();
|
63
81
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'forwardable'
|
2
|
+
|
3
|
+
|
4
|
+
module Reflex
|
5
|
+
|
6
|
+
|
7
|
+
class Screen
|
8
|
+
|
9
|
+
extend Forwardable
|
10
|
+
|
11
|
+
def_delegators :frame,
|
12
|
+
:x, :y, :z, :w, :h, :d, :width, :height, :depth,
|
13
|
+
:left, :top, :back, :right, :bottom, :front,
|
14
|
+
:left_top, :right_top, :left_bottom, :right_bottom,
|
15
|
+
:lt, :lr, :lb, :rb,
|
16
|
+
:position, :pos, :size, :center
|
17
|
+
|
18
|
+
end# Screen
|
19
|
+
|
20
|
+
|
21
|
+
end# Reflex
|
data/lib/reflex/window.rb
CHANGED
@@ -62,7 +62,9 @@ module Reflex
|
|
62
62
|
:restitution=, :restitution
|
63
63
|
|
64
64
|
universal_accessor :title, :frame,
|
65
|
-
|
65
|
+
closable: {reader: :closable?},
|
66
|
+
minimizable: {reader: :minimizable?},
|
67
|
+
resizable: {reader: :resizable?}
|
66
68
|
|
67
69
|
def initialize(options = nil, &block)
|
68
70
|
super()
|
data/lib/reflex.rb
CHANGED
data/reflex.gemspec
CHANGED
@@ -1,10 +1,7 @@
|
|
1
1
|
# -*- mode: ruby -*-
|
2
2
|
|
3
3
|
|
4
|
-
|
5
|
-
.tap {|s| $:.unshift s if !$:.include?(s) && File.directory?(s)}
|
6
|
-
|
7
|
-
require 'reflex/extension'
|
4
|
+
require_relative 'lib/reflex/extension'
|
8
5
|
|
9
6
|
|
10
7
|
Gem::Specification.new do |s|
|
@@ -28,10 +25,10 @@ Gem::Specification.new do |s|
|
|
28
25
|
s.platform = Gem::Platform::RUBY
|
29
26
|
s.required_ruby_version = '>= 3.0.0'
|
30
27
|
|
31
|
-
s.add_runtime_dependency 'xot', '~> 0.1.
|
32
|
-
s.add_runtime_dependency 'rucy', '~> 0.1.
|
33
|
-
s.add_runtime_dependency 'beeps', '~> 0.1.
|
34
|
-
s.add_runtime_dependency 'rays', '~> 0.1.
|
28
|
+
s.add_runtime_dependency 'xot', '~> 0.1.38'
|
29
|
+
s.add_runtime_dependency 'rucy', '~> 0.1.38'
|
30
|
+
s.add_runtime_dependency 'beeps', '~> 0.1.39'
|
31
|
+
s.add_runtime_dependency 'rays', '~> 0.1.39'
|
35
32
|
|
36
33
|
s.add_development_dependency 'rake'
|
37
34
|
s.add_development_dependency 'test-unit'
|
data/src/osx/native_window.mm
CHANGED
@@ -12,13 +12,13 @@
|
|
12
12
|
#import "opengl_view.h"
|
13
13
|
|
14
14
|
|
15
|
-
static
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
15
|
+
static NSWindowStyleMask
|
16
|
+
default_style_mask ()
|
17
|
+
{
|
18
|
+
return Window_make_style_mask(
|
19
|
+
Reflex::Window::Data::FLAG_DEFAULT,
|
20
|
+
NSTitledWindowMask | NSTexturedBackgroundWindowMask);
|
21
|
+
}
|
22
22
|
|
23
23
|
static int
|
24
24
|
count_mouse_buttons (const Reflex::PointerEvent& e)
|
@@ -67,7 +67,7 @@ update_pixel_density (Reflex::Window* window)
|
|
67
67
|
{
|
68
68
|
self = [super
|
69
69
|
initWithContentRect: NSMakeRect(0, 0, 0, 0)
|
70
|
-
styleMask:
|
70
|
+
styleMask: default_style_mask()
|
71
71
|
backing: NSBackingStoreBuffered
|
72
72
|
defer: NO];
|
73
73
|
if (!self) return nil;
|
@@ -368,7 +368,7 @@ update_pixel_density (Reflex::Window* window)
|
|
368
368
|
if (clicking_count == 0)
|
369
369
|
++pointer_id;
|
370
370
|
else if (clicking_count < 0)
|
371
|
-
Reflex::invalid_state_error(__FILE__, __LINE__);
|
371
|
+
return;//Reflex::invalid_state_error(__FILE__, __LINE__);
|
372
372
|
|
373
373
|
Window_call_pointer_event(win, &e);
|
374
374
|
}
|
@@ -420,7 +420,7 @@ update_pixel_density (Reflex::Window* window)
|
|
420
420
|
{
|
421
421
|
return [NSWindow
|
422
422
|
frameRectForContentRect: contentRect
|
423
|
-
styleMask:
|
423
|
+
styleMask: default_style_mask()];
|
424
424
|
}
|
425
425
|
|
426
426
|
@end// NativeWindow
|
data/src/osx/screen.h
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_SRC_OSX_SCREEN_H__
|
4
|
+
#define __REFLEX_SRC_OSX_SCREEN_H__
|
5
|
+
|
6
|
+
|
7
|
+
#import <AppKit/NSScreen.h>
|
8
|
+
#include "reflex/screen.h"
|
9
|
+
|
10
|
+
|
11
|
+
namespace Reflex
|
12
|
+
{
|
13
|
+
|
14
|
+
|
15
|
+
void Screen_initialize (Screen* pthis, NSScreen* screen);
|
16
|
+
|
17
|
+
|
18
|
+
}// Reflex
|
19
|
+
|
20
|
+
|
21
|
+
#endif//EOH
|
data/src/osx/screen.mm
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
// -*- mode: objc -*-
|
2
|
+
#include "screen.h"
|
3
|
+
|
4
|
+
|
5
|
+
namespace Reflex
|
6
|
+
{
|
7
|
+
|
8
|
+
|
9
|
+
struct Screen::Data
|
10
|
+
{
|
11
|
+
|
12
|
+
NSScreen* screen = nil;
|
13
|
+
|
14
|
+
~Data ()
|
15
|
+
{
|
16
|
+
if (screen) [screen release];
|
17
|
+
}
|
18
|
+
|
19
|
+
};// Screen::Data
|
20
|
+
|
21
|
+
|
22
|
+
void
|
23
|
+
Screen_initialize (Screen* pthis, NSScreen* screen)
|
24
|
+
{
|
25
|
+
pthis->self->screen = [screen retain];
|
26
|
+
}
|
27
|
+
|
28
|
+
|
29
|
+
Screen::Screen ()
|
30
|
+
{
|
31
|
+
}
|
32
|
+
|
33
|
+
Screen::~Screen ()
|
34
|
+
{
|
35
|
+
}
|
36
|
+
|
37
|
+
Bounds
|
38
|
+
Screen::frame () const
|
39
|
+
{
|
40
|
+
NSRect frame = self->screen.frame;
|
41
|
+
return Bounds(
|
42
|
+
frame.origin.x, frame.origin.y,
|
43
|
+
frame.size.width, frame.size.height);
|
44
|
+
}
|
45
|
+
|
46
|
+
Screen::operator bool () const
|
47
|
+
{
|
48
|
+
return self->screen;
|
49
|
+
}
|
50
|
+
|
51
|
+
bool
|
52
|
+
Screen::operator ! () const
|
53
|
+
{
|
54
|
+
return !operator bool();
|
55
|
+
}
|
56
|
+
|
57
|
+
|
58
|
+
}// Reflex
|
data/src/osx/window.h
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
#define __REFLEX_SRC_OSX_WINDOW_H__
|
5
5
|
|
6
6
|
|
7
|
+
#import <AppKit/NSWindow.h>
|
7
8
|
#include "../window.h"
|
8
9
|
|
9
10
|
|
@@ -35,6 +36,9 @@ namespace Reflex
|
|
35
36
|
|
36
37
|
const WindowData& Window_get_data (const Window* window);
|
37
38
|
|
39
|
+
NSWindowStyleMask Window_make_style_mask (
|
40
|
+
uint flags, NSWindowStyleMask styleMask = 0);
|
41
|
+
|
38
42
|
|
39
43
|
}// Reflex
|
40
44
|
|
data/src/osx/window.mm
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
|
5
5
|
#import <Cocoa/Cocoa.h>
|
6
6
|
#include "reflex/exception.h"
|
7
|
+
#include "screen.h"
|
7
8
|
#import "native_window.h"
|
8
9
|
|
9
10
|
|
@@ -31,6 +32,27 @@ namespace Reflex
|
|
31
32
|
return Window_get_data(const_cast<Window*>(window));
|
32
33
|
}
|
33
34
|
|
35
|
+
NSWindowStyleMask
|
36
|
+
Window_make_style_mask (uint flags, NSWindowStyleMask styleMask)
|
37
|
+
{
|
38
|
+
if (Xot::has_flag(flags, Window::FLAG_CLOSABLE))
|
39
|
+
styleMask |= NSWindowStyleMaskClosable;
|
40
|
+
else
|
41
|
+
styleMask &= ~NSWindowStyleMaskClosable;
|
42
|
+
|
43
|
+
if (Xot::has_flag(flags, Window::FLAG_MINIMIZABLE))
|
44
|
+
styleMask |= NSWindowStyleMaskMiniaturizable;
|
45
|
+
else
|
46
|
+
styleMask &= ~NSWindowStyleMaskMiniaturizable;
|
47
|
+
|
48
|
+
if (Xot::has_flag(flags, Window::FLAG_RESIZABLE))
|
49
|
+
styleMask |= NSWindowStyleMaskResizable;
|
50
|
+
else
|
51
|
+
styleMask &= ~NSWindowStyleMaskResizable;
|
52
|
+
|
53
|
+
return styleMask;
|
54
|
+
}
|
55
|
+
|
34
56
|
static NativeWindow*
|
35
57
|
get_native (const Window* window)
|
36
58
|
{
|
@@ -113,19 +135,23 @@ namespace Reflex
|
|
113
135
|
}
|
114
136
|
|
115
137
|
void
|
116
|
-
|
138
|
+
Window_set_flags (Window* window, uint flags)
|
117
139
|
{
|
118
|
-
NativeWindow* native
|
119
|
-
|
120
|
-
native.styleMask
|
121
|
-
|
122
|
-
|
140
|
+
NativeWindow* native = get_native(window);
|
141
|
+
NSWindowStyleMask styleMask =
|
142
|
+
Window_make_style_mask(window->self->flags, native.styleMask);
|
143
|
+
|
144
|
+
if (styleMask != native.styleMask)
|
145
|
+
native.styleMask = styleMask;
|
123
146
|
}
|
124
147
|
|
125
|
-
|
126
|
-
|
148
|
+
Screen
|
149
|
+
Window_get_screen (const Window& window)
|
127
150
|
{
|
128
|
-
|
151
|
+
Screen s;
|
152
|
+
NativeWindow* native = get_native(&window);
|
153
|
+
if (native && native.screen) Screen_initialize(&s, native.screen);
|
154
|
+
return s;
|
129
155
|
}
|
130
156
|
|
131
157
|
float
|
data/src/window.cpp
CHANGED
@@ -450,6 +450,12 @@ namespace Reflex
|
|
450
450
|
self->hide_count = new_count;
|
451
451
|
}
|
452
452
|
|
453
|
+
bool
|
454
|
+
Window::hidden () const
|
455
|
+
{
|
456
|
+
return self->hide_count > 0;
|
457
|
+
}
|
458
|
+
|
453
459
|
void
|
454
460
|
Window::close (bool force)
|
455
461
|
{
|
@@ -512,21 +518,31 @@ namespace Reflex
|
|
512
518
|
}
|
513
519
|
|
514
520
|
void
|
515
|
-
Window::
|
521
|
+
Window::add_flag (uint flags)
|
516
522
|
{
|
517
|
-
|
523
|
+
Xot::add_flag(&self->flags, flags);
|
524
|
+
|
525
|
+
Window_set_flags(this, self->flags);
|
518
526
|
}
|
519
527
|
|
520
|
-
|
521
|
-
Window::
|
528
|
+
void
|
529
|
+
Window::remove_flag (uint flags)
|
522
530
|
{
|
523
|
-
|
531
|
+
Xot::remove_flag(&self->flags, flags);
|
532
|
+
|
533
|
+
Window_set_flags(this, self->flags);
|
524
534
|
}
|
525
535
|
|
526
536
|
bool
|
527
|
-
Window::
|
537
|
+
Window::has_flag (uint flags) const
|
528
538
|
{
|
529
|
-
return self->
|
539
|
+
return Xot::has_flag(self->flags, flags);
|
540
|
+
}
|
541
|
+
|
542
|
+
Screen
|
543
|
+
Window::screen () const
|
544
|
+
{
|
545
|
+
return Window_get_screen(*this);
|
530
546
|
}
|
531
547
|
|
532
548
|
View*
|
data/src/window.h
CHANGED
@@ -37,6 +37,8 @@ namespace Reflex
|
|
37
37
|
|
38
38
|
typedef std::map<View::Ref, TargetPointerMap> CaptureMap;
|
39
39
|
|
40
|
+
enum {FLAG_DEFAULT = FLAG_CLOSABLE | FLAG_MINIMIZABLE | FLAG_RESIZABLE};
|
41
|
+
|
40
42
|
int hide_count = 1;
|
41
43
|
|
42
44
|
bool redraw = true;
|
@@ -51,6 +53,8 @@ namespace Reflex
|
|
51
53
|
|
52
54
|
CaptureMap captures;
|
53
55
|
|
56
|
+
uint flags = FLAG_DEFAULT;
|
57
|
+
|
54
58
|
Data ()
|
55
59
|
{
|
56
60
|
prev_time_update = prev_time_draw = Xot::time();
|
@@ -94,9 +98,9 @@ namespace Reflex
|
|
94
98
|
|
95
99
|
Bounds Window_get_frame (const Window& window);
|
96
100
|
|
97
|
-
|
101
|
+
Screen Window_get_screen (const Window& window);
|
98
102
|
|
99
|
-
|
103
|
+
void Window_set_flags (Window* window, uint flags);
|
100
104
|
|
101
105
|
void Window_set_focus (Window* window, View* view);
|
102
106
|
|
data/test/test_event.rb
CHANGED
data/test/test_screen.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative 'helper'
|
2
|
+
|
3
|
+
|
4
|
+
class TestScreen < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def screen()
|
7
|
+
Reflex::Window.new.screen
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_initialize()
|
11
|
+
assert_raise(Reflex::ReflexError) {Reflex::Screen.new}
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_frame()
|
15
|
+
assert_raise(Rucy::InvalidObjectError) {screen.frame}
|
16
|
+
end
|
17
|
+
|
18
|
+
end# TestScreen
|
data/test/test_view.rb
CHANGED
@@ -28,21 +28,21 @@ class TestView < Test::Unit::TestCase
|
|
28
28
|
|
29
29
|
def test_show_hide_hidden()
|
30
30
|
v = view
|
31
|
-
|
31
|
+
assert_false v.hidden?
|
32
32
|
v.hide
|
33
|
-
|
33
|
+
assert_true v.hidden?
|
34
34
|
v.show
|
35
|
-
|
35
|
+
assert_false v.hidden?
|
36
36
|
end
|
37
37
|
|
38
38
|
def test_hidden_count()
|
39
39
|
v = view
|
40
40
|
v.show
|
41
|
-
|
41
|
+
assert_false v.hidden?
|
42
42
|
v.hide
|
43
|
-
|
43
|
+
assert_false v.hidden?
|
44
44
|
v.hide
|
45
|
-
|
45
|
+
assert_true v.hidden?
|
46
46
|
end
|
47
47
|
|
48
48
|
def test_coord_conversion()
|
data/test/test_window.rb
CHANGED
@@ -12,17 +12,21 @@ class TestWindow < Test::Unit::TestCase
|
|
12
12
|
|
13
13
|
def test_show_hide_hidden()
|
14
14
|
w = win
|
15
|
-
|
15
|
+
assert_true w.hidden
|
16
16
|
w.show
|
17
|
-
|
17
|
+
assert_false w.hidden
|
18
18
|
w.hide
|
19
|
-
|
19
|
+
assert_true w.hidden
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_hidden_count()
|
23
|
+
w = win
|
20
24
|
w.hide
|
21
|
-
|
25
|
+
assert_true w.hidden
|
22
26
|
w.show
|
23
|
-
|
27
|
+
assert_true w.hidden
|
24
28
|
w.show
|
25
|
-
|
29
|
+
assert_false w.hidden
|
26
30
|
end
|
27
31
|
|
28
32
|
def test_coord_conversion()
|
@@ -66,6 +70,40 @@ class TestWindow < Test::Unit::TestCase
|
|
66
70
|
w.frame = [bounds(1, 2, 3, 4, 5, 6)]; assert_equal [1, 2, 0, 4, 5, 0], w.frame.to_a(3)
|
67
71
|
end
|
68
72
|
|
73
|
+
def test_closable?()
|
74
|
+
w = win
|
75
|
+
assert_true w.closable?
|
76
|
+
|
77
|
+
w.closable = false
|
78
|
+
assert_false w.closable?
|
79
|
+
|
80
|
+
w.closable = true
|
81
|
+
assert_true w.closable?
|
82
|
+
|
83
|
+
w.closable false
|
84
|
+
assert_false w.closable?
|
85
|
+
|
86
|
+
w.closable true
|
87
|
+
assert_true w.closable?
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_minimizable?()
|
91
|
+
w = win
|
92
|
+
assert_true w.minimizable?
|
93
|
+
|
94
|
+
w.minimizable = false
|
95
|
+
assert_false w.minimizable?
|
96
|
+
|
97
|
+
w.minimizable = true
|
98
|
+
assert_true w.minimizable?
|
99
|
+
|
100
|
+
w.minimizable false
|
101
|
+
assert_false w.minimizable?
|
102
|
+
|
103
|
+
w.minimizable true
|
104
|
+
assert_true w.minimizable?
|
105
|
+
end
|
106
|
+
|
69
107
|
def test_resizable?()
|
70
108
|
w = win
|
71
109
|
assert_true w.resizable?
|
@@ -83,6 +121,10 @@ class TestWindow < Test::Unit::TestCase
|
|
83
121
|
assert_true w.resizable?
|
84
122
|
end
|
85
123
|
|
124
|
+
def test_screen()
|
125
|
+
assert_not_nil win.screen
|
126
|
+
end
|
127
|
+
|
86
128
|
def test_root()
|
87
129
|
w = win
|
88
130
|
assert_not_nil w.root
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reflexion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.41
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- xordog
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-05-
|
11
|
+
date: 2023-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xot
|
@@ -16,56 +16,56 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.
|
19
|
+
version: 0.1.38
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.1.
|
26
|
+
version: 0.1.38
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rucy
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.1.
|
33
|
+
version: 0.1.38
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.1.
|
40
|
+
version: 0.1.38
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: beeps
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.1.
|
47
|
+
version: 0.1.39
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.1.
|
54
|
+
version: 0.1.39
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rays
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.1.
|
61
|
+
version: 0.1.39
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.1.
|
68
|
+
version: 0.1.39
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,6 +120,7 @@ extra_rdoc_files:
|
|
120
120
|
- ".doc/ext/reflex/polygon_shape.cpp"
|
121
121
|
- ".doc/ext/reflex/rect_shape.cpp"
|
122
122
|
- ".doc/ext/reflex/reflex.cpp"
|
123
|
+
- ".doc/ext/reflex/screen.cpp"
|
123
124
|
- ".doc/ext/reflex/scroll_event.cpp"
|
124
125
|
- ".doc/ext/reflex/selector.cpp"
|
125
126
|
- ".doc/ext/reflex/shape.cpp"
|
@@ -152,6 +153,7 @@ files:
|
|
152
153
|
- ".doc/ext/reflex/polygon_shape.cpp"
|
153
154
|
- ".doc/ext/reflex/rect_shape.cpp"
|
154
155
|
- ".doc/ext/reflex/reflex.cpp"
|
156
|
+
- ".doc/ext/reflex/screen.cpp"
|
155
157
|
- ".doc/ext/reflex/scroll_event.cpp"
|
156
158
|
- ".doc/ext/reflex/selector.cpp"
|
157
159
|
- ".doc/ext/reflex/shape.cpp"
|
@@ -194,6 +196,7 @@ files:
|
|
194
196
|
- ext/reflex/polygon_shape.cpp
|
195
197
|
- ext/reflex/rect_shape.cpp
|
196
198
|
- ext/reflex/reflex.cpp
|
199
|
+
- ext/reflex/screen.cpp
|
197
200
|
- ext/reflex/scroll_event.cpp
|
198
201
|
- ext/reflex/selector.cpp
|
199
202
|
- ext/reflex/selector.h
|
@@ -225,12 +228,14 @@ files:
|
|
225
228
|
- include/reflex/ruby/image_view.h
|
226
229
|
- include/reflex/ruby/pointer.h
|
227
230
|
- include/reflex/ruby/reflex.h
|
231
|
+
- include/reflex/ruby/screen.h
|
228
232
|
- include/reflex/ruby/selector.h
|
229
233
|
- include/reflex/ruby/shape.h
|
230
234
|
- include/reflex/ruby/style.h
|
231
235
|
- include/reflex/ruby/timer.h
|
232
236
|
- include/reflex/ruby/view.h
|
233
237
|
- include/reflex/ruby/window.h
|
238
|
+
- include/reflex/screen.h
|
234
239
|
- include/reflex/selector.h
|
235
240
|
- include/reflex/shape.h
|
236
241
|
- include/reflex/style.h
|
@@ -276,6 +281,7 @@ files:
|
|
276
281
|
- lib/reflex/polyline.rb
|
277
282
|
- lib/reflex/rect_shape.rb
|
278
283
|
- lib/reflex/reflex.rb
|
284
|
+
- lib/reflex/screen.rb
|
279
285
|
- lib/reflex/scroll_event.rb
|
280
286
|
- lib/reflex/selector.rb
|
281
287
|
- lib/reflex/shader.rb
|
@@ -364,6 +370,8 @@ files:
|
|
364
370
|
- src/osx/opengl_view.h
|
365
371
|
- src/osx/opengl_view.mm
|
366
372
|
- src/osx/reflex.mm
|
373
|
+
- src/osx/screen.h
|
374
|
+
- src/osx/screen.mm
|
367
375
|
- src/osx/window.h
|
368
376
|
- src/osx/window.mm
|
369
377
|
- src/pointer.cpp
|
@@ -404,6 +412,7 @@ files:
|
|
404
412
|
- test/test_pointer.rb
|
405
413
|
- test/test_pointer_event.rb
|
406
414
|
- test/test_reflex_init.rb
|
415
|
+
- test/test_screen.rb
|
407
416
|
- test/test_scroll_event.rb
|
408
417
|
- test/test_selector.rb
|
409
418
|
- test/test_shape.rb
|
@@ -453,6 +462,7 @@ test_files:
|
|
453
462
|
- test/test_pointer.rb
|
454
463
|
- test/test_pointer_event.rb
|
455
464
|
- test/test_reflex_init.rb
|
465
|
+
- test/test_screen.rb
|
456
466
|
- test/test_scroll_event.rb
|
457
467
|
- test/test_selector.rb
|
458
468
|
- test/test_shape.rb
|