blend2d-bindings 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/ChangeLog +26 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +41 -0
  5. data/examples/test.rb +46 -0
  6. data/examples/util/setup_blend2d.rb +46 -0
  7. data/lib/blend2d.rb +95 -0
  8. data/lib/blend2d_api.rb +255 -0
  9. data/lib/blend2d_array.rb +319 -0
  10. data/lib/blend2d_bitarray.rb +275 -0
  11. data/lib/blend2d_bitset.rb +311 -0
  12. data/lib/blend2d_context.rb +1613 -0
  13. data/lib/blend2d_filesystem.rb +211 -0
  14. data/lib/blend2d_font.rb +281 -0
  15. data/lib/blend2d_fontdata.rb +209 -0
  16. data/lib/blend2d_fontdefs.rb +552 -0
  17. data/lib/blend2d_fontface.rb +345 -0
  18. data/lib/blend2d_fontfeaturesettings.rb +210 -0
  19. data/lib/blend2d_fontmanager.rb +187 -0
  20. data/lib/blend2d_fontvariationsettings.rb +210 -0
  21. data/lib/blend2d_format.rb +112 -0
  22. data/lib/blend2d_geometry.rb +424 -0
  23. data/lib/blend2d_glyphbuffer.rb +141 -0
  24. data/lib/blend2d_glyphrun.rb +101 -0
  25. data/lib/blend2d_gradient.rb +429 -0
  26. data/lib/blend2d_image.rb +291 -0
  27. data/lib/blend2d_imagecodec.rb +219 -0
  28. data/lib/blend2d_imagedecoder.rb +168 -0
  29. data/lib/blend2d_imageencoder.rb +159 -0
  30. data/lib/blend2d_matrix.rb +132 -0
  31. data/lib/blend2d_object.rb +326 -0
  32. data/lib/blend2d_path.rb +511 -0
  33. data/lib/blend2d_pattern.rb +202 -0
  34. data/lib/blend2d_pixelconverter.rb +109 -0
  35. data/lib/blend2d_random.rb +77 -0
  36. data/lib/blend2d_rgba.rb +95 -0
  37. data/lib/blend2d_runtime.rb +259 -0
  38. data/lib/blend2d_string.rb +245 -0
  39. data/lib/blend2d_var.rb +294 -0
  40. data/lib/libblend2d.aarch64.so +0 -0
  41. data/lib/libblend2d.arm64.dylib +0 -0
  42. data/lib/libblend2d.dll +0 -0
  43. data/lib/libblend2d.x86_64.dylib +0 -0
  44. data/lib/libblend2d.x86_64.so +0 -0
  45. metadata +99 -0
@@ -0,0 +1,1613 @@
1
+ # Ruby-Blend2D : Yet another Blend2D wrapper for Ruby
2
+ #
3
+ # * https://github.com/vaiorabbit/blend2d-bindings
4
+ #
5
+ # [NOTICE] Autogenerated. Do not edit.
6
+
7
+ require 'ffi'
8
+ require_relative 'blend2d_font'
9
+ require_relative 'blend2d_geometry'
10
+ require_relative 'blend2d_glyphrun'
11
+ require_relative 'blend2d_gradient'
12
+ require_relative 'blend2d_image'
13
+ require_relative 'blend2d_matrix'
14
+ require_relative 'blend2d_object'
15
+ require_relative 'blend2d_pattern'
16
+ require_relative 'blend2d_path'
17
+ require_relative 'blend2d_rgba'
18
+ require_relative 'blend2d_var'
19
+
20
+ module Blend2D
21
+ extend FFI::Library
22
+ # Define/Macro
23
+
24
+
25
+ # Enum
26
+
27
+ BL_CONTEXT_TYPE_NONE = 0
28
+ BL_CONTEXT_TYPE_DUMMY = 1
29
+ BL_CONTEXT_TYPE_RASTER = 3
30
+ BL_CONTEXT_TYPE_MAX_VALUE = 3
31
+ BL_CONTEXT_TYPE_FORCE_UINT = -1
32
+ BL_CONTEXT_HINT_RENDERING_QUALITY = 0
33
+ BL_CONTEXT_HINT_GRADIENT_QUALITY = 1
34
+ BL_CONTEXT_HINT_PATTERN_QUALITY = 2
35
+ BL_CONTEXT_HINT_MAX_VALUE = 7
36
+ BL_CONTEXT_HINT_FORCE_UINT = -1
37
+ BL_CONTEXT_STYLE_SLOT_FILL = 0
38
+ BL_CONTEXT_STYLE_SLOT_STROKE = 1
39
+ BL_CONTEXT_STYLE_SLOT_MAX_VALUE = 1
40
+ BL_CONTEXT_STYLE_SLOT_FORCE_UINT = -1
41
+ BL_CONTEXT_RENDER_TEXT_OP_UTF8 = 0
42
+ BL_CONTEXT_RENDER_TEXT_OP_UTF16 = 1
43
+ BL_CONTEXT_RENDER_TEXT_OP_UTF32 = 2
44
+ BL_CONTEXT_RENDER_TEXT_OP_LATIN1 = 3
45
+ BL_CONTEXT_RENDER_TEXT_OP_WCHAR = 1
46
+ BL_CONTEXT_RENDER_TEXT_OP_GLYPH_RUN = 4
47
+ BL_CONTEXT_RENDER_TEXT_OP_MAX_VALUE = 4
48
+ BL_CONTEXT_RENDER_TEXT_OP_TYPE_FORCE_UINT = -1
49
+ BL_CONTEXT_FLUSH_NO_FLAGS = 0
50
+ BL_CONTEXT_FLUSH_SYNC = -2147483648
51
+ BL_CONTEXT_FLUSH_FORCE_UINT = -1
52
+ BL_CONTEXT_CREATE_NO_FLAGS = 0
53
+ BL_CONTEXT_CREATE_FLAG_DISABLE_JIT = 1
54
+ BL_CONTEXT_CREATE_FLAG_FALLBACK_TO_SYNC = 1048576
55
+ BL_CONTEXT_CREATE_FLAG_ISOLATED_THREAD_POOL = 16777216
56
+ BL_CONTEXT_CREATE_FLAG_ISOLATED_JIT_RUNTIME = 33554432
57
+ BL_CONTEXT_CREATE_FLAG_ISOLATED_JIT_LOGGING = 67108864
58
+ BL_CONTEXT_CREATE_FLAG_OVERRIDE_CPU_FEATURES = 134217728
59
+ BL_CONTEXT_CREATE_FLAG_FORCE_UINT = -1
60
+ BL_CONTEXT_ERROR_NO_FLAGS = 0
61
+ BL_CONTEXT_ERROR_FLAG_INVALID_VALUE = 1
62
+ BL_CONTEXT_ERROR_FLAG_INVALID_STATE = 2
63
+ BL_CONTEXT_ERROR_FLAG_INVALID_GEOMETRY = 4
64
+ BL_CONTEXT_ERROR_FLAG_INVALID_GLYPH = 8
65
+ BL_CONTEXT_ERROR_FLAG_INVALID_FONT = 16
66
+ BL_CONTEXT_ERROR_FLAG_THREAD_POOL_EXHAUSTED = 536870912
67
+ BL_CONTEXT_ERROR_FLAG_OUT_OF_MEMORY = 1073741824
68
+ BL_CONTEXT_ERROR_FLAG_UNKNOWN_ERROR = -2147483648
69
+ BL_CONTEXT_ERROR_FLAG_FORCE_UINT = -1
70
+ BL_CONTEXT_STYLE_SWAP_MODE_STYLES = 0
71
+ BL_CONTEXT_STYLE_SWAP_MODE_STYLES_WITH_ALPHA = 1
72
+ BL_CONTEXT_STYLE_SWAP_MODE_MAX_VALUE = 1
73
+ BL_CONTEXT_STYLE_SWAP_MODE_FORCE_UINT = -1
74
+ BL_CONTEXT_STYLE_TRANSFORM_MODE_USER = 0
75
+ BL_CONTEXT_STYLE_TRANSFORM_MODE_META = 1
76
+ BL_CONTEXT_STYLE_TRANSFORM_MODE_NONE = 2
77
+ BL_CONTEXT_STYLE_TRANSFORM_MODE_MAX_VALUE = 2
78
+ BL_CONTEXT_STYLE_TRANSFORM_MODE_FORCE_UINT = -1
79
+ BL_CLIP_MODE_ALIGNED_RECT = 0
80
+ BL_CLIP_MODE_UNALIGNED_RECT = 1
81
+ BL_CLIP_MODE_MASK = 2
82
+ BL_CLIP_MODE_COUNT = 3
83
+ BL_CLIP_MODE_FORCE_UINT = -1
84
+ BL_COMP_OP_SRC_OVER = 0
85
+ BL_COMP_OP_SRC_COPY = 1
86
+ BL_COMP_OP_SRC_IN = 2
87
+ BL_COMP_OP_SRC_OUT = 3
88
+ BL_COMP_OP_SRC_ATOP = 4
89
+ BL_COMP_OP_DST_OVER = 5
90
+ BL_COMP_OP_DST_COPY = 6
91
+ BL_COMP_OP_DST_IN = 7
92
+ BL_COMP_OP_DST_OUT = 8
93
+ BL_COMP_OP_DST_ATOP = 9
94
+ BL_COMP_OP_XOR = 10
95
+ BL_COMP_OP_CLEAR = 11
96
+ BL_COMP_OP_PLUS = 12
97
+ BL_COMP_OP_MINUS = 13
98
+ BL_COMP_OP_MODULATE = 14
99
+ BL_COMP_OP_MULTIPLY = 15
100
+ BL_COMP_OP_SCREEN = 16
101
+ BL_COMP_OP_OVERLAY = 17
102
+ BL_COMP_OP_DARKEN = 18
103
+ BL_COMP_OP_LIGHTEN = 19
104
+ BL_COMP_OP_COLOR_DODGE = 20
105
+ BL_COMP_OP_COLOR_BURN = 21
106
+ BL_COMP_OP_LINEAR_BURN = 22
107
+ BL_COMP_OP_LINEAR_LIGHT = 23
108
+ BL_COMP_OP_PIN_LIGHT = 24
109
+ BL_COMP_OP_HARD_LIGHT = 25
110
+ BL_COMP_OP_SOFT_LIGHT = 26
111
+ BL_COMP_OP_DIFFERENCE = 27
112
+ BL_COMP_OP_EXCLUSION = 28
113
+ BL_COMP_OP_MAX_VALUE = 28
114
+ BL_COMP_OP_FORCE_UINT = -1
115
+ BL_RENDERING_QUALITY_ANTIALIAS = 0
116
+ BL_RENDERING_QUALITY_MAX_VALUE = 0
117
+ BL_RENDERING_QUALITY_FORCE_UINT = -1
118
+
119
+ # Typedef
120
+
121
+
122
+ class BLContextHints_Contents_Elements < FFI::Struct
123
+ layout(
124
+ :renderingQuality, :uchar,
125
+ :gradientQuality, :uchar,
126
+ :patternQuality, :uchar,
127
+ )
128
+ end
129
+
130
+ class BLContextHints_Contents < FFI::Union
131
+ layout(
132
+ :elements, BLContextHints_Contents_Elements,
133
+ :hints, [:uchar, 8],
134
+ )
135
+ end
136
+
137
+ class BLContextHints < FFI::Struct
138
+ layout(
139
+ :contents, BLContextHints_Contents,
140
+ )
141
+ end
142
+
143
+ typedef :int, :BLContextType
144
+ typedef :int, :BLContextHint
145
+ typedef :int, :BLContextStyleSlot
146
+ typedef :int, :BLContextRenderTextOp
147
+ typedef :int, :BLContextFlushFlags
148
+ typedef :int, :BLContextCreateFlags
149
+ typedef :int, :BLContextErrorFlags
150
+ typedef :int, :BLContextStyleSwapMode
151
+ typedef :int, :BLContextStyleTransformMode
152
+ typedef :int, :BLClipMode
153
+ typedef :int, :BLCompOp
154
+ typedef :int, :BLRenderingQuality
155
+
156
+ # Struct
157
+
158
+ class BLContextCreateInfo < FFI::Struct
159
+ layout(
160
+ :flags, :uint,
161
+ :threadCount, :uint,
162
+ :cpuFeatures, :uint,
163
+ :commandQueueLimit, :uint,
164
+ :savedStateLimit, :uint,
165
+ :pixelOrigin, BLPointI,
166
+ :reserved, :uint,
167
+ )
168
+ def flags = self[:flags]
169
+ def flags=(v) self[:flags] = v end
170
+ def threadCount = self[:threadCount]
171
+ def threadCount=(v) self[:threadCount] = v end
172
+ def cpuFeatures = self[:cpuFeatures]
173
+ def cpuFeatures=(v) self[:cpuFeatures] = v end
174
+ def commandQueueLimit = self[:commandQueueLimit]
175
+ def commandQueueLimit=(v) self[:commandQueueLimit] = v end
176
+ def savedStateLimit = self[:savedStateLimit]
177
+ def savedStateLimit=(v) self[:savedStateLimit] = v end
178
+ def pixelOrigin = self[:pixelOrigin]
179
+ def pixelOrigin=(v) self[:pixelOrigin] = v end
180
+ def reserved = self[:reserved]
181
+ def reserved=(v) self[:reserved] = v end
182
+ def self.create_as(_flags_, _threadCount_, _cpuFeatures_, _commandQueueLimit_, _savedStateLimit_, _pixelOrigin_, _reserved_)
183
+ instance = BLContextCreateInfo.new
184
+ instance[:flags] = _flags_
185
+ instance[:threadCount] = _threadCount_
186
+ instance[:cpuFeatures] = _cpuFeatures_
187
+ instance[:commandQueueLimit] = _commandQueueLimit_
188
+ instance[:savedStateLimit] = _savedStateLimit_
189
+ instance[:pixelOrigin] = _pixelOrigin_
190
+ instance[:reserved] = _reserved_
191
+ instance
192
+ end
193
+ end
194
+
195
+ class BLContextCookie < FFI::Struct
196
+ layout(
197
+ :data, [:ulong_long, 2],
198
+ )
199
+ def data = self[:data]
200
+ def data=(v) self[:data] = v end
201
+ def self.create_as(_data_)
202
+ instance = BLContextCookie.new
203
+ instance[:data] = _data_
204
+ instance
205
+ end
206
+ end
207
+
208
+ class BLContextCore < FFI::Struct
209
+ layout(
210
+ :_d, BLObjectDetail,
211
+ )
212
+ def _d = self[:_d]
213
+ def _d=(v) self[:_d] = v end
214
+ def init() = blContextInit(self)
215
+ def self.create()
216
+ instance = BLContextCore.new
217
+ blContextInit(instance)
218
+ instance
219
+ end
220
+ def initMove(other) = blContextInitMove(self, other)
221
+ def initWeak(other) = blContextInitWeak(self, other)
222
+ def initAs(image, cci) = blContextInitAs(self, image, cci)
223
+ def self.create_as(image, cci)
224
+ instance = BLContextCore.new
225
+ blContextInitAs(instance, image, cci)
226
+ instance
227
+ end
228
+ def destroy() = blContextDestroy(self)
229
+ def reset() = blContextReset(self)
230
+ def assignMove(other) = blContextAssignMove(self, other)
231
+ def assignWeak(other) = blContextAssignWeak(self, other)
232
+ def getType() = blContextGetType(self)
233
+ def getTargetSize(targetSizeOut) = blContextGetTargetSize(self, targetSizeOut)
234
+ def getTargetImage() = blContextGetTargetImage(self)
235
+ def begin(image, cci) = blContextBegin(self, image, cci)
236
+ def end() = blContextEnd(self)
237
+ def flush(flags) = blContextFlush(self, flags)
238
+ def save(cookie) = blContextSave(self, cookie)
239
+ def restore(cookie) = blContextRestore(self, cookie)
240
+ def getMetaTransform(transformOut) = blContextGetMetaTransform(self, transformOut)
241
+ def getUserTransform(transformOut) = blContextGetUserTransform(self, transformOut)
242
+ def getFinalTransform(transformOut) = blContextGetFinalTransform(self, transformOut)
243
+ def userToMeta() = blContextUserToMeta(self)
244
+ def applyTransformOp(opType, opData) = blContextApplyTransformOp(self, opType, opData)
245
+ def getHint(hintType) = blContextGetHint(self, hintType)
246
+ def setHint(hintType, value) = blContextSetHint(self, hintType, value)
247
+ def getHints(hintsOut) = blContextGetHints(self, hintsOut)
248
+ def setHints(hints) = blContextSetHints(self, hints)
249
+ def setFlattenMode(mode) = blContextSetFlattenMode(self, mode)
250
+ def setFlattenTolerance(tolerance) = blContextSetFlattenTolerance(self, tolerance)
251
+ def setApproximationOptions(options) = blContextSetApproximationOptions(self, options)
252
+ def getFillStyle(styleOut) = blContextGetFillStyle(self, styleOut)
253
+ def getTransformedFillStyle(styleOut) = blContextGetTransformedFillStyle(self, styleOut)
254
+ def setFillStyle(style) = blContextSetFillStyle(self, style)
255
+ def setFillStyleWithMode(style, transformMode) = blContextSetFillStyleWithMode(self, style, transformMode)
256
+ def setFillStyleRgba(rgba) = blContextSetFillStyleRgba(self, rgba)
257
+ def setFillStyleRgba32(rgba32) = blContextSetFillStyleRgba32(self, rgba32)
258
+ def setFillStyleRgba64(rgba64) = blContextSetFillStyleRgba64(self, rgba64)
259
+ def disableFillStyle() = blContextDisableFillStyle(self)
260
+ def getFillAlpha() = blContextGetFillAlpha(self)
261
+ def setFillAlpha(alpha) = blContextSetFillAlpha(self, alpha)
262
+ def getStrokeStyle(styleOut) = blContextGetStrokeStyle(self, styleOut)
263
+ def getTransformedStrokeStyle(styleOut) = blContextGetTransformedStrokeStyle(self, styleOut)
264
+ def setStrokeStyle(style) = blContextSetStrokeStyle(self, style)
265
+ def setStrokeStyleWithMode(style, transformMode) = blContextSetStrokeStyleWithMode(self, style, transformMode)
266
+ def setStrokeStyleRgba(rgba) = blContextSetStrokeStyleRgba(self, rgba)
267
+ def setStrokeStyleRgba32(rgba32) = blContextSetStrokeStyleRgba32(self, rgba32)
268
+ def setStrokeStyleRgba64(rgba64) = blContextSetStrokeStyleRgba64(self, rgba64)
269
+ def disableStrokeStyle() = blContextDisableStrokeStyle(self)
270
+ def getStrokeAlpha() = blContextGetStrokeAlpha(self)
271
+ def setStrokeAlpha(alpha) = blContextSetStrokeAlpha(self, alpha)
272
+ def swapStyles(mode) = blContextSwapStyles(self, mode)
273
+ def getGlobalAlpha() = blContextGetGlobalAlpha(self)
274
+ def setGlobalAlpha(alpha) = blContextSetGlobalAlpha(self, alpha)
275
+ def getCompOp() = blContextGetCompOp(self)
276
+ def setCompOp(compOp) = blContextSetCompOp(self, compOp)
277
+ def getFillRule() = blContextGetFillRule(self)
278
+ def setFillRule(fillRule) = blContextSetFillRule(self, fillRule)
279
+ def getStrokeWidth() = blContextGetStrokeWidth(self)
280
+ def setStrokeWidth(width) = blContextSetStrokeWidth(self, width)
281
+ def getStrokeMiterLimit() = blContextGetStrokeMiterLimit(self)
282
+ def setStrokeMiterLimit(miterLimit) = blContextSetStrokeMiterLimit(self, miterLimit)
283
+ def getStrokeCap(position) = blContextGetStrokeCap(self, position)
284
+ def setStrokeCap(position, strokeCap) = blContextSetStrokeCap(self, position, strokeCap)
285
+ def setStrokeCaps(strokeCap) = blContextSetStrokeCaps(self, strokeCap)
286
+ def getStrokeJoin() = blContextGetStrokeJoin(self)
287
+ def setStrokeJoin(strokeJoin) = blContextSetStrokeJoin(self, strokeJoin)
288
+ def getStrokeTransformOrder() = blContextGetStrokeTransformOrder(self)
289
+ def setStrokeTransformOrder(transformOrder) = blContextSetStrokeTransformOrder(self, transformOrder)
290
+ def getStrokeDashOffset() = blContextGetStrokeDashOffset(self)
291
+ def setStrokeDashOffset(dashOffset) = blContextSetStrokeDashOffset(self, dashOffset)
292
+ def getStrokeDashArray(dashArrayOut) = blContextGetStrokeDashArray(self, dashArrayOut)
293
+ def setStrokeDashArray(dashArray) = blContextSetStrokeDashArray(self, dashArray)
294
+ def getStrokeOptions(options) = blContextGetStrokeOptions(self, options)
295
+ def setStrokeOptions(options) = blContextSetStrokeOptions(self, options)
296
+ def clipToRectI(rect) = blContextClipToRectI(self, rect)
297
+ def clipToRectD(rect) = blContextClipToRectD(self, rect)
298
+ def restoreClipping() = blContextRestoreClipping(self)
299
+ def clearAll() = blContextClearAll(self)
300
+ def clearRectI(rect) = blContextClearRectI(self, rect)
301
+ def clearRectD(rect) = blContextClearRectD(self, rect)
302
+ def fillAll() = blContextFillAll(self)
303
+ def fillAllRgba32(rgba32) = blContextFillAllRgba32(self, rgba32)
304
+ def fillAllRgba64(rgba64) = blContextFillAllRgba64(self, rgba64)
305
+ def fillAllExt(style) = blContextFillAllExt(self, style)
306
+ def fillRectI(rect) = blContextFillRectI(self, rect)
307
+ def fillRectIRgba32(rect, rgba32) = blContextFillRectIRgba32(self, rect, rgba32)
308
+ def fillRectIRgba64(rect, rgba64) = blContextFillRectIRgba64(self, rect, rgba64)
309
+ def fillRectIExt(rect, style) = blContextFillRectIExt(self, rect, style)
310
+ def fillRectD(rect) = blContextFillRectD(self, rect)
311
+ def fillRectDRgba32(rect, rgba32) = blContextFillRectDRgba32(self, rect, rgba32)
312
+ def fillRectDRgba64(rect, rgba64) = blContextFillRectDRgba64(self, rect, rgba64)
313
+ def fillRectDExt(rect, style) = blContextFillRectDExt(self, rect, style)
314
+ def fillPathD(origin, path) = blContextFillPathD(self, origin, path)
315
+ def fillPathDRgba32(origin, path, rgba32) = blContextFillPathDRgba32(self, origin, path, rgba32)
316
+ def fillPathDRgba64(origin, path, rgba64) = blContextFillPathDRgba64(self, origin, path, rgba64)
317
+ def fillPathDExt(origin, path, style) = blContextFillPathDExt(self, origin, path, style)
318
+ def fillGeometry(type, data) = blContextFillGeometry(self, type, data)
319
+ def fillGeometryRgba32(type, data, rgba32) = blContextFillGeometryRgba32(self, type, data, rgba32)
320
+ def fillGeometryRgba64(type, data, rgba64) = blContextFillGeometryRgba64(self, type, data, rgba64)
321
+ def fillGeometryExt(type, data, style) = blContextFillGeometryExt(self, type, data, style)
322
+ def fillUtf8TextI(origin, font, text, size) = blContextFillUtf8TextI(self, origin, font, text, size)
323
+ def fillUtf8TextIRgba32(origin, font, text, size, rgba32) = blContextFillUtf8TextIRgba32(self, origin, font, text, size, rgba32)
324
+ def fillUtf8TextIRgba64(origin, font, text, size, rgba64) = blContextFillUtf8TextIRgba64(self, origin, font, text, size, rgba64)
325
+ def fillUtf8TextIExt(origin, font, text, size, style) = blContextFillUtf8TextIExt(self, origin, font, text, size, style)
326
+ def fillUtf8TextD(origin, font, text, size) = blContextFillUtf8TextD(self, origin, font, text, size)
327
+ def fillUtf8TextDRgba32(origin, font, text, size, rgba32) = blContextFillUtf8TextDRgba32(self, origin, font, text, size, rgba32)
328
+ def fillUtf8TextDRgba64(origin, font, text, size, rgba64) = blContextFillUtf8TextDRgba64(self, origin, font, text, size, rgba64)
329
+ def fillUtf8TextDExt(origin, font, text, size, style) = blContextFillUtf8TextDExt(self, origin, font, text, size, style)
330
+ def fillUtf16TextI(origin, font, text, size) = blContextFillUtf16TextI(self, origin, font, text, size)
331
+ def fillUtf16TextIRgba32(origin, font, text, size, rgba32) = blContextFillUtf16TextIRgba32(self, origin, font, text, size, rgba32)
332
+ def fillUtf16TextIRgba64(origin, font, text, size, rgba64) = blContextFillUtf16TextIRgba64(self, origin, font, text, size, rgba64)
333
+ def fillUtf16TextIExt(origin, font, text, size, style) = blContextFillUtf16TextIExt(self, origin, font, text, size, style)
334
+ def fillUtf16TextD(origin, font, text, size) = blContextFillUtf16TextD(self, origin, font, text, size)
335
+ def fillUtf16TextDRgba32(origin, font, text, size, rgba32) = blContextFillUtf16TextDRgba32(self, origin, font, text, size, rgba32)
336
+ def fillUtf16TextDRgba64(origin, font, text, size, rgba64) = blContextFillUtf16TextDRgba64(self, origin, font, text, size, rgba64)
337
+ def fillUtf16TextDExt(origin, font, text, size, style) = blContextFillUtf16TextDExt(self, origin, font, text, size, style)
338
+ def fillUtf32TextI(origin, font, text, size) = blContextFillUtf32TextI(self, origin, font, text, size)
339
+ def fillUtf32TextIRgba32(origin, font, text, size, rgba32) = blContextFillUtf32TextIRgba32(self, origin, font, text, size, rgba32)
340
+ def fillUtf32TextIRgba64(origin, font, text, size, rgba64) = blContextFillUtf32TextIRgba64(self, origin, font, text, size, rgba64)
341
+ def fillUtf32TextIExt(origin, font, text, size, style) = blContextFillUtf32TextIExt(self, origin, font, text, size, style)
342
+ def fillUtf32TextD(origin, font, text, size) = blContextFillUtf32TextD(self, origin, font, text, size)
343
+ def fillUtf32TextDRgba32(origin, font, text, size, rgba32) = blContextFillUtf32TextDRgba32(self, origin, font, text, size, rgba32)
344
+ def fillUtf32TextDRgba64(origin, font, text, size, rgba64) = blContextFillUtf32TextDRgba64(self, origin, font, text, size, rgba64)
345
+ def fillUtf32TextDExt(origin, font, text, size, style) = blContextFillUtf32TextDExt(self, origin, font, text, size, style)
346
+ def fillGlyphRunI(origin, font, glyphRun) = blContextFillGlyphRunI(self, origin, font, glyphRun)
347
+ def fillGlyphRunIRgba32(origin, font, glyphRun, rgba32) = blContextFillGlyphRunIRgba32(self, origin, font, glyphRun, rgba32)
348
+ def fillGlyphRunIRgba64(origin, font, glyphRun, rgba64) = blContextFillGlyphRunIRgba64(self, origin, font, glyphRun, rgba64)
349
+ def fillGlyphRunIExt(origin, font, glyphRun, style) = blContextFillGlyphRunIExt(self, origin, font, glyphRun, style)
350
+ def fillGlyphRunD(origin, font, glyphRun) = blContextFillGlyphRunD(self, origin, font, glyphRun)
351
+ def fillGlyphRunDRgba32(origin, font, glyphRun, rgba32) = blContextFillGlyphRunDRgba32(self, origin, font, glyphRun, rgba32)
352
+ def fillGlyphRunDRgba64(origin, font, glyphRun, rgba64) = blContextFillGlyphRunDRgba64(self, origin, font, glyphRun, rgba64)
353
+ def fillGlyphRunDExt(origin, font, glyphRun, style) = blContextFillGlyphRunDExt(self, origin, font, glyphRun, style)
354
+ def fillMaskI(origin, mask, maskArea) = blContextFillMaskI(self, origin, mask, maskArea)
355
+ def fillMaskIRgba32(origin, mask, maskArea, rgba32) = blContextFillMaskIRgba32(self, origin, mask, maskArea, rgba32)
356
+ def fillMaskIRgba64(origin, mask, maskArea, rgba64) = blContextFillMaskIRgba64(self, origin, mask, maskArea, rgba64)
357
+ def fillMaskIExt(origin, mask, maskArea, style) = blContextFillMaskIExt(self, origin, mask, maskArea, style)
358
+ def fillMaskD(origin, mask, maskArea) = blContextFillMaskD(self, origin, mask, maskArea)
359
+ def fillMaskDRgba32(origin, mask, maskArea, rgba32) = blContextFillMaskDRgba32(self, origin, mask, maskArea, rgba32)
360
+ def fillMaskDRgba64(origin, mask, maskArea, rgba64) = blContextFillMaskDRgba64(self, origin, mask, maskArea, rgba64)
361
+ def fillMaskDExt(origin, mask, maskArea, style) = blContextFillMaskDExt(self, origin, mask, maskArea, style)
362
+ def strokeRectI(rect) = blContextStrokeRectI(self, rect)
363
+ def strokeRectIRgba32(rect, rgba32) = blContextStrokeRectIRgba32(self, rect, rgba32)
364
+ def strokeRectIRgba64(rect, rgba64) = blContextStrokeRectIRgba64(self, rect, rgba64)
365
+ def strokeRectIExt(rect, style) = blContextStrokeRectIExt(self, rect, style)
366
+ def strokeRectD(rect) = blContextStrokeRectD(self, rect)
367
+ def strokeRectDRgba32(rect, rgba32) = blContextStrokeRectDRgba32(self, rect, rgba32)
368
+ def strokeRectDRgba64(rect, rgba64) = blContextStrokeRectDRgba64(self, rect, rgba64)
369
+ def strokeRectDExt(rect, style) = blContextStrokeRectDExt(self, rect, style)
370
+ def strokePathD(origin, path) = blContextStrokePathD(self, origin, path)
371
+ def strokePathDRgba32(origin, path, rgba32) = blContextStrokePathDRgba32(self, origin, path, rgba32)
372
+ def strokePathDRgba64(origin, path, rgba64) = blContextStrokePathDRgba64(self, origin, path, rgba64)
373
+ def strokePathDExt(origin, path, style) = blContextStrokePathDExt(self, origin, path, style)
374
+ def strokeGeometry(type, data) = blContextStrokeGeometry(self, type, data)
375
+ def strokeGeometryRgba32(type, data, rgba32) = blContextStrokeGeometryRgba32(self, type, data, rgba32)
376
+ def strokeGeometryRgba64(type, data, rgba64) = blContextStrokeGeometryRgba64(self, type, data, rgba64)
377
+ def strokeGeometryExt(type, data, style) = blContextStrokeGeometryExt(self, type, data, style)
378
+ def strokeUtf8TextI(origin, font, text, size) = blContextStrokeUtf8TextI(self, origin, font, text, size)
379
+ def strokeUtf8TextIRgba32(origin, font, text, size, rgba32) = blContextStrokeUtf8TextIRgba32(self, origin, font, text, size, rgba32)
380
+ def strokeUtf8TextIRgba64(origin, font, text, size, rgba64) = blContextStrokeUtf8TextIRgba64(self, origin, font, text, size, rgba64)
381
+ def strokeUtf8TextIExt(origin, font, text, size, style) = blContextStrokeUtf8TextIExt(self, origin, font, text, size, style)
382
+ def strokeUtf8TextD(origin, font, text, size) = blContextStrokeUtf8TextD(self, origin, font, text, size)
383
+ def strokeUtf8TextDRgba32(origin, font, text, size, rgba32) = blContextStrokeUtf8TextDRgba32(self, origin, font, text, size, rgba32)
384
+ def strokeUtf8TextDRgba64(origin, font, text, size, rgba64) = blContextStrokeUtf8TextDRgba64(self, origin, font, text, size, rgba64)
385
+ def strokeUtf8TextDExt(origin, font, text, size, style) = blContextStrokeUtf8TextDExt(self, origin, font, text, size, style)
386
+ def strokeUtf16TextI(origin, font, text, size) = blContextStrokeUtf16TextI(self, origin, font, text, size)
387
+ def strokeUtf16TextIRgba32(origin, font, text, size, rgba32) = blContextStrokeUtf16TextIRgba32(self, origin, font, text, size, rgba32)
388
+ def strokeUtf16TextIRgba64(origin, font, text, size, rgba64) = blContextStrokeUtf16TextIRgba64(self, origin, font, text, size, rgba64)
389
+ def strokeUtf16TextIExt(origin, font, text, size, style) = blContextStrokeUtf16TextIExt(self, origin, font, text, size, style)
390
+ def strokeUtf16TextD(origin, font, text, size) = blContextStrokeUtf16TextD(self, origin, font, text, size)
391
+ def strokeUtf16TextDRgba32(origin, font, text, size, rgba32) = blContextStrokeUtf16TextDRgba32(self, origin, font, text, size, rgba32)
392
+ def strokeUtf16TextDRgba64(origin, font, text, size, rgba64) = blContextStrokeUtf16TextDRgba64(self, origin, font, text, size, rgba64)
393
+ def strokeUtf16TextDExt(origin, font, text, size, style) = blContextStrokeUtf16TextDExt(self, origin, font, text, size, style)
394
+ def strokeUtf32TextI(origin, font, text, size) = blContextStrokeUtf32TextI(self, origin, font, text, size)
395
+ def strokeUtf32TextIRgba32(origin, font, text, size, rgba32) = blContextStrokeUtf32TextIRgba32(self, origin, font, text, size, rgba32)
396
+ def strokeUtf32TextIRgba64(origin, font, text, size, rgba64) = blContextStrokeUtf32TextIRgba64(self, origin, font, text, size, rgba64)
397
+ def strokeUtf32TextIExt(origin, font, text, size, style) = blContextStrokeUtf32TextIExt(self, origin, font, text, size, style)
398
+ def strokeUtf32TextD(origin, font, text, size) = blContextStrokeUtf32TextD(self, origin, font, text, size)
399
+ def strokeUtf32TextDRgba32(origin, font, text, size, rgba32) = blContextStrokeUtf32TextDRgba32(self, origin, font, text, size, rgba32)
400
+ def strokeUtf32TextDRgba64(origin, font, text, size, rgba64) = blContextStrokeUtf32TextDRgba64(self, origin, font, text, size, rgba64)
401
+ def strokeUtf32TextDExt(origin, font, text, size, style) = blContextStrokeUtf32TextDExt(self, origin, font, text, size, style)
402
+ def strokeGlyphRunI(origin, font, glyphRun) = blContextStrokeGlyphRunI(self, origin, font, glyphRun)
403
+ def strokeGlyphRunIRgba32(origin, font, glyphRun, rgba32) = blContextStrokeGlyphRunIRgba32(self, origin, font, glyphRun, rgba32)
404
+ def strokeGlyphRunIRgba64(origin, font, glyphRun, rgba64) = blContextStrokeGlyphRunIRgba64(self, origin, font, glyphRun, rgba64)
405
+ def strokeGlyphRunIExt(origin, font, glyphRun, style) = blContextStrokeGlyphRunIExt(self, origin, font, glyphRun, style)
406
+ def strokeGlyphRunD(origin, font, glyphRun) = blContextStrokeGlyphRunD(self, origin, font, glyphRun)
407
+ def strokeGlyphRunDRgba32(origin, font, glyphRun, rgba32) = blContextStrokeGlyphRunDRgba32(self, origin, font, glyphRun, rgba32)
408
+ def strokeGlyphRunDRgba64(origin, font, glyphRun, rgba64) = blContextStrokeGlyphRunDRgba64(self, origin, font, glyphRun, rgba64)
409
+ def strokeGlyphRunDExt(origin, font, glyphRun, style) = blContextStrokeGlyphRunDExt(self, origin, font, glyphRun, style)
410
+ def blitImageI(origin, img, imgArea) = blContextBlitImageI(self, origin, img, imgArea)
411
+ def blitImageD(origin, img, imgArea) = blContextBlitImageD(self, origin, img, imgArea)
412
+ def blitScaledImageI(rect, img, imgArea) = blContextBlitScaledImageI(self, rect, img, imgArea)
413
+ def blitScaledImageD(rect, img, imgArea) = blContextBlitScaledImageD(self, rect, img, imgArea)
414
+ end
415
+
416
+ class BLContextVirt < FFI::Struct
417
+ layout(
418
+ :base, BLObjectVirtBase,
419
+ :applyTransformOp, :pointer,
420
+ :fillRectI, :pointer,
421
+ :fillRectIRgba32, :pointer,
422
+ :fillRectIExt, :pointer,
423
+ :fillRectD, :pointer,
424
+ :fillRectDRgba32, :pointer,
425
+ :fillRectDExt, :pointer,
426
+ :fillPathD, :pointer,
427
+ :fillPathDRgba32, :pointer,
428
+ :fillPathDExt, :pointer,
429
+ :blitImageI, :pointer,
430
+ :blitScaledImageI, :pointer,
431
+ :flush, :pointer,
432
+ :save, :pointer,
433
+ :restore, :pointer,
434
+ :userToMeta, :pointer,
435
+ :setHint, :pointer,
436
+ :setHints, :pointer,
437
+ :setFlattenMode, :pointer,
438
+ :setFlattenTolerance, :pointer,
439
+ :setApproximationOptions, :pointer,
440
+ :getStyle, :pointer,
441
+ :setStyle, :pointer,
442
+ :setStyleRgba, :pointer,
443
+ :setStyleRgba32, :pointer,
444
+ :setStyleRgba64, :pointer,
445
+ :disableStyle, :pointer,
446
+ :setStyleAlpha, :pointer,
447
+ :swapStyles, :pointer,
448
+ :setGlobalAlpha, :pointer,
449
+ :setCompOp, :pointer,
450
+ :setFillRule, :pointer,
451
+ :setStrokeWidth, :pointer,
452
+ :setStrokeMiterLimit, :pointer,
453
+ :setStrokeCap, :pointer,
454
+ :setStrokeCaps, :pointer,
455
+ :setStrokeJoin, :pointer,
456
+ :setStrokeDashOffset, :pointer,
457
+ :setStrokeDashArray, :pointer,
458
+ :setStrokeTransformOrder, :pointer,
459
+ :setStrokeOptions, :pointer,
460
+ :clipToRectI, :pointer,
461
+ :clipToRectD, :pointer,
462
+ :restoreClipping, :pointer,
463
+ :clearAll, :pointer,
464
+ :clearRectI, :pointer,
465
+ :clearRectD, :pointer,
466
+ :fillAll, :pointer,
467
+ :fillAllRgba32, :pointer,
468
+ :fillAllExt, :pointer,
469
+ :fillGeometry, :pointer,
470
+ :fillGeometryRgba32, :pointer,
471
+ :fillGeometryExt, :pointer,
472
+ :fillTextOpI, :pointer,
473
+ :fillTextOpIRgba32, :pointer,
474
+ :fillTextOpIExt, :pointer,
475
+ :fillTextOpD, :pointer,
476
+ :fillTextOpDRgba32, :pointer,
477
+ :fillTextOpDExt, :pointer,
478
+ :fillMaskI, :pointer,
479
+ :fillMaskIRgba32, :pointer,
480
+ :fillMaskIExt, :pointer,
481
+ :fillMaskD, :pointer,
482
+ :fillMaskDRgba32, :pointer,
483
+ :fillMaskDExt, :pointer,
484
+ :strokePathD, :pointer,
485
+ :strokePathDRgba32, :pointer,
486
+ :strokePathDExt, :pointer,
487
+ :strokeGeometry, :pointer,
488
+ :strokeGeometryRgba32, :pointer,
489
+ :strokeGeometryExt, :pointer,
490
+ :strokeTextOpI, :pointer,
491
+ :strokeTextOpIRgba32, :pointer,
492
+ :strokeTextOpIExt, :pointer,
493
+ :strokeTextOpD, :pointer,
494
+ :strokeTextOpDRgba32, :pointer,
495
+ :strokeTextOpDExt, :pointer,
496
+ :blitImageD, :pointer,
497
+ :blitScaledImageD, :pointer,
498
+ )
499
+ def base = self[:base]
500
+ def base=(v) self[:base] = v end
501
+ def applyTransformOp = self[:applyTransformOp]
502
+ def applyTransformOp=(v) self[:applyTransformOp] = v end
503
+ def fillRectI = self[:fillRectI]
504
+ def fillRectI=(v) self[:fillRectI] = v end
505
+ def fillRectIRgba32 = self[:fillRectIRgba32]
506
+ def fillRectIRgba32=(v) self[:fillRectIRgba32] = v end
507
+ def fillRectIExt = self[:fillRectIExt]
508
+ def fillRectIExt=(v) self[:fillRectIExt] = v end
509
+ def fillRectD = self[:fillRectD]
510
+ def fillRectD=(v) self[:fillRectD] = v end
511
+ def fillRectDRgba32 = self[:fillRectDRgba32]
512
+ def fillRectDRgba32=(v) self[:fillRectDRgba32] = v end
513
+ def fillRectDExt = self[:fillRectDExt]
514
+ def fillRectDExt=(v) self[:fillRectDExt] = v end
515
+ def fillPathD = self[:fillPathD]
516
+ def fillPathD=(v) self[:fillPathD] = v end
517
+ def fillPathDRgba32 = self[:fillPathDRgba32]
518
+ def fillPathDRgba32=(v) self[:fillPathDRgba32] = v end
519
+ def fillPathDExt = self[:fillPathDExt]
520
+ def fillPathDExt=(v) self[:fillPathDExt] = v end
521
+ def blitImageI = self[:blitImageI]
522
+ def blitImageI=(v) self[:blitImageI] = v end
523
+ def blitScaledImageI = self[:blitScaledImageI]
524
+ def blitScaledImageI=(v) self[:blitScaledImageI] = v end
525
+ def flush = self[:flush]
526
+ def flush=(v) self[:flush] = v end
527
+ def save = self[:save]
528
+ def save=(v) self[:save] = v end
529
+ def restore = self[:restore]
530
+ def restore=(v) self[:restore] = v end
531
+ def userToMeta = self[:userToMeta]
532
+ def userToMeta=(v) self[:userToMeta] = v end
533
+ def setHint = self[:setHint]
534
+ def setHint=(v) self[:setHint] = v end
535
+ def setHints = self[:setHints]
536
+ def setHints=(v) self[:setHints] = v end
537
+ def setFlattenMode = self[:setFlattenMode]
538
+ def setFlattenMode=(v) self[:setFlattenMode] = v end
539
+ def setFlattenTolerance = self[:setFlattenTolerance]
540
+ def setFlattenTolerance=(v) self[:setFlattenTolerance] = v end
541
+ def setApproximationOptions = self[:setApproximationOptions]
542
+ def setApproximationOptions=(v) self[:setApproximationOptions] = v end
543
+ def getStyle = self[:getStyle]
544
+ def getStyle=(v) self[:getStyle] = v end
545
+ def setStyle = self[:setStyle]
546
+ def setStyle=(v) self[:setStyle] = v end
547
+ def setStyleRgba = self[:setStyleRgba]
548
+ def setStyleRgba=(v) self[:setStyleRgba] = v end
549
+ def setStyleRgba32 = self[:setStyleRgba32]
550
+ def setStyleRgba32=(v) self[:setStyleRgba32] = v end
551
+ def setStyleRgba64 = self[:setStyleRgba64]
552
+ def setStyleRgba64=(v) self[:setStyleRgba64] = v end
553
+ def disableStyle = self[:disableStyle]
554
+ def disableStyle=(v) self[:disableStyle] = v end
555
+ def setStyleAlpha = self[:setStyleAlpha]
556
+ def setStyleAlpha=(v) self[:setStyleAlpha] = v end
557
+ def swapStyles = self[:swapStyles]
558
+ def swapStyles=(v) self[:swapStyles] = v end
559
+ def setGlobalAlpha = self[:setGlobalAlpha]
560
+ def setGlobalAlpha=(v) self[:setGlobalAlpha] = v end
561
+ def setCompOp = self[:setCompOp]
562
+ def setCompOp=(v) self[:setCompOp] = v end
563
+ def setFillRule = self[:setFillRule]
564
+ def setFillRule=(v) self[:setFillRule] = v end
565
+ def setStrokeWidth = self[:setStrokeWidth]
566
+ def setStrokeWidth=(v) self[:setStrokeWidth] = v end
567
+ def setStrokeMiterLimit = self[:setStrokeMiterLimit]
568
+ def setStrokeMiterLimit=(v) self[:setStrokeMiterLimit] = v end
569
+ def setStrokeCap = self[:setStrokeCap]
570
+ def setStrokeCap=(v) self[:setStrokeCap] = v end
571
+ def setStrokeCaps = self[:setStrokeCaps]
572
+ def setStrokeCaps=(v) self[:setStrokeCaps] = v end
573
+ def setStrokeJoin = self[:setStrokeJoin]
574
+ def setStrokeJoin=(v) self[:setStrokeJoin] = v end
575
+ def setStrokeDashOffset = self[:setStrokeDashOffset]
576
+ def setStrokeDashOffset=(v) self[:setStrokeDashOffset] = v end
577
+ def setStrokeDashArray = self[:setStrokeDashArray]
578
+ def setStrokeDashArray=(v) self[:setStrokeDashArray] = v end
579
+ def setStrokeTransformOrder = self[:setStrokeTransformOrder]
580
+ def setStrokeTransformOrder=(v) self[:setStrokeTransformOrder] = v end
581
+ def setStrokeOptions = self[:setStrokeOptions]
582
+ def setStrokeOptions=(v) self[:setStrokeOptions] = v end
583
+ def clipToRectI = self[:clipToRectI]
584
+ def clipToRectI=(v) self[:clipToRectI] = v end
585
+ def clipToRectD = self[:clipToRectD]
586
+ def clipToRectD=(v) self[:clipToRectD] = v end
587
+ def restoreClipping = self[:restoreClipping]
588
+ def restoreClipping=(v) self[:restoreClipping] = v end
589
+ def clearAll = self[:clearAll]
590
+ def clearAll=(v) self[:clearAll] = v end
591
+ def clearRectI = self[:clearRectI]
592
+ def clearRectI=(v) self[:clearRectI] = v end
593
+ def clearRectD = self[:clearRectD]
594
+ def clearRectD=(v) self[:clearRectD] = v end
595
+ def fillAll = self[:fillAll]
596
+ def fillAll=(v) self[:fillAll] = v end
597
+ def fillAllRgba32 = self[:fillAllRgba32]
598
+ def fillAllRgba32=(v) self[:fillAllRgba32] = v end
599
+ def fillAllExt = self[:fillAllExt]
600
+ def fillAllExt=(v) self[:fillAllExt] = v end
601
+ def fillGeometry = self[:fillGeometry]
602
+ def fillGeometry=(v) self[:fillGeometry] = v end
603
+ def fillGeometryRgba32 = self[:fillGeometryRgba32]
604
+ def fillGeometryRgba32=(v) self[:fillGeometryRgba32] = v end
605
+ def fillGeometryExt = self[:fillGeometryExt]
606
+ def fillGeometryExt=(v) self[:fillGeometryExt] = v end
607
+ def fillTextOpI = self[:fillTextOpI]
608
+ def fillTextOpI=(v) self[:fillTextOpI] = v end
609
+ def fillTextOpIRgba32 = self[:fillTextOpIRgba32]
610
+ def fillTextOpIRgba32=(v) self[:fillTextOpIRgba32] = v end
611
+ def fillTextOpIExt = self[:fillTextOpIExt]
612
+ def fillTextOpIExt=(v) self[:fillTextOpIExt] = v end
613
+ def fillTextOpD = self[:fillTextOpD]
614
+ def fillTextOpD=(v) self[:fillTextOpD] = v end
615
+ def fillTextOpDRgba32 = self[:fillTextOpDRgba32]
616
+ def fillTextOpDRgba32=(v) self[:fillTextOpDRgba32] = v end
617
+ def fillTextOpDExt = self[:fillTextOpDExt]
618
+ def fillTextOpDExt=(v) self[:fillTextOpDExt] = v end
619
+ def fillMaskI = self[:fillMaskI]
620
+ def fillMaskI=(v) self[:fillMaskI] = v end
621
+ def fillMaskIRgba32 = self[:fillMaskIRgba32]
622
+ def fillMaskIRgba32=(v) self[:fillMaskIRgba32] = v end
623
+ def fillMaskIExt = self[:fillMaskIExt]
624
+ def fillMaskIExt=(v) self[:fillMaskIExt] = v end
625
+ def fillMaskD = self[:fillMaskD]
626
+ def fillMaskD=(v) self[:fillMaskD] = v end
627
+ def fillMaskDRgba32 = self[:fillMaskDRgba32]
628
+ def fillMaskDRgba32=(v) self[:fillMaskDRgba32] = v end
629
+ def fillMaskDExt = self[:fillMaskDExt]
630
+ def fillMaskDExt=(v) self[:fillMaskDExt] = v end
631
+ def strokePathD = self[:strokePathD]
632
+ def strokePathD=(v) self[:strokePathD] = v end
633
+ def strokePathDRgba32 = self[:strokePathDRgba32]
634
+ def strokePathDRgba32=(v) self[:strokePathDRgba32] = v end
635
+ def strokePathDExt = self[:strokePathDExt]
636
+ def strokePathDExt=(v) self[:strokePathDExt] = v end
637
+ def strokeGeometry = self[:strokeGeometry]
638
+ def strokeGeometry=(v) self[:strokeGeometry] = v end
639
+ def strokeGeometryRgba32 = self[:strokeGeometryRgba32]
640
+ def strokeGeometryRgba32=(v) self[:strokeGeometryRgba32] = v end
641
+ def strokeGeometryExt = self[:strokeGeometryExt]
642
+ def strokeGeometryExt=(v) self[:strokeGeometryExt] = v end
643
+ def strokeTextOpI = self[:strokeTextOpI]
644
+ def strokeTextOpI=(v) self[:strokeTextOpI] = v end
645
+ def strokeTextOpIRgba32 = self[:strokeTextOpIRgba32]
646
+ def strokeTextOpIRgba32=(v) self[:strokeTextOpIRgba32] = v end
647
+ def strokeTextOpIExt = self[:strokeTextOpIExt]
648
+ def strokeTextOpIExt=(v) self[:strokeTextOpIExt] = v end
649
+ def strokeTextOpD = self[:strokeTextOpD]
650
+ def strokeTextOpD=(v) self[:strokeTextOpD] = v end
651
+ def strokeTextOpDRgba32 = self[:strokeTextOpDRgba32]
652
+ def strokeTextOpDRgba32=(v) self[:strokeTextOpDRgba32] = v end
653
+ def strokeTextOpDExt = self[:strokeTextOpDExt]
654
+ def strokeTextOpDExt=(v) self[:strokeTextOpDExt] = v end
655
+ def blitImageD = self[:blitImageD]
656
+ def blitImageD=(v) self[:blitImageD] = v end
657
+ def blitScaledImageD = self[:blitScaledImageD]
658
+ def blitScaledImageD=(v) self[:blitScaledImageD] = v end
659
+ def self.create_as(_base_, _applyTransformOp_, _fillRectI_, _fillRectIRgba32_, _fillRectIExt_, _fillRectD_, _fillRectDRgba32_, _fillRectDExt_, _fillPathD_, _fillPathDRgba32_, _fillPathDExt_, _blitImageI_, _blitScaledImageI_, _flush_, _save_, _restore_, _userToMeta_, _setHint_, _setHints_, _setFlattenMode_, _setFlattenTolerance_, _setApproximationOptions_, _getStyle_, _setStyle_, _setStyleRgba_, _setStyleRgba32_, _setStyleRgba64_, _disableStyle_, _setStyleAlpha_, _swapStyles_, _setGlobalAlpha_, _setCompOp_, _setFillRule_, _setStrokeWidth_, _setStrokeMiterLimit_, _setStrokeCap_, _setStrokeCaps_, _setStrokeJoin_, _setStrokeDashOffset_, _setStrokeDashArray_, _setStrokeTransformOrder_, _setStrokeOptions_, _clipToRectI_, _clipToRectD_, _restoreClipping_, _clearAll_, _clearRectI_, _clearRectD_, _fillAll_, _fillAllRgba32_, _fillAllExt_, _fillGeometry_, _fillGeometryRgba32_, _fillGeometryExt_, _fillTextOpI_, _fillTextOpIRgba32_, _fillTextOpIExt_, _fillTextOpD_, _fillTextOpDRgba32_, _fillTextOpDExt_, _fillMaskI_, _fillMaskIRgba32_, _fillMaskIExt_, _fillMaskD_, _fillMaskDRgba32_, _fillMaskDExt_, _strokePathD_, _strokePathDRgba32_, _strokePathDExt_, _strokeGeometry_, _strokeGeometryRgba32_, _strokeGeometryExt_, _strokeTextOpI_, _strokeTextOpIRgba32_, _strokeTextOpIExt_, _strokeTextOpD_, _strokeTextOpDRgba32_, _strokeTextOpDExt_, _blitImageD_, _blitScaledImageD_)
660
+ instance = BLContextVirt.new
661
+ instance[:base] = _base_
662
+ instance[:applyTransformOp] = _applyTransformOp_
663
+ instance[:fillRectI] = _fillRectI_
664
+ instance[:fillRectIRgba32] = _fillRectIRgba32_
665
+ instance[:fillRectIExt] = _fillRectIExt_
666
+ instance[:fillRectD] = _fillRectD_
667
+ instance[:fillRectDRgba32] = _fillRectDRgba32_
668
+ instance[:fillRectDExt] = _fillRectDExt_
669
+ instance[:fillPathD] = _fillPathD_
670
+ instance[:fillPathDRgba32] = _fillPathDRgba32_
671
+ instance[:fillPathDExt] = _fillPathDExt_
672
+ instance[:blitImageI] = _blitImageI_
673
+ instance[:blitScaledImageI] = _blitScaledImageI_
674
+ instance[:flush] = _flush_
675
+ instance[:save] = _save_
676
+ instance[:restore] = _restore_
677
+ instance[:userToMeta] = _userToMeta_
678
+ instance[:setHint] = _setHint_
679
+ instance[:setHints] = _setHints_
680
+ instance[:setFlattenMode] = _setFlattenMode_
681
+ instance[:setFlattenTolerance] = _setFlattenTolerance_
682
+ instance[:setApproximationOptions] = _setApproximationOptions_
683
+ instance[:getStyle] = _getStyle_
684
+ instance[:setStyle] = _setStyle_
685
+ instance[:setStyleRgba] = _setStyleRgba_
686
+ instance[:setStyleRgba32] = _setStyleRgba32_
687
+ instance[:setStyleRgba64] = _setStyleRgba64_
688
+ instance[:disableStyle] = _disableStyle_
689
+ instance[:setStyleAlpha] = _setStyleAlpha_
690
+ instance[:swapStyles] = _swapStyles_
691
+ instance[:setGlobalAlpha] = _setGlobalAlpha_
692
+ instance[:setCompOp] = _setCompOp_
693
+ instance[:setFillRule] = _setFillRule_
694
+ instance[:setStrokeWidth] = _setStrokeWidth_
695
+ instance[:setStrokeMiterLimit] = _setStrokeMiterLimit_
696
+ instance[:setStrokeCap] = _setStrokeCap_
697
+ instance[:setStrokeCaps] = _setStrokeCaps_
698
+ instance[:setStrokeJoin] = _setStrokeJoin_
699
+ instance[:setStrokeDashOffset] = _setStrokeDashOffset_
700
+ instance[:setStrokeDashArray] = _setStrokeDashArray_
701
+ instance[:setStrokeTransformOrder] = _setStrokeTransformOrder_
702
+ instance[:setStrokeOptions] = _setStrokeOptions_
703
+ instance[:clipToRectI] = _clipToRectI_
704
+ instance[:clipToRectD] = _clipToRectD_
705
+ instance[:restoreClipping] = _restoreClipping_
706
+ instance[:clearAll] = _clearAll_
707
+ instance[:clearRectI] = _clearRectI_
708
+ instance[:clearRectD] = _clearRectD_
709
+ instance[:fillAll] = _fillAll_
710
+ instance[:fillAllRgba32] = _fillAllRgba32_
711
+ instance[:fillAllExt] = _fillAllExt_
712
+ instance[:fillGeometry] = _fillGeometry_
713
+ instance[:fillGeometryRgba32] = _fillGeometryRgba32_
714
+ instance[:fillGeometryExt] = _fillGeometryExt_
715
+ instance[:fillTextOpI] = _fillTextOpI_
716
+ instance[:fillTextOpIRgba32] = _fillTextOpIRgba32_
717
+ instance[:fillTextOpIExt] = _fillTextOpIExt_
718
+ instance[:fillTextOpD] = _fillTextOpD_
719
+ instance[:fillTextOpDRgba32] = _fillTextOpDRgba32_
720
+ instance[:fillTextOpDExt] = _fillTextOpDExt_
721
+ instance[:fillMaskI] = _fillMaskI_
722
+ instance[:fillMaskIRgba32] = _fillMaskIRgba32_
723
+ instance[:fillMaskIExt] = _fillMaskIExt_
724
+ instance[:fillMaskD] = _fillMaskD_
725
+ instance[:fillMaskDRgba32] = _fillMaskDRgba32_
726
+ instance[:fillMaskDExt] = _fillMaskDExt_
727
+ instance[:strokePathD] = _strokePathD_
728
+ instance[:strokePathDRgba32] = _strokePathDRgba32_
729
+ instance[:strokePathDExt] = _strokePathDExt_
730
+ instance[:strokeGeometry] = _strokeGeometry_
731
+ instance[:strokeGeometryRgba32] = _strokeGeometryRgba32_
732
+ instance[:strokeGeometryExt] = _strokeGeometryExt_
733
+ instance[:strokeTextOpI] = _strokeTextOpI_
734
+ instance[:strokeTextOpIRgba32] = _strokeTextOpIRgba32_
735
+ instance[:strokeTextOpIExt] = _strokeTextOpIExt_
736
+ instance[:strokeTextOpD] = _strokeTextOpD_
737
+ instance[:strokeTextOpDRgba32] = _strokeTextOpDRgba32_
738
+ instance[:strokeTextOpDExt] = _strokeTextOpDExt_
739
+ instance[:blitImageD] = _blitImageD_
740
+ instance[:blitScaledImageD] = _blitScaledImageD_
741
+ instance
742
+ end
743
+ end
744
+
745
+ class BLContextState < FFI::Struct
746
+ layout(
747
+ :targetImage, :pointer,
748
+ :targetSize, BLSize,
749
+ :hints, BLContextHints,
750
+ :compOp, :uchar,
751
+ :fillRule, :uchar,
752
+ :styleType, [:uchar, 2],
753
+ :savedStateCount, :uint,
754
+ :globalAlpha, :double,
755
+ :styleAlpha, [:double, 2],
756
+ :strokeOptions, BLStrokeOptionsCore,
757
+ :approximationOptions, BLApproximationOptions,
758
+ :metaTransform, BLMatrix2D,
759
+ :userTransform, BLMatrix2D,
760
+ :finalTransform, BLMatrix2D,
761
+ )
762
+ def targetImage = self[:targetImage]
763
+ def targetImage=(v) self[:targetImage] = v end
764
+ def targetSize = self[:targetSize]
765
+ def targetSize=(v) self[:targetSize] = v end
766
+ def hints = self[:hints]
767
+ def hints=(v) self[:hints] = v end
768
+ def compOp = self[:compOp]
769
+ def compOp=(v) self[:compOp] = v end
770
+ def fillRule = self[:fillRule]
771
+ def fillRule=(v) self[:fillRule] = v end
772
+ def styleType = self[:styleType]
773
+ def styleType=(v) self[:styleType] = v end
774
+ def savedStateCount = self[:savedStateCount]
775
+ def savedStateCount=(v) self[:savedStateCount] = v end
776
+ def globalAlpha = self[:globalAlpha]
777
+ def globalAlpha=(v) self[:globalAlpha] = v end
778
+ def styleAlpha = self[:styleAlpha]
779
+ def styleAlpha=(v) self[:styleAlpha] = v end
780
+ def strokeOptions = self[:strokeOptions]
781
+ def strokeOptions=(v) self[:strokeOptions] = v end
782
+ def approximationOptions = self[:approximationOptions]
783
+ def approximationOptions=(v) self[:approximationOptions] = v end
784
+ def metaTransform = self[:metaTransform]
785
+ def metaTransform=(v) self[:metaTransform] = v end
786
+ def userTransform = self[:userTransform]
787
+ def userTransform=(v) self[:userTransform] = v end
788
+ def finalTransform = self[:finalTransform]
789
+ def finalTransform=(v) self[:finalTransform] = v end
790
+ def self.create_as(_targetImage_, _targetSize_, _hints_, _compOp_, _fillRule_, _styleType_, _savedStateCount_, _globalAlpha_, _styleAlpha_, _strokeOptions_, _approximationOptions_, _metaTransform_, _userTransform_, _finalTransform_)
791
+ instance = BLContextState.new
792
+ instance[:targetImage] = _targetImage_
793
+ instance[:targetSize] = _targetSize_
794
+ instance[:hints] = _hints_
795
+ instance[:compOp] = _compOp_
796
+ instance[:fillRule] = _fillRule_
797
+ instance[:styleType] = _styleType_
798
+ instance[:savedStateCount] = _savedStateCount_
799
+ instance[:globalAlpha] = _globalAlpha_
800
+ instance[:styleAlpha] = _styleAlpha_
801
+ instance[:strokeOptions] = _strokeOptions_
802
+ instance[:approximationOptions] = _approximationOptions_
803
+ instance[:metaTransform] = _metaTransform_
804
+ instance[:userTransform] = _userTransform_
805
+ instance[:finalTransform] = _finalTransform_
806
+ instance
807
+ end
808
+ end
809
+
810
+ class BLContextImpl < FFI::Struct
811
+ layout(
812
+ :virt, :pointer,
813
+ :state, :pointer,
814
+ :contextType, :uint,
815
+ )
816
+ def virt = self[:virt]
817
+ def virt=(v) self[:virt] = v end
818
+ def state = self[:state]
819
+ def state=(v) self[:state] = v end
820
+ def contextType = self[:contextType]
821
+ def contextType=(v) self[:contextType] = v end
822
+ def self.create_as(_virt_, _state_, _contextType_)
823
+ instance = BLContextImpl.new
824
+ instance[:virt] = _virt_
825
+ instance[:state] = _state_
826
+ instance[:contextType] = _contextType_
827
+ instance
828
+ end
829
+ end
830
+
831
+
832
+ # Function
833
+
834
+ def self.setup_context_symbols(output_error = false)
835
+ symbols = [
836
+ :blContextInit,
837
+ :blContextInitMove,
838
+ :blContextInitWeak,
839
+ :blContextInitAs,
840
+ :blContextDestroy,
841
+ :blContextReset,
842
+ :blContextAssignMove,
843
+ :blContextAssignWeak,
844
+ :blContextGetType,
845
+ :blContextGetTargetSize,
846
+ :blContextGetTargetImage,
847
+ :blContextBegin,
848
+ :blContextEnd,
849
+ :blContextFlush,
850
+ :blContextSave,
851
+ :blContextRestore,
852
+ :blContextGetMetaTransform,
853
+ :blContextGetUserTransform,
854
+ :blContextGetFinalTransform,
855
+ :blContextUserToMeta,
856
+ :blContextApplyTransformOp,
857
+ :blContextGetHint,
858
+ :blContextSetHint,
859
+ :blContextGetHints,
860
+ :blContextSetHints,
861
+ :blContextSetFlattenMode,
862
+ :blContextSetFlattenTolerance,
863
+ :blContextSetApproximationOptions,
864
+ :blContextGetFillStyle,
865
+ :blContextGetTransformedFillStyle,
866
+ :blContextSetFillStyle,
867
+ :blContextSetFillStyleWithMode,
868
+ :blContextSetFillStyleRgba,
869
+ :blContextSetFillStyleRgba32,
870
+ :blContextSetFillStyleRgba64,
871
+ :blContextDisableFillStyle,
872
+ :blContextGetFillAlpha,
873
+ :blContextSetFillAlpha,
874
+ :blContextGetStrokeStyle,
875
+ :blContextGetTransformedStrokeStyle,
876
+ :blContextSetStrokeStyle,
877
+ :blContextSetStrokeStyleWithMode,
878
+ :blContextSetStrokeStyleRgba,
879
+ :blContextSetStrokeStyleRgba32,
880
+ :blContextSetStrokeStyleRgba64,
881
+ :blContextDisableStrokeStyle,
882
+ :blContextGetStrokeAlpha,
883
+ :blContextSetStrokeAlpha,
884
+ :blContextSwapStyles,
885
+ :blContextGetGlobalAlpha,
886
+ :blContextSetGlobalAlpha,
887
+ :blContextGetCompOp,
888
+ :blContextSetCompOp,
889
+ :blContextGetFillRule,
890
+ :blContextSetFillRule,
891
+ :blContextGetStrokeWidth,
892
+ :blContextSetStrokeWidth,
893
+ :blContextGetStrokeMiterLimit,
894
+ :blContextSetStrokeMiterLimit,
895
+ :blContextGetStrokeCap,
896
+ :blContextSetStrokeCap,
897
+ :blContextSetStrokeCaps,
898
+ :blContextGetStrokeJoin,
899
+ :blContextSetStrokeJoin,
900
+ :blContextGetStrokeTransformOrder,
901
+ :blContextSetStrokeTransformOrder,
902
+ :blContextGetStrokeDashOffset,
903
+ :blContextSetStrokeDashOffset,
904
+ :blContextGetStrokeDashArray,
905
+ :blContextSetStrokeDashArray,
906
+ :blContextGetStrokeOptions,
907
+ :blContextSetStrokeOptions,
908
+ :blContextClipToRectI,
909
+ :blContextClipToRectD,
910
+ :blContextRestoreClipping,
911
+ :blContextClearAll,
912
+ :blContextClearRectI,
913
+ :blContextClearRectD,
914
+ :blContextFillAll,
915
+ :blContextFillAllRgba32,
916
+ :blContextFillAllRgba64,
917
+ :blContextFillAllExt,
918
+ :blContextFillRectI,
919
+ :blContextFillRectIRgba32,
920
+ :blContextFillRectIRgba64,
921
+ :blContextFillRectIExt,
922
+ :blContextFillRectD,
923
+ :blContextFillRectDRgba32,
924
+ :blContextFillRectDRgba64,
925
+ :blContextFillRectDExt,
926
+ :blContextFillPathD,
927
+ :blContextFillPathDRgba32,
928
+ :blContextFillPathDRgba64,
929
+ :blContextFillPathDExt,
930
+ :blContextFillGeometry,
931
+ :blContextFillGeometryRgba32,
932
+ :blContextFillGeometryRgba64,
933
+ :blContextFillGeometryExt,
934
+ :blContextFillUtf8TextI,
935
+ :blContextFillUtf8TextIRgba32,
936
+ :blContextFillUtf8TextIRgba64,
937
+ :blContextFillUtf8TextIExt,
938
+ :blContextFillUtf8TextD,
939
+ :blContextFillUtf8TextDRgba32,
940
+ :blContextFillUtf8TextDRgba64,
941
+ :blContextFillUtf8TextDExt,
942
+ :blContextFillUtf16TextI,
943
+ :blContextFillUtf16TextIRgba32,
944
+ :blContextFillUtf16TextIRgba64,
945
+ :blContextFillUtf16TextIExt,
946
+ :blContextFillUtf16TextD,
947
+ :blContextFillUtf16TextDRgba32,
948
+ :blContextFillUtf16TextDRgba64,
949
+ :blContextFillUtf16TextDExt,
950
+ :blContextFillUtf32TextI,
951
+ :blContextFillUtf32TextIRgba32,
952
+ :blContextFillUtf32TextIRgba64,
953
+ :blContextFillUtf32TextIExt,
954
+ :blContextFillUtf32TextD,
955
+ :blContextFillUtf32TextDRgba32,
956
+ :blContextFillUtf32TextDRgba64,
957
+ :blContextFillUtf32TextDExt,
958
+ :blContextFillGlyphRunI,
959
+ :blContextFillGlyphRunIRgba32,
960
+ :blContextFillGlyphRunIRgba64,
961
+ :blContextFillGlyphRunIExt,
962
+ :blContextFillGlyphRunD,
963
+ :blContextFillGlyphRunDRgba32,
964
+ :blContextFillGlyphRunDRgba64,
965
+ :blContextFillGlyphRunDExt,
966
+ :blContextFillMaskI,
967
+ :blContextFillMaskIRgba32,
968
+ :blContextFillMaskIRgba64,
969
+ :blContextFillMaskIExt,
970
+ :blContextFillMaskD,
971
+ :blContextFillMaskDRgba32,
972
+ :blContextFillMaskDRgba64,
973
+ :blContextFillMaskDExt,
974
+ :blContextStrokeRectI,
975
+ :blContextStrokeRectIRgba32,
976
+ :blContextStrokeRectIRgba64,
977
+ :blContextStrokeRectIExt,
978
+ :blContextStrokeRectD,
979
+ :blContextStrokeRectDRgba32,
980
+ :blContextStrokeRectDRgba64,
981
+ :blContextStrokeRectDExt,
982
+ :blContextStrokePathD,
983
+ :blContextStrokePathDRgba32,
984
+ :blContextStrokePathDRgba64,
985
+ :blContextStrokePathDExt,
986
+ :blContextStrokeGeometry,
987
+ :blContextStrokeGeometryRgba32,
988
+ :blContextStrokeGeometryRgba64,
989
+ :blContextStrokeGeometryExt,
990
+ :blContextStrokeUtf8TextI,
991
+ :blContextStrokeUtf8TextIRgba32,
992
+ :blContextStrokeUtf8TextIRgba64,
993
+ :blContextStrokeUtf8TextIExt,
994
+ :blContextStrokeUtf8TextD,
995
+ :blContextStrokeUtf8TextDRgba32,
996
+ :blContextStrokeUtf8TextDRgba64,
997
+ :blContextStrokeUtf8TextDExt,
998
+ :blContextStrokeUtf16TextI,
999
+ :blContextStrokeUtf16TextIRgba32,
1000
+ :blContextStrokeUtf16TextIRgba64,
1001
+ :blContextStrokeUtf16TextIExt,
1002
+ :blContextStrokeUtf16TextD,
1003
+ :blContextStrokeUtf16TextDRgba32,
1004
+ :blContextStrokeUtf16TextDRgba64,
1005
+ :blContextStrokeUtf16TextDExt,
1006
+ :blContextStrokeUtf32TextI,
1007
+ :blContextStrokeUtf32TextIRgba32,
1008
+ :blContextStrokeUtf32TextIRgba64,
1009
+ :blContextStrokeUtf32TextIExt,
1010
+ :blContextStrokeUtf32TextD,
1011
+ :blContextStrokeUtf32TextDRgba32,
1012
+ :blContextStrokeUtf32TextDRgba64,
1013
+ :blContextStrokeUtf32TextDExt,
1014
+ :blContextStrokeGlyphRunI,
1015
+ :blContextStrokeGlyphRunIRgba32,
1016
+ :blContextStrokeGlyphRunIRgba64,
1017
+ :blContextStrokeGlyphRunIExt,
1018
+ :blContextStrokeGlyphRunD,
1019
+ :blContextStrokeGlyphRunDRgba32,
1020
+ :blContextStrokeGlyphRunDRgba64,
1021
+ :blContextStrokeGlyphRunDExt,
1022
+ :blContextBlitImageI,
1023
+ :blContextBlitImageD,
1024
+ :blContextBlitScaledImageI,
1025
+ :blContextBlitScaledImageD,
1026
+ ]
1027
+ apis = {
1028
+ :blContextInit => :blContextInit,
1029
+ :blContextInitMove => :blContextInitMove,
1030
+ :blContextInitWeak => :blContextInitWeak,
1031
+ :blContextInitAs => :blContextInitAs,
1032
+ :blContextDestroy => :blContextDestroy,
1033
+ :blContextReset => :blContextReset,
1034
+ :blContextAssignMove => :blContextAssignMove,
1035
+ :blContextAssignWeak => :blContextAssignWeak,
1036
+ :blContextGetType => :blContextGetType,
1037
+ :blContextGetTargetSize => :blContextGetTargetSize,
1038
+ :blContextGetTargetImage => :blContextGetTargetImage,
1039
+ :blContextBegin => :blContextBegin,
1040
+ :blContextEnd => :blContextEnd,
1041
+ :blContextFlush => :blContextFlush,
1042
+ :blContextSave => :blContextSave,
1043
+ :blContextRestore => :blContextRestore,
1044
+ :blContextGetMetaTransform => :blContextGetMetaTransform,
1045
+ :blContextGetUserTransform => :blContextGetUserTransform,
1046
+ :blContextGetFinalTransform => :blContextGetFinalTransform,
1047
+ :blContextUserToMeta => :blContextUserToMeta,
1048
+ :blContextApplyTransformOp => :blContextApplyTransformOp,
1049
+ :blContextGetHint => :blContextGetHint,
1050
+ :blContextSetHint => :blContextSetHint,
1051
+ :blContextGetHints => :blContextGetHints,
1052
+ :blContextSetHints => :blContextSetHints,
1053
+ :blContextSetFlattenMode => :blContextSetFlattenMode,
1054
+ :blContextSetFlattenTolerance => :blContextSetFlattenTolerance,
1055
+ :blContextSetApproximationOptions => :blContextSetApproximationOptions,
1056
+ :blContextGetFillStyle => :blContextGetFillStyle,
1057
+ :blContextGetTransformedFillStyle => :blContextGetTransformedFillStyle,
1058
+ :blContextSetFillStyle => :blContextSetFillStyle,
1059
+ :blContextSetFillStyleWithMode => :blContextSetFillStyleWithMode,
1060
+ :blContextSetFillStyleRgba => :blContextSetFillStyleRgba,
1061
+ :blContextSetFillStyleRgba32 => :blContextSetFillStyleRgba32,
1062
+ :blContextSetFillStyleRgba64 => :blContextSetFillStyleRgba64,
1063
+ :blContextDisableFillStyle => :blContextDisableFillStyle,
1064
+ :blContextGetFillAlpha => :blContextGetFillAlpha,
1065
+ :blContextSetFillAlpha => :blContextSetFillAlpha,
1066
+ :blContextGetStrokeStyle => :blContextGetStrokeStyle,
1067
+ :blContextGetTransformedStrokeStyle => :blContextGetTransformedStrokeStyle,
1068
+ :blContextSetStrokeStyle => :blContextSetStrokeStyle,
1069
+ :blContextSetStrokeStyleWithMode => :blContextSetStrokeStyleWithMode,
1070
+ :blContextSetStrokeStyleRgba => :blContextSetStrokeStyleRgba,
1071
+ :blContextSetStrokeStyleRgba32 => :blContextSetStrokeStyleRgba32,
1072
+ :blContextSetStrokeStyleRgba64 => :blContextSetStrokeStyleRgba64,
1073
+ :blContextDisableStrokeStyle => :blContextDisableStrokeStyle,
1074
+ :blContextGetStrokeAlpha => :blContextGetStrokeAlpha,
1075
+ :blContextSetStrokeAlpha => :blContextSetStrokeAlpha,
1076
+ :blContextSwapStyles => :blContextSwapStyles,
1077
+ :blContextGetGlobalAlpha => :blContextGetGlobalAlpha,
1078
+ :blContextSetGlobalAlpha => :blContextSetGlobalAlpha,
1079
+ :blContextGetCompOp => :blContextGetCompOp,
1080
+ :blContextSetCompOp => :blContextSetCompOp,
1081
+ :blContextGetFillRule => :blContextGetFillRule,
1082
+ :blContextSetFillRule => :blContextSetFillRule,
1083
+ :blContextGetStrokeWidth => :blContextGetStrokeWidth,
1084
+ :blContextSetStrokeWidth => :blContextSetStrokeWidth,
1085
+ :blContextGetStrokeMiterLimit => :blContextGetStrokeMiterLimit,
1086
+ :blContextSetStrokeMiterLimit => :blContextSetStrokeMiterLimit,
1087
+ :blContextGetStrokeCap => :blContextGetStrokeCap,
1088
+ :blContextSetStrokeCap => :blContextSetStrokeCap,
1089
+ :blContextSetStrokeCaps => :blContextSetStrokeCaps,
1090
+ :blContextGetStrokeJoin => :blContextGetStrokeJoin,
1091
+ :blContextSetStrokeJoin => :blContextSetStrokeJoin,
1092
+ :blContextGetStrokeTransformOrder => :blContextGetStrokeTransformOrder,
1093
+ :blContextSetStrokeTransformOrder => :blContextSetStrokeTransformOrder,
1094
+ :blContextGetStrokeDashOffset => :blContextGetStrokeDashOffset,
1095
+ :blContextSetStrokeDashOffset => :blContextSetStrokeDashOffset,
1096
+ :blContextGetStrokeDashArray => :blContextGetStrokeDashArray,
1097
+ :blContextSetStrokeDashArray => :blContextSetStrokeDashArray,
1098
+ :blContextGetStrokeOptions => :blContextGetStrokeOptions,
1099
+ :blContextSetStrokeOptions => :blContextSetStrokeOptions,
1100
+ :blContextClipToRectI => :blContextClipToRectI,
1101
+ :blContextClipToRectD => :blContextClipToRectD,
1102
+ :blContextRestoreClipping => :blContextRestoreClipping,
1103
+ :blContextClearAll => :blContextClearAll,
1104
+ :blContextClearRectI => :blContextClearRectI,
1105
+ :blContextClearRectD => :blContextClearRectD,
1106
+ :blContextFillAll => :blContextFillAll,
1107
+ :blContextFillAllRgba32 => :blContextFillAllRgba32,
1108
+ :blContextFillAllRgba64 => :blContextFillAllRgba64,
1109
+ :blContextFillAllExt => :blContextFillAllExt,
1110
+ :blContextFillRectI => :blContextFillRectI,
1111
+ :blContextFillRectIRgba32 => :blContextFillRectIRgba32,
1112
+ :blContextFillRectIRgba64 => :blContextFillRectIRgba64,
1113
+ :blContextFillRectIExt => :blContextFillRectIExt,
1114
+ :blContextFillRectD => :blContextFillRectD,
1115
+ :blContextFillRectDRgba32 => :blContextFillRectDRgba32,
1116
+ :blContextFillRectDRgba64 => :blContextFillRectDRgba64,
1117
+ :blContextFillRectDExt => :blContextFillRectDExt,
1118
+ :blContextFillPathD => :blContextFillPathD,
1119
+ :blContextFillPathDRgba32 => :blContextFillPathDRgba32,
1120
+ :blContextFillPathDRgba64 => :blContextFillPathDRgba64,
1121
+ :blContextFillPathDExt => :blContextFillPathDExt,
1122
+ :blContextFillGeometry => :blContextFillGeometry,
1123
+ :blContextFillGeometryRgba32 => :blContextFillGeometryRgba32,
1124
+ :blContextFillGeometryRgba64 => :blContextFillGeometryRgba64,
1125
+ :blContextFillGeometryExt => :blContextFillGeometryExt,
1126
+ :blContextFillUtf8TextI => :blContextFillUtf8TextI,
1127
+ :blContextFillUtf8TextIRgba32 => :blContextFillUtf8TextIRgba32,
1128
+ :blContextFillUtf8TextIRgba64 => :blContextFillUtf8TextIRgba64,
1129
+ :blContextFillUtf8TextIExt => :blContextFillUtf8TextIExt,
1130
+ :blContextFillUtf8TextD => :blContextFillUtf8TextD,
1131
+ :blContextFillUtf8TextDRgba32 => :blContextFillUtf8TextDRgba32,
1132
+ :blContextFillUtf8TextDRgba64 => :blContextFillUtf8TextDRgba64,
1133
+ :blContextFillUtf8TextDExt => :blContextFillUtf8TextDExt,
1134
+ :blContextFillUtf16TextI => :blContextFillUtf16TextI,
1135
+ :blContextFillUtf16TextIRgba32 => :blContextFillUtf16TextIRgba32,
1136
+ :blContextFillUtf16TextIRgba64 => :blContextFillUtf16TextIRgba64,
1137
+ :blContextFillUtf16TextIExt => :blContextFillUtf16TextIExt,
1138
+ :blContextFillUtf16TextD => :blContextFillUtf16TextD,
1139
+ :blContextFillUtf16TextDRgba32 => :blContextFillUtf16TextDRgba32,
1140
+ :blContextFillUtf16TextDRgba64 => :blContextFillUtf16TextDRgba64,
1141
+ :blContextFillUtf16TextDExt => :blContextFillUtf16TextDExt,
1142
+ :blContextFillUtf32TextI => :blContextFillUtf32TextI,
1143
+ :blContextFillUtf32TextIRgba32 => :blContextFillUtf32TextIRgba32,
1144
+ :blContextFillUtf32TextIRgba64 => :blContextFillUtf32TextIRgba64,
1145
+ :blContextFillUtf32TextIExt => :blContextFillUtf32TextIExt,
1146
+ :blContextFillUtf32TextD => :blContextFillUtf32TextD,
1147
+ :blContextFillUtf32TextDRgba32 => :blContextFillUtf32TextDRgba32,
1148
+ :blContextFillUtf32TextDRgba64 => :blContextFillUtf32TextDRgba64,
1149
+ :blContextFillUtf32TextDExt => :blContextFillUtf32TextDExt,
1150
+ :blContextFillGlyphRunI => :blContextFillGlyphRunI,
1151
+ :blContextFillGlyphRunIRgba32 => :blContextFillGlyphRunIRgba32,
1152
+ :blContextFillGlyphRunIRgba64 => :blContextFillGlyphRunIRgba64,
1153
+ :blContextFillGlyphRunIExt => :blContextFillGlyphRunIExt,
1154
+ :blContextFillGlyphRunD => :blContextFillGlyphRunD,
1155
+ :blContextFillGlyphRunDRgba32 => :blContextFillGlyphRunDRgba32,
1156
+ :blContextFillGlyphRunDRgba64 => :blContextFillGlyphRunDRgba64,
1157
+ :blContextFillGlyphRunDExt => :blContextFillGlyphRunDExt,
1158
+ :blContextFillMaskI => :blContextFillMaskI,
1159
+ :blContextFillMaskIRgba32 => :blContextFillMaskIRgba32,
1160
+ :blContextFillMaskIRgba64 => :blContextFillMaskIRgba64,
1161
+ :blContextFillMaskIExt => :blContextFillMaskIExt,
1162
+ :blContextFillMaskD => :blContextFillMaskD,
1163
+ :blContextFillMaskDRgba32 => :blContextFillMaskDRgba32,
1164
+ :blContextFillMaskDRgba64 => :blContextFillMaskDRgba64,
1165
+ :blContextFillMaskDExt => :blContextFillMaskDExt,
1166
+ :blContextStrokeRectI => :blContextStrokeRectI,
1167
+ :blContextStrokeRectIRgba32 => :blContextStrokeRectIRgba32,
1168
+ :blContextStrokeRectIRgba64 => :blContextStrokeRectIRgba64,
1169
+ :blContextStrokeRectIExt => :blContextStrokeRectIExt,
1170
+ :blContextStrokeRectD => :blContextStrokeRectD,
1171
+ :blContextStrokeRectDRgba32 => :blContextStrokeRectDRgba32,
1172
+ :blContextStrokeRectDRgba64 => :blContextStrokeRectDRgba64,
1173
+ :blContextStrokeRectDExt => :blContextStrokeRectDExt,
1174
+ :blContextStrokePathD => :blContextStrokePathD,
1175
+ :blContextStrokePathDRgba32 => :blContextStrokePathDRgba32,
1176
+ :blContextStrokePathDRgba64 => :blContextStrokePathDRgba64,
1177
+ :blContextStrokePathDExt => :blContextStrokePathDExt,
1178
+ :blContextStrokeGeometry => :blContextStrokeGeometry,
1179
+ :blContextStrokeGeometryRgba32 => :blContextStrokeGeometryRgba32,
1180
+ :blContextStrokeGeometryRgba64 => :blContextStrokeGeometryRgba64,
1181
+ :blContextStrokeGeometryExt => :blContextStrokeGeometryExt,
1182
+ :blContextStrokeUtf8TextI => :blContextStrokeUtf8TextI,
1183
+ :blContextStrokeUtf8TextIRgba32 => :blContextStrokeUtf8TextIRgba32,
1184
+ :blContextStrokeUtf8TextIRgba64 => :blContextStrokeUtf8TextIRgba64,
1185
+ :blContextStrokeUtf8TextIExt => :blContextStrokeUtf8TextIExt,
1186
+ :blContextStrokeUtf8TextD => :blContextStrokeUtf8TextD,
1187
+ :blContextStrokeUtf8TextDRgba32 => :blContextStrokeUtf8TextDRgba32,
1188
+ :blContextStrokeUtf8TextDRgba64 => :blContextStrokeUtf8TextDRgba64,
1189
+ :blContextStrokeUtf8TextDExt => :blContextStrokeUtf8TextDExt,
1190
+ :blContextStrokeUtf16TextI => :blContextStrokeUtf16TextI,
1191
+ :blContextStrokeUtf16TextIRgba32 => :blContextStrokeUtf16TextIRgba32,
1192
+ :blContextStrokeUtf16TextIRgba64 => :blContextStrokeUtf16TextIRgba64,
1193
+ :blContextStrokeUtf16TextIExt => :blContextStrokeUtf16TextIExt,
1194
+ :blContextStrokeUtf16TextD => :blContextStrokeUtf16TextD,
1195
+ :blContextStrokeUtf16TextDRgba32 => :blContextStrokeUtf16TextDRgba32,
1196
+ :blContextStrokeUtf16TextDRgba64 => :blContextStrokeUtf16TextDRgba64,
1197
+ :blContextStrokeUtf16TextDExt => :blContextStrokeUtf16TextDExt,
1198
+ :blContextStrokeUtf32TextI => :blContextStrokeUtf32TextI,
1199
+ :blContextStrokeUtf32TextIRgba32 => :blContextStrokeUtf32TextIRgba32,
1200
+ :blContextStrokeUtf32TextIRgba64 => :blContextStrokeUtf32TextIRgba64,
1201
+ :blContextStrokeUtf32TextIExt => :blContextStrokeUtf32TextIExt,
1202
+ :blContextStrokeUtf32TextD => :blContextStrokeUtf32TextD,
1203
+ :blContextStrokeUtf32TextDRgba32 => :blContextStrokeUtf32TextDRgba32,
1204
+ :blContextStrokeUtf32TextDRgba64 => :blContextStrokeUtf32TextDRgba64,
1205
+ :blContextStrokeUtf32TextDExt => :blContextStrokeUtf32TextDExt,
1206
+ :blContextStrokeGlyphRunI => :blContextStrokeGlyphRunI,
1207
+ :blContextStrokeGlyphRunIRgba32 => :blContextStrokeGlyphRunIRgba32,
1208
+ :blContextStrokeGlyphRunIRgba64 => :blContextStrokeGlyphRunIRgba64,
1209
+ :blContextStrokeGlyphRunIExt => :blContextStrokeGlyphRunIExt,
1210
+ :blContextStrokeGlyphRunD => :blContextStrokeGlyphRunD,
1211
+ :blContextStrokeGlyphRunDRgba32 => :blContextStrokeGlyphRunDRgba32,
1212
+ :blContextStrokeGlyphRunDRgba64 => :blContextStrokeGlyphRunDRgba64,
1213
+ :blContextStrokeGlyphRunDExt => :blContextStrokeGlyphRunDExt,
1214
+ :blContextBlitImageI => :blContextBlitImageI,
1215
+ :blContextBlitImageD => :blContextBlitImageD,
1216
+ :blContextBlitScaledImageI => :blContextBlitScaledImageI,
1217
+ :blContextBlitScaledImageD => :blContextBlitScaledImageD,
1218
+ }
1219
+ args = {
1220
+ :blContextInit => [:pointer],
1221
+ :blContextInitMove => [:pointer, :pointer],
1222
+ :blContextInitWeak => [:pointer, :pointer],
1223
+ :blContextInitAs => [:pointer, :pointer, :pointer],
1224
+ :blContextDestroy => [:pointer],
1225
+ :blContextReset => [:pointer],
1226
+ :blContextAssignMove => [:pointer, :pointer],
1227
+ :blContextAssignWeak => [:pointer, :pointer],
1228
+ :blContextGetType => [:pointer],
1229
+ :blContextGetTargetSize => [:pointer, :pointer],
1230
+ :blContextGetTargetImage => [:pointer],
1231
+ :blContextBegin => [:pointer, :pointer, :pointer],
1232
+ :blContextEnd => [:pointer],
1233
+ :blContextFlush => [:pointer, :int],
1234
+ :blContextSave => [:pointer, :pointer],
1235
+ :blContextRestore => [:pointer, :pointer],
1236
+ :blContextGetMetaTransform => [:pointer, :pointer],
1237
+ :blContextGetUserTransform => [:pointer, :pointer],
1238
+ :blContextGetFinalTransform => [:pointer, :pointer],
1239
+ :blContextUserToMeta => [:pointer],
1240
+ :blContextApplyTransformOp => [:pointer, :int, :pointer],
1241
+ :blContextGetHint => [:pointer, :int],
1242
+ :blContextSetHint => [:pointer, :int, :uint],
1243
+ :blContextGetHints => [:pointer, :pointer],
1244
+ :blContextSetHints => [:pointer, :pointer],
1245
+ :blContextSetFlattenMode => [:pointer, :int],
1246
+ :blContextSetFlattenTolerance => [:pointer, :double],
1247
+ :blContextSetApproximationOptions => [:pointer, :pointer],
1248
+ :blContextGetFillStyle => [:pointer, :pointer],
1249
+ :blContextGetTransformedFillStyle => [:pointer, :pointer],
1250
+ :blContextSetFillStyle => [:pointer, :pointer],
1251
+ :blContextSetFillStyleWithMode => [:pointer, :pointer, :int],
1252
+ :blContextSetFillStyleRgba => [:pointer, :pointer],
1253
+ :blContextSetFillStyleRgba32 => [:pointer, :uint],
1254
+ :blContextSetFillStyleRgba64 => [:pointer, :ulong_long],
1255
+ :blContextDisableFillStyle => [:pointer],
1256
+ :blContextGetFillAlpha => [:pointer],
1257
+ :blContextSetFillAlpha => [:pointer, :double],
1258
+ :blContextGetStrokeStyle => [:pointer, :pointer],
1259
+ :blContextGetTransformedStrokeStyle => [:pointer, :pointer],
1260
+ :blContextSetStrokeStyle => [:pointer, :pointer],
1261
+ :blContextSetStrokeStyleWithMode => [:pointer, :pointer, :int],
1262
+ :blContextSetStrokeStyleRgba => [:pointer, :pointer],
1263
+ :blContextSetStrokeStyleRgba32 => [:pointer, :uint],
1264
+ :blContextSetStrokeStyleRgba64 => [:pointer, :ulong_long],
1265
+ :blContextDisableStrokeStyle => [:pointer],
1266
+ :blContextGetStrokeAlpha => [:pointer],
1267
+ :blContextSetStrokeAlpha => [:pointer, :double],
1268
+ :blContextSwapStyles => [:pointer, :int],
1269
+ :blContextGetGlobalAlpha => [:pointer],
1270
+ :blContextSetGlobalAlpha => [:pointer, :double],
1271
+ :blContextGetCompOp => [:pointer],
1272
+ :blContextSetCompOp => [:pointer, :int],
1273
+ :blContextGetFillRule => [:pointer],
1274
+ :blContextSetFillRule => [:pointer, :int],
1275
+ :blContextGetStrokeWidth => [:pointer],
1276
+ :blContextSetStrokeWidth => [:pointer, :double],
1277
+ :blContextGetStrokeMiterLimit => [:pointer],
1278
+ :blContextSetStrokeMiterLimit => [:pointer, :double],
1279
+ :blContextGetStrokeCap => [:pointer, :int],
1280
+ :blContextSetStrokeCap => [:pointer, :int, :int],
1281
+ :blContextSetStrokeCaps => [:pointer, :int],
1282
+ :blContextGetStrokeJoin => [:pointer],
1283
+ :blContextSetStrokeJoin => [:pointer, :int],
1284
+ :blContextGetStrokeTransformOrder => [:pointer],
1285
+ :blContextSetStrokeTransformOrder => [:pointer, :int],
1286
+ :blContextGetStrokeDashOffset => [:pointer],
1287
+ :blContextSetStrokeDashOffset => [:pointer, :double],
1288
+ :blContextGetStrokeDashArray => [:pointer, :pointer],
1289
+ :blContextSetStrokeDashArray => [:pointer, :pointer],
1290
+ :blContextGetStrokeOptions => [:pointer, :pointer],
1291
+ :blContextSetStrokeOptions => [:pointer, :pointer],
1292
+ :blContextClipToRectI => [:pointer, :pointer],
1293
+ :blContextClipToRectD => [:pointer, :pointer],
1294
+ :blContextRestoreClipping => [:pointer],
1295
+ :blContextClearAll => [:pointer],
1296
+ :blContextClearRectI => [:pointer, :pointer],
1297
+ :blContextClearRectD => [:pointer, :pointer],
1298
+ :blContextFillAll => [:pointer],
1299
+ :blContextFillAllRgba32 => [:pointer, :uint],
1300
+ :blContextFillAllRgba64 => [:pointer, :ulong_long],
1301
+ :blContextFillAllExt => [:pointer, :pointer],
1302
+ :blContextFillRectI => [:pointer, :pointer],
1303
+ :blContextFillRectIRgba32 => [:pointer, :pointer, :uint],
1304
+ :blContextFillRectIRgba64 => [:pointer, :pointer, :ulong_long],
1305
+ :blContextFillRectIExt => [:pointer, :pointer, :pointer],
1306
+ :blContextFillRectD => [:pointer, :pointer],
1307
+ :blContextFillRectDRgba32 => [:pointer, :pointer, :uint],
1308
+ :blContextFillRectDRgba64 => [:pointer, :pointer, :ulong_long],
1309
+ :blContextFillRectDExt => [:pointer, :pointer, :pointer],
1310
+ :blContextFillPathD => [:pointer, :pointer, :pointer],
1311
+ :blContextFillPathDRgba32 => [:pointer, :pointer, :pointer, :uint],
1312
+ :blContextFillPathDRgba64 => [:pointer, :pointer, :pointer, :ulong_long],
1313
+ :blContextFillPathDExt => [:pointer, :pointer, :pointer, :pointer],
1314
+ :blContextFillGeometry => [:pointer, :int, :pointer],
1315
+ :blContextFillGeometryRgba32 => [:pointer, :int, :pointer, :uint],
1316
+ :blContextFillGeometryRgba64 => [:pointer, :int, :pointer, :ulong_long],
1317
+ :blContextFillGeometryExt => [:pointer, :int, :pointer, :pointer],
1318
+ :blContextFillUtf8TextI => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1319
+ :blContextFillUtf8TextIRgba32 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :uint],
1320
+ :blContextFillUtf8TextIRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :ulong_long],
1321
+ :blContextFillUtf8TextIExt => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :pointer],
1322
+ :blContextFillUtf8TextD => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1323
+ :blContextFillUtf8TextDRgba32 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :uint],
1324
+ :blContextFillUtf8TextDRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :ulong_long],
1325
+ :blContextFillUtf8TextDExt => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :pointer],
1326
+ :blContextFillUtf16TextI => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1327
+ :blContextFillUtf16TextIRgba32 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :uint],
1328
+ :blContextFillUtf16TextIRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :ulong_long],
1329
+ :blContextFillUtf16TextIExt => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :pointer],
1330
+ :blContextFillUtf16TextD => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1331
+ :blContextFillUtf16TextDRgba32 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :uint],
1332
+ :blContextFillUtf16TextDRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :ulong_long],
1333
+ :blContextFillUtf16TextDExt => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :pointer],
1334
+ :blContextFillUtf32TextI => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1335
+ :blContextFillUtf32TextIRgba32 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :uint],
1336
+ :blContextFillUtf32TextIRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :ulong_long],
1337
+ :blContextFillUtf32TextIExt => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :pointer],
1338
+ :blContextFillUtf32TextD => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1339
+ :blContextFillUtf32TextDRgba32 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :uint],
1340
+ :blContextFillUtf32TextDRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :ulong_long],
1341
+ :blContextFillUtf32TextDExt => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :pointer],
1342
+ :blContextFillGlyphRunI => [:pointer, :pointer, :pointer, :pointer],
1343
+ :blContextFillGlyphRunIRgba32 => [:pointer, :pointer, :pointer, :pointer, :uint],
1344
+ :blContextFillGlyphRunIRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1345
+ :blContextFillGlyphRunIExt => [:pointer, :pointer, :pointer, :pointer, :pointer],
1346
+ :blContextFillGlyphRunD => [:pointer, :pointer, :pointer, :pointer],
1347
+ :blContextFillGlyphRunDRgba32 => [:pointer, :pointer, :pointer, :pointer, :uint],
1348
+ :blContextFillGlyphRunDRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1349
+ :blContextFillGlyphRunDExt => [:pointer, :pointer, :pointer, :pointer, :pointer],
1350
+ :blContextFillMaskI => [:pointer, :pointer, :pointer, :pointer],
1351
+ :blContextFillMaskIRgba32 => [:pointer, :pointer, :pointer, :pointer, :uint],
1352
+ :blContextFillMaskIRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1353
+ :blContextFillMaskIExt => [:pointer, :pointer, :pointer, :pointer, :pointer],
1354
+ :blContextFillMaskD => [:pointer, :pointer, :pointer, :pointer],
1355
+ :blContextFillMaskDRgba32 => [:pointer, :pointer, :pointer, :pointer, :uint],
1356
+ :blContextFillMaskDRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1357
+ :blContextFillMaskDExt => [:pointer, :pointer, :pointer, :pointer, :pointer],
1358
+ :blContextStrokeRectI => [:pointer, :pointer],
1359
+ :blContextStrokeRectIRgba32 => [:pointer, :pointer, :uint],
1360
+ :blContextStrokeRectIRgba64 => [:pointer, :pointer, :ulong_long],
1361
+ :blContextStrokeRectIExt => [:pointer, :pointer, :pointer],
1362
+ :blContextStrokeRectD => [:pointer, :pointer],
1363
+ :blContextStrokeRectDRgba32 => [:pointer, :pointer, :uint],
1364
+ :blContextStrokeRectDRgba64 => [:pointer, :pointer, :ulong_long],
1365
+ :blContextStrokeRectDExt => [:pointer, :pointer, :pointer],
1366
+ :blContextStrokePathD => [:pointer, :pointer, :pointer],
1367
+ :blContextStrokePathDRgba32 => [:pointer, :pointer, :pointer, :uint],
1368
+ :blContextStrokePathDRgba64 => [:pointer, :pointer, :pointer, :ulong_long],
1369
+ :blContextStrokePathDExt => [:pointer, :pointer, :pointer, :pointer],
1370
+ :blContextStrokeGeometry => [:pointer, :int, :pointer],
1371
+ :blContextStrokeGeometryRgba32 => [:pointer, :int, :pointer, :uint],
1372
+ :blContextStrokeGeometryRgba64 => [:pointer, :int, :pointer, :ulong_long],
1373
+ :blContextStrokeGeometryExt => [:pointer, :int, :pointer, :pointer],
1374
+ :blContextStrokeUtf8TextI => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1375
+ :blContextStrokeUtf8TextIRgba32 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :uint],
1376
+ :blContextStrokeUtf8TextIRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :ulong_long],
1377
+ :blContextStrokeUtf8TextIExt => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :pointer],
1378
+ :blContextStrokeUtf8TextD => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1379
+ :blContextStrokeUtf8TextDRgba32 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :uint],
1380
+ :blContextStrokeUtf8TextDRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :ulong_long],
1381
+ :blContextStrokeUtf8TextDExt => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :pointer],
1382
+ :blContextStrokeUtf16TextI => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1383
+ :blContextStrokeUtf16TextIRgba32 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :uint],
1384
+ :blContextStrokeUtf16TextIRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :ulong_long],
1385
+ :blContextStrokeUtf16TextIExt => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :pointer],
1386
+ :blContextStrokeUtf16TextD => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1387
+ :blContextStrokeUtf16TextDRgba32 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :uint],
1388
+ :blContextStrokeUtf16TextDRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :ulong_long],
1389
+ :blContextStrokeUtf16TextDExt => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :pointer],
1390
+ :blContextStrokeUtf32TextI => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1391
+ :blContextStrokeUtf32TextIRgba32 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :uint],
1392
+ :blContextStrokeUtf32TextIRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :ulong_long],
1393
+ :blContextStrokeUtf32TextIExt => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :pointer],
1394
+ :blContextStrokeUtf32TextD => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1395
+ :blContextStrokeUtf32TextDRgba32 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :uint],
1396
+ :blContextStrokeUtf32TextDRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :ulong_long],
1397
+ :blContextStrokeUtf32TextDExt => [:pointer, :pointer, :pointer, :pointer, :ulong_long, :pointer],
1398
+ :blContextStrokeGlyphRunI => [:pointer, :pointer, :pointer, :pointer],
1399
+ :blContextStrokeGlyphRunIRgba32 => [:pointer, :pointer, :pointer, :pointer, :uint],
1400
+ :blContextStrokeGlyphRunIRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1401
+ :blContextStrokeGlyphRunIExt => [:pointer, :pointer, :pointer, :pointer, :pointer],
1402
+ :blContextStrokeGlyphRunD => [:pointer, :pointer, :pointer, :pointer],
1403
+ :blContextStrokeGlyphRunDRgba32 => [:pointer, :pointer, :pointer, :pointer, :uint],
1404
+ :blContextStrokeGlyphRunDRgba64 => [:pointer, :pointer, :pointer, :pointer, :ulong_long],
1405
+ :blContextStrokeGlyphRunDExt => [:pointer, :pointer, :pointer, :pointer, :pointer],
1406
+ :blContextBlitImageI => [:pointer, :pointer, :pointer, :pointer],
1407
+ :blContextBlitImageD => [:pointer, :pointer, :pointer, :pointer],
1408
+ :blContextBlitScaledImageI => [:pointer, :pointer, :pointer, :pointer],
1409
+ :blContextBlitScaledImageD => [:pointer, :pointer, :pointer, :pointer],
1410
+ }
1411
+ retvals = {
1412
+ :blContextInit => :uint,
1413
+ :blContextInitMove => :uint,
1414
+ :blContextInitWeak => :uint,
1415
+ :blContextInitAs => :uint,
1416
+ :blContextDestroy => :uint,
1417
+ :blContextReset => :uint,
1418
+ :blContextAssignMove => :uint,
1419
+ :blContextAssignWeak => :uint,
1420
+ :blContextGetType => :int,
1421
+ :blContextGetTargetSize => :uint,
1422
+ :blContextGetTargetImage => :pointer,
1423
+ :blContextBegin => :uint,
1424
+ :blContextEnd => :uint,
1425
+ :blContextFlush => :uint,
1426
+ :blContextSave => :uint,
1427
+ :blContextRestore => :uint,
1428
+ :blContextGetMetaTransform => :uint,
1429
+ :blContextGetUserTransform => :uint,
1430
+ :blContextGetFinalTransform => :uint,
1431
+ :blContextUserToMeta => :uint,
1432
+ :blContextApplyTransformOp => :uint,
1433
+ :blContextGetHint => :uint,
1434
+ :blContextSetHint => :uint,
1435
+ :blContextGetHints => :uint,
1436
+ :blContextSetHints => :uint,
1437
+ :blContextSetFlattenMode => :uint,
1438
+ :blContextSetFlattenTolerance => :uint,
1439
+ :blContextSetApproximationOptions => :uint,
1440
+ :blContextGetFillStyle => :uint,
1441
+ :blContextGetTransformedFillStyle => :uint,
1442
+ :blContextSetFillStyle => :uint,
1443
+ :blContextSetFillStyleWithMode => :uint,
1444
+ :blContextSetFillStyleRgba => :uint,
1445
+ :blContextSetFillStyleRgba32 => :uint,
1446
+ :blContextSetFillStyleRgba64 => :uint,
1447
+ :blContextDisableFillStyle => :uint,
1448
+ :blContextGetFillAlpha => :double,
1449
+ :blContextSetFillAlpha => :uint,
1450
+ :blContextGetStrokeStyle => :uint,
1451
+ :blContextGetTransformedStrokeStyle => :uint,
1452
+ :blContextSetStrokeStyle => :uint,
1453
+ :blContextSetStrokeStyleWithMode => :uint,
1454
+ :blContextSetStrokeStyleRgba => :uint,
1455
+ :blContextSetStrokeStyleRgba32 => :uint,
1456
+ :blContextSetStrokeStyleRgba64 => :uint,
1457
+ :blContextDisableStrokeStyle => :uint,
1458
+ :blContextGetStrokeAlpha => :double,
1459
+ :blContextSetStrokeAlpha => :uint,
1460
+ :blContextSwapStyles => :uint,
1461
+ :blContextGetGlobalAlpha => :double,
1462
+ :blContextSetGlobalAlpha => :uint,
1463
+ :blContextGetCompOp => :int,
1464
+ :blContextSetCompOp => :uint,
1465
+ :blContextGetFillRule => :int,
1466
+ :blContextSetFillRule => :uint,
1467
+ :blContextGetStrokeWidth => :double,
1468
+ :blContextSetStrokeWidth => :uint,
1469
+ :blContextGetStrokeMiterLimit => :double,
1470
+ :blContextSetStrokeMiterLimit => :uint,
1471
+ :blContextGetStrokeCap => :int,
1472
+ :blContextSetStrokeCap => :uint,
1473
+ :blContextSetStrokeCaps => :uint,
1474
+ :blContextGetStrokeJoin => :int,
1475
+ :blContextSetStrokeJoin => :uint,
1476
+ :blContextGetStrokeTransformOrder => :int,
1477
+ :blContextSetStrokeTransformOrder => :uint,
1478
+ :blContextGetStrokeDashOffset => :double,
1479
+ :blContextSetStrokeDashOffset => :uint,
1480
+ :blContextGetStrokeDashArray => :uint,
1481
+ :blContextSetStrokeDashArray => :uint,
1482
+ :blContextGetStrokeOptions => :uint,
1483
+ :blContextSetStrokeOptions => :uint,
1484
+ :blContextClipToRectI => :uint,
1485
+ :blContextClipToRectD => :uint,
1486
+ :blContextRestoreClipping => :uint,
1487
+ :blContextClearAll => :uint,
1488
+ :blContextClearRectI => :uint,
1489
+ :blContextClearRectD => :uint,
1490
+ :blContextFillAll => :uint,
1491
+ :blContextFillAllRgba32 => :uint,
1492
+ :blContextFillAllRgba64 => :uint,
1493
+ :blContextFillAllExt => :uint,
1494
+ :blContextFillRectI => :uint,
1495
+ :blContextFillRectIRgba32 => :uint,
1496
+ :blContextFillRectIRgba64 => :uint,
1497
+ :blContextFillRectIExt => :uint,
1498
+ :blContextFillRectD => :uint,
1499
+ :blContextFillRectDRgba32 => :uint,
1500
+ :blContextFillRectDRgba64 => :uint,
1501
+ :blContextFillRectDExt => :uint,
1502
+ :blContextFillPathD => :uint,
1503
+ :blContextFillPathDRgba32 => :uint,
1504
+ :blContextFillPathDRgba64 => :uint,
1505
+ :blContextFillPathDExt => :uint,
1506
+ :blContextFillGeometry => :uint,
1507
+ :blContextFillGeometryRgba32 => :uint,
1508
+ :blContextFillGeometryRgba64 => :uint,
1509
+ :blContextFillGeometryExt => :uint,
1510
+ :blContextFillUtf8TextI => :uint,
1511
+ :blContextFillUtf8TextIRgba32 => :uint,
1512
+ :blContextFillUtf8TextIRgba64 => :uint,
1513
+ :blContextFillUtf8TextIExt => :uint,
1514
+ :blContextFillUtf8TextD => :uint,
1515
+ :blContextFillUtf8TextDRgba32 => :uint,
1516
+ :blContextFillUtf8TextDRgba64 => :uint,
1517
+ :blContextFillUtf8TextDExt => :uint,
1518
+ :blContextFillUtf16TextI => :uint,
1519
+ :blContextFillUtf16TextIRgba32 => :uint,
1520
+ :blContextFillUtf16TextIRgba64 => :uint,
1521
+ :blContextFillUtf16TextIExt => :uint,
1522
+ :blContextFillUtf16TextD => :uint,
1523
+ :blContextFillUtf16TextDRgba32 => :uint,
1524
+ :blContextFillUtf16TextDRgba64 => :uint,
1525
+ :blContextFillUtf16TextDExt => :uint,
1526
+ :blContextFillUtf32TextI => :uint,
1527
+ :blContextFillUtf32TextIRgba32 => :uint,
1528
+ :blContextFillUtf32TextIRgba64 => :uint,
1529
+ :blContextFillUtf32TextIExt => :uint,
1530
+ :blContextFillUtf32TextD => :uint,
1531
+ :blContextFillUtf32TextDRgba32 => :uint,
1532
+ :blContextFillUtf32TextDRgba64 => :uint,
1533
+ :blContextFillUtf32TextDExt => :uint,
1534
+ :blContextFillGlyphRunI => :uint,
1535
+ :blContextFillGlyphRunIRgba32 => :uint,
1536
+ :blContextFillGlyphRunIRgba64 => :uint,
1537
+ :blContextFillGlyphRunIExt => :uint,
1538
+ :blContextFillGlyphRunD => :uint,
1539
+ :blContextFillGlyphRunDRgba32 => :uint,
1540
+ :blContextFillGlyphRunDRgba64 => :uint,
1541
+ :blContextFillGlyphRunDExt => :uint,
1542
+ :blContextFillMaskI => :uint,
1543
+ :blContextFillMaskIRgba32 => :uint,
1544
+ :blContextFillMaskIRgba64 => :uint,
1545
+ :blContextFillMaskIExt => :uint,
1546
+ :blContextFillMaskD => :uint,
1547
+ :blContextFillMaskDRgba32 => :uint,
1548
+ :blContextFillMaskDRgba64 => :uint,
1549
+ :blContextFillMaskDExt => :uint,
1550
+ :blContextStrokeRectI => :uint,
1551
+ :blContextStrokeRectIRgba32 => :uint,
1552
+ :blContextStrokeRectIRgba64 => :uint,
1553
+ :blContextStrokeRectIExt => :uint,
1554
+ :blContextStrokeRectD => :uint,
1555
+ :blContextStrokeRectDRgba32 => :uint,
1556
+ :blContextStrokeRectDRgba64 => :uint,
1557
+ :blContextStrokeRectDExt => :uint,
1558
+ :blContextStrokePathD => :uint,
1559
+ :blContextStrokePathDRgba32 => :uint,
1560
+ :blContextStrokePathDRgba64 => :uint,
1561
+ :blContextStrokePathDExt => :uint,
1562
+ :blContextStrokeGeometry => :uint,
1563
+ :blContextStrokeGeometryRgba32 => :uint,
1564
+ :blContextStrokeGeometryRgba64 => :uint,
1565
+ :blContextStrokeGeometryExt => :uint,
1566
+ :blContextStrokeUtf8TextI => :uint,
1567
+ :blContextStrokeUtf8TextIRgba32 => :uint,
1568
+ :blContextStrokeUtf8TextIRgba64 => :uint,
1569
+ :blContextStrokeUtf8TextIExt => :uint,
1570
+ :blContextStrokeUtf8TextD => :uint,
1571
+ :blContextStrokeUtf8TextDRgba32 => :uint,
1572
+ :blContextStrokeUtf8TextDRgba64 => :uint,
1573
+ :blContextStrokeUtf8TextDExt => :uint,
1574
+ :blContextStrokeUtf16TextI => :uint,
1575
+ :blContextStrokeUtf16TextIRgba32 => :uint,
1576
+ :blContextStrokeUtf16TextIRgba64 => :uint,
1577
+ :blContextStrokeUtf16TextIExt => :uint,
1578
+ :blContextStrokeUtf16TextD => :uint,
1579
+ :blContextStrokeUtf16TextDRgba32 => :uint,
1580
+ :blContextStrokeUtf16TextDRgba64 => :uint,
1581
+ :blContextStrokeUtf16TextDExt => :uint,
1582
+ :blContextStrokeUtf32TextI => :uint,
1583
+ :blContextStrokeUtf32TextIRgba32 => :uint,
1584
+ :blContextStrokeUtf32TextIRgba64 => :uint,
1585
+ :blContextStrokeUtf32TextIExt => :uint,
1586
+ :blContextStrokeUtf32TextD => :uint,
1587
+ :blContextStrokeUtf32TextDRgba32 => :uint,
1588
+ :blContextStrokeUtf32TextDRgba64 => :uint,
1589
+ :blContextStrokeUtf32TextDExt => :uint,
1590
+ :blContextStrokeGlyphRunI => :uint,
1591
+ :blContextStrokeGlyphRunIRgba32 => :uint,
1592
+ :blContextStrokeGlyphRunIRgba64 => :uint,
1593
+ :blContextStrokeGlyphRunIExt => :uint,
1594
+ :blContextStrokeGlyphRunD => :uint,
1595
+ :blContextStrokeGlyphRunDRgba32 => :uint,
1596
+ :blContextStrokeGlyphRunDRgba64 => :uint,
1597
+ :blContextStrokeGlyphRunDExt => :uint,
1598
+ :blContextBlitImageI => :uint,
1599
+ :blContextBlitImageD => :uint,
1600
+ :blContextBlitScaledImageI => :uint,
1601
+ :blContextBlitScaledImageD => :uint,
1602
+ }
1603
+ symbols.each do |sym|
1604
+ begin
1605
+ attach_function apis[sym], sym, args[sym], retvals[sym]
1606
+ rescue FFI::NotFoundError => error
1607
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).") if output_error
1608
+ end
1609
+ end
1610
+ end
1611
+
1612
+ end
1613
+