diff --git a/package/cpp/api/JsiSkParagraph.h b/package/cpp/api/JsiSkParagraph.h index 8ca2292212..df36489156 100644 --- a/package/cpp/api/JsiSkParagraph.h +++ b/package/cpp/api/JsiSkParagraph.h @@ -32,6 +32,8 @@ namespace para = skia::textlayout; */ class JsiSkParagraph : public JsiSkHostObject { public: + EXPORT_JSI_API_TYPENAME(JsiSkParagraph, Paragraph) + JSI_HOST_FUNCTION(layout) { auto width = getArgumentAsNumber(runtime, arguments, count, 0); _paragraph->layout(width); @@ -122,6 +124,12 @@ class JsiSkParagraph : public JsiSkHostObject { return returnValue; } + JSI_HOST_FUNCTION(dispose) { + _paragraph = nullptr; + + return jsi::Value::undefined(); + } + JSI_EXPORT_FUNCTIONS(JSI_EXPORT_FUNC(JsiSkParagraph, layout), JSI_EXPORT_FUNC(JsiSkParagraph, paint), JSI_EXPORT_FUNC(JsiSkParagraph, getMaxWidth), @@ -133,7 +141,8 @@ class JsiSkParagraph : public JsiSkHostObject { JSI_EXPORT_FUNC(JsiSkParagraph, getGlyphPositionAtCoordinate), JSI_EXPORT_FUNC(JsiSkParagraph, getRectsForRange), - JSI_EXPORT_FUNC(JsiSkParagraph, getLineMetrics)) + JSI_EXPORT_FUNC(JsiSkParagraph, getLineMetrics), + JSI_EXPORT_FUNC(JsiSkParagraph, dispose)) explicit JsiSkParagraph(std::shared_ptr context, para::ParagraphBuilder *paragraphBuilder)