Revert "hide deprecated underline and strikethru"
This reverts commit a01bf9ab74
.
Reason for revert: Breaking Android merge. They access setUnderlineText on their <shudder> subclass of SkPaint.
Original change's description:
> hide deprecated underline and strikethru
>
> BUG=skia:6250
>
> Change-Id: I85395e4960b16ab91237a74ff35e5b7588965512
> Reviewed-on: https://skia-review.googlesource.com/8600
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>
TBR=bungeman@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6250
Change-Id: If55f69f061dc4439ca2faa62807a9c5694ebbeb4
Reviewed-on: https://skia-review.googlesource.com/8687
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
This commit is contained in:
parent
cc3c2ed994
commit
e005edd3a5
@ -525,6 +525,8 @@ static SkPaint make_paint() {
|
||||
paint.setEmbeddedBitmapText(make_bool());
|
||||
paint.setAutohinted(make_bool());
|
||||
paint.setVerticalText(make_bool());
|
||||
paint.setUnderlineText(make_bool());
|
||||
paint.setStrikeThruText(make_bool());
|
||||
paint.setFakeBoldText(make_bool());
|
||||
paint.setDevKernText(make_bool());
|
||||
paint.setFilterQuality(make_filter_quality());
|
||||
|
@ -137,6 +137,8 @@ static void fuzz_drawText(Fuzz* fuzz, sk_sp<SkTypeface> font) {
|
||||
fuzz->next(&b);
|
||||
p.setLinearText(b);
|
||||
fuzz->next(&b);
|
||||
p.setStrikeThruText(b);
|
||||
fuzz->next(&b);
|
||||
p.setSubpixelText(b);
|
||||
fuzz->next(&x);
|
||||
p.setTextScaleX(x);
|
||||
@ -145,6 +147,8 @@ static void fuzz_drawText(Fuzz* fuzz, sk_sp<SkTypeface> font) {
|
||||
fuzz->next(&x);
|
||||
p.setTextSize(x);
|
||||
fuzz->next(&b);
|
||||
p.setUnderlineText(b);
|
||||
fuzz->next(&b);
|
||||
p.setVerticalText(b);
|
||||
|
||||
SkCanvas* cnv = surface->getCanvas();
|
||||
|
@ -195,6 +195,38 @@ DEF_SIMPLE_GM(texteffects, canvas, 460, 680) {
|
||||
canvas->restore();
|
||||
}
|
||||
|
||||
DEF_SIMPLE_GM(textunderstrike, canvas, 460, 680) {
|
||||
canvas->clear(SK_ColorYELLOW);
|
||||
SkPaint paint;
|
||||
sk_tool_utils::set_portable_typeface(&paint);
|
||||
paint.setTextSize(50);
|
||||
paint.setStrokeWidth(5);
|
||||
paint.setAntiAlias(true);
|
||||
|
||||
auto drawText = [&]() {
|
||||
paint.setStyle(SkPaint::kFill_Style);
|
||||
canvas->drawText("Hello", 5, 100, 50, paint);
|
||||
paint.setStyle(SkPaint::kStroke_Style);
|
||||
canvas->drawText("Hello", 5, 100, 100, paint);
|
||||
canvas->translate(0, 100);
|
||||
};
|
||||
|
||||
drawText();
|
||||
paint.setUnderlineText(true);
|
||||
drawText();
|
||||
paint.setUnderlineText(false);
|
||||
paint.setStrikeThruText(true);
|
||||
drawText();
|
||||
paint.setUnderlineText(true);
|
||||
drawText();
|
||||
paint.setColor(SK_ColorWHITE);
|
||||
paint.setStyle(SkPaint::kStroke_Style);
|
||||
canvas->drawText("Hello", 5, 100, 50, paint);
|
||||
paint.setColor(SK_ColorBLUE);
|
||||
paint.setStyle(SkPaint::kFill_Style);
|
||||
canvas->drawText("Hello", 5, 100, 50, paint);
|
||||
}
|
||||
|
||||
static SkPath create_underline(const SkTDArray<SkScalar>& intersections,
|
||||
SkScalar last, SkScalar finalPos,
|
||||
SkScalar uPos, SkScalar uWidth, SkScalar textSize) {
|
||||
|
@ -16,5 +16,4 @@ android_framework_defines = [
|
||||
"SK_SUPPORT_LEGACY_SHADER_ISABITMAP",
|
||||
"SK_SUPPORT_LEGACY_EMBOSSMASKFILTER",
|
||||
"SK_SUPPORT_EXOTIC_CLIPOPS",
|
||||
"SK_SUPPORT_LEGACY_PAINT_TEXTDECORATION",
|
||||
]
|
||||
|
@ -101,6 +101,8 @@ public:
|
||||
enum Flags {
|
||||
kAntiAlias_Flag = 0x01, //!< mask to enable antialiasing
|
||||
kDither_Flag = 0x04, //!< mask to enable dithering
|
||||
kUnderlineText_Flag = 0x08, //!< mask to enable underline text
|
||||
kStrikeThruText_Flag = 0x10, //!< mask to enable strike-thru text
|
||||
kFakeBoldText_Flag = 0x20, //!< mask to enable fake-bold text
|
||||
kLinearText_Flag = 0x40, //!< mask to enable linear-text
|
||||
kSubpixelText_Flag = 0x80, //!< mask to enable subpixel text positioning
|
||||
@ -113,12 +115,7 @@ public:
|
||||
// when adding extra flags, note that the fFlags member is specified
|
||||
// with a bit-width and you'll have to expand it.
|
||||
|
||||
kAllFlags = 0xFFFF,
|
||||
|
||||
#ifdef SK_SUPPORT_LEGACY_PAINT_TEXTDECORATION
|
||||
kUnderlineText_Flag = 0x08,
|
||||
kStrikeThruText_Flag = 0x10,
|
||||
#endif
|
||||
kAllFlags = 0xFFFF
|
||||
};
|
||||
|
||||
/** Return the paint's flags. Use the Flag enum to test flag values.
|
||||
@ -232,16 +229,28 @@ public:
|
||||
/** Helper for getFlags(), returning true if kUnderlineText_Flag bit is set
|
||||
@return true if the underlineText bit is set in the paint's flags.
|
||||
*/
|
||||
#ifdef SK_SUPPORT_LEGACY_PAINT_TEXTDECORATION
|
||||
bool isUnderlineText() const { return false; }
|
||||
#endif
|
||||
bool isUnderlineText() const {
|
||||
return SkToBool(this->getFlags() & kUnderlineText_Flag);
|
||||
}
|
||||
|
||||
/** Helper for setFlags(), setting or clearing the kUnderlineText_Flag bit
|
||||
@param underlineText true to set the underlineText bit in the paint's
|
||||
flags, false to clear it.
|
||||
*/
|
||||
void setUnderlineText(bool underlineText);
|
||||
|
||||
/** Helper for getFlags(), returns true if kStrikeThruText_Flag bit is set
|
||||
@return true if the strikeThruText bit is set in the paint's flags.
|
||||
*/
|
||||
#ifdef SK_SUPPORT_LEGACY_PAINT_TEXTDECORATION
|
||||
bool isStrikeThruText() const { return false; }
|
||||
#endif
|
||||
bool isStrikeThruText() const {
|
||||
return SkToBool(this->getFlags() & kStrikeThruText_Flag);
|
||||
}
|
||||
|
||||
/** Helper for setFlags(), setting or clearing the kStrikeThruText_Flag bit
|
||||
@param strikeThruText true to set the strikeThruText bit in the
|
||||
paint's flags, false to clear it.
|
||||
*/
|
||||
void setStrikeThruText(bool strikeThruText);
|
||||
|
||||
/** Helper for getFlags(), returns true if kFakeBoldText_Flag bit is set
|
||||
@return true if the kFakeBoldText_Flag bit is set in the paint's flags.
|
||||
|
@ -596,7 +596,6 @@ DEFINES_ALL = [
|
||||
"SK_NO_ANALYTIC_AA",
|
||||
"SK_SUPPORT_LEGACY_BITMAP_SETPIXELREF",
|
||||
"SK_SUPPORT_LEGACY_CLIPOP_EXOTIC_NAMES",
|
||||
"SK_SUPPORT_LEGACY_PAINT_TEXTDECORATION",
|
||||
]
|
||||
|
||||
################################################################################
|
||||
|
@ -495,6 +495,8 @@ static SkPaint make_paint() {
|
||||
paint.setEmbeddedBitmapText(make_bool());
|
||||
paint.setAutohinted(make_bool());
|
||||
paint.setVerticalText(make_bool());
|
||||
paint.setUnderlineText(make_bool());
|
||||
paint.setStrikeThruText(make_bool());
|
||||
paint.setFakeBoldText(make_bool());
|
||||
paint.setDevKernText(make_bool());
|
||||
paint.setFilterQuality(make_filter_quality());
|
||||
|
@ -245,6 +245,14 @@ void SkPaint::setVerticalText(bool doVertical) {
|
||||
this->setFlags(set_clear_mask(fBitfields.fFlags, doVertical, kVerticalText_Flag));
|
||||
}
|
||||
|
||||
void SkPaint::setUnderlineText(bool doUnderline) {
|
||||
this->setFlags(set_clear_mask(fBitfields.fFlags, doUnderline, kUnderlineText_Flag));
|
||||
}
|
||||
|
||||
void SkPaint::setStrikeThruText(bool doStrikeThru) {
|
||||
this->setFlags(set_clear_mask(fBitfields.fFlags, doStrikeThru, kStrikeThruText_Flag));
|
||||
}
|
||||
|
||||
void SkPaint::setFakeBoldText(bool doFakeBold) {
|
||||
this->setFlags(set_clear_mask(fBitfields.fFlags, doFakeBold, kFakeBoldText_Flag));
|
||||
}
|
||||
@ -2134,6 +2142,8 @@ void SkPaint::toString(SkString* str) const {
|
||||
bool needSeparator = false;
|
||||
SkAddFlagToString(str, this->isAntiAlias(), "AntiAlias", &needSeparator);
|
||||
SkAddFlagToString(str, this->isDither(), "Dither", &needSeparator);
|
||||
SkAddFlagToString(str, this->isUnderlineText(), "UnderlineText", &needSeparator);
|
||||
SkAddFlagToString(str, this->isStrikeThruText(), "StrikeThruText", &needSeparator);
|
||||
SkAddFlagToString(str, this->isFakeBoldText(), "FakeBoldText", &needSeparator);
|
||||
SkAddFlagToString(str, this->isLinearText(), "LinearText", &needSeparator);
|
||||
SkAddFlagToString(str, this->isSubpixelText(), "SubpixelText", &needSeparator);
|
||||
|
@ -56,6 +56,8 @@ public:
|
||||
private:
|
||||
const static uint32_t kFlagsMask =
|
||||
SkPaint::kAntiAlias_Flag |
|
||||
SkPaint::kUnderlineText_Flag |
|
||||
SkPaint::kStrikeThruText_Flag |
|
||||
SkPaint::kFakeBoldText_Flag |
|
||||
SkPaint::kLinearText_Flag |
|
||||
SkPaint::kSubpixelText_Flag |
|
||||
|
@ -186,6 +186,8 @@ public:
|
||||
font.setTextAlign(SkPaint::kCenter_Align);
|
||||
font.setHinting(SkPaint::kFull_Hinting);
|
||||
font.setAntiAlias(true);
|
||||
font.setUnderlineText(true);
|
||||
font.setStrikeThruText(true);
|
||||
font.setFakeBoldText(true);
|
||||
font.setLinearText(true);
|
||||
font.setSubpixelText(true);
|
||||
@ -205,6 +207,8 @@ public:
|
||||
REPORTER_ASSERT(reporter, defaultPaint.getTextAlign() != font.getTextAlign());
|
||||
REPORTER_ASSERT(reporter, defaultPaint.getHinting() != font.getHinting());
|
||||
REPORTER_ASSERT(reporter, defaultPaint.isAntiAlias() != font.isAntiAlias());
|
||||
REPORTER_ASSERT(reporter, defaultPaint.isUnderlineText() != font.isUnderlineText());
|
||||
REPORTER_ASSERT(reporter, defaultPaint.isStrikeThruText() != font.isStrikeThruText());
|
||||
REPORTER_ASSERT(reporter, defaultPaint.isFakeBoldText() != font.isFakeBoldText());
|
||||
REPORTER_ASSERT(reporter, defaultPaint.isLinearText() != font.isLinearText());
|
||||
REPORTER_ASSERT(reporter, defaultPaint.isSubpixelText() != font.isSubpixelText());
|
||||
@ -234,6 +238,8 @@ public:
|
||||
REPORTER_ASSERT(reporter, paint.getTextAlign() == font.getTextAlign());
|
||||
REPORTER_ASSERT(reporter, paint.getHinting() == font.getHinting());
|
||||
REPORTER_ASSERT(reporter, paint.isAntiAlias() == font.isAntiAlias());
|
||||
REPORTER_ASSERT(reporter, paint.isUnderlineText() == font.isUnderlineText());
|
||||
REPORTER_ASSERT(reporter, paint.isStrikeThruText() == font.isStrikeThruText());
|
||||
REPORTER_ASSERT(reporter, paint.isFakeBoldText() == font.isFakeBoldText());
|
||||
REPORTER_ASSERT(reporter, paint.isLinearText() == font.isLinearText());
|
||||
REPORTER_ASSERT(reporter, paint.isSubpixelText() == font.isSubpixelText());
|
||||
|
@ -112,6 +112,7 @@ void CommandSet::drawHelp(SkCanvas* canvas) {
|
||||
|
||||
SkPaint groupPaint;
|
||||
groupPaint.setTextSize(18);
|
||||
groupPaint.setUnderlineText(true);
|
||||
groupPaint.setAntiAlias(true);
|
||||
groupPaint.setColor(0xFFFFFFFF);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user