Types
- BLConicGradientValues {.bycopy.} = object x0*, y0*, angle*, repeat*: cdouble 
- BLExtendMode {.size: 4.} = enum BL_EXTEND_MODE_PAD, ## Pad extend [default]. BL_EXTEND_MODE_REPEAT, ## Repeat extend. BL_EXTEND_MODE_REFLECT, ## Reflect extend. BL_EXTEND_MODE_PAD_X_PAD_Y, ## Alias to BL_EXTEND_MODE_PAD. BL_EXTEND_MODE_PAD_X_REPEAT_Y, ## Pad X and repeat Y. BL_EXTEND_MODE_PAD_X_REFLECT_Y, ## Pad X and reflect Y. BL_EXTEND_MODE_REPEAT_X_REPEAT_Y, ## Alias to BL_EXTEND_MODE_REPEAT. BL_EXTEND_MODE_REPEAT_X_PAD_Y, ## Repeat X and pad Y. BL_EXTEND_MODE_REPEAT_X_REFLECT_Y, ## Repeat X and reflect Y. BL_EXTEND_MODE_REFLECT_X_REFLECT_Y, ## Alias to BL_EXTEND_MODE_REFLECT. BL_EXTEND_MODE_REFLECT_X_PAD_Y, ## Reflect X and pad Y. BL_EXTEND_MODE_REFLECT_X_REPEAT_Y, ## Reflect X and repeat Y. BL_EXTEND_MODE_SIMPLE_MAX_VALUE, ## Count of simple extend modes (that use the same value for X and Y). BL_EXTEND_MODE_COMPLEX_MAX_VALUE, ## Count of complex extend modes (that can use independent values for X and Y). BL_EXTEND_MODE_MAX_VALUE ## Maximum value of BLExtendMode. 
- BLGradientCore {.bycopy.} = object d*: BLObjectDetail 
- BLGradientImpl {.bycopy.} = object stops*: ptr BLGradientStop ## Gradient stop data. size*: uint ## Gradient stop count. capacity*: uint ## Stop capacity. transform*: BLMatrix2D ## Gradient transformation matrix. values*: array[BL_GRADIENT_VALUE_MAX_VALUE.ord, cdouble] linear*: BLLinearGradientValues radial*: BLRadialGradientValues conic*: BLConicGradientValues 
- BLGradientQuality {.size: 4.} = enum BL_GRADIENT_QUALITY_NEAREST, ## Nearest neighbor BL_GRADIENT_QUALITY_SMOOTH, ## Use smoothing, if available (currently never available) BL_GRADIENT_QUALITY_DITHER, ## The renderer will use an implementation-specific dithering algorithm to prevent banding BL_GRADIENT_QUALITY_MAX_VALUE ## Maximum value of BLGradientQuality. 
- BLGradientStop {.bycopy.} = object offset*: cdouble rgba*: BLRgba64 
- BLGradientType {.size: 4.} = enum BL_GRADIENT_TYPE_LINEAR, ## Linear gradient type. BL_GRADIENT_TYPE_RADIAL, ## Radial gradient type. BL_GRADIENT_TYPE_CONIC, ## Conic gradient type. BL_GRADIENT_TYPE_MAX_VALUE ## Maximum value of BLGradientType. 
- BLGradientValue {.size: 4.} = enum BL_GRADIENT_VALUE_COMMON_X0, ## x0 - start 'x' for a Linear gradient and x center for both Radial and Conic gradients. BL_GRADIENT_VALUE_COMMON_Y0, ## y0 - start 'y' for a Linear gradient and y center for both Radial and Conic gradients. BL_GRADIENT_VALUE_COMMON_X1, ## x1 - end 'x' for a Linear gradient and focal point x for a Radial gradient. BL_GRADIENT_VALUE_COMMON_Y1, ## y1 - end 'y' for a Linear/gradient and focal point y for a Radial gradient. BL_GRADIENT_VALUE_RADIAL_R0, ## Radial gradient center radius. BL_GRADIENT_VALUE_RADIAL_R1, ## Radial gradient focal radius. BL_GRADIENT_VALUE_CONIC_ANGLE, ## Conic gradient angle. BL_GRADIENT_VALUE_CONIC_REPEAT, ## Conic gradient angle. BL_GRADIENT_VALUE_MAX_VALUE ## Maximum value of BLGradientValue. 
- BLLinearGradientValues {.bycopy.} = object x0*, y0*, x1*, y1*: cdouble 
- BLPatternCore {.bycopy.} = object d*: BLObjectDetail 
- BLPatternImpl {.bycopy.} = object image*: BLImageCore ## Image used by the pattern. area*: BLRectI ## Image area to use. transform*: BLMatrix2D ## Pattern transformation matrix. 
- BLPatternQuality {.size: 4.} = enum BL_PATTERN_QUALITY_NEAREST, ## Nearest neighbor interpolation BL_PATTERN_QUALITY_BILINEAR, ## Bilinear interpolation. BL_PATTERN_QUALITY_MAX_VALUE ## Maximum value of BLPatternQuality. 
- BLRadialGradientValues {.bycopy.} = object x0*, y0*, x1*, y1*, r0*, r1*: cdouble 
Procs
- proc blGradientAddStopRgba32(self: ptr BLGradientCore; offset: cdouble; argb32: uint32): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientAddStopRgba64(self: ptr BLGradientCore; offset: cdouble; argb64: uint64): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientApplyTransformOp(self: ptr BLGradientCore; opType: BLTransformOp; opData: pointer): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientAssignMove(self: ptr BLGradientCore; other: ptr BLGradientCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientAssignStops(self: ptr BLGradientCore; stops: ptr BLGradientStop; n: uint): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientAssignWeak(self: ptr BLGradientCore; other: ptr BLGradientCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientCreate(self: ptr BLGradientCore; type: BLGradientType; values: pointer; extendMode: BLExtendMode; stops: ptr BLGradientStop; n: uint; transform: ptr BLMatrix2D): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientDestroy(self: ptr BLGradientCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientEquals(a: ptr BLGradientCore; b: ptr BLGradientCore): bool {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientGetCapacity(self: ptr BLGradientCore): uint {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientGetExtendMode(self: ptr BLGradientCore): BLExtendMode {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientGetSize(self: ptr BLGradientCore): uint {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientGetStops(self: ptr BLGradientCore): ptr BLGradientStop {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientGetTransform(self: ptr BLGradientCore; transformOut: ptr BLMatrix2D): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientGetTransformType(self: ptr BLGradientCore): BLTransformType {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientGetType(self: ptr BLGradientCore): BLGradientType {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientGetValue(self: ptr BLGradientCore; index: uint): cdouble {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientIndexOfStop(self: ptr BLGradientCore; offset: cdouble): uint {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientInit(self: ptr BLGradientCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientInitAs(self: ptr BLGradientCore; type: BLGradientType; values: pointer; extendMode: BLExtendMode; stops: ptr BLGradientStop; n: uint; transform: ptr BLMatrix2D): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientInitMove(self: ptr BLGradientCore; other: ptr BLGradientCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientInitWeak(self: ptr BLGradientCore; other: ptr BLGradientCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientRemoveStop(self: ptr BLGradientCore; index: uint): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientRemoveStopByOffset(self: ptr BLGradientCore; offset: cdouble; all: uint32): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientRemoveStopsByIndex(self: ptr BLGradientCore; rStart: uint; rEnd: uint): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientRemoveStopsByOffset(self: ptr BLGradientCore; offsetMin: cdouble; offsetMax: cdouble): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientReplaceStopRgba32(self: ptr BLGradientCore; index: uint; offset: cdouble; rgba32: uint32): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientReplaceStopRgba64(self: ptr BLGradientCore; index: uint; offset: cdouble; rgba64: uint64): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientReserve(self: ptr BLGradientCore; n: uint): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientReset(self: ptr BLGradientCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientResetStops(self: ptr BLGradientCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientSetExtendMode(self: ptr BLGradientCore; extendMode: BLExtendMode): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientSetType(self: ptr BLGradientCore; type: BLGradientType): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientSetValue(self: ptr BLGradientCore; index: uint; value: cdouble): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientSetValues(self: ptr BLGradientCore; index: uint; values: ptr cdouble; n: uint): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blGradientShrink(self: ptr BLGradientCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternApplyTransformOp(self: ptr BLPatternCore; opType: BLTransformOp; opData: pointer): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternAssignDeep(self: ptr BLPatternCore; other: ptr BLPatternCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternAssignMove(self: ptr BLPatternCore; other: ptr BLPatternCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternAssignWeak(self: ptr BLPatternCore; other: ptr BLPatternCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternCreate(self: ptr BLPatternCore; image: ptr BLImageCore; area: ptr BLRectI; extendMode: BLExtendMode; transform: ptr BLMatrix2D): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternDestroy(self: ptr BLPatternCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternEquals(a: ptr BLPatternCore; b: ptr BLPatternCore): bool {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternGetArea(self: ptr BLPatternCore; areaOut: ptr BLRectI): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternGetExtendMode(self: ptr BLPatternCore): BLExtendMode {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternGetImage(self: ptr BLPatternCore; image: ptr BLImageCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternGetTransform(self: ptr BLPatternCore; transformOut: ptr BLMatrix2D): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternGetTransformType(self: ptr BLPatternCore): BLTransformType {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternInit(self: ptr BLPatternCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternInitAs(self: ptr BLPatternCore; image: ptr BLImageCore; area: ptr BLRectI; extendMode: BLExtendMode; transform: ptr BLMatrix2D): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternInitMove(self: ptr BLPatternCore; other: ptr BLPatternCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternInitWeak(self: ptr BLPatternCore; other: ptr BLPatternCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternReset(self: ptr BLPatternCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternResetArea(self: ptr BLPatternCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternResetImage(self: ptr BLPatternCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternSetArea(self: ptr BLPatternCore; area: ptr BLRectI): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternSetExtendMode(self: ptr BLPatternCore; extendMode: BLExtendMode): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].} 
- proc blPatternSetImage(self: ptr BLPatternCore; image: ptr BLImageCore; area: ptr BLRectI): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}