diff options
author | jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-10-09 17:03:22 +0000 |
---|---|---|
committer | jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-10-09 17:03:22 +0000 |
commit | 5466b0ebbcf312bfa28a1a53d449cba30e898a9a (patch) | |
tree | b35aa0f7600d3a9d0291811af9a2c19a4c4857a2 /gm/fontcache.cpp | |
parent | 48d9ff5b3475ad4b345fae35e1ce36b34069691b (diff) |
Revert "Add new GM to stress test the GPU font cache"
git-svn-id: http://skia.googlecode.com/svn/trunk@11678 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm/fontcache.cpp')
-rw-r--r-- | gm/fontcache.cpp | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/gm/fontcache.cpp b/gm/fontcache.cpp deleted file mode 100644 index 1858ca105e..0000000000 --- a/gm/fontcache.cpp +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright 2013 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "gm.h" -#include "SkCanvas.h" -#include "SkGraphics.h" -#include "SkTypeface.h" - -// GM to stress the GPU font cache - -const char* gFamilyNames[] = { - "sans-serif", "serif", "monospace" -}; - -const SkTypeface::Style gStyles[] = { - SkTypeface::kNormal, SkTypeface::kItalic -}; - -const SkScalar gTextSizes[] = { - 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 -}; - -#define TYPEFACE_COUNT (SK_ARRAY_COUNT(gFamilyNames)*SK_ARRAY_COUNT(gStyles)) - -static SkScalar draw_string(SkCanvas* canvas, const SkString& text, SkScalar x, - SkScalar y, const SkPaint& paint) { - canvas->drawText(text.c_str(), text.size(), x, y, paint); - return x + paint.measureText(text.c_str(), text.size()); -} - -class FontCacheGM : public skiagm::GM { -public: - FontCacheGM() { - fName.set("fontcache"); - } - - virtual ~FontCacheGM() { - for (size_t i = 0; i < TYPEFACE_COUNT; ++i) { - SkSafeUnref(fTypefaces[i]); - } - } - -protected: - virtual SkString onShortName() SK_OVERRIDE { - return fName; - } - - virtual SkISize onISize() SK_OVERRIDE { - return SkISize::Make(640, 320); - } - - virtual void onOnceBeforeDraw() SK_OVERRIDE { - int typefaceCount = 0; - for (size_t i = 0; i < SK_ARRAY_COUNT(gFamilyNames); ++i) { - for (size_t j = 0; j < SK_ARRAY_COUNT(gStyles); ++j) { - fTypefaces[typefaceCount++] = SkTypeface::CreateFromName(gFamilyNames[i], - gStyles[j]); - } - } - } - - virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { - SkScalar y = 32; - SkPaint paint; - paint.setAntiAlias(true); - paint.setLCDRenderText(true); - paint.setSubpixelText(true); - - SkString text("Ham"); - - // draw some initial text to partially fill the GPU cache - for (size_t i = 0; i < 2; ++i) { - paint.setTypeface(fTypefaces[i]); - SkScalar x = 20; - - for (size_t j = 0; j < SK_ARRAY_COUNT(gTextSizes); ++j) { - paint.setTextSize(gTextSizes[j]); - x = draw_string(canvas, text, x, y, paint) + 19; - } - y += 32; - } - - // force a flush - canvas->flush(); - - // draw again, and more to overflow the cache - for (size_t i = 0; i < TYPEFACE_COUNT; ++i) { - paint.setTypeface(fTypefaces[i]); - SkScalar x = 20; - - for (size_t j = 0; j < SK_ARRAY_COUNT(gTextSizes); ++j) { - paint.setTextSize(gTextSizes[j]); - x = draw_string(canvas, text, x, y, paint) + 19; - } - y += 32; - } - - } - - virtual uint32_t onGetFlags() const SK_OVERRIDE { - // this GM is meant only for the GPU - return kGPUOnly_Flag; - } - -private: - SkTypeface* fTypefaces[TYPEFACE_COUNT]; - SkString fName; - typedef GM INHERITED; -}; - - -////////////////////////////////////////////////////////////////////////////// - -DEF_GM( return SkNEW(FontCacheGM); ) - |