Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
xtyxtyx committed Dec 21, 2024
1 parent f3c8d2a commit fd47b44
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 25 deletions.
20 changes: 6 additions & 14 deletions Sources/CSkia/utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,39 +18,31 @@ auto fontMgr = SkFontMgr_New_DirectWrite(nullptr);
auto fontMgr = SkFontMgr_New_FontConfig(nullptr);
#endif

ParagraphBuilder *paragraph_builder_new(ParagraphStyle &style, FontCollection_sp &fontCollection)
ParagraphBuilder_up paragraph_builder_new(ParagraphStyle &style, FontCollection_sp &fontCollection)
{
auto result = ParagraphBuilder::make(style, fontCollection);
auto result2 = result.release();
return result2;
return ParagraphBuilder::make(style, fontCollection);
}

void paragraph_builder_add_text(ParagraphBuilder *builder, const char *text)
void paragraph_builder_add_text(const ParagraphBuilder_up &builder, const char *text)
{
builder->addText(text);
// builder->addText(text, strlen(text));
}

void paragraph_builder_push_style(ParagraphBuilder *builder, const TextStyle *style)
void paragraph_builder_push_style(const ParagraphBuilder_up &builder, const TextStyle *style)
{
builder->pushStyle(*style);
}

void paragraph_builder_pop(ParagraphBuilder *builder)
void paragraph_builder_pop(const ParagraphBuilder_up &builder)
{
builder->pop();
}

Paragraph *paragraph_builder_build(ParagraphBuilder *builder)
Paragraph *paragraph_builder_build(const ParagraphBuilder_up &builder)
{
return builder->Build().release();
}

void paragraph_builder_unref(ParagraphBuilder *builder)
{
std::default_delete<ParagraphBuilder>()(builder);
}

// MARK: - Paragraph

std::vector<Paragraph::FontInfo> paragraph_get_fonts(Paragraph *paragraph)
Expand Down
12 changes: 6 additions & 6 deletions Sources/CSkia/utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -106,17 +106,17 @@ typedef sk_sp<FontCollection> FontCollection_sp;
typedef sk_sp<ParagraphBuilder> ParagraphBuilder_sp;
typedef sk_sp<SkTypeface> SkTypeface_sp;
typedef sk_sp<SkTextBlob> SkTextBlob_sp;
typedef std::unique_ptr<ParagraphBuilder> ParagraphBuilder_up;

// FontCollection_sp test_font_collection();

// MARK: - ParagraphBuilder

ParagraphBuilder *paragraph_builder_new(ParagraphStyle &style, FontCollection_sp &fontCollection);
void paragraph_builder_add_text(ParagraphBuilder *builder, const char *text);
void paragraph_builder_push_style(ParagraphBuilder *builder, const TextStyle *style);
void paragraph_builder_pop(ParagraphBuilder *builder);
Paragraph *paragraph_builder_build(ParagraphBuilder *builder);
void paragraph_builder_unref(ParagraphBuilder *builder);
ParagraphBuilder_up paragraph_builder_new(ParagraphStyle &style, FontCollection_sp &fontCollection);
void paragraph_builder_add_text(const ParagraphBuilder_up &builder, const char *text);
void paragraph_builder_push_style(const ParagraphBuilder_up &builder, const TextStyle *style);
void paragraph_builder_pop(const ParagraphBuilder_up &builder);
Paragraph *paragraph_builder_build(const ParagraphBuilder_up &builder);

// MARK: - Paragraph

Expand Down
6 changes: 1 addition & 5 deletions Sources/Shaft/Backend/Skia/SkiaParagraph.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,7 @@ public class SkiaParagraphBuilder: ParagraphBuilder {
builder = paragraph_builder_new(&skiaStyle, &fontCollection.collection)
}

deinit {
paragraph_builder_unref(builder)
}

public let builder: UnsafeMutablePointer<skia.textlayout.ParagraphBuilder>
public let builder: ParagraphBuilder_up

public func pushStyle(_ style: SpanStyle) {
var skiaStyle = skia.textlayout.TextStyle()
Expand Down

0 comments on commit fd47b44

Please sign in to comment.