1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2021 Google LLC 3cb93a386Sopenharmony_ci * 4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be 5cb93a386Sopenharmony_ci * found in the LICENSE file. 6cb93a386Sopenharmony_ci */ 7cb93a386Sopenharmony_ci// This file is a part of a POC for more automated generation of binding code. 8cb93a386Sopenharmony_ci// It can be edited manually (for now). 9cb93a386Sopenharmony_ci 10cb93a386Sopenharmony_ci#include "modules/skparagraph/include/DartTypes.h" 11cb93a386Sopenharmony_ci#include "modules/skparagraph/include/Paragraph.h" 12cb93a386Sopenharmony_ci 13cb93a386Sopenharmony_ci#include <emscripten/bind.h> 14cb93a386Sopenharmony_ci 15cb93a386Sopenharmony_ciusing namespace emscripten; 16cb93a386Sopenharmony_ci 17cb93a386Sopenharmony_cinamespace para = skia::textlayout; 18cb93a386Sopenharmony_ci 19cb93a386Sopenharmony_ciEMSCRIPTEN_BINDINGS(ParagraphGen) { 20cb93a386Sopenharmony_ci enum_<para::Affinity>("Affinity") 21cb93a386Sopenharmony_ci .value("Upstream", para::Affinity::kUpstream) 22cb93a386Sopenharmony_ci .value("Downstream", para::Affinity::kDownstream); 23cb93a386Sopenharmony_ci 24cb93a386Sopenharmony_ci enum_<para::TextDecorationStyle>("DecorationStyle") 25cb93a386Sopenharmony_ci .value("Solid", para::TextDecorationStyle::kSolid) 26cb93a386Sopenharmony_ci .value("Double", para::TextDecorationStyle::kDouble) 27cb93a386Sopenharmony_ci .value("Dotted", para::TextDecorationStyle::kDotted) 28cb93a386Sopenharmony_ci .value("Dashed", para::TextDecorationStyle::kDashed) 29cb93a386Sopenharmony_ci .value("Wavy", para::TextDecorationStyle::kWavy); 30cb93a386Sopenharmony_ci 31cb93a386Sopenharmony_ci enum_<SkFontStyle::Slant>("FontSlant") 32cb93a386Sopenharmony_ci .value("Upright", SkFontStyle::Slant::kUpright_Slant) 33cb93a386Sopenharmony_ci .value("Italic", SkFontStyle::Slant::kItalic_Slant) 34cb93a386Sopenharmony_ci .value("Oblique", SkFontStyle::Slant::kOblique_Slant); 35cb93a386Sopenharmony_ci 36cb93a386Sopenharmony_ci enum_<SkFontStyle::Weight>("FontWeight") 37cb93a386Sopenharmony_ci .value("Invisible", SkFontStyle::Weight::kInvisible_Weight) 38cb93a386Sopenharmony_ci .value("Thin", SkFontStyle::Weight::kThin_Weight) 39cb93a386Sopenharmony_ci .value("ExtraLight", SkFontStyle::Weight::kExtraLight_Weight) 40cb93a386Sopenharmony_ci .value("Light", SkFontStyle::Weight::kLight_Weight) 41cb93a386Sopenharmony_ci .value("Normal", SkFontStyle::Weight::kNormal_Weight) 42cb93a386Sopenharmony_ci .value("Medium", SkFontStyle::Weight::kMedium_Weight) 43cb93a386Sopenharmony_ci .value("SemiBold", SkFontStyle::Weight::kSemiBold_Weight) 44cb93a386Sopenharmony_ci .value("Bold", SkFontStyle::Weight::kBold_Weight) 45cb93a386Sopenharmony_ci .value("ExtraBold", SkFontStyle::Weight::kExtraBold_Weight) 46cb93a386Sopenharmony_ci .value("Black", SkFontStyle::Weight::kBlack_Weight) 47cb93a386Sopenharmony_ci .value("ExtraBlack", SkFontStyle::Weight::kExtraBlack_Weight); 48cb93a386Sopenharmony_ci 49cb93a386Sopenharmony_ci enum_<SkFontStyle::Width>("FontWidth") 50cb93a386Sopenharmony_ci .value("UltraCondensed", SkFontStyle::Width::kUltraCondensed_Width) 51cb93a386Sopenharmony_ci .value("ExtraCondensed", SkFontStyle::Width::kExtraCondensed_Width) 52cb93a386Sopenharmony_ci .value("Condensed", SkFontStyle::Width::kCondensed_Width) 53cb93a386Sopenharmony_ci .value("SemiCondensed", SkFontStyle::Width::kSemiCondensed_Width) 54cb93a386Sopenharmony_ci .value("Normal", SkFontStyle::Width::kNormal_Width) 55cb93a386Sopenharmony_ci .value("SemiExpanded", SkFontStyle::Width::kSemiExpanded_Width) 56cb93a386Sopenharmony_ci .value("Expanded", SkFontStyle::Width::kExpanded_Width) 57cb93a386Sopenharmony_ci .value("ExtraExpanded", SkFontStyle::Width::kExtraExpanded_Width) 58cb93a386Sopenharmony_ci .value("UltraExpanded", SkFontStyle::Width::kUltraExpanded_Width); 59cb93a386Sopenharmony_ci 60cb93a386Sopenharmony_ci enum_<para::PlaceholderAlignment>("PlaceholderAlignment") 61cb93a386Sopenharmony_ci .value("Baseline", para::PlaceholderAlignment::kBaseline) 62cb93a386Sopenharmony_ci .value("AboveBaseline", para::PlaceholderAlignment::kAboveBaseline) 63cb93a386Sopenharmony_ci .value("BelowBaseline", para::PlaceholderAlignment::kBelowBaseline) 64cb93a386Sopenharmony_ci .value("Top", para::PlaceholderAlignment::kTop) 65cb93a386Sopenharmony_ci .value("Bottom", para::PlaceholderAlignment::kBottom) 66cb93a386Sopenharmony_ci .value("Middle", para::PlaceholderAlignment::kMiddle); 67cb93a386Sopenharmony_ci 68cb93a386Sopenharmony_ci enum_<para::RectHeightStyle>("RectHeightStyle") 69cb93a386Sopenharmony_ci .value("Tight", para::RectHeightStyle::kTight) 70cb93a386Sopenharmony_ci .value("Max", para::RectHeightStyle::kMax) 71cb93a386Sopenharmony_ci .value("IncludeLineSpacingMiddle", para::RectHeightStyle::kIncludeLineSpacingMiddle) 72cb93a386Sopenharmony_ci .value("IncludeLineSpacingTop", para::RectHeightStyle::kIncludeLineSpacingTop) 73cb93a386Sopenharmony_ci .value("IncludeLineSpacingBottom", para::RectHeightStyle::kIncludeLineSpacingBottom) 74cb93a386Sopenharmony_ci .value("Strut", para::RectHeightStyle::kStrut); 75cb93a386Sopenharmony_ci 76cb93a386Sopenharmony_ci enum_<para::RectWidthStyle>("RectWidthStyle") 77cb93a386Sopenharmony_ci .value("Tight", para::RectWidthStyle::kTight) 78cb93a386Sopenharmony_ci .value("Max", para::RectWidthStyle::kMax); 79cb93a386Sopenharmony_ci 80cb93a386Sopenharmony_ci enum_<para::TextAlign>("TextAlign") 81cb93a386Sopenharmony_ci .value("Left", para::TextAlign::kLeft) 82cb93a386Sopenharmony_ci .value("Right", para::TextAlign::kRight) 83cb93a386Sopenharmony_ci .value("Center", para::TextAlign::kCenter) 84cb93a386Sopenharmony_ci .value("Justify", para::TextAlign::kJustify) 85cb93a386Sopenharmony_ci .value("Start", para::TextAlign::kStart) 86cb93a386Sopenharmony_ci .value("End", para::TextAlign::kEnd); 87cb93a386Sopenharmony_ci 88cb93a386Sopenharmony_ci enum_<para::TextBaseline>("TextBaseline") 89cb93a386Sopenharmony_ci .value("Alphabetic", para::TextBaseline::kAlphabetic) 90cb93a386Sopenharmony_ci .value("Ideographic", para::TextBaseline::kIdeographic); 91cb93a386Sopenharmony_ci 92cb93a386Sopenharmony_ci enum_<para::TextDirection>("TextDirection") 93cb93a386Sopenharmony_ci .value("LTR", para::TextDirection::kLtr) 94cb93a386Sopenharmony_ci .value("RTL", para::TextDirection::kRtl); 95cb93a386Sopenharmony_ci 96cb93a386Sopenharmony_ci enum_<para::TextHeightBehavior>("TextHeightBehavior") 97cb93a386Sopenharmony_ci .value("All", para::TextHeightBehavior::kAll) 98cb93a386Sopenharmony_ci .value("DisableFirstAscent", para::TextHeightBehavior::kDisableFirstAscent) 99cb93a386Sopenharmony_ci .value("DisableLastDescent", para::TextHeightBehavior::kDisableLastDescent) 100cb93a386Sopenharmony_ci .value("DisableAll", para::TextHeightBehavior::kDisableAll); 101cb93a386Sopenharmony_ci} 102