*/
SK_API void sk_paint_set_path_effect(sk_paint_t* cpaint, sk_path_effect_t* effect);
+SK_API bool sk_paint_is_linear_text(const sk_paint_t*);
+SK_API void sk_paint_set_linear_text(sk_paint_t*, bool);
+
+SK_API bool sk_paint_is_subpixel_text(const sk_paint_t*);
+SK_API void sk_paint_set_subpixel_text(sk_paint_t*, bool);
+
+SK_API bool sk_paint_is_lcd_render_text(const sk_paint_t*);
+SK_API void sk_paint_set_lcd_render_text(sk_paint_t*, bool);
+
+SK_API bool sk_paint_is_embedded_bitmap_text(const sk_paint_t*);
+SK_API void sk_paint_set_embedded_bitmap_text(sk_paint_t*, bool);
+
+SK_API sk_paint_hinting_t sk_paint_get_hinting(const sk_paint_t*);
+SK_API void sk_paint_set_hinting(sk_paint_t*, sk_paint_hinting_t);
+
+SK_API bool sk_paint_is_autohinted(const sk_paint_t*);
+SK_API void sk_paint_set_autohinted(sk_paint_t*, bool);
+
+SK_API bool sk_paint_is_underline_text(const sk_paint_t*);
+SK_API void sk_paint_set_underline_text(sk_paint_t*, bool);
+
+SK_API bool sk_paint_is_strikethru_text(const sk_paint_t*);
+SK_API void sk_paint_set_strikethru_text(sk_paint_t*, bool);
+
+SK_API bool sk_paint_is_fake_bold_text(const sk_paint_t*);
+SK_API void sk_paint_set_fake_bold_text(sk_paint_t*, bool);
+
+SK_API bool sk_paint_is_dev_kern_text(const sk_paint_t*);
+SK_API void sk_paint_set_dev_kern_text(sk_paint_t*, bool);
+
SK_C_PLUS_PLUS_END_GUARD
#endif
STROKE_AND_FILL_SK_PAINT_STYLE,
} sk_paint_style_t;
+typedef enum {
+ NO_HINTING_SK_PAINT_HINTING,
+ SLIGHT_HINTING_SK_PAINT_HINTING,
+ NORMAL_HINTING_SK_PAINT_HINTING,
+ FULL_HINTING_SK_PAINT_HINTING,
+} sk_paint_hinting_t;
+
typedef struct sk_colortable_t sk_colortable_t;
typedef struct sk_pixelref_factory_t sk_pixelref_factory_t;
static_assert ((int)SkPaint::Style::kStrokeAndFill_Style == (int)STROKE_AND_FILL_SK_PAINT_STYLE, ASSERT_MSG(SkPaint::Style, sk_paint_style_t));
static_assert ((int)SkPaint::Style::kStroke_Style == (int)STROKE_SK_PAINT_STYLE, ASSERT_MSG(SkPaint::Style, sk_paint_style_t));
+// sk_path_effect_1d_style_t
+static_assert ((int)SkPaint::Hinting::kNo_Hinting == (int)NO_HINTING_SK_PAINT_HINTING, ASSERT_MSG(SkPaint::Hinting, sk_paint_style_t));
+static_assert ((int)SkPaint::Hinting::kSlight_Hinting == (int)SLIGHT_HINTING_SK_PAINT_HINTING, ASSERT_MSG(SkPaint::Hinting, sk_paint_style_t));
+static_assert ((int)SkPaint::Hinting::kNormal_Hinting == (int)NORMAL_HINTING_SK_PAINT_HINTING, ASSERT_MSG(SkPaint::Hinting, sk_paint_style_t));
+static_assert ((int)SkPaint::Hinting::kFull_Hinting == (int)FULL_HINTING_SK_PAINT_HINTING, ASSERT_MSG(SkPaint::Hinting, sk_paint_style_t));
+
// sk_point_mode_t
static_assert ((int)SkCanvas::PointMode::kPoints_PointMode == (int)POINTS_SK_POINT_MODE, ASSERT_MSG(SkCanvas::PointMode, sk_point_mode_t));
static_assert ((int)SkCanvas::PointMode::kLines_PointMode == (int)LINES_SK_POINT_MODE, ASSERT_MSG(SkCanvas::PointMode, sk_point_mode_t));
void sk_paint_set_path_effect(sk_paint_t* cpaint, sk_path_effect_t* effect) {
AsPaint(cpaint)->setPathEffect(sk_ref_sp(AsPathEffect(effect)));
}
+
+bool sk_paint_is_linear_text(const sk_paint_t* cpaint) {
+ return AsPaint(cpaint)->isLinearText();
+}
+
+void sk_paint_set_linear_text(sk_paint_t* cpaint, bool linearText) {
+ AsPaint(cpaint)->setLinearText(linearText);
+}
+
+bool sk_paint_is_subpixel_text(const sk_paint_t* cpaint) {
+ return AsPaint(cpaint)->isSubpixelText();
+}
+
+void sk_paint_set_subpixel_text(sk_paint_t* cpaint, bool subpixelText) {
+ AsPaint(cpaint)->setSubpixelText(subpixelText);
+}
+
+bool sk_paint_is_lcd_render_text(const sk_paint_t* cpaint) {
+ return AsPaint(cpaint)->isLCDRenderText();
+}
+
+void sk_paint_set_lcd_render_text(sk_paint_t* cpaint, bool lcdText) {
+ AsPaint(cpaint)->setLCDRenderText(lcdText);
+}
+
+bool sk_paint_is_embedded_bitmap_text(const sk_paint_t* cpaint) {
+ return AsPaint(cpaint)->isEmbeddedBitmapText();
+}
+
+void sk_paint_set_embedded_bitmap_text(sk_paint_t* cpaint, bool useEmbeddedBitmapText) {
+ AsPaint(cpaint)->setEmbeddedBitmapText(useEmbeddedBitmapText);
+}
+
+bool sk_paint_is_autohinted(const sk_paint_t* cpaint) {
+ return AsPaint(cpaint)->isAutohinted();
+}
+
+void sk_paint_set_autohinted(sk_paint_t* cpaint, bool useAutohinter) {
+ AsPaint(cpaint)->setAutohinted(useAutohinter);
+}
+
+sk_paint_hinting_t sk_paint_get_hinting(const sk_paint_t* cpaint) {
+ return (sk_paint_hinting_t) AsPaint(cpaint)->getHinting();
+}
+
+void sk_paint_set_hinting(sk_paint_t* cpaint, sk_paint_hinting_t hintingLevel) {
+ AsPaint(cpaint)->setHinting((SkPaint::Hinting)hintingLevel);
+}
+
+bool sk_paint_is_underline_text(const sk_paint_t* cpaint) {
+ return AsPaint(cpaint)->isUnderlineText();
+}
+
+void sk_paint_set_underline_text(sk_paint_t* cpaint, bool underlineText) {
+ AsPaint(cpaint)->setUnderlineText(underlineText);
+}
+
+bool sk_paint_is_strikethru_text(const sk_paint_t* cpaint) {
+ return AsPaint(cpaint)->isStrikeThruText();
+}
+
+void sk_paint_set_strikethru_text(sk_paint_t* cpaint, bool strikeThruText) {
+ AsPaint(cpaint)->setStrikeThruText(strikeThruText);
+}
+
+bool sk_paint_is_fake_bold_text(const sk_paint_t* cpaint) {
+ return AsPaint(cpaint)->isFakeBoldText();
+}
+
+void sk_paint_set_fake_bold_text(sk_paint_t* cpaint, bool fakeBoldText) {
+ AsPaint(cpaint)->setFakeBoldText(fakeBoldText);
+}
+
+bool sk_paint_is_dev_kern_text(const sk_paint_t* cpaint) {
+ return AsPaint(cpaint)->isDevKernText();
+}
+
+void sk_paint_set_dev_kern_text(sk_paint_t* cpaint, bool devKernText) {
+ AsPaint(cpaint)->setDevKernText(devKernText);
+}