nuklear 0.1.0
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 +7 -0
- data/.gitignore +13 -0
- data/.travis.yml +7 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +29 -0
- data/LICENSE.txt +21 -0
- data/README.md +196 -0
- data/Rakefile +26 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/examples/arial.ttf +0 -0
- data/examples/calculator.rb +102 -0
- data/examples/hello_nuklear.rb +182 -0
- data/examples/lib/opengl_font.rb +32 -0
- data/examples/lib/opengl_init.rb +4 -0
- data/examples/lib/sdl2_init.rb +6 -0
- data/examples/lib/sdl2_input.rb +81 -0
- data/examples/lib/window.rb +47 -0
- data/ext/freetype/extconf.rb +26 -0
- data/ext/nuklear/extconf.rb +14 -0
- data/ext/nuklear/nkrb.c +79 -0
- data/ext/nuklear/nkrb.h +89 -0
- data/ext/nuklear/nkrb_buffer.c +80 -0
- data/ext/nuklear/nkrb_context.c +241 -0
- data/ext/nuklear/nkrb_font.c +80 -0
- data/ext/nuklear/nkrb_renderer.c +114 -0
- data/ext/nuklear/nkrb_style.c +61 -0
- data/ext/nuklear/nkrb_style_color.c +126 -0
- data/ext/nuklear/nkrb_style_image.c +32 -0
- data/ext/nuklear/nkrb_ui.c +32 -0
- data/ext/nuklear/nkrb_ui_builder.c +29 -0
- data/ext/nuklear/nkrb_ui_button.c +55 -0
- data/ext/nuklear/nkrb_ui_color_picker.c +20 -0
- data/ext/nuklear/nkrb_ui_combo.c +73 -0
- data/ext/nuklear/nkrb_ui_container.c +7 -0
- data/ext/nuklear/nkrb_ui_edit_string.c +38 -0
- data/ext/nuklear/nkrb_ui_group.c +27 -0
- data/ext/nuklear/nkrb_ui_label.c +30 -0
- data/ext/nuklear/nkrb_ui_layout.c +125 -0
- data/ext/nuklear/nkrb_ui_menu.c +49 -0
- data/ext/nuklear/nkrb_ui_menu_item.c +30 -0
- data/ext/nuklear/nkrb_ui_menubar.c +18 -0
- data/ext/nuklear/nkrb_ui_popup.c +24 -0
- data/ext/nuklear/nkrb_ui_progress.c +19 -0
- data/ext/nuklear/nkrb_ui_property.c +20 -0
- data/ext/nuklear/nkrb_ui_selectables.c +53 -0
- data/ext/nuklear/nkrb_ui_slider.c +19 -0
- data/ext/nuklear/nkrb_ui_tree.c +29 -0
- data/ext/nuklear/nkrb_ui_widget.c +7 -0
- data/ext/nuklear/nkrb_ui_window.c +43 -0
- data/ext/nuklear/nuklear.h +23378 -0
- data/ext/nuklear_renderer_opengl2/KHR/khrplatform.h +285 -0
- data/ext/nuklear_renderer_opengl2/extconf.rb +13 -0
- data/ext/nuklear_renderer_opengl2/glad.c +1432 -0
- data/ext/nuklear_renderer_opengl2/glad.h +2747 -0
- data/ext/nuklear_renderer_opengl2/nuklear_renderer_opengl2.c +197 -0
- data/ext/nuklear_renderer_opengl4/KHR/khrplatform.h +285 -0
- data/ext/nuklear_renderer_opengl4/extconf.rb +13 -0
- data/ext/nuklear_renderer_opengl4/glad.c +1782 -0
- data/ext/nuklear_renderer_opengl4/glad.h +3687 -0
- data/ext/nuklear_renderer_opengl4/nuklear_renderer_opengl4.c +255 -0
- data/lib/nuklear/context.rb +49 -0
- data/lib/nuklear/dsl.rb +46 -0
- data/lib/nuklear/event_buffer.rb +23 -0
- data/lib/nuklear/renderer/opengl24.rb +13 -0
- data/lib/nuklear/renderer.rb +108 -0
- data/lib/nuklear/style/color.rb +24 -0
- data/lib/nuklear/style/image.rb +9 -0
- data/lib/nuklear/style.rb +8 -0
- data/lib/nuklear/test_case.rb +30 -0
- data/lib/nuklear/ui/base.rb +34 -0
- data/lib/nuklear/ui/button.rb +77 -0
- data/lib/nuklear/ui/checkbox.rb +39 -0
- data/lib/nuklear/ui/col.rb +21 -0
- data/lib/nuklear/ui/color_picker.rb +31 -0
- data/lib/nuklear/ui/combo_box.rb +42 -0
- data/lib/nuklear/ui/container.rb +80 -0
- data/lib/nuklear/ui/edit_string.rb +48 -0
- data/lib/nuklear/ui/enableable.rb +29 -0
- data/lib/nuklear/ui/events.rb +23 -0
- data/lib/nuklear/ui/group.rb +31 -0
- data/lib/nuklear/ui/label.rb +21 -0
- data/lib/nuklear/ui/menu.rb +43 -0
- data/lib/nuklear/ui/menu_bar.rb +19 -0
- data/lib/nuklear/ui/menu_item.rb +34 -0
- data/lib/nuklear/ui/option.rb +17 -0
- data/lib/nuklear/ui/option_group.rb +22 -0
- data/lib/nuklear/ui/popup.rb +37 -0
- data/lib/nuklear/ui/progress.rb +33 -0
- data/lib/nuklear/ui/property.rb +28 -0
- data/lib/nuklear/ui/row.rb +28 -0
- data/lib/nuklear/ui/select_list.rb +31 -0
- data/lib/nuklear/ui/selectable.rb +21 -0
- data/lib/nuklear/ui/slider.rb +26 -0
- data/lib/nuklear/ui/text_align.rb +14 -0
- data/lib/nuklear/ui/tree.rb +62 -0
- data/lib/nuklear/ui/window.rb +175 -0
- data/lib/nuklear/ui.rb +33 -0
- data/lib/nuklear/version.rb +3 -0
- data/lib/nuklear.rb +26 -0
- data/nuklear.gemspec +41 -0
- metadata +233 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Nuklear
|
|
2
|
+
module UI
|
|
3
|
+
class Slider < Base
|
|
4
|
+
attr_accessor :current, :min, :max, :step
|
|
5
|
+
|
|
6
|
+
def initialize(enabled: true, min: 0.0, max: 1.0, current: 0.0, step: 0.001)
|
|
7
|
+
super enabled: enabled
|
|
8
|
+
@min = min
|
|
9
|
+
@max = max
|
|
10
|
+
@current = current
|
|
11
|
+
@step = step
|
|
12
|
+
on(:changed) { yield @current } if block_given?
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def to_command
|
|
16
|
+
[:ui_slider, current, min, max, step]
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def result(x, context)
|
|
20
|
+
@current = x
|
|
21
|
+
trigger :changed
|
|
22
|
+
@last_event = nil
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module Nuklear
|
|
2
|
+
module UI
|
|
3
|
+
module TextAlign
|
|
4
|
+
def align_as_flags(align)
|
|
5
|
+
case align
|
|
6
|
+
when :left, :west then Nuklear::NK_TEXT_LEFT
|
|
7
|
+
when :center, :middle then Nuklear::NK_TEXT_CENTERED
|
|
8
|
+
when :right, :east then Nuklear::NK_TEXT_RIGHT
|
|
9
|
+
else align
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
module Nuklear
|
|
2
|
+
module UI
|
|
3
|
+
class Tree < Nuklear::UI::Base
|
|
4
|
+
include Nuklear::UI::Container
|
|
5
|
+
|
|
6
|
+
attr_accessor :title
|
|
7
|
+
attr_accessor :image
|
|
8
|
+
|
|
9
|
+
def initialize(title, image: nil, type: :tab, state: :minimized, **options)
|
|
10
|
+
super(**options)
|
|
11
|
+
|
|
12
|
+
self.title = title
|
|
13
|
+
self.image = image
|
|
14
|
+
self.type = type
|
|
15
|
+
self.state = state
|
|
16
|
+
|
|
17
|
+
on(Nuklear::NK_MINIMIZED, Nuklear::NK_MAXIMIZED) { |new_state| @state = new_state }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def type
|
|
21
|
+
case type
|
|
22
|
+
when Nuklear::NK_TREE_TAB then :tab
|
|
23
|
+
when Nuklear::NK_TREE_NODE then :node
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def type=(type)
|
|
28
|
+
case type
|
|
29
|
+
when :tab then @type = Nuklear::NK_TREE_TAB
|
|
30
|
+
when :node then @type = Nuklear::NK_TREE_NODE
|
|
31
|
+
when Nuklear::NK_TREE_TAB, Nuklear::NK_TREE_NODE then @type = type
|
|
32
|
+
else raise ArgumentError, "type must be one of NK_TREE_TAB, NK_TREE_NODE"
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def state
|
|
37
|
+
case type
|
|
38
|
+
when Nuklear::NK_MAXIMIZED then :maximized
|
|
39
|
+
when Nuklear::NK_MINIMIZED then :minimized
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def state=(state)
|
|
44
|
+
case state
|
|
45
|
+
when :maximized then @state = Nuklear::NK_MAXIMIZED
|
|
46
|
+
when :minimized then @state = Nuklear::NK_MINIMIZED
|
|
47
|
+
when Nuklear::NK_MAXIMIZED, Nuklear::NK_MINIMIZED then @state = state
|
|
48
|
+
else raise ArgumentError, "state must be one of NK_MAXIMIZED, NK_MINIMIZED"
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def to_command
|
|
53
|
+
[ :ui_tree, @type, image, title, @state ]
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def result(new_state, context)
|
|
57
|
+
trigger(new_state)
|
|
58
|
+
run_commands(context) if @state == Nuklear::NK_MAXIMIZED
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
module Nuklear
|
|
2
|
+
module UI
|
|
3
|
+
class Window < Nuklear::UI::Base
|
|
4
|
+
include Nuklear::UI::Container
|
|
5
|
+
|
|
6
|
+
attr_accessor :title, :left, :top, :width, :height, :flags
|
|
7
|
+
attr_writer :id
|
|
8
|
+
attr_reader :content_area
|
|
9
|
+
|
|
10
|
+
def initialize(title, id: object_id.to_s, left:, top:, width:, height:, flags: 0,
|
|
11
|
+
border: nil, movable: nil, scalable: nil, closable: nil,
|
|
12
|
+
minimizable: nil, no_scrollbar: nil, titlebar: nil,
|
|
13
|
+
scroll_auto_hide: nil, background: nil, scale_left: nil,
|
|
14
|
+
no_input: nil, enabled: true)
|
|
15
|
+
super enabled: enabled
|
|
16
|
+
|
|
17
|
+
@title = title
|
|
18
|
+
@id = id
|
|
19
|
+
@left = left
|
|
20
|
+
@top = top
|
|
21
|
+
@width = width
|
|
22
|
+
@height = height
|
|
23
|
+
@flags = Nuklear.parse_flags :window, flags
|
|
24
|
+
@hiding = false
|
|
25
|
+
@last_state = nil
|
|
26
|
+
@content_area = Struct.new(:left, :top, :width, :height).new(left, top, width, height)
|
|
27
|
+
|
|
28
|
+
self.border = border unless border.nil?
|
|
29
|
+
self.movable = movable unless movable.nil?
|
|
30
|
+
self.scalable = scalable unless scalable.nil?
|
|
31
|
+
self.closable = closable unless closable.nil?
|
|
32
|
+
self.minimizable = minimizable unless minimizable.nil?
|
|
33
|
+
self.no_scrollbar = no_scrollbar unless no_scrollbar.nil?
|
|
34
|
+
self.titlebar = titlebar unless titlebar.nil?
|
|
35
|
+
self.scroll_auto_hide = scroll_auto_hide unless scroll_auto_hide.nil?
|
|
36
|
+
self.background = background unless background.nil?
|
|
37
|
+
self.scale_left = scale_left unless scale_left.nil?
|
|
38
|
+
self.no_input = no_input unless no_input.nil?
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def border?
|
|
42
|
+
check_flag Nuklear::NK_WINDOW_BORDER
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def movable?
|
|
46
|
+
check_flag Nuklear::NK_WINDOW_MOVABLE
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def scalable?
|
|
50
|
+
check_flag Nuklear::NK_WINDOW_SCALABLE
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def closable?
|
|
54
|
+
check_flag Nuklear::NK_WINDOW_CLOSABLE
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def minimizable?
|
|
58
|
+
check_flag Nuklear::NK_WINDOW_MINIMIZABLE
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def no_scrollbar?
|
|
62
|
+
check_flag Nuklear::NK_WINDOW_NO_SCROLLBAR
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def titlebar?
|
|
66
|
+
check_flag Nuklear::NK_WINDOW_TITLE
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def scroll_auto_hide?
|
|
70
|
+
check_flag Nuklear::NK_WINDOW_SCROLL_AUTO_HIDE
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def background?
|
|
74
|
+
check_flag Nuklear::NK_WINDOW_BACKGROUND
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def scale_left?
|
|
78
|
+
check_flag Nuklear::NK_WINDOW_SCALE_LEFT
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def no_input?
|
|
82
|
+
check_flag Nuklear::NK_WINDOW_NO_INPUT
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def border=(a)
|
|
86
|
+
set_flag Nuklear::NK_WINDOW_BORDER, a
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def movable=(a)
|
|
90
|
+
set_flag Nuklear::NK_WINDOW_MOVABLE, a
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def scalable=(a)
|
|
94
|
+
set_flag Nuklear::NK_WINDOW_SCALABLE, a
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def closable=(a)
|
|
98
|
+
set_flag Nuklear::NK_WINDOW_CLOSABLE, a
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def minimizable=(a)
|
|
102
|
+
set_flag Nuklear::NK_WINDOW_MINIMIZABLE, a
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def no_scrollbar=(a)
|
|
106
|
+
set_flag Nuklear::NK_WINDOW_NO_SCROLLBAR, a
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def titlebar=(a)
|
|
110
|
+
set_flag Nuklear::NK_WINDOW_TITLE, a
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def scroll_auto_hide=(a)
|
|
114
|
+
set_flag Nuklear::NK_WINDOW_SCROLL_AUTO_HIDE, a
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def background=(a)
|
|
118
|
+
set_flag Nuklear::NK_WINDOW_BACKGROUND, a
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def scale_left=(a)
|
|
122
|
+
set_flag Nuklear::NK_WINDOW_SCALE_LEFT, a
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def no_input=(a)
|
|
126
|
+
set_flag Nuklear::NK_WINDOW_NO_INPUT, a
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
def set_flag(flag, enabled)
|
|
130
|
+
@flags = enabled ? @flags | flag : @flags & ~flag
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
def check_flag(flag)
|
|
134
|
+
@flags & flag > 0
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
def id
|
|
138
|
+
@id || title
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def enabled=(b)
|
|
142
|
+
if @enabled && !b
|
|
143
|
+
@hiding = true
|
|
144
|
+
else
|
|
145
|
+
super b
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def close
|
|
150
|
+
self.enabled = false
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
def result(new_state, context)
|
|
154
|
+
if new_state != @last_state
|
|
155
|
+
@left, @top, @width, @height = *new_state[0...4]
|
|
156
|
+
@content_area.left, @content_area.top, @content_area.width, @content_area.height = *new_state[4..-1]
|
|
157
|
+
trigger(:resized)
|
|
158
|
+
@last_event = nil
|
|
159
|
+
@last_state = new_state
|
|
160
|
+
end
|
|
161
|
+
run_commands(context)
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
def to_command
|
|
165
|
+
if @hiding
|
|
166
|
+
@hiding = false
|
|
167
|
+
@enabled = false
|
|
168
|
+
[ :ui_window_close, id ]
|
|
169
|
+
else
|
|
170
|
+
[ :ui_window, id, title, flags, left, top, width, height ]
|
|
171
|
+
end
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
end
|
data/lib/nuklear/ui.rb
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'nuklear/ui/container'
|
|
2
|
+
require 'nuklear/ui/enableable'
|
|
3
|
+
require 'nuklear/ui/events'
|
|
4
|
+
require 'nuklear/ui/text_align'
|
|
5
|
+
|
|
6
|
+
require 'nuklear/ui/base'
|
|
7
|
+
require 'nuklear/ui/button'
|
|
8
|
+
require 'nuklear/ui/checkbox'
|
|
9
|
+
require 'nuklear/ui/col'
|
|
10
|
+
require 'nuklear/ui/color_picker'
|
|
11
|
+
require 'nuklear/ui/combo_box'
|
|
12
|
+
require 'nuklear/ui/edit_string'
|
|
13
|
+
require 'nuklear/ui/group'
|
|
14
|
+
require 'nuklear/ui/label'
|
|
15
|
+
require 'nuklear/ui/menu'
|
|
16
|
+
require 'nuklear/ui/menu_bar'
|
|
17
|
+
require 'nuklear/ui/menu_item'
|
|
18
|
+
require 'nuklear/ui/option'
|
|
19
|
+
require 'nuklear/ui/option_group'
|
|
20
|
+
require 'nuklear/ui/popup'
|
|
21
|
+
require 'nuklear/ui/progress'
|
|
22
|
+
require 'nuklear/ui/property'
|
|
23
|
+
require 'nuklear/ui/row'
|
|
24
|
+
require 'nuklear/ui/selectable'
|
|
25
|
+
require 'nuklear/ui/select_list'
|
|
26
|
+
require 'nuklear/ui/slider'
|
|
27
|
+
require 'nuklear/ui/tree'
|
|
28
|
+
require 'nuklear/ui/window'
|
|
29
|
+
|
|
30
|
+
module Nuklear
|
|
31
|
+
module UI
|
|
32
|
+
end
|
|
33
|
+
end
|
data/lib/nuklear.rb
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require "nuklear/version"
|
|
2
|
+
require "nuklear/nuklear"
|
|
3
|
+
require 'nuklear/context'
|
|
4
|
+
require 'nuklear/event_buffer'
|
|
5
|
+
require 'nuklear/ui'
|
|
6
|
+
require 'nuklear/renderer'
|
|
7
|
+
require 'nuklear/style'
|
|
8
|
+
require 'nuklear/dsl'
|
|
9
|
+
|
|
10
|
+
module Nuklear
|
|
11
|
+
autoload :TestCase, 'nuklear/test_case'
|
|
12
|
+
|
|
13
|
+
class Error < StandardError; end
|
|
14
|
+
# Your code goes here...
|
|
15
|
+
|
|
16
|
+
class << self
|
|
17
|
+
def parse_flags(prefix, *flags)
|
|
18
|
+
flags.flatten.reduce(0) do |set, flag|
|
|
19
|
+
set | case flag
|
|
20
|
+
when Symbol, String then Nuklear.const_get("NK_#{prefix.upcase}_#{flag.upcase}")
|
|
21
|
+
else flag
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
data/nuklear.gemspec
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
lib = File.expand_path("lib", __dir__)
|
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
|
+
require "nuklear/version"
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = "nuklear"
|
|
7
|
+
spec.version = Nuklear::VERSION
|
|
8
|
+
spec.authors = ["Colin MacKenzie IV"]
|
|
9
|
+
spec.email = ["sinisterchipmunk@gmail.com"]
|
|
10
|
+
|
|
11
|
+
spec.summary = %q{}
|
|
12
|
+
spec.description = %q{}
|
|
13
|
+
spec.homepage = "https://github.com/sinisterchipmunk/nuklear-ruby"
|
|
14
|
+
spec.license = "MIT"
|
|
15
|
+
|
|
16
|
+
spec.metadata["allowed_push_host"] = "https://www.rubygems.org"
|
|
17
|
+
|
|
18
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
|
19
|
+
spec.metadata["source_code_uri"] = "https://github.com/sinisterchipmunk/nuklear-ruby"
|
|
20
|
+
# spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
|
|
21
|
+
|
|
22
|
+
# Specify which files should be added to the gem when it is released.
|
|
23
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
24
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
|
25
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
26
|
+
end
|
|
27
|
+
spec.bindir = "exe"
|
|
28
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
29
|
+
spec.require_paths = ["lib"]
|
|
30
|
+
spec.extensions = ["ext/nuklear/extconf.rb",
|
|
31
|
+
"ext/nuklear_renderer_opengl2/extconf.rb",
|
|
32
|
+
"ext/nuklear_renderer_opengl4/extconf.rb"]
|
|
33
|
+
|
|
34
|
+
spec.add_development_dependency "bundler", ">= 2.0"
|
|
35
|
+
spec.add_development_dependency "rake", ">= 10.0"
|
|
36
|
+
spec.add_development_dependency "rake-compiler"
|
|
37
|
+
spec.add_development_dependency "minitest", ">= 5.0"
|
|
38
|
+
|
|
39
|
+
spec.add_development_dependency 'opengl-bindings'
|
|
40
|
+
spec.add_development_dependency 'ruby-sdl2'
|
|
41
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: nuklear
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Colin MacKenzie IV
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2022-03-10 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: bundler
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '2.0'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '2.0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rake
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '10.0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ">="
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '10.0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rake-compiler
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - ">="
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: minitest
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '5.0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '5.0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: opengl-bindings
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: ruby-sdl2
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
description: ''
|
|
98
|
+
email:
|
|
99
|
+
- sinisterchipmunk@gmail.com
|
|
100
|
+
executables: []
|
|
101
|
+
extensions:
|
|
102
|
+
- ext/nuklear/extconf.rb
|
|
103
|
+
- ext/nuklear_renderer_opengl2/extconf.rb
|
|
104
|
+
- ext/nuklear_renderer_opengl4/extconf.rb
|
|
105
|
+
extra_rdoc_files: []
|
|
106
|
+
files:
|
|
107
|
+
- ".gitignore"
|
|
108
|
+
- ".travis.yml"
|
|
109
|
+
- Gemfile
|
|
110
|
+
- Gemfile.lock
|
|
111
|
+
- LICENSE.txt
|
|
112
|
+
- README.md
|
|
113
|
+
- Rakefile
|
|
114
|
+
- bin/console
|
|
115
|
+
- bin/setup
|
|
116
|
+
- examples/arial.ttf
|
|
117
|
+
- examples/calculator.rb
|
|
118
|
+
- examples/hello_nuklear.rb
|
|
119
|
+
- examples/lib/opengl_font.rb
|
|
120
|
+
- examples/lib/opengl_init.rb
|
|
121
|
+
- examples/lib/sdl2_init.rb
|
|
122
|
+
- examples/lib/sdl2_input.rb
|
|
123
|
+
- examples/lib/window.rb
|
|
124
|
+
- ext/freetype/extconf.rb
|
|
125
|
+
- ext/nuklear/extconf.rb
|
|
126
|
+
- ext/nuklear/nkrb.c
|
|
127
|
+
- ext/nuklear/nkrb.h
|
|
128
|
+
- ext/nuklear/nkrb_buffer.c
|
|
129
|
+
- ext/nuklear/nkrb_context.c
|
|
130
|
+
- ext/nuklear/nkrb_font.c
|
|
131
|
+
- ext/nuklear/nkrb_renderer.c
|
|
132
|
+
- ext/nuklear/nkrb_style.c
|
|
133
|
+
- ext/nuklear/nkrb_style_color.c
|
|
134
|
+
- ext/nuklear/nkrb_style_image.c
|
|
135
|
+
- ext/nuklear/nkrb_ui.c
|
|
136
|
+
- ext/nuklear/nkrb_ui_builder.c
|
|
137
|
+
- ext/nuklear/nkrb_ui_button.c
|
|
138
|
+
- ext/nuklear/nkrb_ui_color_picker.c
|
|
139
|
+
- ext/nuklear/nkrb_ui_combo.c
|
|
140
|
+
- ext/nuklear/nkrb_ui_container.c
|
|
141
|
+
- ext/nuklear/nkrb_ui_edit_string.c
|
|
142
|
+
- ext/nuklear/nkrb_ui_group.c
|
|
143
|
+
- ext/nuklear/nkrb_ui_label.c
|
|
144
|
+
- ext/nuklear/nkrb_ui_layout.c
|
|
145
|
+
- ext/nuklear/nkrb_ui_menu.c
|
|
146
|
+
- ext/nuklear/nkrb_ui_menu_item.c
|
|
147
|
+
- ext/nuklear/nkrb_ui_menubar.c
|
|
148
|
+
- ext/nuklear/nkrb_ui_popup.c
|
|
149
|
+
- ext/nuklear/nkrb_ui_progress.c
|
|
150
|
+
- ext/nuklear/nkrb_ui_property.c
|
|
151
|
+
- ext/nuklear/nkrb_ui_selectables.c
|
|
152
|
+
- ext/nuklear/nkrb_ui_slider.c
|
|
153
|
+
- ext/nuklear/nkrb_ui_tree.c
|
|
154
|
+
- ext/nuklear/nkrb_ui_widget.c
|
|
155
|
+
- ext/nuklear/nkrb_ui_window.c
|
|
156
|
+
- ext/nuklear/nuklear.h
|
|
157
|
+
- ext/nuklear_renderer_opengl2/KHR/khrplatform.h
|
|
158
|
+
- ext/nuklear_renderer_opengl2/extconf.rb
|
|
159
|
+
- ext/nuklear_renderer_opengl2/glad.c
|
|
160
|
+
- ext/nuklear_renderer_opengl2/glad.h
|
|
161
|
+
- ext/nuklear_renderer_opengl2/nuklear_renderer_opengl2.c
|
|
162
|
+
- ext/nuklear_renderer_opengl4/KHR/khrplatform.h
|
|
163
|
+
- ext/nuklear_renderer_opengl4/extconf.rb
|
|
164
|
+
- ext/nuklear_renderer_opengl4/glad.c
|
|
165
|
+
- ext/nuklear_renderer_opengl4/glad.h
|
|
166
|
+
- ext/nuklear_renderer_opengl4/nuklear_renderer_opengl4.c
|
|
167
|
+
- lib/nuklear.rb
|
|
168
|
+
- lib/nuklear/context.rb
|
|
169
|
+
- lib/nuklear/dsl.rb
|
|
170
|
+
- lib/nuklear/event_buffer.rb
|
|
171
|
+
- lib/nuklear/renderer.rb
|
|
172
|
+
- lib/nuklear/renderer/opengl24.rb
|
|
173
|
+
- lib/nuklear/style.rb
|
|
174
|
+
- lib/nuklear/style/color.rb
|
|
175
|
+
- lib/nuklear/style/image.rb
|
|
176
|
+
- lib/nuklear/test_case.rb
|
|
177
|
+
- lib/nuklear/ui.rb
|
|
178
|
+
- lib/nuklear/ui/base.rb
|
|
179
|
+
- lib/nuklear/ui/button.rb
|
|
180
|
+
- lib/nuklear/ui/checkbox.rb
|
|
181
|
+
- lib/nuklear/ui/col.rb
|
|
182
|
+
- lib/nuklear/ui/color_picker.rb
|
|
183
|
+
- lib/nuklear/ui/combo_box.rb
|
|
184
|
+
- lib/nuklear/ui/container.rb
|
|
185
|
+
- lib/nuklear/ui/edit_string.rb
|
|
186
|
+
- lib/nuklear/ui/enableable.rb
|
|
187
|
+
- lib/nuklear/ui/events.rb
|
|
188
|
+
- lib/nuklear/ui/group.rb
|
|
189
|
+
- lib/nuklear/ui/label.rb
|
|
190
|
+
- lib/nuklear/ui/menu.rb
|
|
191
|
+
- lib/nuklear/ui/menu_bar.rb
|
|
192
|
+
- lib/nuklear/ui/menu_item.rb
|
|
193
|
+
- lib/nuklear/ui/option.rb
|
|
194
|
+
- lib/nuklear/ui/option_group.rb
|
|
195
|
+
- lib/nuklear/ui/popup.rb
|
|
196
|
+
- lib/nuklear/ui/progress.rb
|
|
197
|
+
- lib/nuklear/ui/property.rb
|
|
198
|
+
- lib/nuklear/ui/row.rb
|
|
199
|
+
- lib/nuklear/ui/select_list.rb
|
|
200
|
+
- lib/nuklear/ui/selectable.rb
|
|
201
|
+
- lib/nuklear/ui/slider.rb
|
|
202
|
+
- lib/nuklear/ui/text_align.rb
|
|
203
|
+
- lib/nuklear/ui/tree.rb
|
|
204
|
+
- lib/nuklear/ui/window.rb
|
|
205
|
+
- lib/nuklear/version.rb
|
|
206
|
+
- nuklear.gemspec
|
|
207
|
+
homepage: https://github.com/sinisterchipmunk/nuklear-ruby
|
|
208
|
+
licenses:
|
|
209
|
+
- MIT
|
|
210
|
+
metadata:
|
|
211
|
+
allowed_push_host: https://www.rubygems.org
|
|
212
|
+
homepage_uri: https://github.com/sinisterchipmunk/nuklear-ruby
|
|
213
|
+
source_code_uri: https://github.com/sinisterchipmunk/nuklear-ruby
|
|
214
|
+
post_install_message:
|
|
215
|
+
rdoc_options: []
|
|
216
|
+
require_paths:
|
|
217
|
+
- lib
|
|
218
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
219
|
+
requirements:
|
|
220
|
+
- - ">="
|
|
221
|
+
- !ruby/object:Gem::Version
|
|
222
|
+
version: '0'
|
|
223
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
224
|
+
requirements:
|
|
225
|
+
- - ">="
|
|
226
|
+
- !ruby/object:Gem::Version
|
|
227
|
+
version: '0'
|
|
228
|
+
requirements: []
|
|
229
|
+
rubygems_version: 3.3.7
|
|
230
|
+
signing_key:
|
|
231
|
+
specification_version: 4
|
|
232
|
+
summary: ''
|
|
233
|
+
test_files: []
|