blob: 74b25fa5293de4f861af92cb90562ab91ec45962 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "../export.h"
#include "../wrappers.h"
#include "third_party/skia/modules/skparagraph/include/ParagraphBuilder.h"
using namespace skia::textlayout;
using namespace Skwasm;
SKWASM_EXPORT ParagraphBuilder* paragraphBuilder_create(
ParagraphStyle* style,
FlutterFontCollection* collection) {
return ParagraphBuilder::make(*style, collection->collection).release();
}
SKWASM_EXPORT void paragraphBuilder_dispose(ParagraphBuilder* builder) {
delete builder;
}
SKWASM_EXPORT void paragraphBuilder_addPlaceholder(
ParagraphBuilder* builder,
SkScalar width,
SkScalar height,
PlaceholderAlignment alignment,
SkScalar baselineOffset,
TextBaseline baseline) {
builder->addPlaceholder(
PlaceholderStyle(width, height, alignment, baseline, baselineOffset));
}
SKWASM_EXPORT void paragraphBuilder_addText(ParagraphBuilder* builder,
std::u16string* text) {
builder->addText(*text);
}
SKWASM_EXPORT void paragraphBuilder_pushStyle(ParagraphBuilder* builder,
TextStyle* style) {
builder->pushStyle(*style);
}
SKWASM_EXPORT void paragraphBuilder_pop(ParagraphBuilder* builder) {
builder->pop();
}
SKWASM_EXPORT Paragraph* paragraphBuilder_build(ParagraphBuilder* builder) {
return builder->Build().release();
}