blend2d-bindings 0.1.0-arm64-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
+