reflexion 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/.doc/ext/reflex/application.cpp +35 -76
- data/.doc/ext/reflex/defs.cpp +8 -0
- data/.doc/ext/reflex/key.cpp +38 -43
- data/.doc/ext/reflex/native.cpp +6 -4
- data/.doc/ext/reflex/points.cpp +47 -52
- data/.doc/ext/reflex/reflex.cpp +12 -13
- data/.doc/ext/reflex/view.cpp +242 -0
- data/.doc/ext/reflex/window.cpp +87 -178
- data/.gitignore +14 -0
- data/Rakefile +6 -31
- data/VERSION +1 -1
- data/examples/hello/.gitignore +2 -0
- data/examples/ruby/app.rb +2 -2
- data/examples/ruby/checker.rb +3 -3
- data/examples/ruby/fps.rb +14 -14
- data/examples/ruby/grid.rb +65 -0
- data/examples/ruby/hello.rb +19 -7
- data/examples/ruby/key.rb +4 -4
- data/examples/ruby/shapes.rb +6 -6
- data/examples/ruby/text.rb +20 -17
- data/examples/ruby/views.rb +88 -0
- data/examples/ruby/visuals.rb +27 -0
- data/ext/reflex/application.cpp +36 -76
- data/ext/reflex/defs.cpp +8 -0
- data/ext/reflex/defs.h +1 -18
- data/ext/reflex/extconf.rb +16 -8
- data/ext/reflex/key.cpp +39 -43
- data/ext/reflex/native.cpp +6 -4
- data/ext/reflex/points.cpp +48 -52
- data/ext/reflex/reflex.cpp +12 -13
- data/ext/reflex/view.cpp +260 -0
- data/ext/reflex/window.cpp +89 -178
- data/include/reflex/application.h +14 -7
- data/include/reflex/defs.h +8 -6
- data/include/reflex/exception.h +1 -1
- data/include/reflex/ruby/application.h +31 -10
- data/include/reflex/ruby/key.h +3 -3
- data/include/reflex/ruby/points.h +3 -3
- data/include/reflex/ruby/view.h +106 -0
- data/include/reflex/ruby/window.h +83 -12
- data/include/reflex/ruby.h +3 -2
- data/include/reflex/view.h +103 -0
- data/include/reflex/window.h +43 -18
- data/include/reflex.h +2 -1
- data/lib/reflex/application.rb +8 -7
- data/lib/reflex/autoinit.rb +1 -1
- data/lib/reflex/bitmap.rb +13 -0
- data/lib/reflex/bounds.rb +2 -122
- data/lib/reflex/ext.rb +5 -0
- data/lib/reflex/helpers.rb +36 -31
- data/lib/reflex/image.rb +13 -0
- data/lib/reflex/module.rb +9 -2
- data/lib/reflex/painter.rb +13 -0
- data/lib/reflex/point.rb +3 -59
- data/lib/reflex/reflex.rb +1 -1
- data/lib/reflex/texture.rb +13 -0
- data/lib/reflex/view.rb +33 -0
- data/lib/reflex/visuals/string.rb +53 -0
- data/lib/reflex/window.rb +18 -43
- data/lib/reflex.rb +3 -3
- data/reflex.gemspec +16 -42
- data/src/cocoa/application.mm +17 -23
- data/src/cocoa/applicationdata.h +3 -9
- data/src/cocoa/cocoaapplication.h +6 -4
- data/src/cocoa/cocoaapplication.mm +61 -19
- data/src/cocoa/cocoawindow.h +7 -5
- data/src/cocoa/cocoawindow.mm +109 -50
- data/src/cocoa/defs.mm +5 -2
- data/src/cocoa/window.mm +71 -41
- data/src/cocoa/windowdata.h +14 -9
- data/src/defs.cpp +1 -1
- data/src/exception.cpp +3 -18
- data/src/helpers.h +12 -0
- data/src/reflex.cpp +11 -5
- data/src/view.cpp +326 -0
- data/src/win32/application.cpp +7 -8
- data/src/win32/defs.h +1 -1
- data/src/win32/window.cpp +137 -41
- data/src/window.cpp +38 -1
- data/test/helpers.rb +2 -5
- data/test/test_application.rb +17 -0
- data/test/test_reflex.rb +4 -2
- data/test/test_view.rb +74 -0
- data/test/test_window.rb +33 -2
- metadata +157 -97
- data/include/reflex/helpers.h +0 -32
- data/test/test_bounds.rb +0 -163
- data/test/test_point.rb +0 -81
@@ -4,22 +4,25 @@
|
|
4
4
|
#define __REFLEX_APPLICATION_H__
|
5
5
|
|
6
6
|
|
7
|
+
#include <xot/ref.h>
|
8
|
+
#include <xot/pimpl.h>
|
7
9
|
#include <reflex/defs.h>
|
8
|
-
#include <reflex/helpers.h>
|
9
10
|
|
10
11
|
|
11
12
|
namespace Reflex
|
12
13
|
{
|
13
14
|
|
14
15
|
|
15
|
-
class Application
|
16
|
+
class Application : public Xot::RefCountable<>
|
16
17
|
{
|
17
18
|
|
19
|
+
typedef Application This;
|
20
|
+
|
18
21
|
public:
|
19
22
|
|
20
|
-
|
23
|
+
typedef Xot::Ref<This> Ref;
|
21
24
|
|
22
|
-
|
25
|
+
Application ();
|
23
26
|
|
24
27
|
virtual bool run ();
|
25
28
|
|
@@ -29,9 +32,9 @@ namespace Reflex
|
|
29
32
|
|
30
33
|
virtual bool about ();
|
31
34
|
|
32
|
-
virtual bool
|
35
|
+
virtual bool set_name (const char* name);
|
33
36
|
|
34
|
-
virtual
|
37
|
+
virtual const char* name () const;
|
35
38
|
|
36
39
|
operator bool () const;
|
37
40
|
|
@@ -39,7 +42,11 @@ namespace Reflex
|
|
39
42
|
|
40
43
|
struct Data;
|
41
44
|
|
42
|
-
|
45
|
+
Xot::PImpl<Data, true> self;
|
46
|
+
|
47
|
+
protected:
|
48
|
+
|
49
|
+
virtual ~Application ();
|
43
50
|
|
44
51
|
};// Application
|
45
52
|
|
data/include/reflex/defs.h
CHANGED
@@ -4,20 +4,22 @@
|
|
4
4
|
#define __REFLEX_DEFS_H__
|
5
5
|
|
6
6
|
|
7
|
-
#include <
|
8
|
-
#include <xot/string.h>
|
7
|
+
#include <rays/defs.h>
|
9
8
|
|
10
9
|
|
11
|
-
namespace
|
10
|
+
namespace Rucy
|
12
11
|
{
|
13
12
|
|
13
|
+
class Value;
|
14
|
+
|
15
|
+
}// Rucy
|
14
16
|
|
15
|
-
using namespace Xot::Types;
|
16
17
|
|
17
|
-
|
18
|
+
namespace Reflex
|
19
|
+
{
|
18
20
|
|
19
21
|
|
20
|
-
|
22
|
+
using namespace Rays;
|
21
23
|
|
22
24
|
|
23
25
|
enum KeyCodes
|
data/include/reflex/exception.h
CHANGED
@@ -6,6 +6,7 @@
|
|
6
6
|
|
7
7
|
#include <rucy/rucy.h>
|
8
8
|
#include <rucy/class.h>
|
9
|
+
#include <rucy/extension.h>
|
9
10
|
#include <reflex/application.h>
|
10
11
|
|
11
12
|
|
@@ -17,23 +18,43 @@ namespace Reflex
|
|
17
18
|
// class Reflex::Application
|
18
19
|
|
19
20
|
|
20
|
-
|
21
|
+
template <typename T>
|
22
|
+
class RubyApplication : public Rucy::ClassWrapper<T>
|
23
|
+
{
|
21
24
|
|
25
|
+
public:
|
22
26
|
|
23
|
-
|
24
|
-
{
|
27
|
+
virtual bool run ()
|
28
|
+
{
|
29
|
+
SYM(run);
|
30
|
+
return this->value.call(run);
|
31
|
+
}
|
25
32
|
|
33
|
+
virtual bool quit ()
|
34
|
+
{
|
35
|
+
SYM(quit);
|
36
|
+
return this->value.call(quit);
|
37
|
+
}
|
26
38
|
|
27
|
-
|
39
|
+
virtual bool preference ()
|
40
|
+
{
|
41
|
+
SYM(preference);
|
42
|
+
return this->value.call(preference);
|
43
|
+
}
|
28
44
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
45
|
+
virtual bool about ()
|
46
|
+
{
|
47
|
+
SYM(about);
|
48
|
+
return this->value.call(about);
|
49
|
+
}
|
50
|
+
|
51
|
+
};// RubyApplication
|
52
|
+
|
53
|
+
|
54
|
+
}// Reflex
|
34
55
|
|
35
56
|
|
36
|
-
|
57
|
+
RUCY_WRAPPER_VALUE_FROM_TO(Reflex::Application, Reflex::application_class())
|
37
58
|
|
38
59
|
|
39
60
|
#endif//EOH
|
data/include/reflex/ruby/key.h
CHANGED
@@ -24,12 +24,12 @@ namespace Rucy
|
|
24
24
|
{
|
25
25
|
|
26
26
|
|
27
|
-
Value value (const Reflex::Key&
|
27
|
+
Value value (const Reflex::Key& obj);
|
28
28
|
|
29
29
|
template <> inline Reflex::Key*
|
30
|
-
value_to<Reflex::Key*> (Value
|
30
|
+
value_to<Reflex::Key*> (Value val, bool)
|
31
31
|
{
|
32
|
-
return
|
32
|
+
return get_type_ptr<Reflex::Key>(val, Reflex::key_class());
|
33
33
|
}
|
34
34
|
|
35
35
|
|
@@ -24,12 +24,12 @@ namespace Rucy
|
|
24
24
|
{
|
25
25
|
|
26
26
|
|
27
|
-
Value value (const Reflex::Points&
|
27
|
+
Value value (const Reflex::Points& obj);
|
28
28
|
|
29
29
|
template <> inline Reflex::Points*
|
30
|
-
value_to<Reflex::Points*> (Value
|
30
|
+
value_to<Reflex::Points*> (Value val, bool)
|
31
31
|
{
|
32
|
-
return
|
32
|
+
return get_type_ptr<Reflex::Points>(val, Reflex::points_class());
|
33
33
|
}
|
34
34
|
|
35
35
|
|
@@ -0,0 +1,106 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_RUBY_VIEW_H__
|
4
|
+
#define __REFLEX_RUBY_VIEW_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include <rucy/rucy.h>
|
8
|
+
#include <rucy/class.h>
|
9
|
+
#include <rucy/extension.h>
|
10
|
+
#include <rays/ruby/bounds.h>
|
11
|
+
#include <rays/ruby/painter.h>
|
12
|
+
#include <reflex/view.h>
|
13
|
+
#include <reflex/ruby/key.h>
|
14
|
+
#include <reflex/ruby/points.h>
|
15
|
+
|
16
|
+
|
17
|
+
namespace Reflex
|
18
|
+
{
|
19
|
+
|
20
|
+
|
21
|
+
Rucy::Class view_class ();
|
22
|
+
// class Reflex::View
|
23
|
+
|
24
|
+
|
25
|
+
template <typename T>
|
26
|
+
class RubyView : public Rucy::ClassWrapper<T>
|
27
|
+
{
|
28
|
+
|
29
|
+
public:
|
30
|
+
|
31
|
+
virtual bool show ()
|
32
|
+
{
|
33
|
+
SYM(show);
|
34
|
+
return this->value.call(show);
|
35
|
+
}
|
36
|
+
|
37
|
+
virtual bool hide ()
|
38
|
+
{
|
39
|
+
SYM(hide);
|
40
|
+
return this->value.call(hide);
|
41
|
+
}
|
42
|
+
|
43
|
+
virtual void update (float dt)
|
44
|
+
{
|
45
|
+
SYM(update);
|
46
|
+
this->value.call(update, dt);
|
47
|
+
}
|
48
|
+
|
49
|
+
virtual void draw (Painter* p, const Bounds& b)
|
50
|
+
{
|
51
|
+
SYM(draw);
|
52
|
+
this->value.call(draw, Rucy::value(p), Rucy::value(b));
|
53
|
+
}
|
54
|
+
|
55
|
+
virtual void moved (coord dx, coord dy)
|
56
|
+
{
|
57
|
+
SYM(moved);
|
58
|
+
this->value.call(moved, dx, dy);
|
59
|
+
}
|
60
|
+
|
61
|
+
virtual void resized (coord dwidth, coord dheight)
|
62
|
+
{
|
63
|
+
SYM(resized);
|
64
|
+
this->value.call(resized, dwidth, dheight);
|
65
|
+
}
|
66
|
+
|
67
|
+
virtual void key_down (const Key& key)
|
68
|
+
{
|
69
|
+
SYM(key_down);
|
70
|
+
this->value.call(key_down, Rucy::value(key));
|
71
|
+
}
|
72
|
+
|
73
|
+
virtual void key_up (const Key& key)
|
74
|
+
{
|
75
|
+
SYM(key_up);
|
76
|
+
this->value.call(key_up, Rucy::value(key));
|
77
|
+
}
|
78
|
+
|
79
|
+
virtual void points_down (const Points& points)
|
80
|
+
{
|
81
|
+
SYM(points_down);
|
82
|
+
this->value.call(points_down, Rucy::value(points));
|
83
|
+
}
|
84
|
+
|
85
|
+
virtual void points_up (const Points& points)
|
86
|
+
{
|
87
|
+
SYM(points_up);
|
88
|
+
this->value.call(points_up, Rucy::value(points));
|
89
|
+
}
|
90
|
+
|
91
|
+
virtual void points_moved (const Points& points)
|
92
|
+
{
|
93
|
+
SYM(points_moved);
|
94
|
+
this->value.call(points_moved, Rucy::value(points));
|
95
|
+
}
|
96
|
+
|
97
|
+
};// RubyView
|
98
|
+
|
99
|
+
|
100
|
+
}// Reflex
|
101
|
+
|
102
|
+
|
103
|
+
RUCY_WRAPPER_VALUE_FROM_TO(Reflex::View, Reflex::view_class())
|
104
|
+
|
105
|
+
|
106
|
+
#endif//EOH
|
@@ -6,7 +6,10 @@
|
|
6
6
|
|
7
7
|
#include <rucy/rucy.h>
|
8
8
|
#include <rucy/class.h>
|
9
|
+
#include <rucy/extension.h>
|
9
10
|
#include <reflex/window.h>
|
11
|
+
#include <reflex/ruby/key.h>
|
12
|
+
#include <reflex/ruby/points.h>
|
10
13
|
|
11
14
|
|
12
15
|
namespace Reflex
|
@@ -17,23 +20,91 @@ namespace Reflex
|
|
17
20
|
// class Reflex::Window
|
18
21
|
|
19
22
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
namespace Rucy
|
24
|
-
{
|
23
|
+
template <typename T>
|
24
|
+
class RubyWindow : public Rucy::ClassWrapper<T>
|
25
|
+
{
|
25
26
|
|
27
|
+
public:
|
28
|
+
|
29
|
+
virtual bool show ()
|
30
|
+
{
|
31
|
+
SYM(show);
|
32
|
+
return this->value.call(show);
|
33
|
+
}
|
34
|
+
|
35
|
+
virtual bool hide ()
|
36
|
+
{
|
37
|
+
SYM(hide);
|
38
|
+
return this->value.call(hide);
|
39
|
+
}
|
40
|
+
|
41
|
+
virtual bool close ()
|
42
|
+
{
|
43
|
+
SYM(close);
|
44
|
+
return this->value.call(close);
|
45
|
+
}
|
46
|
+
|
47
|
+
virtual void update (float dt)
|
48
|
+
{
|
49
|
+
SYM(update);
|
50
|
+
this->value.call(update, dt);
|
51
|
+
}
|
52
|
+
|
53
|
+
virtual void draw ()
|
54
|
+
{
|
55
|
+
SYM(draw);
|
56
|
+
this->value.call(draw);
|
57
|
+
}
|
58
|
+
|
59
|
+
virtual void moved (coord x, coord y)
|
60
|
+
{
|
61
|
+
SYM(moved);
|
62
|
+
this->value.call(moved, x, y);
|
63
|
+
}
|
64
|
+
|
65
|
+
virtual void resized (coord width, coord height)
|
66
|
+
{
|
67
|
+
SYM(resized);
|
68
|
+
this->value.call(resized, width, height);
|
69
|
+
}
|
70
|
+
|
71
|
+
virtual void key_down (const Key& key)
|
72
|
+
{
|
73
|
+
SYM(key_down);
|
74
|
+
this->value.call(key_down, Rucy::value(key));
|
75
|
+
}
|
76
|
+
|
77
|
+
virtual void key_up (const Key& key)
|
78
|
+
{
|
79
|
+
SYM(key_up);
|
80
|
+
this->value.call(key_up, Rucy::value(key));
|
81
|
+
}
|
82
|
+
|
83
|
+
virtual void points_down (const Points& points)
|
84
|
+
{
|
85
|
+
SYM(points_down);
|
86
|
+
this->value.call(points_down, Rucy::value(points));
|
87
|
+
}
|
88
|
+
|
89
|
+
virtual void points_up (const Points& points)
|
90
|
+
{
|
91
|
+
SYM(points_up);
|
92
|
+
this->value.call(points_up, Rucy::value(points));
|
93
|
+
}
|
94
|
+
|
95
|
+
virtual void points_moved (const Points& points)
|
96
|
+
{
|
97
|
+
SYM(points_moved);
|
98
|
+
this->value.call(points_moved, Rucy::value(points));
|
99
|
+
}
|
100
|
+
|
101
|
+
};// RubyWindow
|
26
102
|
|
27
|
-
Value value (const Reflex::Window& window);
|
28
103
|
|
29
|
-
|
30
|
-
value_to<Reflex::Window*> (Value obj, bool convert)
|
31
|
-
{
|
32
|
-
return get_type<Reflex::Window>(obj, Reflex::window_class());
|
33
|
-
}
|
104
|
+
}// Reflex
|
34
105
|
|
35
106
|
|
36
|
-
|
107
|
+
RUCY_WRAPPER_VALUE_FROM_TO(Reflex::Window, Reflex::window_class())
|
37
108
|
|
38
109
|
|
39
110
|
#endif//EOH
|
data/include/reflex/ruby.h
CHANGED
@@ -5,10 +5,11 @@
|
|
5
5
|
|
6
6
|
|
7
7
|
#include <reflex/ruby/reflex.h>
|
8
|
-
#include <reflex/ruby/application.h>
|
9
|
-
#include <reflex/ruby/window.h>
|
10
8
|
#include <reflex/ruby/key.h>
|
11
9
|
#include <reflex/ruby/points.h>
|
10
|
+
#include <reflex/ruby/application.h>
|
11
|
+
#include <reflex/ruby/window.h>
|
12
|
+
#include <reflex/ruby/view.h>
|
12
13
|
|
13
14
|
|
14
15
|
#endif//EOH
|
@@ -0,0 +1,103 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_VIEW_H__
|
4
|
+
#define __REFLEX_VIEW_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include <vector>
|
8
|
+
#include <xot/ref.h>
|
9
|
+
#include <xot/pimpl.h>
|
10
|
+
#include <reflex/defs.h>
|
11
|
+
|
12
|
+
|
13
|
+
namespace Rays
|
14
|
+
{
|
15
|
+
|
16
|
+
struct Bounds;
|
17
|
+
|
18
|
+
class Painter;
|
19
|
+
|
20
|
+
};// Rays
|
21
|
+
|
22
|
+
|
23
|
+
namespace Reflex
|
24
|
+
{
|
25
|
+
|
26
|
+
|
27
|
+
class Window;
|
28
|
+
|
29
|
+
|
30
|
+
class View : public Xot::RefCountable<>
|
31
|
+
{
|
32
|
+
|
33
|
+
typedef View This;
|
34
|
+
|
35
|
+
public:
|
36
|
+
|
37
|
+
typedef Xot::Ref<This> Ref;
|
38
|
+
|
39
|
+
View ();
|
40
|
+
|
41
|
+
virtual bool show ();
|
42
|
+
|
43
|
+
virtual bool hide ();
|
44
|
+
|
45
|
+
virtual bool redraw ();
|
46
|
+
|
47
|
+
virtual bool add_child (View* child);
|
48
|
+
|
49
|
+
virtual bool remove_child (View* child);
|
50
|
+
|
51
|
+
virtual View* find_child (
|
52
|
+
const char* name, size_t index = 0, bool recursive = false);
|
53
|
+
|
54
|
+
virtual const View* find_child (
|
55
|
+
const char* name, size_t index = 0, bool recursive = false) const;
|
56
|
+
|
57
|
+
virtual bool set_name (const char* name);
|
58
|
+
|
59
|
+
virtual const char* name () const;
|
60
|
+
|
61
|
+
virtual bool set_bounds (coord x, coord y, coord width, coord height);
|
62
|
+
|
63
|
+
virtual bool set_bounds (const Bounds& bounds);
|
64
|
+
|
65
|
+
virtual const Bounds& bounds () const;
|
66
|
+
|
67
|
+
virtual bool hidden () const;
|
68
|
+
|
69
|
+
virtual View* parent ();
|
70
|
+
|
71
|
+
virtual const View* parent () const;
|
72
|
+
|
73
|
+
virtual Window* window ();
|
74
|
+
|
75
|
+
virtual const Window* window () const;
|
76
|
+
|
77
|
+
virtual void update (float dt);
|
78
|
+
|
79
|
+
virtual void draw (Painter* p, const Bounds& b);
|
80
|
+
|
81
|
+
virtual void moved (coord dx, coord dy);
|
82
|
+
|
83
|
+
virtual void resized (coord dwidth, coord dheight);
|
84
|
+
|
85
|
+
virtual operator bool () const;
|
86
|
+
|
87
|
+
virtual bool operator ! () const;
|
88
|
+
|
89
|
+
struct Data;
|
90
|
+
|
91
|
+
Xot::PImpl<Data> self;
|
92
|
+
|
93
|
+
protected:
|
94
|
+
|
95
|
+
virtual ~View ();
|
96
|
+
|
97
|
+
};// View
|
98
|
+
|
99
|
+
|
100
|
+
}// Reflex
|
101
|
+
|
102
|
+
|
103
|
+
#endif//EOH
|
data/include/reflex/window.h
CHANGED
@@ -4,47 +4,68 @@
|
|
4
4
|
#define __REFLEX_WINDOW_H__
|
5
5
|
|
6
6
|
|
7
|
+
#include <xot/ref.h>
|
8
|
+
#include <xot/pimpl.h>
|
7
9
|
#include <reflex/defs.h>
|
8
|
-
|
10
|
+
|
11
|
+
|
12
|
+
namespace Rays
|
13
|
+
{
|
14
|
+
|
15
|
+
class Bounds;
|
16
|
+
|
17
|
+
class Painter;
|
18
|
+
|
19
|
+
}// Rays
|
9
20
|
|
10
21
|
|
11
22
|
namespace Reflex
|
12
23
|
{
|
13
24
|
|
14
25
|
|
15
|
-
class
|
26
|
+
class View;
|
27
|
+
|
28
|
+
|
29
|
+
class Window : public Xot::RefCountable<>
|
16
30
|
{
|
17
31
|
|
18
|
-
|
32
|
+
typedef Window This;
|
19
33
|
|
20
|
-
|
34
|
+
public:
|
21
35
|
|
22
|
-
|
36
|
+
typedef Xot::Ref<This> Ref;
|
23
37
|
|
24
|
-
|
38
|
+
Window ();
|
25
39
|
|
26
40
|
virtual bool show ();
|
27
41
|
|
28
42
|
virtual bool hide ();
|
29
43
|
|
30
|
-
virtual bool
|
44
|
+
virtual bool close ();
|
31
45
|
|
32
46
|
virtual bool redraw ();
|
33
47
|
|
34
|
-
virtual bool
|
48
|
+
virtual bool set_title (const char* title);
|
49
|
+
|
50
|
+
virtual const char* title () const;
|
35
51
|
|
36
|
-
virtual bool
|
52
|
+
virtual bool set_bounds (coord x, coord y, coord width, coord height);
|
37
53
|
|
38
|
-
virtual bool
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
54
|
+
virtual bool set_bounds (const Bounds& bounds);
|
55
|
+
|
56
|
+
virtual Bounds bounds () const;
|
57
|
+
|
58
|
+
virtual bool hidden () const;
|
43
59
|
|
44
|
-
virtual
|
45
|
-
coord x, coord y, coord width, coord height);
|
60
|
+
virtual View* root ();
|
46
61
|
|
47
|
-
virtual
|
62
|
+
virtual const View* root () const;
|
63
|
+
|
64
|
+
virtual Painter* painter ();
|
65
|
+
|
66
|
+
virtual const Painter* painter () const;
|
67
|
+
|
68
|
+
virtual void update (float dt);
|
48
69
|
|
49
70
|
virtual void draw ();
|
50
71
|
|
@@ -68,7 +89,11 @@ namespace Reflex
|
|
68
89
|
|
69
90
|
struct Data;
|
70
91
|
|
71
|
-
|
92
|
+
Xot::PImpl<Data, true> self;
|
93
|
+
|
94
|
+
protected:
|
95
|
+
|
96
|
+
virtual ~Window ();
|
72
97
|
|
73
98
|
};// Window
|
74
99
|
|
data/include/reflex.h
CHANGED
data/lib/reflex/application.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
|
4
|
-
require '
|
5
|
-
require '
|
4
|
+
require 'xot/hookable'
|
5
|
+
require 'xot/setter'
|
6
|
+
require 'reflex/ext'
|
6
7
|
|
7
8
|
|
8
9
|
module Reflex
|
@@ -10,13 +11,13 @@ module Reflex
|
|
10
11
|
|
11
12
|
class Application
|
12
13
|
|
13
|
-
include Hookable
|
14
|
-
include Setter
|
14
|
+
include Xot::Hookable
|
15
|
+
include Xot::Setter
|
15
16
|
|
16
|
-
def initialize (opts = {}
|
17
|
-
super
|
17
|
+
def initialize (opts = {})
|
18
|
+
super()
|
18
19
|
opts.each {|key, value| set key.intern, *value}
|
19
|
-
|
20
|
+
yield self if block_given?
|
20
21
|
end
|
21
22
|
|
22
23
|
end# Application
|
data/lib/reflex/autoinit.rb
CHANGED