forked from golang-ui/nuklear
/
types.go
452 lines (317 loc) · 13.2 KB
/
types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
// THE AUTOGENERATED LICENSE. ALL THE RIGHTS ARE RESERVED BY ROBOTS.
// WARNING: This file has automatically been generated on Tue, 10 Sep 2019 22:23:05 CST.
// Code generated by https://git.io/c-for-go. DO NOT EDIT.
package nk
/*
#include "nk.h"
#include <stdlib.h>
#include "cgo_helpers.h"
*/
import "C"
import "unsafe"
// Char type as declared in nk/nuklear.h:398
type Char byte
// Uchar type as declared in nk/nuklear.h:399
type Uchar byte
// Byte type as declared in nk/nuklear.h:400
type Byte byte
// Short type as declared in nk/nuklear.h:401
type Short int16
// Ushort type as declared in nk/nuklear.h:402
type Ushort uint16
// Int type as declared in nk/nuklear.h:403
type Int int32
// Uint type as declared in nk/nuklear.h:404
type Uint uint32
// Size type as declared in nk/nuklear.h:405
type Size uint
// Ptr type as declared in nk/nuklear.h:406
type Ptr uint
// Hash type as declared in nk/nuklear.h:408
type Hash uint32
// Flags type as declared in nk/nuklear.h:409
type Flags uint32
// Rune type as declared in nk/nuklear.h:410
type Rune uint32
// Glyph type as declared in nk/nuklear.h:463
type Glyph [4]byte
// Handle as declared in nk/nuklear.h:464
const sizeofHandle = unsafe.Sizeof(C.nk_handle{})
type Handle [sizeofHandle]byte
// PluginAlloc type as declared in nk/nuklear.h:482
type PluginAlloc func(arg0 Handle, old unsafe.Pointer, arg2 Size) unsafe.Pointer
// PluginFree type as declared in nk/nuklear.h:483
type PluginFree func(arg0 Handle, old unsafe.Pointer)
// PluginFilter type as declared in nk/nuklear.h:484
type PluginFilter func(arg0 *TextEdit, unicode Rune) int32
// PluginPaste type as declared in nk/nuklear.h:485
type PluginPaste func(arg0 Handle, arg1 *TextEdit)
// PluginCopy type as declared in nk/nuklear.h:486
type PluginCopy func(arg0 Handle, arg1 string, len int32)
// TextWidthF type as declared in nk/nuklear.h:3896
type TextWidthF func(arg0 Handle, h float32, arg2 string, len int32) float32
// QueryFontGlyphF type as declared in nk/nuklear.h:3897
type QueryFontGlyphF func(handle Handle, fontHeight float32, glyph *UserFontGlyph, codepoint Rune, nextCodepoint Rune)
// CommandCustomCallback type as declared in nk/nuklear.h:4535
type CommandCustomCallback func(canvas unsafe.Pointer, x int16, y int16, w uint16, h uint16, callbackData Handle)
// DrawIndex type as declared in nk/nuklear.h:4668
type DrawIndex uint16
// Allocator as declared in nk/nuklear.h:431
type Allocator C.struct_nk_allocator
// BakedFont as declared in nk/nuklear.h:3936
type BakedFont C.struct_nk_baked_font
// Buffer as declared in nk/nuklear.h:430
type Buffer C.struct_nk_buffer
// BufferMarker as declared in nk/nuklear.h:4112
type BufferMarker C.struct_nk_buffer_marker
// Chart as declared in nk/nuklear.h:5278
type Chart C.struct_nk_chart
// ChartSlot as declared in nk/nuklear.h:5268
type ChartSlot C.struct_nk_chart_slot
// Clipboard as declared in nk/nuklear.h:4247
type Clipboard C.struct_nk_clipboard
// Color as declared in nk/nuklear.h:457
type Color C.struct_nk_color
// Colorf as declared in nk/nuklear.h:458
type Colorf C.struct_nk_colorf
// Command as declared in nk/nuklear.h:4397
type Command C.struct_nk_command
// CommandArc as declared in nk/nuklear.h:4487
type CommandArc C.struct_nk_command_arc
// CommandArcFilled as declared in nk/nuklear.h:4496
type CommandArcFilled C.struct_nk_command_arc_filled
// CommandBuffer as declared in nk/nuklear.h:432
type CommandBuffer C.struct_nk_command_buffer
// CommandCircle as declared in nk/nuklear.h:4472
type CommandCircle C.struct_nk_command_circle
// CommandCircleFilled as declared in nk/nuklear.h:4480
type CommandCircleFilled C.struct_nk_command_circle_filled
// CommandCurve as declared in nk/nuklear.h:4419
type CommandCurve C.struct_nk_command_curve
// CommandCustom as declared in nk/nuklear.h:4537
type CommandCustom C.struct_nk_command_custom
// CommandImage as declared in nk/nuklear.h:4527
type CommandImage C.struct_nk_command_image
// CommandLine as declared in nk/nuklear.h:4411
type CommandLine C.struct_nk_command_line
// CommandPolygon as declared in nk/nuklear.h:4504
type CommandPolygon C.struct_nk_command_polygon
// CommandPolygonFilled as declared in nk/nuklear.h:4512
type CommandPolygonFilled C.struct_nk_command_polygon_filled
// CommandPolyline as declared in nk/nuklear.h:4519
type CommandPolyline C.struct_nk_command_polyline
// CommandRect as declared in nk/nuklear.h:4428
type CommandRect C.struct_nk_command_rect
// CommandRectFilled as declared in nk/nuklear.h:4437
type CommandRectFilled C.struct_nk_command_rect_filled
// CommandRectMultiColor as declared in nk/nuklear.h:4445
type CommandRectMultiColor C.struct_nk_command_rect_multi_color
// CommandScissor as declared in nk/nuklear.h:4405
type CommandScissor C.struct_nk_command_scissor
// CommandText as declared in nk/nuklear.h:4545
type CommandText C.struct_nk_command_text
// CommandTriangle as declared in nk/nuklear.h:4455
type CommandTriangle C.struct_nk_command_triangle
// CommandTriangleFilled as declared in nk/nuklear.h:4464
type CommandTriangleFilled C.struct_nk_command_triangle_filled
// ConfigStackButtonBehavior as declared in nk/nuklear.h:5514
type ConfigStackButtonBehavior C.struct_nk_config_stack_button_behavior
// ConfigStackButtonBehaviorElement as declared in nk/nuklear.h:5506
type ConfigStackButtonBehaviorElement C.struct_nk_config_stack_button_behavior_element
// ConfigStackColor as declared in nk/nuklear.h:5512
type ConfigStackColor C.struct_nk_config_stack_color
// ConfigStackColorElement as declared in nk/nuklear.h:5504
type ConfigStackColorElement C.struct_nk_config_stack_color_element
// ConfigStackFlags as declared in nk/nuklear.h:5511
type ConfigStackFlags C.struct_nk_config_stack_flags
// ConfigStackFlagsElement as declared in nk/nuklear.h:5503
type ConfigStackFlagsElement C.struct_nk_config_stack_flags_element
// ConfigStackFloat as declared in nk/nuklear.h:5509
type ConfigStackFloat C.struct_nk_config_stack_float
// ConfigStackFloatElement as declared in nk/nuklear.h:5501
type ConfigStackFloatElement C.struct_nk_config_stack_float_element
// ConfigStackStyleItem as declared in nk/nuklear.h:5508
type ConfigStackStyleItem C.struct_nk_config_stack_style_item
// ConfigStackStyleItemElement as declared in nk/nuklear.h:5500
type ConfigStackStyleItemElement C.struct_nk_config_stack_style_item_element
// ConfigStackUserFont as declared in nk/nuklear.h:5513
type ConfigStackUserFont struct {
Head int32
Elements [8]ConfigStackUserFontElement
refa664861d *C.struct_nk_config_stack_user_font
allocsa664861d interface{}
}
// ConfigStackUserFontElement as declared in nk/nuklear.h:5505
type ConfigStackUserFontElement struct {
Address [][]UserFont
OldValue []UserFont
ref5572630c *C.struct_nk_config_stack_user_font_element
allocs5572630c interface{}
}
// ConfigStackVec2 as declared in nk/nuklear.h:5510
type ConfigStackVec2 C.struct_nk_config_stack_vec2
// ConfigStackVec2Element as declared in nk/nuklear.h:5502
type ConfigStackVec2Element C.struct_nk_config_stack_vec2_element
// ConfigurationStacks as declared in nk/nuklear.h:5516
type ConfigurationStacks C.struct_nk_configuration_stacks
// Context as declared in nk/nuklear.h:440
type Context C.struct_nk_context
// ConvertConfig as declared in nk/nuklear.h:434
type ConvertConfig struct {
GlobalAlpha float32
LineAa AntiAliasing
ShapeAa AntiAliasing
CircleSegmentCount uint32
ArcSegmentCount uint32
CurveSegmentCount uint32
Null DrawNullTexture
VertexLayout []DrawVertexLayoutElement
VertexSize Size
VertexAlignment Size
ref82bf4c25 *C.struct_nk_convert_config
allocs82bf4c25 interface{}
}
// Cursor as declared in nk/nuklear.h:466
type Cursor C.struct_nk_cursor
// DrawCommand as declared in nk/nuklear.h:433
type DrawCommand C.struct_nk_draw_command
// DrawList as declared in nk/nuklear.h:437
type DrawList C.struct_nk_draw_list
// DrawNullTexture as declared in nk/nuklear.h:1150
type DrawNullTexture C.struct_nk_draw_null_texture
// DrawVertexLayoutElement as declared in nk/nuklear.h:441
type DrawVertexLayoutElement struct {
Attribute DrawVertexLayoutAttribute
Format DrawVertexLayoutFormat
Offset Size
refeb0614d6 *C.struct_nk_draw_vertex_layout_element
allocseb0614d6 interface{}
}
// EditState as declared in nk/nuklear.h:5382
type EditState C.struct_nk_edit_state
// Font as declared in nk/nuklear.h:3935
type Font C.struct_nk_font
// FontAtlas as declared in nk/nuklear.h:4009
type FontAtlas C.struct_nk_font_atlas
// FontConfig as declared in nk/nuklear.h:3949
type FontConfig C.struct_nk_font_config
// FontGlyph as declared in nk/nuklear.h:3985
type FontGlyph C.struct_nk_font_glyph
// Image as declared in nk/nuklear.h:465
type Image C.struct_nk_image
// Input as declared in nk/nuklear.h:4625
type Input C.struct_nk_input
// Key as declared in nk/nuklear.h:4615
type Key C.struct_nk_key
// Keyboard as declared in nk/nuklear.h:4619
type Keyboard C.struct_nk_keyboard
// ListView as declared in nk/nuklear.h:3025
type ListView C.struct_nk_list_view
// Memory as declared in nk/nuklear.h:4117
type Memory C.struct_nk_memory
// MemoryStatus as declared in nk/nuklear.h:4092
type MemoryStatus C.struct_nk_memory_status
// MenuState as declared in nk/nuklear.h:5320
type MenuState C.struct_nk_menu_state
// Mouse as declared in nk/nuklear.h:4604
type Mouse C.struct_nk_mouse
// MouseButton as declared in nk/nuklear.h:4599
type MouseButton C.struct_nk_mouse_button
// Page as declared in nk/nuklear.h:5552
type Page C.struct_nk_page
// PageData as declared in nk/nuklear.h:5540
const sizeofPageData = unsafe.Sizeof(C.union_nk_page_data{})
type PageData [sizeofPageData]byte
// PageElement as declared in nk/nuklear.h:5546
type PageElement C.struct_nk_page_element
// Panel as declared in nk/nuklear.h:439
type Panel C.struct_nk_panel
// Pool as declared in nk/nuklear.h:5558
type Pool C.struct_nk_pool
// PopupBuffer as declared in nk/nuklear.h:5312
type PopupBuffer C.struct_nk_popup_buffer
// PopupState as declared in nk/nuklear.h:5370
type PopupState C.struct_nk_popup_state
// PropertyState as declared in nk/nuklear.h:5395
type PropertyState C.struct_nk_property_state
// Rect as declared in nk/nuklear.h:461
type Rect C.struct_nk_rect
// Recti as declared in nk/nuklear.h:462
type Recti C.struct_nk_recti
// RowLayout as declared in nk/nuklear.h:5296
type RowLayout C.struct_nk_row_layout
// Scroll as declared in nk/nuklear.h:467
type Scroll C.struct_nk_scroll
// Str as declared in nk/nuklear.h:4164
type Str C.struct_nk_str
// Style as declared in nk/nuklear.h:5212
type Style C.struct_nk_style
// StyleButton as declared in nk/nuklear.h:442
type StyleButton C.struct_nk_style_button
// StyleChart as declared in nk/nuklear.h:450
type StyleChart C.struct_nk_style_chart
// StyleCombo as declared in nk/nuklear.h:451
type StyleCombo C.struct_nk_style_combo
// StyleEdit as declared in nk/nuklear.h:448
type StyleEdit C.struct_nk_style_edit
// StyleItem as declared in nk/nuklear.h:435
type StyleItem C.struct_nk_style_item
// StyleItemData as declared in nk/nuklear.h:4810
const sizeofStyleItemData = unsafe.Sizeof(C.union_nk_style_item_data{})
type StyleItemData [sizeofStyleItemData]byte
// StyleProgress as declared in nk/nuklear.h:446
type StyleProgress C.struct_nk_style_progress
// StyleProperty as declared in nk/nuklear.h:449
type StyleProperty C.struct_nk_style_property
// StyleScrollbar as declared in nk/nuklear.h:447
type StyleScrollbar C.struct_nk_style_scrollbar
// StyleSelectable as declared in nk/nuklear.h:444
type StyleSelectable C.struct_nk_style_selectable
// StyleSlide as declared in nk/nuklear.h:445
type StyleSlide C.struct_nk_style_slide
// StyleSlider as declared in nk/nuklear.h:4917
type StyleSlider C.struct_nk_style_slider
// StyleTab as declared in nk/nuklear.h:452
type StyleTab C.struct_nk_style_tab
// StyleText as declared in nk/nuklear.h:4820
type StyleText C.struct_nk_style_text
// StyleToggle as declared in nk/nuklear.h:443
type StyleToggle C.struct_nk_style_toggle
// StyleWindow as declared in nk/nuklear.h:454
type StyleWindow C.struct_nk_style_window
// StyleWindowHeader as declared in nk/nuklear.h:453
type StyleWindowHeader C.struct_nk_style_window_header
// Table as declared in nk/nuklear.h:5351
type Table C.struct_nk_table
// TextEdit as declared in nk/nuklear.h:436
type TextEdit C.struct_nk_text_edit
// TextUndoRecord as declared in nk/nuklear.h:4253
type TextUndoRecord C.struct_nk_text_undo_record
// TextUndoState as declared in nk/nuklear.h:4260
type TextUndoState C.struct_nk_text_undo_state
// UserFont as declared in nk/nuklear.h:438
type UserFont struct {
Userdata Handle
Height float32
Width TextWidthF
Query QueryFontGlyphF
Texture Handle
ref738ce62e *C.struct_nk_user_font
allocs738ce62e interface{}
}
// UserFontGlyph as declared in nk/nuklear.h:3895
type UserFontGlyph struct {
Uv [2]Vec2
Offset Vec2
Width float32
Height float32
Xadvance float32
ref4a84b297 *C.struct_nk_user_font_glyph
allocs4a84b297 interface{}
}
// Vec2 as declared in nk/nuklear.h:459
type Vec2 C.struct_nk_vec2
// Vec2i as declared in nk/nuklear.h:460
type Vec2i C.struct_nk_vec2i
// Window as declared in nk/nuklear.h:5408
type Window C.struct_nk_window