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: [].}