-
Notifications
You must be signed in to change notification settings - Fork 9
/
blend2d.nelua
2338 lines (2338 loc) · 109 KB
/
blend2d.nelua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
##[[
cinclude '<blend2d.h>'
linklib 'blend2d'
]]
global BLRange: type <cimport,nodecl,forwarddecl> = @record{}
global BLRandom: type <cimport,nodecl,forwarddecl> = @record{}
global BLCreateForeignInfo: type <cimport,nodecl,forwarddecl> = @record{}
global BLFileCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLRuntimeBuildInfo: type <cimport,nodecl,forwarddecl> = @record{}
global BLRuntimeSystemInfo: type <cimport,nodecl,forwarddecl> = @record{}
global BLRuntimeResourceInfo: type <cimport,nodecl,forwarddecl> = @record{}
global BLStringCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLStringImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLArrayCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLArrayImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLVariantCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLVariantImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLPointI: type <cimport,nodecl,forwarddecl> = @record{}
global BLPoint: type <cimport,nodecl,forwarddecl> = @record{}
global BLSizeI: type <cimport,nodecl,forwarddecl> = @record{}
global BLSize: type <cimport,nodecl,forwarddecl> = @record{}
global BLBoxI: type <cimport,nodecl,forwarddecl> = @record{}
global BLBox: type <cimport,nodecl,forwarddecl> = @record{}
global BLRectI: type <cimport,nodecl,forwarddecl> = @record{}
global BLRect: type <cimport,nodecl,forwarddecl> = @record{}
global BLLine: type <cimport,nodecl,forwarddecl> = @record{}
global BLTriangle: type <cimport,nodecl,forwarddecl> = @record{}
global BLRoundRect: type <cimport,nodecl,forwarddecl> = @record{}
global BLCircle: type <cimport,nodecl,forwarddecl> = @record{}
global BLEllipse: type <cimport,nodecl,forwarddecl> = @record{}
global BLArc: type <cimport,nodecl,forwarddecl> = @record{}
global BLMatrix2D: type <cimport,nodecl,forwarddecl> = @record{}
global BLApproximationOptions: type <cimport,nodecl,forwarddecl> = @record{}
global BLStrokeOptionsCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLPathCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLPathImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLPathView: type <cimport,nodecl,forwarddecl> = @record{}
global BLRegionCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLRegionImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLFormatInfo: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageData: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageInfo: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageScaleOptions: type <cimport,nodecl,forwarddecl> = @record{}
global BLPixelConverterCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLPixelConverterOptions: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageCodecCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageCodecImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageCodecVirt: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageDecoderCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageDecoderImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageDecoderVirt: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageEncoderCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageEncoderImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLImageEncoderVirt: type <cimport,nodecl,forwarddecl> = @record{}
global BLRgba32: type <cimport,nodecl,forwarddecl> = @record{}
global BLRgba64: type <cimport,nodecl,forwarddecl> = @record{}
global BLRgba: type <cimport,nodecl,forwarddecl> = @record{}
global BLGradientCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLGradientImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLGradientStop: type <cimport,nodecl,forwarddecl> = @record{}
global BLLinearGradientValues: type <cimport,nodecl,forwarddecl> = @record{}
global BLRadialGradientValues: type <cimport,nodecl,forwarddecl> = @record{}
global BLConicalGradientValues: type <cimport,nodecl,forwarddecl> = @record{}
global BLPatternCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLPatternImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLStyleCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLContextCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLContextImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLContextVirt: type <cimport,nodecl,forwarddecl> = @record{}
global BLContextCookie: type <cimport,nodecl,forwarddecl> = @record{}
global BLContextCreateInfo: type <cimport,nodecl,forwarddecl> = @record{}
global BLContextHints: type <cimport,nodecl,forwarddecl> = @record{}
global BLContextState: type <cimport,nodecl,forwarddecl> = @record{}
global BLGlyphBufferCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLGlyphBufferImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLGlyphInfo: type <cimport,nodecl,forwarddecl> = @record{}
global BLGlyphMappingState: type <cimport,nodecl,forwarddecl> = @record{}
global BLGlyphOutlineSinkInfo: type <cimport,nodecl,forwarddecl> = @record{}
global BLGlyphPlacement: type <cimport,nodecl,forwarddecl> = @record{}
global BLGlyphRun: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontUnicodeCoverage: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontFaceInfo: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontQueryProperties: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontFeature: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontDesignMetrics: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontMatrix: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontMetrics: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontPanose: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontTable: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontVariation: type <cimport,nodecl,forwarddecl> = @record{}
global BLTextMetrics: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontVirt: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontFaceCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontFaceImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontFaceVirt: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontDataCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontDataImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontDataVirt: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontManagerCore: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontManagerImpl: type <cimport,nodecl,forwarddecl> = @record{}
global BLFontManagerVirt: type <cimport,nodecl,forwarddecl> = @record{}
global BLResult: type = @cuint
global BLDestroyImplFunc: type <cimport,nodecl> = @function(pointer, pointer): void
global BLPathSinkFunc: type <cimport,nodecl> = @function(*BLPathCore, pointer, pointer): BLResult
global BLResultCode: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_SUCCESS = 0,
BL_ERROR_START_INDEX = 65536,
BL_ERROR_OUT_OF_MEMORY = 65536,
BL_ERROR_INVALID_VALUE = 65537,
BL_ERROR_INVALID_STATE = 65538,
BL_ERROR_INVALID_HANDLE = 65539,
BL_ERROR_VALUE_TOO_LARGE = 65540,
BL_ERROR_NOT_INITIALIZED = 65541,
BL_ERROR_NOT_IMPLEMENTED = 65542,
BL_ERROR_NOT_PERMITTED = 65543,
BL_ERROR_IO = 65544,
BL_ERROR_BUSY = 65545,
BL_ERROR_INTERRUPTED = 65546,
BL_ERROR_TRY_AGAIN = 65547,
BL_ERROR_TIMED_OUT = 65548,
BL_ERROR_BROKEN_PIPE = 65549,
BL_ERROR_INVALID_SEEK = 65550,
BL_ERROR_SYMLINK_LOOP = 65551,
BL_ERROR_FILE_TOO_LARGE = 65552,
BL_ERROR_ALREADY_EXISTS = 65553,
BL_ERROR_ACCESS_DENIED = 65554,
BL_ERROR_MEDIA_CHANGED = 65555,
BL_ERROR_READ_ONLY_FS = 65556,
BL_ERROR_NO_DEVICE = 65557,
BL_ERROR_NO_ENTRY = 65558,
BL_ERROR_NO_MEDIA = 65559,
BL_ERROR_NO_MORE_DATA = 65560,
BL_ERROR_NO_MORE_FILES = 65561,
BL_ERROR_NO_SPACE_LEFT = 65562,
BL_ERROR_NOT_EMPTY = 65563,
BL_ERROR_NOT_FILE = 65564,
BL_ERROR_NOT_DIRECTORY = 65565,
BL_ERROR_NOT_SAME_DEVICE = 65566,
BL_ERROR_NOT_BLOCK_DEVICE = 65567,
BL_ERROR_INVALID_FILE_NAME = 65568,
BL_ERROR_FILE_NAME_TOO_LONG = 65569,
BL_ERROR_TOO_MANY_OPEN_FILES = 65570,
BL_ERROR_TOO_MANY_OPEN_FILES_BY_OS = 65571,
BL_ERROR_TOO_MANY_LINKS = 65572,
BL_ERROR_TOO_MANY_THREADS = 65573,
BL_ERROR_THREAD_POOL_EXHAUSTED = 65574,
BL_ERROR_FILE_EMPTY = 65575,
BL_ERROR_OPEN_FAILED = 65576,
BL_ERROR_NOT_ROOT_DEVICE = 65577,
BL_ERROR_UNKNOWN_SYSTEM_ERROR = 65578,
BL_ERROR_INVALID_ALIGNMENT = 65579,
BL_ERROR_INVALID_SIGNATURE = 65580,
BL_ERROR_INVALID_DATA = 65581,
BL_ERROR_INVALID_STRING = 65582,
BL_ERROR_DATA_TRUNCATED = 65583,
BL_ERROR_DATA_TOO_LARGE = 65584,
BL_ERROR_DECOMPRESSION_FAILED = 65585,
BL_ERROR_INVALID_GEOMETRY = 65586,
BL_ERROR_NO_MATCHING_VERTEX = 65587,
BL_ERROR_NO_MATCHING_COOKIE = 65588,
BL_ERROR_NO_STATES_TO_RESTORE = 65589,
BL_ERROR_IMAGE_TOO_LARGE = 65590,
BL_ERROR_IMAGE_NO_MATCHING_CODEC = 65591,
BL_ERROR_IMAGE_UNKNOWN_FILE_FORMAT = 65592,
BL_ERROR_IMAGE_DECODER_NOT_PROVIDED = 65593,
BL_ERROR_IMAGE_ENCODER_NOT_PROVIDED = 65594,
BL_ERROR_PNG_MULTIPLE_IHDR = 65595,
BL_ERROR_PNG_INVALID_IDAT = 65596,
BL_ERROR_PNG_INVALID_IEND = 65597,
BL_ERROR_PNG_INVALID_PLTE = 65598,
BL_ERROR_PNG_INVALID_TRNS = 65599,
BL_ERROR_PNG_INVALID_FILTER = 65600,
BL_ERROR_JPEG_UNSUPPORTED_FEATURE = 65601,
BL_ERROR_JPEG_INVALID_SOS = 65602,
BL_ERROR_JPEG_INVALID_SOF = 65603,
BL_ERROR_JPEG_MULTIPLE_SOF = 65604,
BL_ERROR_JPEG_UNSUPPORTED_SOF = 65605,
BL_ERROR_FONT_NOT_INITIALIZED = 65606,
BL_ERROR_FONT_NO_MATCH = 65607,
BL_ERROR_FONT_NO_CHARACTER_MAPPING = 65608,
BL_ERROR_FONT_MISSING_IMPORTANT_TABLE = 65609,
BL_ERROR_FONT_FEATURE_NOT_AVAILABLE = 65610,
BL_ERROR_FONT_CFF_INVALID_DATA = 65611,
BL_ERROR_FONT_PROGRAM_TERMINATED = 65612,
BL_ERROR_INVALID_GLYPH = 65613
}
global BLByteOrder: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_BYTE_ORDER_LE = 0,
BL_BYTE_ORDER_BE = 1,
BL_BYTE_ORDER_NATIVE = 0,
BL_BYTE_ORDER_SWAPPED = 1
}
global BLDataAccessFlags: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_DATA_ACCESS_READ = 1,
BL_DATA_ACCESS_WRITE = 2,
BL_DATA_ACCESS_RW = 3
}
global BLDataSourceType: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_DATA_SOURCE_TYPE_NONE = 0,
BL_DATA_SOURCE_TYPE_MEMORY = 1,
BL_DATA_SOURCE_TYPE_FILE = 2,
BL_DATA_SOURCE_TYPE_CUSTOM = 3,
BL_DATA_SOURCE_TYPE_COUNT = 4
}
global BLModifyOp: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_MODIFY_OP_ASSIGN_FIT = 0,
BL_MODIFY_OP_ASSIGN_GROW = 1,
BL_MODIFY_OP_APPEND_FIT = 2,
BL_MODIFY_OP_APPEND_GROW = 3,
BL_MODIFY_OP_COUNT = 4
}
global BLBooleanOp: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_BOOLEAN_OP_COPY = 0,
BL_BOOLEAN_OP_AND = 1,
BL_BOOLEAN_OP_OR = 2,
BL_BOOLEAN_OP_XOR = 3,
BL_BOOLEAN_OP_SUB = 4,
BL_BOOLEAN_OP_COUNT = 5
}
global BLExtendMode: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_EXTEND_MODE_PAD = 0,
BL_EXTEND_MODE_REPEAT = 1,
BL_EXTEND_MODE_REFLECT = 2,
BL_EXTEND_MODE_PAD_X_PAD_Y = 0,
BL_EXTEND_MODE_REPEAT_X_REPEAT_Y = 1,
BL_EXTEND_MODE_REFLECT_X_REFLECT_Y = 2,
BL_EXTEND_MODE_PAD_X_REPEAT_Y = 3,
BL_EXTEND_MODE_PAD_X_REFLECT_Y = 4,
BL_EXTEND_MODE_REPEAT_X_PAD_Y = 5,
BL_EXTEND_MODE_REPEAT_X_REFLECT_Y = 6,
BL_EXTEND_MODE_REFLECT_X_PAD_Y = 7,
BL_EXTEND_MODE_REFLECT_X_REPEAT_Y = 8,
BL_EXTEND_MODE_SIMPLE_COUNT = 3,
BL_EXTEND_MODE_COMPLEX_COUNT = 9
}
global BLTextEncoding: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_TEXT_ENCODING_UTF8 = 0,
BL_TEXT_ENCODING_UTF16 = 1,
BL_TEXT_ENCODING_UTF32 = 2,
BL_TEXT_ENCODING_LATIN1 = 3,
BL_TEXT_ENCODING_WCHAR = 2,
BL_TEXT_ENCODING_COUNT = 4
}
global function blTraceError(result: BLResult): BLResult <cimport,nodecl> end
BLRange = @record{
start: csize,
End: csize
}
BLCreateForeignInfo = @record{
data: pointer,
size: csize,
destroyFunc: BLDestroyImplFunc,
destroyData: pointer
}
global BLArrayView: type <cimport,nodecl> = @record{
data: pointer,
size: csize
}
global BLStringView: type <cimport,nodecl> = @record{
data: cstring,
size: csize
}
global BLRegionView: type <cimport,nodecl> = @record{
data: *BLBoxI,
size: csize
}
global BLDataView: type = @BLArrayView
global function blArrayInit(self: *BLArrayCore, arrayTypeId: uint32): BLResult <cimport,nodecl> end
global function blArrayDestroy(self: *BLArrayCore): BLResult <cimport,nodecl> end
global function blArrayReset(self: *BLArrayCore): BLResult <cimport,nodecl> end
global function blArrayCreateFromData(self: *BLArrayCore, data: pointer, size: csize, capacity: csize, dataAccessFlags: uint32, destroyFunc: BLDestroyImplFunc, destroyData: pointer): BLResult <cimport,nodecl> end
global function blArrayGetSize(self: *BLArrayCore): csize <cimport,nodecl> end
global function blArrayGetCapacity(self: *BLArrayCore): csize <cimport,nodecl> end
global function blArrayGetData(self: *BLArrayCore): pointer <cimport,nodecl> end
global function blArrayClear(self: *BLArrayCore): BLResult <cimport,nodecl> end
global function blArrayShrink(self: *BLArrayCore): BLResult <cimport,nodecl> end
global function blArrayReserve(self: *BLArrayCore, n: csize): BLResult <cimport,nodecl> end
global function blArrayResize(self: *BLArrayCore, n: csize, fill: pointer): BLResult <cimport,nodecl> end
global function blArrayMakeMutable(self: *BLArrayCore, dataOut: *pointer): BLResult <cimport,nodecl> end
global function blArrayModifyOp(self: *BLArrayCore, op: uint32, n: csize, dataOut: *pointer): BLResult <cimport,nodecl> end
global function blArrayInsertOp(self: *BLArrayCore, index: csize, n: csize, dataOut: *pointer): BLResult <cimport,nodecl> end
global function blArrayAssignMove(self: *BLArrayCore, other: *BLArrayCore): BLResult <cimport,nodecl> end
global function blArrayAssignWeak(self: *BLArrayCore, other: *BLArrayCore): BLResult <cimport,nodecl> end
global function blArrayAssignDeep(self: *BLArrayCore, other: *BLArrayCore): BLResult <cimport,nodecl> end
global function blArrayAssignView(self: *BLArrayCore, items: pointer, n: csize): BLResult <cimport,nodecl> end
global function blArrayAppendU8(self: *BLArrayCore, value: uint8): BLResult <cimport,nodecl> end
global function blArrayAppendU16(self: *BLArrayCore, value: uint16): BLResult <cimport,nodecl> end
global function blArrayAppendU32(self: *BLArrayCore, value: uint32): BLResult <cimport,nodecl> end
global function blArrayAppendU64(self: *BLArrayCore, value: uint64): BLResult <cimport,nodecl> end
global function blArrayAppendF32(self: *BLArrayCore, value: float32): BLResult <cimport,nodecl> end
global function blArrayAppendF64(self: *BLArrayCore, value: float64): BLResult <cimport,nodecl> end
global function blArrayAppendItem(self: *BLArrayCore, item: pointer): BLResult <cimport,nodecl> end
global function blArrayAppendView(self: *BLArrayCore, items: pointer, n: csize): BLResult <cimport,nodecl> end
global function blArrayInsertU8(self: *BLArrayCore, index: csize, value: uint8): BLResult <cimport,nodecl> end
global function blArrayInsertU16(self: *BLArrayCore, index: csize, value: uint16): BLResult <cimport,nodecl> end
global function blArrayInsertU32(self: *BLArrayCore, index: csize, value: uint32): BLResult <cimport,nodecl> end
global function blArrayInsertU64(self: *BLArrayCore, index: csize, value: uint64): BLResult <cimport,nodecl> end
global function blArrayInsertF32(self: *BLArrayCore, index: csize, value: float32): BLResult <cimport,nodecl> end
global function blArrayInsertF64(self: *BLArrayCore, index: csize, value: float64): BLResult <cimport,nodecl> end
global function blArrayInsertItem(self: *BLArrayCore, index: csize, item: pointer): BLResult <cimport,nodecl> end
global function blArrayInsertView(self: *BLArrayCore, index: csize, items: pointer, n: csize): BLResult <cimport,nodecl> end
global function blArrayReplaceU8(self: *BLArrayCore, index: csize, value: uint8): BLResult <cimport,nodecl> end
global function blArrayReplaceU16(self: *BLArrayCore, index: csize, value: uint16): BLResult <cimport,nodecl> end
global function blArrayReplaceU32(self: *BLArrayCore, index: csize, value: uint32): BLResult <cimport,nodecl> end
global function blArrayReplaceU64(self: *BLArrayCore, index: csize, value: uint64): BLResult <cimport,nodecl> end
global function blArrayReplaceF32(self: *BLArrayCore, index: csize, value: float32): BLResult <cimport,nodecl> end
global function blArrayReplaceF64(self: *BLArrayCore, index: csize, value: float64): BLResult <cimport,nodecl> end
global function blArrayReplaceItem(self: *BLArrayCore, index: csize, item: pointer): BLResult <cimport,nodecl> end
global function blArrayReplaceView(self: *BLArrayCore, rStart: csize, rEnd: csize, items: pointer, n: csize): BLResult <cimport,nodecl> end
global function blArrayRemoveIndex(self: *BLArrayCore, index: csize): BLResult <cimport,nodecl> end
global function blArrayRemoveRange(self: *BLArrayCore, rStart: csize, rEnd: csize): BLResult <cimport,nodecl> end
global function blArrayEquals(a: *BLArrayCore, b: *BLArrayCore): boolean <cimport,nodecl> end
global function blContextInit(self: *BLContextCore): BLResult <cimport,nodecl> end
global function blContextInitAs(self: *BLContextCore, image: *BLImageCore, options: *BLContextCreateInfo): BLResult <cimport,nodecl> end
global function blContextDestroy(self: *BLContextCore): BLResult <cimport,nodecl> end
global function blContextReset(self: *BLContextCore): BLResult <cimport,nodecl> end
global function blContextAssignMove(self: *BLContextCore, other: *BLContextCore): BLResult <cimport,nodecl> end
global function blContextAssignWeak(self: *BLContextCore, other: *BLContextCore): BLResult <cimport,nodecl> end
global function blContextGetType(self: *BLContextCore): uint32 <cimport,nodecl> end
global function blContextGetTargetSize(self: *BLContextCore, targetSizeOut: *BLSize): BLResult <cimport,nodecl> end
global function blContextGetTargetImage(self: *BLContextCore): *BLImageCore <cimport,nodecl> end
global function blContextBegin(self: *BLContextCore, image: *BLImageCore, options: *BLContextCreateInfo): BLResult <cimport,nodecl> end
global function blContextEnd(self: *BLContextCore): BLResult <cimport,nodecl> end
global function blContextFlush(self: *BLContextCore, flags: uint32): BLResult <cimport,nodecl> end
global function blContextQueryProperty(self: *BLContextCore, propertyId: uint32, valueOut: pointer): BLResult <cimport,nodecl> end
global function blContextSave(self: *BLContextCore, cookie: *BLContextCookie): BLResult <cimport,nodecl> end
global function blContextRestore(self: *BLContextCore, cookie: *BLContextCookie): BLResult <cimport,nodecl> end
global function blContextGetMetaMatrix(self: *BLContextCore, m: *BLMatrix2D): BLResult <cimport,nodecl> end
global function blContextGetUserMatrix(self: *BLContextCore, m: *BLMatrix2D): BLResult <cimport,nodecl> end
global function blContextUserToMeta(self: *BLContextCore): BLResult <cimport,nodecl> end
global function blContextMatrixOp(self: *BLContextCore, opType: uint32, opData: pointer): BLResult <cimport,nodecl> end
global function blContextSetHint(self: *BLContextCore, hintType: uint32, value: uint32): BLResult <cimport,nodecl> end
global function blContextSetHints(self: *BLContextCore, hints: *BLContextHints): BLResult <cimport,nodecl> end
global function blContextSetFlattenMode(self: *BLContextCore, mode: uint32): BLResult <cimport,nodecl> end
global function blContextSetFlattenTolerance(self: *BLContextCore, tolerance: float64): BLResult <cimport,nodecl> end
global function blContextSetApproximationOptions(self: *BLContextCore, options: *BLApproximationOptions): BLResult <cimport,nodecl> end
global function blContextSetCompOp(self: *BLContextCore, compOp: uint32): BLResult <cimport,nodecl> end
global function blContextSetGlobalAlpha(self: *BLContextCore, alpha: float64): BLResult <cimport,nodecl> end
global function blContextSetFillAlpha(self: *BLContextCore, alpha: float64): BLResult <cimport,nodecl> end
global function blContextGetFillStyle(self: *BLContextCore, styleOut: *BLStyleCore): BLResult <cimport,nodecl> end
global function blContextSetFillStyle(self: *BLContextCore, style: *BLStyleCore): BLResult <cimport,nodecl> end
global function blContextSetFillStyleRgba(self: *BLContextCore, rgba: *BLRgba): BLResult <cimport,nodecl> end
global function blContextSetFillStyleRgba32(self: *BLContextCore, rgba32: uint32): BLResult <cimport,nodecl> end
global function blContextSetFillStyleRgba64(self: *BLContextCore, rgba64: uint64): BLResult <cimport,nodecl> end
global function blContextSetFillStyleObject(self: *BLContextCore, object: pointer): BLResult <cimport,nodecl> end
global function blContextSetFillRule(self: *BLContextCore, fillRule: uint32): BLResult <cimport,nodecl> end
global function blContextSetStrokeAlpha(self: *BLContextCore, alpha: float64): BLResult <cimport,nodecl> end
global function blContextGetStrokeStyle(self: *BLContextCore, styleOut: *BLStyleCore): BLResult <cimport,nodecl> end
global function blContextSetStrokeStyle(self: *BLContextCore, style: *BLStyleCore): BLResult <cimport,nodecl> end
global function blContextSetStrokeStyleRgba(self: *BLContextCore, rgba: *BLRgba): BLResult <cimport,nodecl> end
global function blContextSetStrokeStyleRgba32(self: *BLContextCore, rgba32: uint32): BLResult <cimport,nodecl> end
global function blContextSetStrokeStyleRgba64(self: *BLContextCore, rgba64: uint64): BLResult <cimport,nodecl> end
global function blContextSetStrokeStyleObject(self: *BLContextCore, object: pointer): BLResult <cimport,nodecl> end
global function blContextSetStrokeWidth(self: *BLContextCore, width: float64): BLResult <cimport,nodecl> end
global function blContextSetStrokeMiterLimit(self: *BLContextCore, miterLimit: float64): BLResult <cimport,nodecl> end
global function blContextSetStrokeCap(self: *BLContextCore, position: uint32, strokeCap: uint32): BLResult <cimport,nodecl> end
global function blContextSetStrokeCaps(self: *BLContextCore, strokeCap: uint32): BLResult <cimport,nodecl> end
global function blContextSetStrokeJoin(self: *BLContextCore, strokeJoin: uint32): BLResult <cimport,nodecl> end
global function blContextSetStrokeDashOffset(self: *BLContextCore, dashOffset: float64): BLResult <cimport,nodecl> end
global function blContextSetStrokeDashArray(self: *BLContextCore, dashArray: *BLArrayCore): BLResult <cimport,nodecl> end
global function blContextSetStrokeTransformOrder(self: *BLContextCore, transformOrder: uint32): BLResult <cimport,nodecl> end
global function blContextGetStrokeOptions(self: *BLContextCore, options: *BLStrokeOptionsCore): BLResult <cimport,nodecl> end
global function blContextSetStrokeOptions(self: *BLContextCore, options: *BLStrokeOptionsCore): BLResult <cimport,nodecl> end
global function blContextClipToRectI(self: *BLContextCore, rect: *BLRectI): BLResult <cimport,nodecl> end
global function blContextClipToRectD(self: *BLContextCore, rect: *BLRect): BLResult <cimport,nodecl> end
global function blContextRestoreClipping(self: *BLContextCore): BLResult <cimport,nodecl> end
global function blContextClearAll(self: *BLContextCore): BLResult <cimport,nodecl> end
global function blContextClearRectI(self: *BLContextCore, rect: *BLRectI): BLResult <cimport,nodecl> end
global function blContextClearRectD(self: *BLContextCore, rect: *BLRect): BLResult <cimport,nodecl> end
global function blContextFillAll(self: *BLContextCore): BLResult <cimport,nodecl> end
global function blContextFillRectI(self: *BLContextCore, rect: *BLRectI): BLResult <cimport,nodecl> end
global function blContextFillRectD(self: *BLContextCore, rect: *BLRect): BLResult <cimport,nodecl> end
global function blContextFillPathD(self: *BLContextCore, path: *BLPathCore): BLResult <cimport,nodecl> end
global function blContextFillGeometry(self: *BLContextCore, geometryType: uint32, geometryData: pointer): BLResult <cimport,nodecl> end
global function blContextFillTextI(self: *BLContextCore, pt: *BLPointI, font: *BLFontCore, text: pointer, size: csize, encoding: uint32): BLResult <cimport,nodecl> end
global function blContextFillTextD(self: *BLContextCore, pt: *BLPoint, font: *BLFontCore, text: pointer, size: csize, encoding: uint32): BLResult <cimport,nodecl> end
global function blContextFillGlyphRunI(self: *BLContextCore, pt: *BLPointI, font: *BLFontCore, glyphRun: *BLGlyphRun): BLResult <cimport,nodecl> end
global function blContextFillGlyphRunD(self: *BLContextCore, pt: *BLPoint, font: *BLFontCore, glyphRun: *BLGlyphRun): BLResult <cimport,nodecl> end
global function blContextStrokeRectI(self: *BLContextCore, rect: *BLRectI): BLResult <cimport,nodecl> end
global function blContextStrokeRectD(self: *BLContextCore, rect: *BLRect): BLResult <cimport,nodecl> end
global function blContextStrokePathD(self: *BLContextCore, path: *BLPathCore): BLResult <cimport,nodecl> end
global function blContextStrokeGeometry(self: *BLContextCore, geometryType: uint32, geometryData: pointer): BLResult <cimport,nodecl> end
global function blContextStrokeTextI(self: *BLContextCore, pt: *BLPointI, font: *BLFontCore, text: pointer, size: csize, encoding: uint32): BLResult <cimport,nodecl> end
global function blContextStrokeTextD(self: *BLContextCore, pt: *BLPoint, font: *BLFontCore, text: pointer, size: csize, encoding: uint32): BLResult <cimport,nodecl> end
global function blContextStrokeGlyphRunI(self: *BLContextCore, pt: *BLPointI, font: *BLFontCore, glyphRun: *BLGlyphRun): BLResult <cimport,nodecl> end
global function blContextStrokeGlyphRunD(self: *BLContextCore, pt: *BLPoint, font: *BLFontCore, glyphRun: *BLGlyphRun): BLResult <cimport,nodecl> end
global function blContextBlitImageI(self: *BLContextCore, pt: *BLPointI, img: *BLImageCore, imgArea: *BLRectI): BLResult <cimport,nodecl> end
global function blContextBlitImageD(self: *BLContextCore, pt: *BLPoint, img: *BLImageCore, imgArea: *BLRectI): BLResult <cimport,nodecl> end
global function blContextBlitScaledImageI(self: *BLContextCore, rect: *BLRectI, img: *BLImageCore, imgArea: *BLRectI): BLResult <cimport,nodecl> end
global function blContextBlitScaledImageD(self: *BLContextCore, rect: *BLRect, img: *BLImageCore, imgArea: *BLRectI): BLResult <cimport,nodecl> end
global function blFileInit(self: *BLFileCore): BLResult <cimport,nodecl> end
global function blFileReset(self: *BLFileCore): BLResult <cimport,nodecl> end
global function blFileOpen(self: *BLFileCore, fileName: cstring, openFlags: uint32): BLResult <cimport,nodecl> end
global function blFileClose(self: *BLFileCore): BLResult <cimport,nodecl> end
global function blFileSeek(self: *BLFileCore, offset: int64, seekType: uint32, positionOut: *int64): BLResult <cimport,nodecl> end
global function blFileRead(self: *BLFileCore, buffer: pointer, n: csize, bytesReadOut: *csize): BLResult <cimport,nodecl> end
global function blFileWrite(self: *BLFileCore, buffer: pointer, n: csize, bytesWrittenOut: *csize): BLResult <cimport,nodecl> end
global function blFileTruncate(self: *BLFileCore, maxSize: int64): BLResult <cimport,nodecl> end
global function blFileGetSize(self: *BLFileCore, fileSizeOut: *uint64): BLResult <cimport,nodecl> end
global function blFileSystemReadFile(fileName: cstring, dst: *BLArrayCore, maxSize: csize, readFlags: uint32): BLResult <cimport,nodecl> end
global function blFileSystemWriteFile(fileName: cstring, data: pointer, size: csize, bytesWrittenOut: *csize): BLResult <cimport,nodecl> end
global function blFontInit(self: *BLFontCore): BLResult <cimport,nodecl> end
global function blFontDestroy(self: *BLFontCore): BLResult <cimport,nodecl> end
global function blFontReset(self: *BLFontCore): BLResult <cimport,nodecl> end
global function blFontAssignMove(self: *BLFontCore, other: *BLFontCore): BLResult <cimport,nodecl> end
global function blFontAssignWeak(self: *BLFontCore, other: *BLFontCore): BLResult <cimport,nodecl> end
global function blFontEquals(a: *BLFontCore, b: *BLFontCore): boolean <cimport,nodecl> end
global function blFontCreateFromFace(self: *BLFontCore, face: *BLFontFaceCore, size: float32): BLResult <cimport,nodecl> end
global function blFontShape(self: *BLFontCore, gb: *BLGlyphBufferCore): BLResult <cimport,nodecl> end
global function blFontMapTextToGlyphs(self: *BLFontCore, gb: *BLGlyphBufferCore, stateOut: *BLGlyphMappingState): BLResult <cimport,nodecl> end
global function blFontPositionGlyphs(self: *BLFontCore, gb: *BLGlyphBufferCore, positioningFlags: uint32): BLResult <cimport,nodecl> end
global function blFontApplyKerning(self: *BLFontCore, gb: *BLGlyphBufferCore): BLResult <cimport,nodecl> end
global function blFontApplyGSub(self: *BLFontCore, gb: *BLGlyphBufferCore, index: csize, lookups: culong): BLResult <cimport,nodecl> end
global function blFontApplyGPos(self: *BLFontCore, gb: *BLGlyphBufferCore, index: csize, lookups: culong): BLResult <cimport,nodecl> end
global function blFontGetMatrix(self: *BLFontCore, out: *BLFontMatrix): BLResult <cimport,nodecl> end
global function blFontGetMetrics(self: *BLFontCore, out: *BLFontMetrics): BLResult <cimport,nodecl> end
global function blFontGetDesignMetrics(self: *BLFontCore, out: *BLFontDesignMetrics): BLResult <cimport,nodecl> end
global function blFontGetTextMetrics(self: *BLFontCore, gb: *BLGlyphBufferCore, out: *BLTextMetrics): BLResult <cimport,nodecl> end
global function blFontGetGlyphBounds(self: *BLFontCore, glyphData: *uint32, glyphAdvance: isize, out: *BLBoxI, count: csize): BLResult <cimport,nodecl> end
global function blFontGetGlyphAdvances(self: *BLFontCore, glyphData: *uint32, glyphAdvance: isize, out: *BLGlyphPlacement, count: csize): BLResult <cimport,nodecl> end
global function blFontGetGlyphOutlines(self: *BLFontCore, glyphId: uint32, userMatrix: *BLMatrix2D, out: *BLPathCore, sink: BLPathSinkFunc, closure: pointer): BLResult <cimport,nodecl> end
global function blFontGetGlyphRunOutlines(self: *BLFontCore, glyphRun: *BLGlyphRun, userMatrix: *BLMatrix2D, out: *BLPathCore, sink: BLPathSinkFunc, closure: pointer): BLResult <cimport,nodecl> end
global function blFontDataInit(self: *BLFontDataCore): BLResult <cimport,nodecl> end
global function blFontDataDestroy(self: *BLFontDataCore): BLResult <cimport,nodecl> end
global function blFontDataReset(self: *BLFontDataCore): BLResult <cimport,nodecl> end
global function blFontDataAssignMove(self: *BLFontDataCore, other: *BLFontDataCore): BLResult <cimport,nodecl> end
global function blFontDataAssignWeak(self: *BLFontDataCore, other: *BLFontDataCore): BLResult <cimport,nodecl> end
global function blFontDataCreateFromFile(self: *BLFontDataCore, fileName: cstring, readFlags: uint32): BLResult <cimport,nodecl> end
global function blFontDataCreateFromDataArray(self: *BLFontDataCore, dataArray: *BLArrayCore): BLResult <cimport,nodecl> end
global function blFontDataCreateFromData(self: *BLFontDataCore, data: pointer, dataSize: csize, destroyFunc: BLDestroyImplFunc, destroyData: pointer): BLResult <cimport,nodecl> end
global function blFontDataEquals(a: *BLFontDataCore, b: *BLFontDataCore): boolean <cimport,nodecl> end
global function blFontDataListTags(self: *BLFontDataCore, faceIndex: uint32, dst: *BLArrayCore): BLResult <cimport,nodecl> end
global function blFontDataQueryTables(self: *BLFontDataCore, faceIndex: uint32, dst: *BLFontTable, tags: *cuint, count: csize): csize <cimport,nodecl> end
global function blFontFaceInit(self: *BLFontFaceCore): BLResult <cimport,nodecl> end
global function blFontFaceDestroy(self: *BLFontFaceCore): BLResult <cimport,nodecl> end
global function blFontFaceReset(self: *BLFontFaceCore): BLResult <cimport,nodecl> end
global function blFontFaceAssignMove(self: *BLFontFaceCore, other: *BLFontFaceCore): BLResult <cimport,nodecl> end
global function blFontFaceAssignWeak(self: *BLFontFaceCore, other: *BLFontFaceCore): BLResult <cimport,nodecl> end
global function blFontFaceEquals(a: *BLFontFaceCore, b: *BLFontFaceCore): boolean <cimport,nodecl> end
global function blFontFaceCreateFromFile(self: *BLFontFaceCore, fileName: cstring, readFlags: uint32): BLResult <cimport,nodecl> end
global function blFontFaceCreateFromData(self: *BLFontFaceCore, fontData: *BLFontDataCore, faceIndex: uint32): BLResult <cimport,nodecl> end
global function blFontFaceGetFaceInfo(self: *BLFontFaceCore, out: *BLFontFaceInfo): BLResult <cimport,nodecl> end
global function blFontFaceGetDesignMetrics(self: *BLFontFaceCore, out: *BLFontDesignMetrics): BLResult <cimport,nodecl> end
global function blFontFaceGetUnicodeCoverage(self: *BLFontFaceCore, out: *BLFontUnicodeCoverage): BLResult <cimport,nodecl> end
global function blFontManagerInit(self: *BLFontManagerCore): BLResult <cimport,nodecl> end
global function blFontManagerInitNew(self: *BLFontManagerCore): BLResult <cimport,nodecl> end
global function blFontManagerDestroy(self: *BLFontManagerCore): BLResult <cimport,nodecl> end
global function blFontManagerReset(self: *BLFontManagerCore): BLResult <cimport,nodecl> end
global function blFontManagerAssignMove(self: *BLFontManagerCore, other: *BLFontManagerCore): BLResult <cimport,nodecl> end
global function blFontManagerAssignWeak(self: *BLFontManagerCore, other: *BLFontManagerCore): BLResult <cimport,nodecl> end
global function blFontManagerCreate(self: *BLFontManagerCore): BLResult <cimport,nodecl> end
global function blFontManagerGetFaceCount(self: *BLFontManagerCore): csize <cimport,nodecl> end
global function blFontManagerGetFamilyCount(self: *BLFontManagerCore): csize <cimport,nodecl> end
global function blFontManagerHasFace(self: *BLFontManagerCore, face: *BLFontFaceCore): boolean <cimport,nodecl> end
global function blFontManagerAddFace(self: *BLFontManagerCore, face: *BLFontFaceCore): BLResult <cimport,nodecl> end
global function blFontManagerQueryFace(self: *BLFontManagerCore, name: cstring, nameSize: csize, properties: *BLFontQueryProperties, out: *BLFontFaceCore): BLResult <cimport,nodecl> end
global function blFontManagerQueryFacesByFamilyName(self: *BLFontManagerCore, name: cstring, nameSize: csize, out: *BLArrayCore): BLResult <cimport,nodecl> end
global function blFontManagerEquals(a: *BLFontManagerCore, b: *BLFontManagerCore): boolean <cimport,nodecl> end
global function blFormatInfoQuery(self: *BLFormatInfo, format: uint32): BLResult <cimport,nodecl> end
global function blFormatInfoSanitize(self: *BLFormatInfo): BLResult <cimport,nodecl> end
global function blGlyphBufferInit(self: *BLGlyphBufferCore): BLResult <cimport,nodecl> end
global function blGlyphBufferInitMove(self: *BLGlyphBufferCore, other: *BLGlyphBufferCore): BLResult <cimport,nodecl> end
global function blGlyphBufferDestroy(self: *BLGlyphBufferCore): BLResult <cimport,nodecl> end
global function blGlyphBufferReset(self: *BLGlyphBufferCore): BLResult <cimport,nodecl> end
global function blGlyphBufferClear(self: *BLGlyphBufferCore): BLResult <cimport,nodecl> end
global function blGlyphBufferGetSize(self: *BLGlyphBufferCore): csize <cimport,nodecl> end
global function blGlyphBufferGetFlags(self: *BLGlyphBufferCore): uint32 <cimport,nodecl> end
global function blGlyphBufferGetGlyphRun(self: *BLGlyphBufferCore): *BLGlyphRun <cimport,nodecl> end
global function blGlyphBufferGetContent(self: *BLGlyphBufferCore): *uint32 <cimport,nodecl> end
global function blGlyphBufferGetInfoData(self: *BLGlyphBufferCore): *BLGlyphInfo <cimport,nodecl> end
global function blGlyphBufferGetPlacementData(self: *BLGlyphBufferCore): *BLGlyphPlacement <cimport,nodecl> end
global function blGlyphBufferSetText(self: *BLGlyphBufferCore, textData: pointer, size: csize, encoding: uint32): BLResult <cimport,nodecl> end
global function blGlyphBufferSetGlyphs(self: *BLGlyphBufferCore, glyphData: *uint32, size: csize): BLResult <cimport,nodecl> end
global function blGlyphBufferSetGlyphsFromStruct(self: *BLGlyphBufferCore, glyphData: pointer, size: csize, glyphIdSize: csize, glyphIdAdvance: isize): BLResult <cimport,nodecl> end
global function blGradientInit(self: *BLGradientCore): BLResult <cimport,nodecl> end
global function blGradientInitAs(self: *BLGradientCore, type: uint32, values: pointer, extendMode: uint32, stops: *BLGradientStop, n: csize, m: *BLMatrix2D): BLResult <cimport,nodecl> end
global function blGradientDestroy(self: *BLGradientCore): BLResult <cimport,nodecl> end
global function blGradientReset(self: *BLGradientCore): BLResult <cimport,nodecl> end
global function blGradientAssignMove(self: *BLGradientCore, other: *BLGradientCore): BLResult <cimport,nodecl> end
global function blGradientAssignWeak(self: *BLGradientCore, other: *BLGradientCore): BLResult <cimport,nodecl> end
global function blGradientCreate(self: *BLGradientCore, type: uint32, values: pointer, extendMode: uint32, stops: *BLGradientStop, n: csize, m: *BLMatrix2D): BLResult <cimport,nodecl> end
global function blGradientShrink(self: *BLGradientCore): BLResult <cimport,nodecl> end
global function blGradientReserve(self: *BLGradientCore, n: csize): BLResult <cimport,nodecl> end
global function blGradientGetType(self: *BLGradientCore): uint32 <cimport,nodecl> end
global function blGradientSetType(self: *BLGradientCore, type: uint32): BLResult <cimport,nodecl> end
global function blGradientGetValue(self: *BLGradientCore, index: csize): float64 <cimport,nodecl> end
global function blGradientSetValue(self: *BLGradientCore, index: csize, value: float64): BLResult <cimport,nodecl> end
global function blGradientSetValues(self: *BLGradientCore, index: csize, values: *float64, n: csize): BLResult <cimport,nodecl> end
global function blGradientGetExtendMode(self: *BLGradientCore): uint32 <cimport,nodecl> end
global function blGradientSetExtendMode(self: *BLGradientCore, extendMode: uint32): BLResult <cimport,nodecl> end
global function blGradientGetSize(self: *BLGradientCore): csize <cimport,nodecl> end
global function blGradientGetCapacity(self: *BLGradientCore): csize <cimport,nodecl> end
global function blGradientGetStops(self: *BLGradientCore): *BLGradientStop <cimport,nodecl> end
global function blGradientResetStops(self: *BLGradientCore): BLResult <cimport,nodecl> end
global function blGradientAssignStops(self: *BLGradientCore, stops: *BLGradientStop, n: csize): BLResult <cimport,nodecl> end
global function blGradientAddStopRgba32(self: *BLGradientCore, offset: float64, argb32: uint32): BLResult <cimport,nodecl> end
global function blGradientAddStopRgba64(self: *BLGradientCore, offset: float64, argb64: uint64): BLResult <cimport,nodecl> end
global function blGradientRemoveStop(self: *BLGradientCore, index: csize): BLResult <cimport,nodecl> end
global function blGradientRemoveStopByOffset(self: *BLGradientCore, offset: float64, all: uint32): BLResult <cimport,nodecl> end
global function blGradientRemoveStops(self: *BLGradientCore, rStart: csize, rEnd: csize): BLResult <cimport,nodecl> end
global function blGradientRemoveStopsFromTo(self: *BLGradientCore, offsetMin: float64, offsetMax: float64): BLResult <cimport,nodecl> end
global function blGradientReplaceStopRgba32(self: *BLGradientCore, index: csize, offset: float64, rgba32: uint32): BLResult <cimport,nodecl> end
global function blGradientReplaceStopRgba64(self: *BLGradientCore, index: csize, offset: float64, rgba64: uint64): BLResult <cimport,nodecl> end
global function blGradientIndexOfStop(self: *BLGradientCore, offset: float64): csize <cimport,nodecl> end
global function blGradientApplyMatrixOp(self: *BLGradientCore, opType: uint32, opData: pointer): BLResult <cimport,nodecl> end
global function blGradientEquals(a: *BLGradientCore, b: *BLGradientCore): boolean <cimport,nodecl> end
global function blImageInit(self: *BLImageCore): BLResult <cimport,nodecl> end
global function blImageInitAs(self: *BLImageCore, w: cint, h: cint, format: uint32): BLResult <cimport,nodecl> end
global function blImageInitAsFromData(self: *BLImageCore, w: cint, h: cint, format: uint32, pixelData: pointer, stride: isize, destroyFunc: BLDestroyImplFunc, destroyData: pointer): BLResult <cimport,nodecl> end
global function blImageDestroy(self: *BLImageCore): BLResult <cimport,nodecl> end
global function blImageReset(self: *BLImageCore): BLResult <cimport,nodecl> end
global function blImageAssignMove(self: *BLImageCore, other: *BLImageCore): BLResult <cimport,nodecl> end
global function blImageAssignWeak(self: *BLImageCore, other: *BLImageCore): BLResult <cimport,nodecl> end
global function blImageAssignDeep(self: *BLImageCore, other: *BLImageCore): BLResult <cimport,nodecl> end
global function blImageCreate(self: *BLImageCore, w: cint, h: cint, format: uint32): BLResult <cimport,nodecl> end
global function blImageCreateFromData(self: *BLImageCore, w: cint, h: cint, format: uint32, pixelData: pointer, stride: isize, destroyFunc: BLDestroyImplFunc, destroyData: pointer): BLResult <cimport,nodecl> end
global function blImageGetData(self: *BLImageCore, dataOut: *BLImageData): BLResult <cimport,nodecl> end
global function blImageMakeMutable(self: *BLImageCore, dataOut: *BLImageData): BLResult <cimport,nodecl> end
global function blImageConvert(self: *BLImageCore, format: uint32): BLResult <cimport,nodecl> end
global function blImageEquals(a: *BLImageCore, b: *BLImageCore): boolean <cimport,nodecl> end
global function blImageScale(dst: *BLImageCore, src: *BLImageCore, size: *BLSizeI, filter: uint32, options: *BLImageScaleOptions): BLResult <cimport,nodecl> end
global function blImageReadFromFile(self: *BLImageCore, fileName: cstring, codecs: *BLArrayCore): BLResult <cimport,nodecl> end
global function blImageReadFromData(self: *BLImageCore, data: pointer, size: csize, codecs: *BLArrayCore): BLResult <cimport,nodecl> end
global function blImageWriteToFile(self: *BLImageCore, fileName: cstring, codec: *BLImageCodecCore): BLResult <cimport,nodecl> end
global function blImageWriteToData(self: *BLImageCore, dst: *BLArrayCore, codec: *BLImageCodecCore): BLResult <cimport,nodecl> end
global function blImageCodecInit(self: *BLImageCodecCore): BLResult <cimport,nodecl> end
global function blImageCodecDestroy(self: *BLImageCodecCore): BLResult <cimport,nodecl> end
global function blImageCodecReset(self: *BLImageCodecCore): BLResult <cimport,nodecl> end
global function blImageCodecAssignWeak(self: *BLImageCodecCore, other: *BLImageCodecCore): BLResult <cimport,nodecl> end
global function blImageCodecFindByName(self: *BLImageCodecCore, name: cstring, size: csize, codecs: *BLArrayCore): BLResult <cimport,nodecl> end
global function blImageCodecFindByExtension(self: *BLImageCodecCore, name: cstring, size: csize, codecs: *BLArrayCore): BLResult <cimport,nodecl> end
global function blImageCodecFindByData(self: *BLImageCodecCore, data: pointer, size: csize, codecs: *BLArrayCore): BLResult <cimport,nodecl> end
global function blImageCodecInspectData(self: *BLImageCodecCore, data: pointer, size: csize): uint32 <cimport,nodecl> end
global function blImageCodecCreateDecoder(self: *BLImageCodecCore, dst: *BLImageDecoderCore): BLResult <cimport,nodecl> end
global function blImageCodecCreateEncoder(self: *BLImageCodecCore, dst: *BLImageEncoderCore): BLResult <cimport,nodecl> end
global function blImageCodecArrayInitBuiltInCodecs(self: *BLArrayCore): BLResult <cimport,nodecl> end
global function blImageCodecArrayAssignBuiltInCodecs(self: *BLArrayCore): BLResult <cimport,nodecl> end
global function blImageCodecAddToBuiltIn(codec: *BLImageCodecCore): BLResult <cimport,nodecl> end
global function blImageCodecRemoveFromBuiltIn(codec: *BLImageCodecCore): BLResult <cimport,nodecl> end
global function blImageDecoderInit(self: *BLImageDecoderCore): BLResult <cimport,nodecl> end
global function blImageDecoderDestroy(self: *BLImageDecoderCore): BLResult <cimport,nodecl> end
global function blImageDecoderReset(self: *BLImageDecoderCore): BLResult <cimport,nodecl> end
global function blImageDecoderAssignMove(self: *BLImageDecoderCore, other: *BLImageDecoderCore): BLResult <cimport,nodecl> end
global function blImageDecoderAssignWeak(self: *BLImageDecoderCore, other: *BLImageDecoderCore): BLResult <cimport,nodecl> end
global function blImageDecoderRestart(self: *BLImageDecoderCore): BLResult <cimport,nodecl> end
global function blImageDecoderReadInfo(self: *BLImageDecoderCore, infoOut: *BLImageInfo, data: *uint8, size: csize): BLResult <cimport,nodecl> end
global function blImageDecoderReadFrame(self: *BLImageDecoderCore, imageOut: *BLImageCore, data: *uint8, size: csize): BLResult <cimport,nodecl> end
global function blImageEncoderInit(self: *BLImageEncoderCore): BLResult <cimport,nodecl> end
global function blImageEncoderDestroy(self: *BLImageEncoderCore): BLResult <cimport,nodecl> end
global function blImageEncoderReset(self: *BLImageEncoderCore): BLResult <cimport,nodecl> end
global function blImageEncoderAssignMove(self: *BLImageEncoderCore, other: *BLImageEncoderCore): BLResult <cimport,nodecl> end
global function blImageEncoderAssignWeak(self: *BLImageEncoderCore, other: *BLImageEncoderCore): BLResult <cimport,nodecl> end
global function blImageEncoderRestart(self: *BLImageEncoderCore): BLResult <cimport,nodecl> end
global function blImageEncoderWriteFrame(self: *BLImageEncoderCore, dst: *BLArrayCore, image: *BLImageCore): BLResult <cimport,nodecl> end
global function blMatrix2DSetIdentity(self: *BLMatrix2D): BLResult <cimport,nodecl> end
global function blMatrix2DSetTranslation(self: *BLMatrix2D, x: float64, y: float64): BLResult <cimport,nodecl> end
global function blMatrix2DSetScaling(self: *BLMatrix2D, x: float64, y: float64): BLResult <cimport,nodecl> end
global function blMatrix2DSetSkewing(self: *BLMatrix2D, x: float64, y: float64): BLResult <cimport,nodecl> end
global function blMatrix2DSetRotation(self: *BLMatrix2D, angle: float64, cx: float64, cy: float64): BLResult <cimport,nodecl> end
global function blMatrix2DApplyOp(self: *BLMatrix2D, opType: uint32, opData: pointer): BLResult <cimport,nodecl> end
global function blMatrix2DInvert(dst: *BLMatrix2D, src: *BLMatrix2D): BLResult <cimport,nodecl> end
global function blMatrix2DGetType(self: *BLMatrix2D): uint32 <cimport,nodecl> end
global function blMatrix2DMapPointDArray(self: *BLMatrix2D, dst: *BLPoint, src: *BLPoint, count: csize): BLResult <cimport,nodecl> end
global function blPathInit(self: *BLPathCore): BLResult <cimport,nodecl> end
global function blPathDestroy(self: *BLPathCore): BLResult <cimport,nodecl> end
global function blPathReset(self: *BLPathCore): BLResult <cimport,nodecl> end
global function blPathGetSize(self: *BLPathCore): csize <cimport,nodecl> end
global function blPathGetCapacity(self: *BLPathCore): csize <cimport,nodecl> end
global function blPathGetCommandData(self: *BLPathCore): *uint8 <cimport,nodecl> end
global function blPathGetVertexData(self: *BLPathCore): *BLPoint <cimport,nodecl> end
global function blPathClear(self: *BLPathCore): BLResult <cimport,nodecl> end
global function blPathShrink(self: *BLPathCore): BLResult <cimport,nodecl> end
global function blPathReserve(self: *BLPathCore, n: csize): BLResult <cimport,nodecl> end
global function blPathModifyOp(self: *BLPathCore, op: uint32, n: csize, cmdDataOut: **uint8, vtxDataOut: **BLPoint): BLResult <cimport,nodecl> end
global function blPathAssignMove(self: *BLPathCore, other: *BLPathCore): BLResult <cimport,nodecl> end
global function blPathAssignWeak(self: *BLPathCore, other: *BLPathCore): BLResult <cimport,nodecl> end
global function blPathAssignDeep(self: *BLPathCore, other: *BLPathCore): BLResult <cimport,nodecl> end
global function blPathSetVertexAt(self: *BLPathCore, index: csize, cmd: uint32, x: float64, y: float64): BLResult <cimport,nodecl> end
global function blPathMoveTo(self: *BLPathCore, x0: float64, y0: float64): BLResult <cimport,nodecl> end
global function blPathLineTo(self: *BLPathCore, x1: float64, y1: float64): BLResult <cimport,nodecl> end
global function blPathPolyTo(self: *BLPathCore, poly: *BLPoint, count: csize): BLResult <cimport,nodecl> end
global function blPathQuadTo(self: *BLPathCore, x1: float64, y1: float64, x2: float64, y2: float64): BLResult <cimport,nodecl> end
global function blPathCubicTo(self: *BLPathCore, x1: float64, y1: float64, x2: float64, y2: float64, x3: float64, y3: float64): BLResult <cimport,nodecl> end
global function blPathSmoothQuadTo(self: *BLPathCore, x2: float64, y2: float64): BLResult <cimport,nodecl> end
global function blPathSmoothCubicTo(self: *BLPathCore, x2: float64, y2: float64, x3: float64, y3: float64): BLResult <cimport,nodecl> end
global function blPathArcTo(self: *BLPathCore, x: float64, y: float64, rx: float64, ry: float64, start: float64, sweep: float64, forceMoveTo: boolean): BLResult <cimport,nodecl> end
global function blPathArcQuadrantTo(self: *BLPathCore, x1: float64, y1: float64, x2: float64, y2: float64): BLResult <cimport,nodecl> end
global function blPathEllipticArcTo(self: *BLPathCore, rx: float64, ry: float64, xAxisRotation: float64, largeArcFlag: boolean, sweepFlag: boolean, x1: float64, y1: float64): BLResult <cimport,nodecl> end
global function blPathClose(self: *BLPathCore): BLResult <cimport,nodecl> end
global function blPathAddGeometry(self: *BLPathCore, geometryType: uint32, geometryData: pointer, m: *BLMatrix2D, dir: uint32): BLResult <cimport,nodecl> end
global function blPathAddBoxI(self: *BLPathCore, box: *BLBoxI, dir: uint32): BLResult <cimport,nodecl> end
global function blPathAddBoxD(self: *BLPathCore, box: *BLBox, dir: uint32): BLResult <cimport,nodecl> end
global function blPathAddRectI(self: *BLPathCore, rect: *BLRectI, dir: uint32): BLResult <cimport,nodecl> end
global function blPathAddRectD(self: *BLPathCore, rect: *BLRect, dir: uint32): BLResult <cimport,nodecl> end
global function blPathAddPath(self: *BLPathCore, other: *BLPathCore, range: *BLRange): BLResult <cimport,nodecl> end
global function blPathAddTranslatedPath(self: *BLPathCore, other: *BLPathCore, range: *BLRange, p: *BLPoint): BLResult <cimport,nodecl> end
global function blPathAddTransformedPath(self: *BLPathCore, other: *BLPathCore, range: *BLRange, m: *BLMatrix2D): BLResult <cimport,nodecl> end
global function blPathAddReversedPath(self: *BLPathCore, other: *BLPathCore, range: *BLRange, reverseMode: uint32): BLResult <cimport,nodecl> end
global function blPathAddStrokedPath(self: *BLPathCore, other: *BLPathCore, range: *BLRange, options: *BLStrokeOptionsCore, approx: *BLApproximationOptions): BLResult <cimport,nodecl> end
global function blPathRemoveRange(self: *BLPathCore, range: *BLRange): BLResult <cimport,nodecl> end
global function blPathTranslate(self: *BLPathCore, range: *BLRange, p: *BLPoint): BLResult <cimport,nodecl> end
global function blPathTransform(self: *BLPathCore, range: *BLRange, m: *BLMatrix2D): BLResult <cimport,nodecl> end
global function blPathFitTo(self: *BLPathCore, range: *BLRange, rect: *BLRect, fitFlags: uint32): BLResult <cimport,nodecl> end
global function blPathEquals(a: *BLPathCore, b: *BLPathCore): boolean <cimport,nodecl> end
global function blPathGetInfoFlags(self: *BLPathCore, flagsOut: *uint32): BLResult <cimport,nodecl> end
global function blPathGetControlBox(self: *BLPathCore, boxOut: *BLBox): BLResult <cimport,nodecl> end
global function blPathGetBoundingBox(self: *BLPathCore, boxOut: *BLBox): BLResult <cimport,nodecl> end
global function blPathGetFigureRange(self: *BLPathCore, index: csize, rangeOut: *BLRange): BLResult <cimport,nodecl> end
global function blPathGetLastVertex(self: *BLPathCore, vtxOut: *BLPoint): BLResult <cimport,nodecl> end
global function blPathGetClosestVertex(self: *BLPathCore, p: *BLPoint, maxDistance: float64, indexOut: *csize, distanceOut: *float64): BLResult <cimport,nodecl> end
global function blPathHitTest(self: *BLPathCore, p: *BLPoint, fillRule: uint32): uint32 <cimport,nodecl> end
global function blPatternInit(self: *BLPatternCore): BLResult <cimport,nodecl> end
global function blPatternInitAs(self: *BLPatternCore, image: *BLImageCore, area: *BLRectI, extendMode: uint32, m: *BLMatrix2D): BLResult <cimport,nodecl> end
global function blPatternDestroy(self: *BLPatternCore): BLResult <cimport,nodecl> end
global function blPatternReset(self: *BLPatternCore): BLResult <cimport,nodecl> end
global function blPatternAssignMove(self: *BLPatternCore, other: *BLPatternCore): BLResult <cimport,nodecl> end
global function blPatternAssignWeak(self: *BLPatternCore, other: *BLPatternCore): BLResult <cimport,nodecl> end
global function blPatternAssignDeep(self: *BLPatternCore, other: *BLPatternCore): BLResult <cimport,nodecl> end
global function blPatternCreate(self: *BLPatternCore, image: *BLImageCore, area: *BLRectI, extendMode: uint32, m: *BLMatrix2D): BLResult <cimport,nodecl> end
global function blPatternSetImage(self: *BLPatternCore, image: *BLImageCore, area: *BLRectI): BLResult <cimport,nodecl> end
global function blPatternSetArea(self: *BLPatternCore, area: *BLRectI): BLResult <cimport,nodecl> end
global function blPatternSetExtendMode(self: *BLPatternCore, extendMode: uint32): BLResult <cimport,nodecl> end
global function blPatternApplyMatrixOp(self: *BLPatternCore, opType: uint32, opData: pointer): BLResult <cimport,nodecl> end
global function blPatternEquals(a: *BLPatternCore, b: *BLPatternCore): boolean <cimport,nodecl> end
global function blPixelConverterInit(self: *BLPixelConverterCore): BLResult <cimport,nodecl> end
global function blPixelConverterInitWeak(self: *BLPixelConverterCore, other: *BLPixelConverterCore): BLResult <cimport,nodecl> end
global function blPixelConverterDestroy(self: *BLPixelConverterCore): BLResult <cimport,nodecl> end
global function blPixelConverterReset(self: *BLPixelConverterCore): BLResult <cimport,nodecl> end
global function blPixelConverterAssign(self: *BLPixelConverterCore, other: *BLPixelConverterCore): BLResult <cimport,nodecl> end
global function blPixelConverterCreate(self: *BLPixelConverterCore, dstInfo: *BLFormatInfo, srcInfo: *BLFormatInfo, createFlags: uint32): BLResult <cimport,nodecl> end
global function blPixelConverterConvert(self: *BLPixelConverterCore, dstData: pointer, dstStride: isize, srcData: pointer, srcStride: isize, w: uint32, h: uint32, options: *BLPixelConverterOptions): BLResult <cimport,nodecl> end
global function blRandomReset(self: *BLRandom, seed: uint64): BLResult <cimport,nodecl> end
global function blRandomNextUInt32(self: *BLRandom): uint32 <cimport,nodecl> end
global function blRandomNextUInt64(self: *BLRandom): uint64 <cimport,nodecl> end
global function blRandomNextDouble(self: *BLRandom): float64 <cimport,nodecl> end
global function blRegionInit(self: *BLRegionCore): BLResult <cimport,nodecl> end
global function blRegionDestroy(self: *BLRegionCore): BLResult <cimport,nodecl> end
global function blRegionReset(self: *BLRegionCore): BLResult <cimport,nodecl> end
global function blRegionGetSize(self: *BLRegionCore): csize <cimport,nodecl> end
global function blRegionGetCapacity(self: *BLRegionCore): csize <cimport,nodecl> end
global function blRegionGetData(self: *BLRegionCore): *BLBoxI <cimport,nodecl> end
global function blRegionClear(self: *BLRegionCore): BLResult <cimport,nodecl> end
global function blRegionShrink(self: *BLRegionCore): BLResult <cimport,nodecl> end
global function blRegionReserve(self: *BLRegionCore, n: csize): BLResult <cimport,nodecl> end
global function blRegionAssignMove(self: *BLRegionCore, other: *BLRegionCore): BLResult <cimport,nodecl> end
global function blRegionAssignWeak(self: *BLRegionCore, other: *BLRegionCore): BLResult <cimport,nodecl> end
global function blRegionAssignDeep(self: *BLRegionCore, other: *BLRegionCore): BLResult <cimport,nodecl> end
global function blRegionAssignBoxI(self: *BLRegionCore, src: *BLBoxI): BLResult <cimport,nodecl> end
global function blRegionAssignBoxIArray(self: *BLRegionCore, data: *BLBoxI, n: csize): BLResult <cimport,nodecl> end
global function blRegionAssignRectI(self: *BLRegionCore, rect: *BLRectI): BLResult <cimport,nodecl> end
global function blRegionAssignRectIArray(self: *BLRegionCore, data: *BLRectI, n: csize): BLResult <cimport,nodecl> end
global function blRegionCombine(self: *BLRegionCore, a: *BLRegionCore, b: *BLRegionCore, booleanOp: uint32): BLResult <cimport,nodecl> end
global function blRegionCombineRB(self: *BLRegionCore, a: *BLRegionCore, b: *BLBoxI, booleanOp: uint32): BLResult <cimport,nodecl> end
global function blRegionCombineBR(self: *BLRegionCore, a: *BLBoxI, b: *BLRegionCore, booleanOp: uint32): BLResult <cimport,nodecl> end
global function blRegionCombineBB(self: *BLRegionCore, a: *BLBoxI, b: *BLBoxI, booleanOp: uint32): BLResult <cimport,nodecl> end
global function blRegionTranslate(self: *BLRegionCore, r: *BLRegionCore, pt: *BLPointI): BLResult <cimport,nodecl> end
global function blRegionTranslateAndClip(self: *BLRegionCore, r: *BLRegionCore, pt: *BLPointI, clipBox: *BLBoxI): BLResult <cimport,nodecl> end
global function blRegionIntersectAndClip(self: *BLRegionCore, a: *BLRegionCore, b: *BLRegionCore, clipBox: *BLBoxI): BLResult <cimport,nodecl> end
global function blRegionEquals(a: *BLRegionCore, b: *BLRegionCore): boolean <cimport,nodecl> end
global function blRegionGetType(self: *BLRegionCore): uint32 <cimport,nodecl> end
global function blRegionHitTest(self: *BLRegionCore, pt: *BLPointI): uint32 <cimport,nodecl> end
global function blRegionHitTestBoxI(self: *BLRegionCore, box: *BLBoxI): uint32 <cimport,nodecl> end
global function blRuntimeInit(): BLResult <cimport,nodecl> end
global function blRuntimeShutdown(): BLResult <cimport,nodecl> end
global function blRuntimeCleanup(cleanupFlags: uint32): BLResult <cimport,nodecl> end
global function blRuntimeQueryInfo(infoType: uint32, infoOut: pointer): BLResult <cimport,nodecl> end
global function blRuntimeMessageOut(msg: cstring): BLResult <cimport,nodecl> end
global function blRuntimeMessageFmt(fmt: cstring, ...: cvarargs): BLResult <cimport,nodecl> end
global function blRuntimeMessageVFmt(fmt: cstring, ap: cvalist): BLResult <cimport,nodecl> end
global function blRuntimeAssertionFailure(file: cstring, line: cint, msg: cstring): void <cimport,nodecl> end
global function blResultFromPosixError(e: cint): BLResult <cimport,nodecl> end
global function blStringInit(self: *BLStringCore): BLResult <cimport,nodecl> end
global function blStringInitWithData(self: *BLStringCore, str: cstring, size: csize): BLResult <cimport,nodecl> end
global function blStringDestroy(self: *BLStringCore): BLResult <cimport,nodecl> end
global function blStringReset(self: *BLStringCore): BLResult <cimport,nodecl> end
global function blStringGetSize(self: *BLStringCore): csize <cimport,nodecl> end
global function blStringGetCapacity(self: *BLStringCore): csize <cimport,nodecl> end
global function blStringGetData(self: *BLStringCore): cstring <cimport,nodecl> end
global function blStringClear(self: *BLStringCore): BLResult <cimport,nodecl> end
global function blStringShrink(self: *BLStringCore): BLResult <cimport,nodecl> end
global function blStringReserve(self: *BLStringCore, n: csize): BLResult <cimport,nodecl> end
global function blStringResize(self: *BLStringCore, n: csize, fill: cchar): BLResult <cimport,nodecl> end
global function blStringMakeMutable(self: *BLStringCore, dataOut: *cstring): BLResult <cimport,nodecl> end
global function blStringModifyOp(self: *BLStringCore, op: uint32, n: csize, dataOut: *cstring): BLResult <cimport,nodecl> end
global function blStringInsertOp(self: *BLStringCore, index: csize, n: csize, dataOut: *cstring): BLResult <cimport,nodecl> end
global function blStringAssignMove(self: *BLStringCore, other: *BLStringCore): BLResult <cimport,nodecl> end
global function blStringAssignWeak(self: *BLStringCore, other: *BLStringCore): BLResult <cimport,nodecl> end
global function blStringAssignDeep(self: *BLStringCore, other: *BLStringCore): BLResult <cimport,nodecl> end
global function blStringAssignData(self: *BLStringCore, str: cstring, n: csize): BLResult <cimport,nodecl> end
global function blStringApplyOpChar(self: *BLStringCore, op: uint32, c: cchar, n: csize): BLResult <cimport,nodecl> end
global function blStringApplyOpData(self: *BLStringCore, op: uint32, str: cstring, n: csize): BLResult <cimport,nodecl> end
global function blStringApplyOpString(self: *BLStringCore, op: uint32, other: *BLStringCore): BLResult <cimport,nodecl> end
global function blStringApplyOpFormat(self: *BLStringCore, op: uint32, fmt: cstring, ...: cvarargs): BLResult <cimport,nodecl> end
global function blStringApplyOpFormatV(self: *BLStringCore, op: uint32, fmt: cstring, ap: cvalist): BLResult <cimport,nodecl> end
global function blStringInsertChar(self: *BLStringCore, index: csize, c: cchar, n: csize): BLResult <cimport,nodecl> end
global function blStringInsertData(self: *BLStringCore, index: csize, str: cstring, n: csize): BLResult <cimport,nodecl> end
global function blStringInsertString(self: *BLStringCore, index: csize, other: *BLStringCore): BLResult <cimport,nodecl> end
global function blStringRemoveRange(self: *BLStringCore, rStart: csize, rEnd: csize): BLResult <cimport,nodecl> end
global function blStringEquals(self: *BLStringCore, other: *BLStringCore): boolean <cimport,nodecl> end
global function blStringEqualsData(self: *BLStringCore, str: cstring, n: csize): boolean <cimport,nodecl> end
global function blStringCompare(self: *BLStringCore, other: *BLStringCore): cint <cimport,nodecl> end
global function blStringCompareData(self: *BLStringCore, str: cstring, n: csize): cint <cimport,nodecl> end
global function blStrokeOptionsInit(self: *BLStrokeOptionsCore): BLResult <cimport,nodecl> end
global function blStrokeOptionsInitMove(self: *BLStrokeOptionsCore, other: *BLStrokeOptionsCore): BLResult <cimport,nodecl> end
global function blStrokeOptionsInitWeak(self: *BLStrokeOptionsCore, other: *BLStrokeOptionsCore): BLResult <cimport,nodecl> end
global function blStrokeOptionsDestroy(self: *BLStrokeOptionsCore): BLResult <cimport,nodecl> end
global function blStrokeOptionsReset(self: *BLStrokeOptionsCore): BLResult <cimport,nodecl> end
global function blStrokeOptionsAssignMove(self: *BLStrokeOptionsCore, other: *BLStrokeOptionsCore): BLResult <cimport,nodecl> end
global function blStrokeOptionsAssignWeak(self: *BLStrokeOptionsCore, other: *BLStrokeOptionsCore): BLResult <cimport,nodecl> end
global function blStyleInit(self: *BLStyleCore): BLResult <cimport,nodecl> end
global function blStyleInitMove(self: *BLStyleCore, other: *BLStyleCore): BLResult <cimport,nodecl> end
global function blStyleInitWeak(self: *BLStyleCore, other: *BLStyleCore): BLResult <cimport,nodecl> end
global function blStyleInitRgba(self: *BLStyleCore, rgba: *BLRgba): BLResult <cimport,nodecl> end
global function blStyleInitRgba32(self: *BLStyleCore, rgba32: uint32): BLResult <cimport,nodecl> end
global function blStyleInitRgba64(self: *BLStyleCore, rgba64: uint64): BLResult <cimport,nodecl> end
global function blStyleInitObject(self: *BLStyleCore, object: pointer): BLResult <cimport,nodecl> end
global function blStyleDestroy(self: *BLStyleCore): BLResult <cimport,nodecl> end
global function blStyleReset(self: *BLStyleCore): BLResult <cimport,nodecl> end
global function blStyleAssignMove(self: *BLStyleCore, other: *BLStyleCore): BLResult <cimport,nodecl> end
global function blStyleAssignWeak(self: *BLStyleCore, other: *BLStyleCore): BLResult <cimport,nodecl> end
global function blStyleAssignRgba(self: *BLStyleCore, rgba: *BLRgba): BLResult <cimport,nodecl> end
global function blStyleAssignRgba32(self: *BLStyleCore, rgba32: uint32): BLResult <cimport,nodecl> end
global function blStyleAssignRgba64(self: *BLStyleCore, rgba64: uint64): BLResult <cimport,nodecl> end
global function blStyleAssignObject(self: *BLStyleCore, object: pointer): BLResult <cimport,nodecl> end
global function blStyleGetType(self: *BLStyleCore): uint32 <cimport,nodecl> end
global function blStyleGetRgba(self: *BLStyleCore, rgbaOut: *BLRgba): BLResult <cimport,nodecl> end
global function blStyleGetRgba32(self: *BLStyleCore, rgba32Out: *uint32): BLResult <cimport,nodecl> end
global function blStyleGetRgba64(self: *BLStyleCore, rgba64Out: *uint64): BLResult <cimport,nodecl> end
global function blStyleGetObject(self: *BLStyleCore, object: pointer): BLResult <cimport,nodecl> end
global function blStyleEquals(a: *BLStyleCore, b: *BLStyleCore): boolean <cimport,nodecl> end
global function blVariantInit(self: pointer): BLResult <cimport,nodecl> end
global function blVariantInitMove(self: pointer, other: pointer): BLResult <cimport,nodecl> end
global function blVariantInitWeak(self: pointer, other: pointer): BLResult <cimport,nodecl> end
global function blVariantDestroy(self: pointer): BLResult <cimport,nodecl> end
global function blVariantReset(self: pointer): BLResult <cimport,nodecl> end
global function blVariantGetImplType(self: pointer): uint32 <cimport,nodecl> end
global function blVariantAssignMove(self: pointer, other: pointer): BLResult <cimport,nodecl> end
global function blVariantAssignWeak(self: pointer, other: pointer): BLResult <cimport,nodecl> end
global function blVariantEquals(a: pointer, b: pointer): boolean <cimport,nodecl> end
global BLImplType: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_IMPL_TYPE_NULL = 0,
BL_IMPL_TYPE_ARRAY_VAR = 1,
BL_IMPL_TYPE_ARRAY_I8 = 2,
BL_IMPL_TYPE_ARRAY_U8 = 3,
BL_IMPL_TYPE_ARRAY_I16 = 4,
BL_IMPL_TYPE_ARRAY_U16 = 5,
BL_IMPL_TYPE_ARRAY_I32 = 6,
BL_IMPL_TYPE_ARRAY_U32 = 7,
BL_IMPL_TYPE_ARRAY_I64 = 8,
BL_IMPL_TYPE_ARRAY_U64 = 9,
BL_IMPL_TYPE_ARRAY_F32 = 10,
BL_IMPL_TYPE_ARRAY_F64 = 11,
BL_IMPL_TYPE_ARRAY_STRUCT_1 = 12,
BL_IMPL_TYPE_ARRAY_STRUCT_2 = 13,
BL_IMPL_TYPE_ARRAY_STRUCT_3 = 14,
BL_IMPL_TYPE_ARRAY_STRUCT_4 = 15,
BL_IMPL_TYPE_ARRAY_STRUCT_6 = 16,
BL_IMPL_TYPE_ARRAY_STRUCT_8 = 17,
BL_IMPL_TYPE_ARRAY_STRUCT_10 = 18,
BL_IMPL_TYPE_ARRAY_STRUCT_12 = 19,
BL_IMPL_TYPE_ARRAY_STRUCT_16 = 20,
BL_IMPL_TYPE_ARRAY_STRUCT_20 = 21,
BL_IMPL_TYPE_ARRAY_STRUCT_24 = 22,
BL_IMPL_TYPE_ARRAY_STRUCT_32 = 23,
BL_IMPL_TYPE_BIT_ARRAY = 32,
BL_IMPL_TYPE_BIT_SET = 33,
BL_IMPL_TYPE_STRING = 39,
BL_IMPL_TYPE_PATH = 40,
BL_IMPL_TYPE_REGION = 43,
BL_IMPL_TYPE_IMAGE = 44,
BL_IMPL_TYPE_IMAGE_CODEC = 45,
BL_IMPL_TYPE_IMAGE_DECODER = 46,
BL_IMPL_TYPE_IMAGE_ENCODER = 47,
BL_IMPL_TYPE_GRADIENT = 48,
BL_IMPL_TYPE_PATTERN = 49,
BL_IMPL_TYPE_CONTEXT = 55,
BL_IMPL_TYPE_FONT = 56,
BL_IMPL_TYPE_FONT_FACE = 57,
BL_IMPL_TYPE_FONT_DATA = 58,
BL_IMPL_TYPE_FONT_MANAGER = 59,
BL_IMPL_TYPE_FONT_FEATURE_OPTIONS = 60,
BL_IMPL_TYPE_FONT_VARIATION_OPTIONS = 61,
BL_IMPL_TYPE_COUNT = 64
}
global BLImplTraits: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_IMPL_TRAIT_MUTABLE = 1,
BL_IMPL_TRAIT_IMMUTABLE = 2,
BL_IMPL_TRAIT_EXTERNAL = 4,
BL_IMPL_TRAIT_FOREIGN = 8,
BL_IMPL_TRAIT_VIRT = 16,
BL_IMPL_TRAIT_NULL = 128
}
BLVariantImpl = @record{
__unnamed1: union{
virt: pointer,
unknownHeaderData: usize
},
refCount: csize,
implType: uint8,
implTraits: uint8,
memPoolData: uint16,
reserved: [4]uint8
}
BLVariantCore = @record{
impl: *BLVariantImpl
}
global blNone: [64]BLVariantCore <cimport,nodecl>
BLArrayImpl = @record{
capacity: csize,
refCount: csize,
implType: uint8,
implTraits: uint8,
memPoolData: uint16,
itemSize: uint8,
dispatchType: uint8,
reserved: [2]uint8,
__unnamed1: union{
__unnamed1: record{
data: pointer,
size: csize
},
view: BLDataView
}
}
BLArrayCore = @record{
impl: *BLArrayImpl
}
global BLGeometryDirection: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_GEOMETRY_DIRECTION_NONE = 0,
BL_GEOMETRY_DIRECTION_CW = 1,
BL_GEOMETRY_DIRECTION_CCW = 2
}
global BLGeometryType: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_GEOMETRY_TYPE_NONE = 0,
BL_GEOMETRY_TYPE_BOXI = 1,
BL_GEOMETRY_TYPE_BOXD = 2,
BL_GEOMETRY_TYPE_RECTI = 3,
BL_GEOMETRY_TYPE_RECTD = 4,
BL_GEOMETRY_TYPE_CIRCLE = 5,
BL_GEOMETRY_TYPE_ELLIPSE = 6,
BL_GEOMETRY_TYPE_ROUND_RECT = 7,
BL_GEOMETRY_TYPE_ARC = 8,
BL_GEOMETRY_TYPE_CHORD = 9,
BL_GEOMETRY_TYPE_PIE = 10,
BL_GEOMETRY_TYPE_LINE = 11,
BL_GEOMETRY_TYPE_TRIANGLE = 12,
BL_GEOMETRY_TYPE_POLYLINEI = 13,
BL_GEOMETRY_TYPE_POLYLINED = 14,
BL_GEOMETRY_TYPE_POLYGONI = 15,
BL_GEOMETRY_TYPE_POLYGOND = 16,
BL_GEOMETRY_TYPE_ARRAY_VIEW_BOXI = 17,
BL_GEOMETRY_TYPE_ARRAY_VIEW_BOXD = 18,
BL_GEOMETRY_TYPE_ARRAY_VIEW_RECTI = 19,
BL_GEOMETRY_TYPE_ARRAY_VIEW_RECTD = 20,
BL_GEOMETRY_TYPE_PATH = 21,
BL_GEOMETRY_TYPE_REGION = 22,
BL_GEOMETRY_TYPE_COUNT = 23,
BL_GEOMETRY_TYPE_SIMPLE_LAST = 12
}
global BLFillRule: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_FILL_RULE_NON_ZERO = 0,
BL_FILL_RULE_EVEN_ODD = 1,
BL_FILL_RULE_COUNT = 2
}
global BLHitTest: type <cimport,nodecl,using,ctypedef> = @enum(cuint){
BL_HIT_TEST_IN = 0,
BL_HIT_TEST_PART = 1,
BL_HIT_TEST_OUT = 2,
BL_HIT_TEST_INVALID = 4294967295
}
BLPointI = @record{
x: cint,
y: cint
}
BLSizeI = @record{
w: cint,
h: cint
}
BLBoxI = @record{
x0: cint,
y0: cint,
x1: cint,
y1: cint
}
BLRectI = @record{
x: cint,
y: cint,
w: cint,
h: cint
}
BLPoint = @record{
x: float64,
y: float64
}
BLSize = @record{
w: float64,
h: float64
}
BLBox = @record{
x0: float64,
y0: float64,
x1: float64,
y1: float64
}
BLRect = @record{
x: float64,
y: float64,
w: float64,
h: float64
}
BLLine = @record{
x0: float64,
y0: float64,
x1: float64,
y1: float64
}
BLTriangle = @record{
x0: float64,
y0: float64,
x1: float64,
y1: float64,
x2: float64,
y2: float64
}
BLRoundRect = @record{
x: float64,
y: float64,
w: float64,
h: float64,
rx: float64,
ry: float64
}
BLCircle = @record{
cx: float64,
cy: float64,
r: float64
}
BLEllipse = @record{
cx: float64,
cy: float64,
rx: float64,
ry: float64
}
BLArc = @record{
cx: float64,
cy: float64,
rx: float64,
ry: float64,
start: float64,
sweep: float64
}
global BLGlyphPlacementType: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_GLYPH_PLACEMENT_TYPE_NONE = 0,
BL_GLYPH_PLACEMENT_TYPE_ADVANCE_OFFSET = 1,
BL_GLYPH_PLACEMENT_TYPE_DESIGN_UNITS = 2,
BL_GLYPH_PLACEMENT_TYPE_USER_UNITS = 3,
BL_GLYPH_PLACEMENT_TYPE_ABSOLUTE_UNITS = 4
}
global BLGlyphRunFlags: type <cimport,nodecl,using,ctypedef> = @enum(cuint){
BL_GLYPH_RUN_FLAG_UCS4_CONTENT = 268435456,
BL_GLYPH_RUN_FLAG_INVALID_TEXT = 536870912,
BL_GLYPH_RUN_FLAG_UNDEFINED_GLYPHS = 1073741824,
BL_GLYPH_RUN_FLAG_INVALID_FONT_DATA = 2147483648
}
global BLFontDataFlags: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_FONT_DATA_FLAG_COLLECTION = 1
}
global BLFontFaceType: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_FONT_FACE_TYPE_NONE = 0,
BL_FONT_FACE_TYPE_OPENTYPE = 1,
BL_FONT_FACE_TYPE_COUNT = 2
}
global BLFontFaceFlags: type <cimport,nodecl,using,ctypedef> = @enum(cuint){
BL_FONT_FACE_FLAG_TYPOGRAPHIC_NAMES = 1,
BL_FONT_FACE_FLAG_TYPOGRAPHIC_METRICS = 2,
BL_FONT_FACE_FLAG_CHAR_TO_GLYPH_MAPPING = 4,
BL_FONT_FACE_FLAG_HORIZONTAL_METIRCS = 16,
BL_FONT_FACE_FLAG_VERTICAL_METRICS = 32,
BL_FONT_FACE_FLAG_HORIZONTAL_KERNING = 64,
BL_FONT_FACE_FLAG_VERTICAL_KERNING = 128,
BL_FONT_FACE_FLAG_OPENTYPE_FEATURES = 256,
BL_FONT_FACE_FLAG_PANOSE_DATA = 512,
BL_FONT_FACE_FLAG_UNICODE_COVERAGE = 1024,
BL_FONT_FACE_FLAG_BASELINE_Y_EQUALS_0 = 4096,
BL_FONT_FACE_FLAG_LSB_POINT_X_EQUALS_0 = 8192,
BL_FONT_FACE_FLAG_VARIATION_SEQUENCES = 268435456,
BL_FONT_FACE_FLAG_OPENTYPE_VARIATIONS = 536870912,
BL_FONT_FACE_FLAG_SYMBOL_FONT = 1073741824,
BL_FONT_FACE_FLAG_LAST_RESORT_FONT = 2147483648
}
global BLFontFaceDiagFlags: type <cimport,nodecl,using,ctypedef> = @enum(cint){
BL_FONT_FACE_DIAG_WRONG_NAME_DATA = 1,
BL_FONT_FACE_DIAG_FIXED_NAME_DATA = 2,
BL_FONT_FACE_DIAG_WRONG_KERN_DATA = 4,
BL_FONT_FACE_DIAG_FIXED_KERN_DATA = 8,
BL_FONT_FACE_DIAG_WRONG_CMAP_DATA = 16,