libui 0.0.2.alpha → 0.0.3.alpha
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/lib/libui.rb +16 -1
- data/lib/libui/ffi.rb +196 -180
- data/lib/libui/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6483e7a5d01aa51e2013350a38da4926d813416cf8f3f039f9203471bbb59968
|
4
|
+
data.tar.gz: e37424f71ec7991076a3fdb9cfc007aa2bf8fcd027210513d842b82d1056de21
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3e515578dcfa6d4357c0f0154c9b59db64f75ab94e37e6518916621a11aefd19842f1545c04984d719d8d61b74602e6d976504bf3312df3e6df29e421f20701
|
7
|
+
data.tar.gz: cdd83d3ec0e75e4730c158aae01cd5e29f24b6d5893a26e95759f7e9e6b92bb23b6008fb9292e53af2d925a1f08c3335be8843ecd895fbd24858b8c0c8836b4c
|
data/lib/libui.rb
CHANGED
@@ -8,6 +8,7 @@ module LibUI
|
|
8
8
|
class << self
|
9
9
|
attr_accessor :ffi_lib
|
10
10
|
end
|
11
|
+
|
11
12
|
self.ffi_lib = case RbConfig::CONFIG['host_os']
|
12
13
|
when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
|
13
14
|
# File.expand_path("libui.dll", ENV['LIBUIDIR'])
|
@@ -20,5 +21,19 @@ module LibUI
|
|
20
21
|
File.expand_path('../vendor/libui.so', __dir__)
|
21
22
|
end
|
22
23
|
|
23
|
-
|
24
|
+
require_relative 'libui/ffi'
|
25
|
+
|
26
|
+
class << self
|
27
|
+
FFI.ffi_methods.each do |original_method_name|
|
28
|
+
name = original_method_name.delete_prefix('ui')
|
29
|
+
.gsub(/::/, '/')
|
30
|
+
.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
|
31
|
+
.gsub(/([a-z\d])([A-Z])/, '\1_\2')
|
32
|
+
.tr('-', '_')
|
33
|
+
.downcase
|
34
|
+
define_method(name) do |*args|
|
35
|
+
FFI.public_send(original_method_name, *args)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
24
39
|
end
|
data/lib/libui/ffi.rb
CHANGED
@@ -9,25 +9,43 @@ module LibUI
|
|
9
9
|
begin
|
10
10
|
dlload LibUI.ffi_lib
|
11
11
|
rescue LoadError
|
12
|
-
raise LoadError, 'Could not find libui'
|
12
|
+
raise LoadError, 'Could not find libui shared library'
|
13
13
|
end
|
14
14
|
|
15
|
-
|
15
|
+
class << self
|
16
|
+
attr_reader :ffi_methods
|
17
|
+
|
18
|
+
# Improved extern method.
|
19
|
+
# 1. Ignore functions that cannot be attached.
|
20
|
+
# 2. Available function (names) are stored in @ffi_methods.
|
21
|
+
def try_extern(signature, *opts)
|
22
|
+
@ffi_methods ||= []
|
23
|
+
begin
|
24
|
+
func = extern(signature, *opts)
|
25
|
+
@ffi_methods << func.name
|
26
|
+
func
|
27
|
+
rescue StandardError => e
|
28
|
+
warn "#{e.class.name}: #{e.message}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
typealias('uint32_t', 'unsigned int')
|
16
34
|
|
17
35
|
InitOptions = struct(['size_t size'])
|
18
36
|
|
19
|
-
|
20
|
-
|
21
|
-
|
37
|
+
try_extern 'const char *uiInit(uiInitOptions *options)'
|
38
|
+
try_extern 'void uiUninit(void)'
|
39
|
+
try_extern 'void uiFreeInitError(const char *err)'
|
22
40
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
41
|
+
try_extern 'void uiMain(void)'
|
42
|
+
try_extern 'void uiMainSteps(void)'
|
43
|
+
try_extern 'int uiMainStep(int wait)'
|
44
|
+
try_extern 'void uiQuit(void)'
|
45
|
+
try_extern 'void uiQueueMain(void (*f)(void *data), void *data)'
|
46
|
+
try_extern 'void uiTimer(int milliseconds, int (*f)(void *data), void *data)'
|
47
|
+
try_extern 'void uiOnShouldQuit(int (*f)(void *data), void *data)'
|
48
|
+
try_extern 'void uiFreeText(char *text)'
|
31
49
|
|
32
50
|
struct ['uint32_t Signature',
|
33
51
|
'uint32_t OSSignature',
|
@@ -43,200 +61,198 @@ module LibUI
|
|
43
61
|
'int (*Enabled)(uiControl *)',
|
44
62
|
'void (*Enable)(uiControl *)',
|
45
63
|
'void (*Disable)(uiControl *)']
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
64
|
+
|
65
|
+
try_extern 'void uiControlDestroy(uiControl *)'
|
66
|
+
try_extern 'uintptr_t uiControlHandle(uiControl *)'
|
67
|
+
try_extern 'uiControl *uiControlParent(uiControl *)'
|
68
|
+
try_extern 'void uiControlSetParent(uiControl *, uiControl *)'
|
69
|
+
try_extern 'int uiControlToplevel(uiControl *)'
|
70
|
+
try_extern 'int uiControlVisible(uiControl *)'
|
71
|
+
try_extern 'void uiControlShow(uiControl *)'
|
72
|
+
try_extern 'void uiControlHide(uiControl *)'
|
73
|
+
try_extern 'int uiControlEnabled(uiControl *)'
|
74
|
+
try_extern 'void uiControlEnable(uiControl *)'
|
75
|
+
try_extern 'void uiControlDisable(uiControl *)'
|
76
|
+
|
77
|
+
try_extern 'uiControl *uiAllocControl(size_t n, uint32_t OSsig, uint32_t typesig, const char *typenamestr)'
|
78
|
+
try_extern 'void uiFreeControl(uiControl *)'
|
79
|
+
|
80
|
+
try_extern 'void uiControlVerifySetParent(uiControl *, uiControl *)'
|
81
|
+
try_extern 'int uiControlEnabledToUser(uiControl *)'
|
82
|
+
|
83
|
+
try_extern 'void uiUserBugCannotSetParentOnToplevel(const char *type)'
|
66
84
|
|
67
85
|
# uiWindow
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
86
|
+
try_extern 'char *uiWindowTitle(uiWindow *w)'
|
87
|
+
try_extern 'void uiWindowSetTitle(uiWindow *w, const char *title)'
|
88
|
+
try_extern 'void uiWindowContentSize(uiWindow *w, int *width, int *height)'
|
89
|
+
try_extern 'void uiWindowSetContentSize(uiWindow *w, int width, int height)'
|
90
|
+
try_extern 'int uiWindowFullscreen(uiWindow *w)'
|
91
|
+
try_extern 'void uiWindowSetFullscreen(uiWindow *w, int fullscreen)'
|
92
|
+
try_extern 'void uiWindowOnContentSizeChanged(uiWindow *w, void (*f)(uiWindow *, void *), void *data)'
|
93
|
+
try_extern 'void uiWindowOnClosing(uiWindow *w, int (*f)(uiWindow *w, void *data), void *data)'
|
94
|
+
try_extern 'int uiWindowBorderless(uiWindow *w)'
|
95
|
+
try_extern 'void uiWindowSetBorderless(uiWindow *w, int borderless)'
|
96
|
+
try_extern 'void uiWindowSetChild(uiWindow *w, uiControl *child)'
|
97
|
+
try_extern 'int uiWindowMargined(uiWindow *w)'
|
98
|
+
try_extern 'void uiWindowSetMargined(uiWindow *w, int margined)'
|
99
|
+
try_extern 'uiWindow *uiNewWindow(const char *title, int width, int height, int hasMenubar)'
|
100
|
+
|
83
101
|
# uiButton
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
102
|
+
try_extern 'char *uiButtonText(uiButton *b)'
|
103
|
+
try_extern 'void uiButtonSetText(uiButton *b, const char *text)'
|
104
|
+
try_extern 'void uiButtonOnClicked(uiButton *b, void (*f)(uiButton *b, void *data), void *data)'
|
105
|
+
try_extern 'uiButton *uiNewButton(const char *text)'
|
106
|
+
|
89
107
|
# uiBox
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
108
|
+
try_extern 'void uiBoxAppend(uiBox *b, uiControl *child, int stretchy)'
|
109
|
+
try_extern 'void uiBoxDelete(uiBox *b, int index)'
|
110
|
+
try_extern 'int uiBoxPadded(uiBox *b)'
|
111
|
+
try_extern 'void uiBoxSetPadded(uiBox *b, int padded)'
|
112
|
+
try_extern 'uiBox *uiNewHorizontalBox(void)'
|
113
|
+
try_extern 'uiBox *uiNewVerticalBox(void)'
|
114
|
+
|
97
115
|
# uiCheckbox
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
116
|
+
try_extern 'char *uiCheckboxText(uiCheckbox *c)'
|
117
|
+
try_extern 'void uiCheckboxSetText(uiCheckbox *c, const char *text)'
|
118
|
+
try_extern 'void uiCheckboxOnToggled(uiCheckbox *c, void (*f)(uiCheckbox *c, void *data), void *data)'
|
119
|
+
try_extern 'int uiCheckboxChecked(uiCheckbox *c)'
|
120
|
+
try_extern 'void uiCheckboxSetChecked(uiCheckbox *c, int checked)'
|
121
|
+
try_extern 'uiCheckbox *uiNewCheckbox(const char *text)'
|
122
|
+
|
105
123
|
# uiEntry
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
124
|
+
try_extern 'char *uiEntryText(uiEntry *e)'
|
125
|
+
try_extern 'void uiEntrySetText(uiEntry *e, const char *text)'
|
126
|
+
try_extern 'void uiEntryOnChanged(uiEntry *e, void (*f)(uiEntry *e, void *data), void *data)'
|
127
|
+
try_extern 'int uiEntryReadOnly(uiEntry *e)'
|
128
|
+
try_extern 'void uiEntrySetReadOnly(uiEntry *e, int readonly)'
|
129
|
+
try_extern 'uiEntry *uiNewEntry(void)'
|
130
|
+
try_extern 'uiEntry *uiNewPasswordEntry(void)'
|
131
|
+
try_extern 'uiEntry *uiNewSearchEntry(void)'
|
132
|
+
|
115
133
|
# uiLabel
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
134
|
+
try_extern 'char *uiLabelText(uiLabel *l)'
|
135
|
+
try_extern 'void uiLabelSetText(uiLabel *l, const char *text)'
|
136
|
+
try_extern 'uiLabel *uiNewLabel(const char *text)'
|
137
|
+
|
120
138
|
# uiTab
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
139
|
+
try_extern 'void uiTabAppend(uiTab *t, const char *name, uiControl *c)'
|
140
|
+
try_extern 'void uiTabInsertAt(uiTab *t, const char *name, int before, uiControl *c)'
|
141
|
+
try_extern 'void uiTabDelete(uiTab *t, int index)'
|
142
|
+
try_extern 'int uiTabNumPages(uiTab *t)'
|
143
|
+
try_extern 'int uiTabMargined(uiTab *t, int page)'
|
144
|
+
try_extern 'void uiTabSetMargined(uiTab *t, int page, int margined)'
|
145
|
+
try_extern 'uiTab *uiNewTab(void)'
|
146
|
+
|
129
147
|
# uiGroup
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
148
|
+
try_extern 'char *uiGroupTitle(uiGroup *g)'
|
149
|
+
try_extern 'void uiGroupSetTitle(uiGroup *g, const char *title)'
|
150
|
+
try_extern 'void uiGroupSetChild(uiGroup *g, uiControl *c)'
|
151
|
+
try_extern 'int uiGroupMargined(uiGroup *g)'
|
152
|
+
try_extern 'void uiGroupSetMargined(uiGroup *g, int margined)'
|
153
|
+
try_extern 'uiGroup *uiNewGroup(const char *title)'
|
154
|
+
|
137
155
|
# uiSpinbox
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
156
|
+
try_extern 'int uiSpinboxValue(uiSpinbox *s)'
|
157
|
+
try_extern 'void uiSpinboxSetValue(uiSpinbox *s, int value)'
|
158
|
+
try_extern 'void uiSpinboxOnChanged(uiSpinbox *s, void (*f)(uiSpinbox *s, void *data), void *data)'
|
159
|
+
try_extern 'uiSpinbox *uiNewSpinbox(int min, int max)'
|
160
|
+
|
143
161
|
# uiSlider
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
162
|
+
try_extern 'int uiSliderValue(uiSlider *s)'
|
163
|
+
try_extern 'void uiSliderSetValue(uiSlider *s, int value)'
|
164
|
+
try_extern 'void uiSliderOnChanged(uiSlider *s, void (*f)(uiSlider *s, void *data), void *data)'
|
165
|
+
try_extern 'uiSlider *uiNewSlider(int min, int max)'
|
166
|
+
|
149
167
|
# uiProgressBar
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
168
|
+
try_extern 'int uiProgressBarValue(uiProgressBar *p)'
|
169
|
+
try_extern 'void uiProgressBarSetValue(uiProgressBar *p, int n)'
|
170
|
+
try_extern 'uiProgressBar *uiNewProgressBar(void)'
|
171
|
+
|
154
172
|
# uiSeparator
|
155
|
-
|
156
|
-
|
157
|
-
|
173
|
+
try_extern 'uiSeparator *uiNewHorizontalSeparator(void)'
|
174
|
+
try_extern 'uiSeparator *uiNewVerticalSeparator(void)'
|
175
|
+
|
158
176
|
# uiCombobox
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
177
|
+
try_extern 'void uiComboboxAppend(uiCombobox *c, const char *text)'
|
178
|
+
try_extern 'int uiComboboxSelected(uiCombobox *c)'
|
179
|
+
try_extern 'void uiComboboxSetSelected(uiCombobox *c, int n)'
|
180
|
+
try_extern 'void uiComboboxOnSelected(uiCombobox *c, void (*f)(uiCombobox *c, void *data), void *data)'
|
181
|
+
try_extern 'uiCombobox *uiNewCombobox(void)'
|
182
|
+
|
165
183
|
# uiEditableCombobox
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
184
|
+
try_extern 'void uiEditableComboboxAppend(uiEditableCombobox *c, const char *text)'
|
185
|
+
try_extern 'char *uiEditableComboboxText(uiEditableCombobox *c)'
|
186
|
+
try_extern 'void uiEditableComboboxSetText(uiEditableCombobox *c, const char *text)'
|
187
|
+
try_extern 'void uiEditableComboboxOnChanged(uiEditableCombobox *c, void (*f)(uiEditableCombobox *c, void *data), void *data)'
|
188
|
+
try_extern 'uiEditableCombobox *uiNewEditableCombobox(void)'
|
189
|
+
|
172
190
|
# uiRadioButtons
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
191
|
+
try_extern 'void uiRadioButtonsAppend(uiRadioButtons *r, const char *text)'
|
192
|
+
try_extern 'int uiRadioButtonsSelected(uiRadioButtons *r)'
|
193
|
+
try_extern 'void uiRadioButtonsSetSelected(uiRadioButtons *r, int n)'
|
194
|
+
try_extern 'void uiRadioButtonsOnSelected(uiRadioButtons *r, void (*f)(uiRadioButtons *, void *), void *data)'
|
195
|
+
try_extern 'uiRadioButtons *uiNewRadioButtons(void)'
|
196
|
+
|
179
197
|
# uiDataTimePicker
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
198
|
+
try_extern 'void uiDateTimePickerTime(uiDateTimePicker *d, struct tm *time)'
|
199
|
+
try_extern 'void uiDateTimePickerSetTime(uiDateTimePicker *d, const struct tm *time)'
|
200
|
+
try_extern 'void uiDateTimePickerOnChanged(uiDateTimePicker *d, void (*f)(uiDateTimePicker *, void *), void *data)'
|
201
|
+
try_extern 'uiDateTimePicker *uiNewDateTimePicker(void)'
|
202
|
+
try_extern 'uiDateTimePicker *uiNewDatePicker(void)'
|
203
|
+
try_extern 'uiDateTimePicker *uiNewTimePicker(void)'
|
204
|
+
|
187
205
|
# uiMultilineEntry
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
206
|
+
try_extern 'char *uiMultilineEntryText(uiMultilineEntry *e)'
|
207
|
+
try_extern 'void uiMultilineEntrySetText(uiMultilineEntry *e, const char *text)'
|
208
|
+
try_extern 'void uiMultilineEntryAppend(uiMultilineEntry *e, const char *text)'
|
209
|
+
try_extern 'void uiMultilineEntryOnChanged(uiMultilineEntry *e, void (*f)(uiMultilineEntry *e, void *data), void *data)'
|
210
|
+
try_extern 'int uiMultilineEntryReadOnly(uiMultilineEntry *e)'
|
211
|
+
try_extern 'void uiMultilineEntrySetReadOnly(uiMultilineEntry *e, int readonly)'
|
212
|
+
try_extern 'uiMultilineEntry *uiNewMultilineEntry(void)'
|
213
|
+
try_extern 'uiMultilineEntry *uiNewNonWrappingMultilineEntry(void)'
|
214
|
+
|
197
215
|
# uiMenuItem
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
216
|
+
try_extern 'void uiMenuItemEnable(uiMenuItem *m)'
|
217
|
+
try_extern 'void uiMenuItemDisable(uiMenuItem *m)'
|
218
|
+
try_extern 'void uiMenuItemOnClicked(uiMenuItem *m, void (*f)(uiMenuItem *sender, uiWindow *window, void *data), void *data)'
|
219
|
+
try_extern 'int uiMenuItemChecked(uiMenuItem *m)'
|
220
|
+
try_extern 'void uiMenuItemSetChecked(uiMenuItem *m, int checked)'
|
203
221
|
|
204
222
|
# uiMenu
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
223
|
+
try_extern 'uiMenuItem *uiMenuAppendItem(uiMenu *m, const char *name)'
|
224
|
+
try_extern 'uiMenuItem *uiMenuAppendCheckItem(uiMenu *m, const char *name)'
|
225
|
+
try_extern 'uiMenuItem *uiMenuAppendQuitItem(uiMenu *m)'
|
226
|
+
try_extern 'uiMenuItem *uiMenuAppendPreferencesItem(uiMenu *m)'
|
227
|
+
try_extern 'uiMenuItem *uiMenuAppendAboutItem(uiMenu *m)'
|
228
|
+
try_extern 'void uiMenuAppendSeparator(uiMenu *m)'
|
229
|
+
try_extern 'uiMenu *uiNewMenu(const char *name)'
|
230
|
+
|
231
|
+
try_extern 'char *uiOpenFile(uiWindow *parent)'
|
232
|
+
try_extern 'char *uiSaveFile(uiWindow *parent)'
|
233
|
+
try_extern 'void uiMsgBox(uiWindow *parent, const char *title, const char *description)'
|
234
|
+
try_extern 'void uiMsgBoxError(uiWindow *parent, const char *title, const char *description)'
|
217
235
|
|
218
236
|
# uiArea
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
237
|
+
try_extern 'void uiAreaSetSize(uiArea *a, int width, int height)'
|
238
|
+
try_extern 'void uiAreaQueueRedrawAll(uiArea *a)'
|
239
|
+
try_extern 'void uiAreaScrollTo(uiArea *a, double x, double y, double width, double height)'
|
240
|
+
try_extern 'void uiAreaBeginUserWindowMove(uiArea *a)'
|
223
241
|
typealias 'uiWindowResizeEdge', 'char' # FIXME: uint8
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
#
|
242
|
+
try_extern 'void uiAreaBeginUserWindowResize(uiArea *a, uiWindowResizeEdge edge)'
|
243
|
+
try_extern 'uiArea *uiNewArea(uiAreaHandler *ah)'
|
244
|
+
try_extern 'uiArea *uiNewScrollingArea(uiAreaHandler *ah, int width, int height)'
|
229
245
|
|
230
246
|
# uiFontButton
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
247
|
+
try_extern 'void uiFontButtonFont(uiFontButton *b, uiFontDescriptor *desc)'
|
248
|
+
try_extern 'void uiFontButtonOnChanged(uiFontButton *b, void (*f)(uiFontButton *, void *), void *data)'
|
249
|
+
try_extern 'uiFontButton *uiNewFontButton(void)'
|
250
|
+
try_extern 'void uiFreeFontButtonFont(uiFontDescriptor *desc)'
|
235
251
|
|
236
252
|
# uiColorButton
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
253
|
+
try_extern 'void uiColorButtonColor(uiColorButton *b, double *r, double *g, double *bl, double *a)'
|
254
|
+
try_extern 'void uiColorButtonSetColor(uiColorButton *b, double r, double g, double bl, double a)'
|
255
|
+
try_extern 'void uiColorButtonOnChanged(uiColorButton *b, void (*f)(uiColorButton *, void *), void *data)'
|
256
|
+
try_extern 'uiColorButton *uiNewColorButton(void)'
|
241
257
|
end
|
242
258
|
end
|
data/lib/libui/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3.alpha
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kojix2
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-12-
|
11
|
+
date: 2020-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubyzip
|
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'
|
69
83
|
description:
|
70
84
|
email:
|
71
85
|
- 2xijok@gmail.com
|