Index: samplecode/SampleStrokeText.cpp |
diff --git a/samplecode/SampleStrokeText.cpp b/samplecode/SampleStrokeText.cpp |
deleted file mode 100644 |
index aa190179640c2a4d148d01cb2905d2d8b0120a9a..0000000000000000000000000000000000000000 |
--- a/samplecode/SampleStrokeText.cpp |
+++ /dev/null |
@@ -1,147 +0,0 @@ |
- |
-/* |
- * Copyright 2011 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
-#include "SampleCode.h" |
-#include "SkView.h" |
-#include "SkCanvas.h" |
-#include "Sk64.h" |
-#include "SkGradientShader.h" |
-#include "SkGraphics.h" |
-#include "SkImageDecoder.h" |
-#include "SkKernel33MaskFilter.h" |
-#include "SkPath.h" |
-#include "SkRandom.h" |
-#include "SkRegion.h" |
-#include "SkShader.h" |
-#include "SkUtils.h" |
-#include "SkColorPriv.h" |
-#include "SkColorFilter.h" |
-#include "SkTime.h" |
-#include "SkTypeface.h" |
-#include "SkXfermode.h" |
- |
-static void lettersToBitmap(SkBitmap* dst, const char chars[], |
- const SkPaint& original, SkBitmap::Config config) { |
- SkPath path; |
- SkScalar x = 0; |
- SkScalar width; |
- SkPath p; |
- for (size_t i = 0; i < strlen(chars); i++) { |
- original.getTextPath(&chars[i], 1, x, 0, &p); |
- path.addPath(p); |
- original.getTextWidths(&chars[i], 1, &width); |
- x += width; |
- } |
- SkRect bounds = path.getBounds(); |
- SkScalar sw = -original.getStrokeWidth(); |
- bounds.inset(sw, sw); |
- path.offset(-bounds.fLeft, -bounds.fTop); |
- bounds.offset(-bounds.fLeft, -bounds.fTop); |
- |
- int w = SkScalarRound(bounds.width()); |
- int h = SkScalarRound(bounds.height()); |
- SkPaint paint(original); |
- SkBitmap src; |
- src.setConfig(config, w, h); |
- src.allocPixels(); |
- src.eraseColor(SK_ColorTRANSPARENT); |
- { |
- SkCanvas canvas(src); |
- paint.setAntiAlias(true); |
- paint.setColor(SK_ColorBLACK); |
- paint.setStyle(SkPaint::kFill_Style); |
- canvas.drawPath(path, paint); |
- } |
- |
- dst->setConfig(config, w, h); |
- dst->allocPixels(); |
- dst->eraseColor(SK_ColorWHITE); |
- { |
- SkCanvas canvas(*dst); |
- paint.setXfermodeMode(SkXfermode::kDstATop_Mode); |
- canvas.drawBitmap(src, 0, 0, &paint); |
- paint.setColor(original.getColor()); |
- paint.setStyle(SkPaint::kStroke_Style); |
- canvas.drawPath(path, paint); |
- } |
-} |
- |
-static void lettersToBitmap2(SkBitmap* dst, const char chars[], |
- const SkPaint& original, SkBitmap::Config config) { |
- SkPath path; |
- SkScalar x = 0; |
- SkScalar width; |
- SkPath p; |
- for (size_t i = 0; i < strlen(chars); i++) { |
- original.getTextPath(&chars[i], 1, x, 0, &p); |
- path.addPath(p); |
- original.getTextWidths(&chars[i], 1, &width); |
- x += width; |
- } |
- SkRect bounds = path.getBounds(); |
- SkScalar sw = -original.getStrokeWidth(); |
- bounds.inset(sw, sw); |
- path.offset(-bounds.fLeft, -bounds.fTop); |
- bounds.offset(-bounds.fLeft, -bounds.fTop); |
- |
- int w = SkScalarRound(bounds.width()); |
- int h = SkScalarRound(bounds.height()); |
- SkPaint paint(original); |
- |
- paint.setAntiAlias(true); |
- paint.setXfermodeMode(SkXfermode::kDstATop_Mode); |
- paint.setColor(original.getColor()); |
- paint.setStyle(SkPaint::kStroke_Style); |
- |
- dst->setConfig(config, w, h); |
- dst->allocPixels(); |
- dst->eraseColor(SK_ColorWHITE); |
- |
- SkCanvas canvas(*dst); |
- canvas.drawPath(path, paint); |
-} |
- |
-class StrokeTextView : public SampleView { |
-public: |
- StrokeTextView() { |
- this->setBGColor(0xFFCC8844); |
- } |
- |
-protected: |
- // overrides from SkEventSink |
- virtual bool onQuery(SkEvent* evt) { |
- if (SampleCode::TitleQ(*evt)) { |
- SampleCode::TitleR(evt, "StrokeText"); |
- return true; |
- } |
- return this->INHERITED::onQuery(evt); |
- } |
- |
- virtual void onDrawContent(SkCanvas* canvas) { |
- SkBitmap bm; |
- SkPaint paint; |
- |
- paint.setStrokeWidth(SkIntToScalar(6)); |
- paint.setTextSize(SkIntToScalar(80)); |
-// paint.setTypeface(Typeface.DEFAULT_BOLD); |
- |
- lettersToBitmap(&bm, "Test Case", paint, SkBitmap::kARGB_4444_Config); |
- if (false) { // avoid bit rot, suppress warning |
- lettersToBitmap2(&bm, "Test Case", paint, SkBitmap::kARGB_4444_Config); |
- } |
- canvas->drawBitmap(bm, 0, 0); |
- } |
- |
-private: |
- |
- typedef SampleView INHERITED; |
-}; |
- |
-////////////////////////////////////////////////////////////////////////////// |
- |
-static SkView* MyFactory() { return new StrokeTextView; } |
-static SkViewRegister reg(MyFactory); |