Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Update to the latest C API
  • Loading branch information
jwiggins committed Jul 12, 2020
commit b1135b7db4786c13f4b644cba3c40327adf12f5a
143 changes: 96 additions & 47 deletions src/_capi.pxd

Large diffs are not rendered by default.

8 changes: 5 additions & 3 deletions src/array.pxi
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@

# BLArray
# BLResult blArrayInit(BLArrayCore* self, uint32_t arrayTypeId)
# BLResult blArrayDestroy(BLArrayCore* self)
# BLResult blArrayReset(BLArrayCore* self)
# BLResult blArrayCreateFromData(BLArrayCore* self, void* data, size_t size, size_t capacity, uint32_t dataAccessFlags, BLDestroyImplFunc destroyFunc, void* destroyData)
# size_t blArrayGetSize(const BLArrayCore* self)
# size_t blArrayGetCapacity(const BLArrayCore* self)
# const void* blArrayGetData(const BLArrayCore* self)
Expand Down Expand Up @@ -60,9 +62,9 @@
# BLResult blArrayReplaceF32(BLArrayCore* self, size_t index, float value)
# BLResult blArrayReplaceF64(BLArrayCore* self, size_t index, double value)
# BLResult blArrayReplaceItem(BLArrayCore* self, size_t index, const void* item)
# BLResult blArrayReplaceView(BLArrayCore* self, const BLRange* range, const void* items, size_t n)
# BLResult blArrayReplaceView(BLArrayCore* self, size_t rStart, size_t rEnd, const void* items, size_t n)
# BLResult blArrayRemoveIndex(BLArrayCore* self, size_t index)
# BLResult blArrayRemoveRange(BLArrayCore* self, const BLRange* range)
# BLResult blArrayRemoveRange(BLArrayCore* self, size_t rStart, size_t rEnd)
# bool blArrayEquals(const BLArrayCore* a, const BLArrayCore* b)

from libc.stddef cimport size_t
Expand Down Expand Up @@ -122,5 +124,5 @@ cdef class Array:

def __dealloc__(self):
if self._initialized:
_capi.blArrayReset(&self._self)
_capi.blArrayDestroy(&self._self)
self._initialized = False
24 changes: 14 additions & 10 deletions src/context.pxi
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,17 @@
# BLContext
# BLResult blContextInit(BLContextCore* self)
# BLResult blContextInitAs(BLContextCore* self, BLImageCore* image, const BLContextCreateInfo* options)
# BLResult blContextDestroy(BLContextCore* self)
# BLResult blContextReset(BLContextCore* self)
# BLResult blContextAssignMove(BLContextCore* self, BLContextCore* other)
# BLResult blContextAssignWeak(BLContextCore* self, const BLContextCore* other)
# BLResult blContextGetType(const BLContextCore* self)
# uint32_t blContextGetType(const BLContextCore* self)
# BLResult blContextGetTargetSize(const BLContextCore* self, BLSize* targetSizeOut)
# BLImageCore* blContextGetTargetImage(const BLContextCore* self)
# BLResult blContextBegin(BLContextCore* self, BLImageCore* image, const BLContextCreateInfo* options)
# BLResult blContextEnd(BLContextCore* self)
# BLResult blContextFlush(BLContextCore* self, uint32_t flags)
# BLResult blContextQueryProperty(const BLContextCore* self, uint32_t propertyId, void* valueOut)
# BLResult blContextSave(BLContextCore* self, BLContextCookie* cookie)
# BLResult blContextRestore(BLContextCore* self, const BLContextCookie* cookie)
# BLResult blContextGetMetaMatrix(const BLContextCore* self, BLMatrix2D* m)
Expand All @@ -44,20 +48,20 @@
# BLResult blContextSetCompOp(BLContextCore* self, uint32_t compOp)
# BLResult blContextSetGlobalAlpha(BLContextCore* self, double alpha)
# BLResult blContextSetFillAlpha(BLContextCore* self, double alpha)
# BLResult blContextGetFillStyle(const BLContextCore* self, void* object)
# BLResult blContextGetFillStyleRgba32(const BLContextCore* self, uint32_t* rgba32)
# BLResult blContextGetFillStyleRgba64(const BLContextCore* self, uint64_t* rgba64)
# BLResult blContextSetFillStyle(BLContextCore* self, const void* object)
# BLResult blContextGetFillStyle(const BLContextCore* self, BLStyleCore* styleOut)
# BLResult blContextSetFillStyle(BLContextCore* self, const BLStyleCore* style)
# BLResult blContextSetFillStyleRgba(BLContextCore* self, const BLRgba* rgba)
# BLResult blContextSetFillStyleRgba32(BLContextCore* self, uint32_t rgba32)
# BLResult blContextSetFillStyleRgba64(BLContextCore* self, uint64_t rgba64)
# BLResult blContextSetFillStyleObject(BLContextCore* self, const void* object)
# BLResult blContextSetFillRule(BLContextCore* self, uint32_t fillRule)
# BLResult blContextSetStrokeAlpha(BLContextCore* self, double alpha)
# BLResult blContextGetStrokeStyle(const BLContextCore* self, void* object)
# BLResult blContextGetStrokeStyleRgba32(const BLContextCore* self, uint32_t* rgba32)
# BLResult blContextGetStrokeStyleRgba64(const BLContextCore* self, uint64_t* rgba64)
# BLResult blContextSetStrokeStyle(BLContextCore* self, const void* object)
# BLResult blContextGetStrokeStyle(const BLContextCore* self, BLStyleCore* styleOut)
# BLResult blContextSetStrokeStyle(BLContextCore* self, const BLStyleCore* style)
# BLResult blContextSetStrokeStyleRgba(BLContextCore* self, const BLRgba* rgba)
# BLResult blContextSetStrokeStyleRgba32(BLContextCore* self, uint32_t rgba32)
# BLResult blContextSetStrokeStyleRgba64(BLContextCore* self, uint64_t rgba64)
# BLResult blContextSetStrokeStyleObject(BLContextCore* self, const void* object)
# BLResult blContextSetStrokeWidth(BLContextCore* self, double width)
# BLResult blContextSetStrokeMiterLimit(BLContextCore* self, double miterLimit)
# BLResult blContextSetStrokeCap(BLContextCore* self, uint32_t position, uint32_t strokeCap)
Expand Down Expand Up @@ -106,7 +110,7 @@ cdef class Context:
self._image_ref = image

def __dealloc__(self):
_capi.blContextReset(&self._self)
_capi.blContextDestroy(&self._self)
self._image_ref = None

def clear(self):
Expand Down
72 changes: 46 additions & 26 deletions src/font.pxi
Original file line number Diff line number Diff line change
Expand Up @@ -22,64 +22,84 @@

# BLFont
# BLResult blFontInit(BLFontCore* self)
# BLResult blFontDestroy(BLFontCore* self)
# BLResult blFontReset(BLFontCore* self)
# BLResult blFontAssignMove(BLFontCore* self, BLFontCore* other)
# BLResult blFontAssignWeak(BLFontCore* self, const BLFontCore* other)
# bool blFontEquals(const BLFontCore* a, const BLFontCore* b)
# BLResult blFontCreateFromFace(BLFontCore* self, const BLFontFaceCore* face, float size)
# BLResult blFontShape(const BLFontCore* self, BLGlyphBufferCore* buf)
# BLResult blFontMapTextToGlyphs(const BLFontCore* self, BLGlyphBufferCore* buf, BLGlyphMappingState* stateOut)
# BLResult blFontPositionGlyphs(const BLFontCore* self, BLGlyphBufferCore* buf, uint32_t positioningFlags)
# BLResult blFontApplyKerning(const BLFontCore* self, BLGlyphBufferCore* buf)
# BLResult blFontApplyGSub(const BLFontCore* self, BLGlyphBufferCore* buf, size_t index, BLBitWord lookups)
# BLResult blFontApplyGPos(const BLFontCore* self, BLGlyphBufferCore* buf, size_t index, BLBitWord lookups)
# BLResult blFontShape(const BLFontCore* self, BLGlyphBufferCore* gb)
# BLResult blFontMapTextToGlyphs(const BLFontCore* self, BLGlyphBufferCore* gb, BLGlyphMappingState* stateOut)
# BLResult blFontPositionGlyphs(const BLFontCore* self, BLGlyphBufferCore* gb, uint32_t positioningFlags)
# BLResult blFontApplyKerning(const BLFontCore* self, BLGlyphBufferCore* gb)
# BLResult blFontApplyGSub(const BLFontCore* self, BLGlyphBufferCore* gb, size_t index, BLBitWord lookups)
# BLResult blFontApplyGPos(const BLFontCore* self, BLGlyphBufferCore* gb, size_t index, BLBitWord lookups)
# BLResult blFontGetMatrix(const BLFontCore* self, BLFontMatrix* out)
# BLResult blFontGetMetrics(const BLFontCore* self, BLFontMetrics* out)
# BLResult blFontGetDesignMetrics(const BLFontCore* self, BLFontDesignMetrics* out)
# BLResult blFontGetTextMetrics(const BLFontCore* self, BLGlyphBufferCore* buf, BLTextMetrics* out)
# BLResult blFontGetGlyphBounds(const BLFontCore* self, const void* glyphIdData, intptr_t glyphIdAdvance, BLBoxI* out, size_t count)
# BLResult blFontGetGlyphAdvances(const BLFontCore* self, const void* glyphIdData, intptr_t glyphIdAdvance, BLGlyphPlacement* out, size_t count)
# BLResult blFontGetTextMetrics(const BLFontCore* self, BLGlyphBufferCore* gb, BLTextMetrics* out)
# BLResult blFontGetGlyphBounds(const BLFontCore* self, const uint32_t* glyphData, intptr_t glyphAdvance, BLBoxI* out, size_t count)
# BLResult blFontGetGlyphAdvances(const BLFontCore* self, const uint32_t* glyphData, intptr_t glyphAdvance, BLGlyphPlacement* out, size_t count)
# BLResult blFontGetGlyphOutlines(const BLFontCore* self, uint32_t glyphId, const BLMatrix2D* userMatrix, BLPathCore* out, BLPathSinkFunc sink, void* closure)
# BLResult blFontGetGlyphRunOutlines(const BLFontCore* self, const BLGlyphRun* glyphRun, const BLMatrix2D* userMatrix, BLPathCore* out, BLPathSinkFunc sink, void* closure)

# BLFontData
# BLResult blFontDataInit(BLFontDataCore* self)
# BLResult blFontDataDestroy(BLFontDataCore* self)
# BLResult blFontDataReset(BLFontDataCore* self)
# BLResult blFontDataAssignMove(BLFontDataCore* self, BLFontDataCore* other)
# BLResult blFontDataAssignWeak(BLFontDataCore* self, const BLFontDataCore* other)
# BLResult blFontDataCreateFromFile(BLFontDataCore* self, const char* fileName, uint32_t readFlags)
# BLResult blFontDataCreateFromDataArray(BLFontDataCore* self, const BLArrayCore* dataArray)
# BLResult blFontDataCreateFromData(BLFontDataCore* self, const void* data, size_t dataSize, BLDestroyImplFunc destroyFunc, void* destroyData)
# bool blFontDataEquals(const BLFontDataCore* a, const BLFontDataCore* b)
# BLResult blFontDataListTags(const BLFontDataCore* self, BLArrayCore* dst)
# size_t blFontDataQueryTables(const BLFontDataCore* self, BLFontTable* dst, const BLTag* tags, size_t count)
# BLResult blFontDataListTags(const BLFontDataCore* self, uint32_t faceIndex, BLArrayCore* dst)
# size_t blFontDataQueryTables(const BLFontDataCore* self, uint32_t faceIndex, BLFontTable* dst, const BLTag* tags, size_t count)

# BLFontFace
# BLResult blFontFaceInit(BLFontFaceCore* self)
# BLResult blFontFaceDestroy(BLFontFaceCore* self)
# BLResult blFontFaceReset(BLFontFaceCore* self)
# BLResult blFontFaceAssignMove(BLFontFaceCore* self, BLFontFaceCore* other)
# BLResult blFontFaceAssignWeak(BLFontFaceCore* self, const BLFontFaceCore* other)
# bool blFontFaceEquals(const BLFontFaceCore* a, const BLFontFaceCore* b)
# BLResult blFontFaceCreateFromFile(BLFontFaceCore* self, const char* fileName, uint32_t readFlags)
# BLResult blFontFaceCreateFromLoader(BLFontFaceCore* self, const BLFontLoaderCore* loader, uint32_t faceIndex)
# BLResult blFontFaceCreateFromData(BLFontFaceCore* self, const BLFontDataCore* fontData, uint32_t faceIndex)
# BLResult blFontFaceGetFaceInfo(const BLFontFaceCore* self, BLFontFaceInfo* out)
# BLResult blFontFaceGetDesignMetrics(const BLFontFaceCore* self, BLFontDesignMetrics* out)
# BLResult blFontFaceGetUnicodeCoverage(const BLFontFaceCore* self, BLFontUnicodeCoverage* out)

# BLFontLoader
# BLResult blFontLoaderInit(BLFontLoaderCore* self)
# BLResult blFontLoaderReset(BLFontLoaderCore* self)
# BLResult blFontLoaderAssignMove(BLFontLoaderCore* self, BLFontLoaderCore* other)
# BLResult blFontLoaderAssignWeak(BLFontLoaderCore* self, const BLFontLoaderCore* other)
# bool blFontLoaderEquals(const BLFontLoaderCore* a, const BLFontLoaderCore* b)
# BLResult blFontLoaderCreateFromFile(BLFontLoaderCore* self, const char* fileName, uint32_t readFlags)
# BLResult blFontLoaderCreateFromDataArray(BLFontLoaderCore* self, const BLArrayCore* dataArray)
# BLResult blFontLoaderCreateFromData(BLFontLoaderCore* self, const void* data, size_t size, BLDestroyImplFunc destroyFunc, void* destroyData)
# BLFontDataImpl* blFontLoaderDataByFaceIndex(BLFontLoaderCore* self, uint32_t faceIndex)
# BLFontManager
# BLResult blFontManagerInit(BLFontManagerCore* self)
# BLResult blFontManagerInitNew(BLFontManagerCore* self)
# BLResult blFontManagerDestroy(BLFontManagerCore* self)
# BLResult blFontManagerReset(BLFontManagerCore* self)
# BLResult blFontManagerAssignMove(BLFontManagerCore* self, BLFontManagerCore* other)
# BLResult blFontManagerAssignWeak(BLFontManagerCore* self, const BLFontManagerCore* other)
# BLResult blFontManagerCreate(BLFontManagerCore* self)
# size_t blFontManagerGetFaceCount(const BLFontManagerCore* self)
# size_t blFontManagerGetFamilyCount(const BLFontManagerCore* self)
# bool blFontManagerHasFace(const BLFontManagerCore* self, const BLFontFaceCore* face)
# BLResult blFontManagerAddFace(BLFontManagerCore* self, const BLFontFaceCore* face)
# BLResult blFontManagerQueryFace(const BLFontManagerCore* self, const char* name, size_t nameSize, const BLFontQueryProperties* properties, BLFontFaceCore* out)
# BLResult blFontManagerQueryFacesByFamilyName(const BLFontManagerCore* self, const char* name, size_t nameSize, BLArrayCore* out)
# bool blFontManagerEquals(const BLFontManagerCore* a, const BLFontManagerCore* b)

# BLGlyphBuffer
# BLResult blGlyphBufferInit(BLGlyphBufferCore* self)
# BLResult blGlyphBufferInitMove(BLGlyphBufferCore* self, BLGlyphBufferCore* other)
# BLResult blGlyphBufferDestroy(BLGlyphBufferCore* self)
# BLResult blGlyphBufferReset(BLGlyphBufferCore* self)
# BLResult blGlyphBufferClear(BLGlyphBufferCore* self)
# BLResult blGlyphBufferSetText(BLGlyphBufferCore* self, const void* data, size_t size, uint32_t encoding)
# BLResult blGlyphBufferSetGlyphIds(BLGlyphBufferCore* self, const void* data, intptr_t advance, size_t size)
# size_t blGlyphBufferGetSize(const BLGlyphBufferCore* self)
# uint32_t blGlyphBufferGetFlags(const BLGlyphBufferCore* self)
# const BLGlyphRun* blGlyphBufferGetGlyphRun(const BLGlyphBufferCore* self)
# const uint32_t* blGlyphBufferGetContent(const BLGlyphBufferCore* self)
# const BLGlyphInfo* blGlyphBufferGetInfoData(const BLGlyphBufferCore* self)
# const BLGlyphPlacement* blGlyphBufferGetPlacementData(const BLGlyphBufferCore* self)
# BLResult blGlyphBufferSetText(BLGlyphBufferCore* self, const void* textData, size_t size, uint32_t encoding)
# BLResult blGlyphBufferSetGlyphs(BLGlyphBufferCore* self, const uint32_t* glyphData, size_t size)
# BLResult blGlyphBufferSetGlyphsFromStruct(BLGlyphBufferCore* self, const void* glyphData, size_t size, size_t glyphIdSize, intptr_t glyphIdAdvance)

cdef class Font:
cdef _capi.BLFontCore _self
Expand All @@ -94,5 +114,5 @@ cdef class Font:
_capi.blFontCreateFromFace(&self._self, &self._face, size)

def __dealloc__(self):
_capi.blFontReset(&self._self)
_capi.blFontFaceReset(&self._face)
_capi.blFontDestroy(&self._self)
_capi.blFontFaceDestroy(&self._face)
14 changes: 9 additions & 5 deletions src/geometry.pxi
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@

# BLRegion
# BLResult blRegionInit(BLRegionCore* self)
# BLResult blRegionDestroy(BLRegionCore* self)
# BLResult blRegionReset(BLRegionCore* self)
# size_t blRegionGetSize(const BLRegionCore* self)
# size_t blRegionGetCapacity(const BLRegionCore* self)
# const BLBoxI* blRegionGetData(const BLRegionCore* self)
# BLResult blRegionClear(BLRegionCore* self)
# BLResult blRegionShrink(BLRegionCore* self)
# BLResult blRegionReserve(BLRegionCore* self, size_t n)
Expand All @@ -44,10 +48,10 @@
# BLResult blRegionAssignBoxIArray(BLRegionCore* self, const BLBoxI* data, size_t n)
# BLResult blRegionAssignRectI(BLRegionCore* self, const BLRectI* rect)
# BLResult blRegionAssignRectIArray(BLRegionCore* self, const BLRectI* data, size_t n)
# BLResult blRegionCombine(BLRegionCore* self, const BLRegionCore* a, const BLRegionCore* b, uint32_t op)
# BLResult blRegionCombineRB(BLRegionCore* self, const BLRegionCore* a, const BLBoxI* b, uint32_t op)
# BLResult blRegionCombineBR(BLRegionCore* self, const BLBoxI* a, const BLRegionCore* b, uint32_t op)
# BLResult blRegionCombineBB(BLRegionCore* self, const BLBoxI* a, const BLBoxI* b, uint32_t op)
# BLResult blRegionCombine(BLRegionCore* self, const BLRegionCore* a, const BLRegionCore* b, uint32_t booleanOp)
# BLResult blRegionCombineRB(BLRegionCore* self, const BLRegionCore* a, const BLBoxI* b, uint32_t booleanOp)
# BLResult blRegionCombineBR(BLRegionCore* self, const BLBoxI* a, const BLRegionCore* b, uint32_t booleanOp)
# BLResult blRegionCombineBB(BLRegionCore* self, const BLBoxI* a, const BLBoxI* b, uint32_t booleanOp)
# BLResult blRegionTranslate(BLRegionCore* self, const BLRegionCore* r, const BLPointI* pt)
# BLResult blRegionTranslateAndClip(BLRegionCore* self, const BLRegionCore* r, const BLPointI* pt, const BLBoxI* clipBox)
# BLResult blRegionIntersectAndClip(BLRegionCore* self, const BLRegionCore* a, const BLRegionCore* b, const BLBoxI* clipBox)
Expand Down Expand Up @@ -100,4 +104,4 @@ cdef class Region:
_capi.blRegionInit(&self._self)

def __dealloc__(self):
_capi.blRegionReset(&self._self)
_capi.blRegionDestroy(&self._self)
7 changes: 4 additions & 3 deletions src/gradient.pxi
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
# BLGradient
# BLResult blGradientInit(BLGradientCore* self)
# BLResult blGradientInitAs(BLGradientCore* self, uint32_t type, const void* values, uint32_t extendMode, const BLGradientStop* stops, size_t n, const BLMatrix2D* m)
# BLResult blGradientDestroy(BLGradientCore* self)
# BLResult blGradientReset(BLGradientCore* self)
# BLResult blGradientAssignMove(BLGradientCore* self, BLGradientCore* other)
# BLResult blGradientAssignWeak(BLGradientCore* self, const BLGradientCore* other)
Expand All @@ -36,16 +37,16 @@
# BLResult blGradientSetValues(BLGradientCore* self, size_t index, const double* values, size_t n)
# uint32_t blGradientGetExtendMode(BLGradientCore* self)
# BLResult blGradientSetExtendMode(BLGradientCore* self, uint32_t extendMode)
# const BLGradientStop* blGradientGetStops(const BLGradientCore* self)
# size_t blGradientGetSize(const BLGradientCore* self)
# size_t blGradientGetCapacity(const BLGradientCore* self)
# const BLGradientStop* blGradientGetStops(const BLGradientCore* self)
# BLResult blGradientResetStops(BLGradientCore* self)
# BLResult blGradientAssignStops(BLGradientCore* self, const BLGradientStop* stops, size_t n)
# BLResult blGradientAddStopRgba32(BLGradientCore* self, double offset, uint32_t argb32)
# BLResult blGradientAddStopRgba64(BLGradientCore* self, double offset, uint64_t argb64)
# BLResult blGradientRemoveStop(BLGradientCore* self, size_t index)
# BLResult blGradientRemoveStopByOffset(BLGradientCore* self, double offset, uint32_t all)
# BLResult blGradientRemoveStops(BLGradientCore* self, const BLRange* range)
# BLResult blGradientRemoveStops(BLGradientCore* self, size_t rStart, size_t rEnd)
# BLResult blGradientRemoveStopsFromTo(BLGradientCore* self, double offsetMin, double offsetMax)
# BLResult blGradientReplaceStopRgba32(BLGradientCore* self, size_t index, double offset, uint32_t rgba32)
# BLResult blGradientReplaceStopRgba64(BLGradientCore* self, size_t index, double offset, uint64_t rgba64)
Expand All @@ -60,7 +61,7 @@ cdef class Gradient:
_capi.blGradientInit(&self._self)

def __dealloc__(self):
_capi.blGradientReset(&self._self)
_capi.blGradientDestroy(&self._self)

property type:
def __get__(self):
Expand Down
19 changes: 18 additions & 1 deletion src/image.pxi
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,23 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

# BLImage
# BLResult blImageInit(BLImageCore* self)
# BLResult blImageInitAs(BLImageCore* self, int w, int h, uint32_t format)
# BLResult blImageInitAsFromData(BLImageCore* self, int w, int h, uint32_t format, void* pixelData, intptr_t stride, BLDestroyImplFunc destroyFunc, void* destroyData)
# BLResult blImageDestroy(BLImageCore* self)
# BLResult blImageReset(BLImageCore* self)
# BLResult blImageAssignMove(BLImageCore* self, BLImageCore* other)
# BLResult blImageAssignWeak(BLImageCore* self, const BLImageCore* other)
# BLResult blImageAssignDeep(BLImageCore* self, const BLImageCore* other)
# BLResult blImageCreate(BLImageCore* self, int w, int h, uint32_t format)
# BLResult blImageCreateFromData(BLImageCore* self, int w, int h, uint32_t format, void* pixelData, intptr_t stride, BLDestroyImplFunc destroyFunc, void* destroyData)
# BLResult blImageGetData(const BLImageCore* self, BLImageData* dataOut)
# BLResult blImageMakeMutable(BLImageCore* self, BLImageData* dataOut)
# BLResult blImageConvert(BLImageCore* self, uint32_t format)
# bool blImageEquals(const BLImageCore* a, const BLImageCore* b)
# BLResult blImageScale(BLImageCore* dst, const BLImageCore* src, const BLSizeI* size, uint32_t filter, const BLImageScaleOptions* options)

cdef class Image:
cdef _capi.BLImageCore _self
cdef object _array_ref
Expand All @@ -39,5 +56,5 @@ cdef class Image:
self._array_ref = array

def __dealloc__(self):
_capi.blImageReset(&self._self)
_capi.blImageDestroy(&self._self)
self._array_ref = None
Loading