aboutsummaryrefslogtreecommitdiff
path: root/bench
diff options
context:
space:
mode:
authorMike Reed <reed@google.com>2018-11-23 15:27:51 -0500
committerSkia Commit-Bot <skia-commit-bot@chromium.org>2018-11-23 20:54:16 +0000
commit358fcad1b864f464d197fc2761110dac0267f5d7 (patch)
treeb8fb8e03469d6b4f25b062da90bb0a04b9b1f64d /bench
parent7593b34081f2de0a828c33236ebc4b0d96591e81 (diff)
downloadskqp-358fcad1b864f464d197fc2761110dac0267f5d7.tar.gz
start to hide textparams on SkPaint
Bug: skia: Change-Id: Id73c983cc71d39fe587d355e690261627fa63aee Reviewed-on: https://skia-review.googlesource.com/c/172643 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'bench')
-rw-r--r--bench/CmapBench.cpp39
-rw-r--r--bench/TextBench.cpp4
2 files changed, 19 insertions, 24 deletions
diff --git a/bench/CmapBench.cpp b/bench/CmapBench.cpp
index 49e89bec8c..a89d1aa87b 100644
--- a/bench/CmapBench.cpp
+++ b/bench/CmapBench.cpp
@@ -7,58 +7,49 @@
#include "Benchmark.h"
#include "SkCanvas.h"
-#include "SkPaint.h"
+#include "SkFont.h"
#include "SkTypeface.h"
enum {
NGLYPHS = 100
};
-static SkTypeface::Encoding paint2Encoding(const SkPaint& paint) {
- SkPaint::TextEncoding enc = paint.getTextEncoding();
- SkASSERT(SkPaint::kGlyphID_TextEncoding != enc);
- return (SkTypeface::Encoding)enc;
-}
-
-typedef void (*TypefaceProc)(int loops, const SkPaint&, const void* text, size_t len,
+typedef void (*TypefaceProc)(int loops, const SkFont&, const void* text, size_t len,
int glyphCount);
-static void containsText_proc(int loops, const SkPaint& paint, const void* text, size_t len,
+static void containsText_proc(int loops, const SkFont& font, const void* text, size_t len,
int glyphCount) {
for (int i = 0; i < loops; ++i) {
- paint.containsText(text, len);
+ font.containsText(text, len, kUTF8_SkTextEncoding);
}
}
-static void textToGlyphs_proc(int loops, const SkPaint& paint, const void* text, size_t len,
+static void textToGlyphs_proc(int loops, const SkFont& font, const void* text, size_t len,
int glyphCount) {
uint16_t glyphs[NGLYPHS];
SkASSERT(glyphCount <= NGLYPHS);
for (int i = 0; i < loops; ++i) {
- paint.textToGlyphs(text, len, glyphs);
+ font.textToGlyphs(text, len, kUTF8_SkTextEncoding, glyphs, NGLYPHS);
}
}
-static void charsToGlyphs_proc(int loops, const SkPaint& paint, const void* text,
+static void charsToGlyphs_proc(int loops, const SkFont& font, const void* text,
size_t len, int glyphCount) {
- SkTypeface::Encoding encoding = paint2Encoding(paint);
uint16_t glyphs[NGLYPHS];
SkASSERT(glyphCount <= NGLYPHS);
- SkTypeface* face = paint.getTypeface();
+ SkTypeface* face = font.getTypeface();
for (int i = 0; i < loops; ++i) {
- face->charsToGlyphs(text, encoding, glyphs, glyphCount);
+ face->charsToGlyphs(text, SkTypeface::kUTF8_Encoding, glyphs, glyphCount);
}
}
-static void charsToGlyphsNull_proc(int loops, const SkPaint& paint, const void* text,
+static void charsToGlyphsNull_proc(int loops, const SkFont& font, const void* text,
size_t len, int glyphCount) {
- SkTypeface::Encoding encoding = paint2Encoding(paint);
-
- SkTypeface* face = paint.getTypeface();
+ SkTypeface* face = font.getTypeface();
for (int i = 0; i < loops; ++i) {
- face->charsToGlyphs(text, encoding, nullptr, glyphCount);
+ face->charsToGlyphs(text, SkTypeface::kUTF8_Encoding, nullptr, glyphCount);
}
}
@@ -66,7 +57,7 @@ class CMAPBench : public Benchmark {
TypefaceProc fProc;
SkString fName;
char fText[NGLYPHS];
- SkPaint fPaint;
+ SkFont fFont;
public:
CMAPBench(TypefaceProc proc, const char name[]) {
@@ -77,7 +68,7 @@ public:
// we're jamming values into utf8, so we must keep it legal utf8
fText[i] = 'A' + (i & 31);
}
- fPaint.setTypeface(SkTypeface::MakeDefault());
+ fFont.setTypeface(SkTypeface::MakeDefault());
}
protected:
@@ -86,7 +77,7 @@ protected:
}
void onDraw(int loops, SkCanvas* canvas) override {
- fProc(loops, fPaint, fText, sizeof(fText), NGLYPHS);
+ fProc(loops, fFont, fText, sizeof(fText), NGLYPHS);
}
private:
diff --git a/bench/TextBench.cpp b/bench/TextBench.cpp
index c28f5d77a5..881e78a0a7 100644
--- a/bench/TextBench.cpp
+++ b/bench/TextBench.cpp
@@ -15,6 +15,8 @@
#include "SkTemplates.h"
#include "SkTypeface.h"
+#ifdef SK_SUPPORT_LEGACY_PAINT_TEXTMEASURE
+
enum FontQuality {
kBW,
kAA,
@@ -175,3 +177,5 @@ DEF_BENCH( return new TextBench(STR, 16, 0x88FF0000, kBW, true); )
DEF_BENCH( return new TextBench(STR, 16, 0xFF000000, kBW, true, true); )
DEF_BENCH( return new TextBench(STR, 16, 0xFF000000, kAA, false, true); )
+
+#endif