Types
BLApproximationOptions {.bycopy.} = object flattenMode*: uint8 ## Specifies how curves are flattened, see FlattenMode. offsetMode*: uint8 ## Specifies how curves are offsetted (used by stroking), see BLOffsetMode. reservedFlags*: array[6, uint8] ## Reserved for future use, must be zero. flattenTolerance*: cdouble ## Tolerance used to flatten curves. simplifyTolerance*: cdouble ## Tolerance used to approximate cubic curves with quadratic curves. offsetParameter*: cdouble ## Curve offsetting parameter, exact meaning depends on offsetMode.
BLArc {.bycopy.} = object cx*, cy*, rx*, ry*, start*, sweep*: cdouble
- Arc specified as cx, cy, rx, ry, start, sweep using double as a storage type.
BLBox {.bycopy.} = object x0*, y0*, x1*, y1*: cdouble
- Box specified as x0, y0, x1, y1 using double as a storage type.
BLBoxI {.bycopy.} = object x0*, y0*, x1*, y1*: cint
- Box specified as x0, y0, x1, y1 using int as a storage type.
BLCircle {.bycopy.} = object cx*, cy*, r*: cdouble
- Circle specified as cx, cy, r using double as a storage type.
BLEllipse {.bycopy.} = object cx*, cy*, rx*, ry*: cdouble
- Ellipse specified as cx, cy, rx, ry using double as a storage type.
BLFillRule {.size: 4.} = enum BL_FILL_RULE_NON_ZERO, ## Non-zero fill-rule. BL_FILL_RULE_EVEN_ODD, ## Even-odd fill-rule BL_FILL_RULE_MAX_VALUE ## Max value of BLFillRule
BLFlattenMode {.size: 4.} = enum BL_FLATTEN_MODE_DEFAULT, ## Use default mode (decided by Blend2D). BL_FLATTEN_MODE_RECURSIVE, ## Recursive subdivision flattening. BL_FLATTEN_MODE_MAX_VALUE ## Maximum value of BLFlattenMode.
BLGeometryDirection {.size: 4.} = enum BL_GEOMETRY_DIRECTION_NONE, ## No direction specified BL_GEOMETRY_DIRECTION_CW, ## Clockwise direction BL_GEOMETRY_DIRECTION_CCW ## Counter-clockwise direction
BLGeometryType {.size: 4.} = enum BL_GEOMETRY_TYPE_NONE, ## No geometry provided BL_GEOMETRY_TYPE_BOXI, ## BLBoxI struct BL_GEOMETRY_TYPE_BOXD, ## BLBox struct BL_GEOMETRY_TYPE_RECTI, ## BLRectI struct BL_GEOMETRY_TYPE_RECTD, ## BLRect struct BL_GEOMETRY_TYPE_CIRCLE, ## BLCircle struct BL_GEOMETRY_TYPE_ELLIPSE, ## BLEllipse struct BL_GEOMETRY_TYPE_ROUND_RECT, ## BLRoundRect struct BL_GEOMETRY_TYPE_ARC, ## BLArc struct BL_GEOMETRY_TYPE_CHORD, ## BLArc struct representing chord BL_GEOMETRY_TYPE_PIE, ## BLArc struct representing pie BL_GEOMETRY_TYPE_LINE, ## BLLine struct BL_GEOMETRY_TYPE_TRIANGLE, ## BLTriangle struct BL_GEOMETRY_TYPE_POLYLINEI, ## BLArrayView<BLPointI> representing a polyline BL_GEOMETRY_TYPE_POLYLINED, ## BLArrayView<BLPoint> representing a polyline BL_GEOMETRY_TYPE_POLYGONI, ## BLArrayView<BLPointI> representing a polygon BL_GEOMETRY_TYPE_POLYGOND, ## BLArrayView<BLPoint> representing a polygon BL_GEOMETRY_TYPE_ARRAY_VIEW_BOXI, ## BLArrayView<BLBoxI> struct BL_GEOMETRY_TYPE_ARRAY_VIEW_BOXD, ## BLArrayView<BLBox> struct BL_GEOMETRY_TYPE_ARRAY_VIEW_RECTI, ## BLArrayView<BLRectI> struct BL_GEOMETRY_TYPE_ARRAY_VIEW_RECTD, ## BLArrayView<BLRect> struct BL_GEOMETRY_TYPE_PATH, ## BLPath (or BLPathCore) BL_GEOMETRY_TYPE_MAX_VALUE ## Maximum value of BLGeometryType##
BLHitTest {.size: 4.} = enum BL_HIT_TEST_IN, ## Fully in. BL_HIT_TEST_PART, ## Partially in/out. BL_HIT_TEST_OUT, ## Fully out. BL_HIT_TEST_INVALID ## Hit test failed (invalid argument, NaNs, etc).
BLLine {.bycopy.} = object x0*, y0*, x1*, y1*: cdouble
- Line specified as x0, y0, x1, y1 using double as a storage type.
BLMatrix2D {.bycopy.} = object m*: array[6, cdouble] m00*, m01*, m10*, m11*, m20*, m21*: cdouble
BLPathCmd {.size: 4.} = enum BL_PATH_CMD_MOVE, ## Move-to command (starts a new figure) BL_PATH_CMD_ON, ## On-path command (interpreted as line-to or the end of a curve). BL_PATH_CMD_QUAD, ## Quad-to control point BL_PATH_CMD_CONIC, ## Conic-to control point BL_PATH_CMD_CUBIC, ## Cubic-to control point (always used as a pair of commands). BL_PATH_CMD_CLOSE, ## Close path BL_PATH_CMD_WEIGHT, ## Conic weight BL_PATH_CMD_MAX_VALUE ## Maximum value of `BLPathCmd`.
- Path command
BLPathCore {.bycopy.} = object d*: BLObjectDetail
BLPathReverseMode {.size: 4.} = enum BL_PATH_REVERSE_MODE_COMPLETE, ## Reverse each figure and their order as well (default) BL_PATH_REVERSE_MODE_SEPARATE, ## Reverse each figure separately (keeps their order) BL_PATH_REVERSE_MODE_MAX_VALUE ## Maximum value of BLPathReverseMode.
BLPathSinkFunc = proc (path: ptr BLPathCore; info: pointer; userData: pointer): BLResult {. cdecl.}
BLPathStrokeSinkFunc = proc (a, b, c: ptr BLPathCore; inputStart, inputEnd: uint; userData: pointer): BLResult {. cdecl.}
BLPoint {.bycopy.} = object x*, y*: cdouble
BLRect {.bycopy.} = object x*, y*, w*, h*: cdouble
- Rectangle specified as x, y, w, h using double as a storage type.
BLRectI {.bycopy.} = object x*, y*, w*, h*: cint
- Rectangle specified as x, y, w, h using int as a storage type.
BLRoundRect {.bycopy.} = object x*, y*, w*, h*, rx*, ry*: cdouble
- Rounded rectangle specified as x, y, w, h, rx, ry using double as a storage type.
BLStrokeCap {.size: 4.} = enum BL_STROKE_CAP_BUTT, ## Butt cap [default]. BL_STROKE_CAP_SQUARE, ## Square cap. BL_STROKE_CAP_ROUND, ## Round cap. BL_STROKE_CAP_ROUND_REV, ## Round cap reversed. BL_STROKE_CAP_TRIANGLE, ## Triangle cap. BL_STROKE_CAP_TRIANGLE_REV, ## Triangle cap reversed. BL_STROKE_CAP_MAX_VALUE ## Maximum value of BLStrokeCap.
BLStrokeCapPosition {.size: 4.} = enum BL_STROKE_CAP_POSITION_START, ## Start of the path. BL_STROKE_CAP_POSITION_END, ## End of the path. BL_STROKE_CAP_POSITION_MAX_VALUE ## Maximum value of BLStrokeCapPosition.
BLStrokeJoin {.size: 4.} = enum BL_STROKE_JOIN_MITER_CLIP, ## Miter-join possibly clipped at miterLimit [default] BL_STROKE_JOIN_MITER_BEVEL, ## Miter-join or bevel-join depending on miterLimit condition BL_STROKE_JOIN_MITER_ROUND, ## Miter-join or round-join depending on miterLimit condition BL_STROKE_JOIN_BEVEL, ## Bevel-join BL_STROKE_JOIN_ROUND, ## Round-join BL_STROKE_JOIN_MAX_VALUE ## Maximum value of BLStrokeJoin.
BLStrokeOptionsCore {.bycopy.} = object startCap*: uint8 endCap*: uint8 join*: uint8 transformOrder*: uint8 reserved*: array[4, uint8] caps*: array[2 + 1, uint8] hints*: uint64 width*: cdouble miterLimit*: cdouble dashOffset*: cdouble dashArray*: BLArrayCore
BLStrokeTransformOrder {.size: 4.} = enum BL_STROKE_TRANSFORM_ORDER_AFTER, ## Transform after stroke => Transform(Stroke(Input)) [default]. BL_STROKE_TRANSFORM_ORDER_BEFORE, ## Transform before stroke => Stroke(Transform(Input)). BL_STROKE_TRANSFORM_ORDER_MAX_VALUE ## Maximum value of BLStrokeTransformOrder.
BLTransformOp {.size: 4.} = enum BL_TRANSFORM_OP_RESET, ## Reset matrix to identity (argument ignored, should be nullptr). BL_TRANSFORM_OP_ASSIGN, ## Assign (copy) the other matrix. BL_TRANSFORM_OP_TRANSLATE, ## Translate the matrix by [x, y]. BL_TRANSFORM_OP_SCALE, ## Scale the matrix by [x, y]. BL_TRANSFORM_OP_SKEW, ## Skew the matrix by [x, y]. BL_TRANSFORM_OP_ROTATE, ## Rotate the matrix by the given angle about [0, 0]. BL_TRANSFORM_OP_ROTATE_PT, ## Rotate the matrix by the given angle about [x, y]. BL_TRANSFORM_OP_TRANSFORM, ## Transform this matrix by other BLMatrix2D. BL_TRANSFORM_OP_POST_TRANSLATE, ## Post-translate the matrix by [x, y]. BL_TRANSFORM_OP_POST_SCALE, ## Post-scale the matrix by [x, y]. BL_TRANSFORM_OP_POST_SKEW, ## Post-skew the matrix by [x, y]. BL_TRANSFORM_OP_POST_ROTATE, ## Post-rotate the matrix about [0, 0]. BL_TRANSFORM_OP_POST_ROTATE_PT, ## Post-rotate the matrix about a reference BLPoint. BL_TRANSFORM_OP_POST_TRANSFORM, ## Post-transform this matrix by other BLMatrix2D. BL_TRANSFORM_OP_MAX_VALUE ## Maximum value of BLTransformOp.
- Transformation matrix operation type
BLTransformType {.size: 4.} = enum BL_TRANSFORM_TYPE_IDENTITY, ## Identity matrix BL_TRANSFORM_TYPE_TRANSLATE, ## Has translation part (the rest is like identity). BL_TRANSFORM_TYPE_SCALE, ## Has translation and scaling parts. BL_TRANSFORM_TYPE_SWAP, ## Has translation and scaling parts, however scaling swaps X/Y. BL_TRANSFORM_TYPE_AFFINE, ## Generic affine matrix. BL_TRANSFORM_TYPE_INVALID, ## Invalid/degenerate matrix not useful for transformations. BL_TRANSFORM_TYPE_MAX_VALUE ## Maximum value of BLTransformType.
- Transformation matrix type that can be obtained by calling BLMatrix2D::type().
BLTriangle {.bycopy.} = object x0*, y0*, x1*, y1*, x2*, y2*: cdouble
- Triangle data specified as x0, y0, x1, y1, x2, y2 using double as a storage type.
Procs
proc blMatrix2DApplyOp(self: ptr BLMatrix2D; 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 blMatrix2DGetType(self: ptr BLMatrix2D): BLTransformType {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blMatrix2DInvert(dst: ptr BLMatrix2D; src: 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 blMatrix2DMapPointDArray(self: ptr BLMatrix2D; dst: ptr BLPoint; src: ptr BLPoint; count: uint): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blMatrix2DSetIdentity(self: 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 blMatrix2DSetRotation(self: ptr BLMatrix2D; angle: cdouble; cx: cdouble; cy: cdouble): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blMatrix2DSetScaling(self: ptr BLMatrix2D; x: cdouble; y: cdouble): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blMatrix2DSetSkewing(self: ptr BLMatrix2D; x: cdouble; y: cdouble): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blMatrix2DSetTranslation(self: ptr BLMatrix2D; x: cdouble; y: cdouble): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathAddBoxD(self: ptr BLPathCore; box: ptr BLBox; dir: BLGeometryDirection): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathAddBoxI(self: ptr BLPathCore; box: ptr BLBoxI; dir: BLGeometryDirection): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathAddGeometry(self: ptr BLPathCore; geometryType: BLGeometryType; geometryData: pointer; m: ptr BLMatrix2D; dir: BLGeometryDirection): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathAddPath(self: ptr BLPathCore; other: ptr BLPathCore; range: ptr BLRange): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathAddRectD(self: ptr BLPathCore; rect: ptr BLRect; dir: BLGeometryDirection): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathAddRectI(self: ptr BLPathCore; rect: ptr BLRectI; dir: BLGeometryDirection): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathAddReversedPath(self: ptr BLPathCore; other: ptr BLPathCore; range: ptr BLRange; reverseMode: BLPathReverseMode): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathAddStrokedPath(self: ptr BLPathCore; other: ptr BLPathCore; range: ptr BLRange; options: ptr BLStrokeOptionsCore; approx: ptr BLApproximationOptions): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathAddTransformedPath(self: ptr BLPathCore; other: ptr BLPathCore; range: ptr BLRange; m: 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 blPathAddTranslatedPath(self: ptr BLPathCore; other: ptr BLPathCore; range: ptr BLRange; p: ptr BLPoint): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathArcQuadrantTo(self: ptr BLPathCore; x1, y1, x2, y2: cdouble): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathArcTo(self: ptr BLPathCore; x, y, rx, ry, start, sweep: cdouble; forceMoveTo: bool): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathAssignDeep(self: ptr BLPathCore; other: ptr BLPathCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathAssignMove(self: ptr BLPathCore; other: ptr BLPathCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathAssignWeak(self: ptr BLPathCore; other: ptr BLPathCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathClear(self: ptr BLPathCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathClose(self: ptr BLPathCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathConicTo(self: ptr BLPathCore; x1, y1, x2, y2, w: cdouble): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathCubicTo(self: ptr BLPathCore; x1, y1, x2, y2, x3, y3: cdouble): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathDestroy(self: ptr BLPathCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathEllipticArcTo(self: ptr BLPathCore; rx, ry, xAxisRotation: cdouble; largeArcFlag: bool; sweepFlag: bool; x1, y1: cdouble): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathEquals(a: ptr BLPathCore; b: ptr BLPathCore): bool {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathFitTo(self: ptr BLPathCore; range: ptr BLRange; rect: ptr BLRect; fitFlags: uint32): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathGetBoundingBox(self: ptr BLPathCore; boxOut: ptr BLBox): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathGetCapacity(self: ptr BLPathCore): uint {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathGetClosestVertex(self: ptr BLPathCore; p: ptr BLPoint; maxDistance: cdouble; indexOut: ptr uint; distanceOut: ptr cdouble): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathGetCommandData(self: ptr BLPathCore): ptr uint8 {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathGetControlBox(self: ptr BLPathCore; boxOut: ptr BLBox): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathGetFigureRange(self: ptr BLPathCore; index: uint; rangeOut: ptr BLRange): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathGetInfoFlags(self: ptr BLPathCore; flagsOut: ptr uint32): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathGetLastVertex(self: ptr BLPathCore; vtxOut: ptr BLPoint): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathGetSize(self: ptr BLPathCore): uint {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathGetVertexData(self: ptr BLPathCore): ptr BLPoint {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathHitTest(self: ptr BLPathCore; p: ptr BLPoint; fillRule: BLFillRule): BLHitTest {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathInit(self: ptr BLPathCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathInitMove(self: ptr BLPathCore; other: ptr BLPathCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathInitWeak(self: ptr BLPathCore; other: ptr BLPathCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathLineTo(self: ptr BLPathCore; x1: cdouble; y1: cdouble): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathModifyOp(self: ptr BLPathCore; op: BLModifyOP; n: uint; cmdDataOut: ptr ptr uint8; vtxDataOut: ptr ptr BLPoint): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathMoveTo(self: ptr BLPathCore; x0: cdouble; y0: cdouble): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathPolyTo(self: ptr BLPathCore; poly: ptr BLPoint; count: uint): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathQuadTo(self: ptr BLPathCore; x1: cdouble; y1: cdouble; x2: cdouble; y2: cdouble): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathRemoveRange(self: ptr BLPathCore; range: ptr BLRange): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathReserve(self: ptr BLPathCore; 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 blPathReset(self: ptr BLPathCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathSetVertexAt(self: ptr BLPathCore; index: uint; cmd: uint32; x: cdouble; y: cdouble): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathShrink(self: ptr BLPathCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathSmoothCubicTo(self: ptr BLPathCore; x2, y2, x3, y3: cdouble): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathSmoothQuadTo(self: ptr BLPathCore; x2, y2: cdouble): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathStrokeToSink(self: ptr BLPathCore; range: ptr BLRange; strokeOptions: ptr BLStrokeOptionsCore; approximationOptions: ptr BLApproximationOptions; a, b, c: ptr BLPathCore; sink: BLPathStrokeSinkFunc; userData: pointer): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blPathTransform(self: ptr BLPathCore; range: ptr BLRange; m: 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 blPathTranslate(self: ptr BLPathCore; range: ptr BLRange; p: ptr BLPoint): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blStrokeOptionsAssignMove(self: ptr BLStrokeOptionsCore; other: ptr BLStrokeOptionsCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blStrokeOptionsAssignWeak(self: ptr BLStrokeOptionsCore; other: ptr BLStrokeOptionsCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blStrokeOptionsDestroy(self: ptr BLStrokeOptionsCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blStrokeOptionsEquals(a: ptr BLStrokeOptionsCore; b: ptr BLStrokeOptionsCore): bool {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blStrokeOptionsInit(self: ptr BLStrokeOptionsCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blStrokeOptionsInitMove(self: ptr BLStrokeOptionsCore; other: ptr BLStrokeOptionsCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blStrokeOptionsInitWeak(self: ptr BLStrokeOptionsCore; other: ptr BLStrokeOptionsCore): BLResult {. importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}
proc blStrokeOptionsReset(self: ptr BLStrokeOptionsCore): BLResult {.importc, cdecl, header: "/home/runner/work/blend2d-nim/blend2d-nim/src/blend2d/bindings/blend2d_source/src/blend2d.h", ...raises: [], tags: [], forbids: [].}