aboutsummaryrefslogtreecommitdiffhomepage
path: root/forth
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-09-26 13:44:13 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-09-26 13:44:13 +0000
commit6ae24e0f5fa3306054679d0ec8f9d1f5d35c2617 (patch)
treea3d02a8b475a713bfa3a5ea0347a43353250ce99 /forth
parent21a95f16c9b73f3ecd23b9abfb6fc04e069de010 (diff)
remove uses of setBitmapDevice (DEPRECATED)
git-svn-id: http://skia.googlecode.com/svn/trunk@5689 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'forth')
-rw-r--r--forth/SampleForth.cpp263
1 files changed, 0 insertions, 263 deletions
diff --git a/forth/SampleForth.cpp b/forth/SampleForth.cpp
deleted file mode 100644
index 8fa6a4f7ea..0000000000
--- a/forth/SampleForth.cpp
+++ /dev/null
@@ -1,263 +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 "SkColorPriv.h"
-#include "SkGradientShader.h"
-#include "SkView.h"
-#include "SkCanvas.h"
-#include "SkUtils.h"
-#include "Forth.h"
-
-class MyOutput : public ForthOutput {
-public:
- SkString fStr;
-
- virtual void show(const char text[]) {
- fStr.set(text);
- }
-};
-
-class SkForthCtx {
-public:
- SkCanvas fCanvas;
- SkPaint fPaint;
-
- void init(const SkBitmap& bm) {
- fCanvas.setBitmapDevice(bm);
- fPaint.setAntiAlias(true);
- }
-};
-
-class SkForthCtx_FW : public ForthWord {
-public:
- SkForthCtx_FW() : fCtx(NULL) {}
-
- void setCtx(SkForthCtx* ctx) { fCtx = ctx; }
-
- SkCanvas* canvas() const { return &fCtx->fCanvas; }
- SkPaint* paint() const { return &fCtx->fPaint; }
-
-private:
- SkForthCtx* fCtx;
-};
-
-class setColor_FW : public SkForthCtx_FW {
-public:
- virtual void exec(ForthEngine* fe) {
- paint()->setColor(fe->pop());
- }
-
- static SkForthCtx_FW* New() { return new setColor_FW; }
-};
-
-class setStyle_FW : public SkForthCtx_FW {
-public:
- virtual void exec(ForthEngine* fe) {
- paint()->setStyle((SkPaint::Style)fe->pop());
- }
-
- static SkForthCtx_FW* New() { return new setStyle_FW; }
-};
-
-class setStrokeWidth_FW : public SkForthCtx_FW {
-public:
- virtual void exec(ForthEngine* fe) {
- paint()->setStrokeWidth(fe->fpop());
- }
-
- static SkForthCtx_FW* New() { return new setStrokeWidth_FW; }
-};
-
-class translate_FW : public SkForthCtx_FW {
-public:
- virtual void exec(ForthEngine* fe) {
- SkScalar dy = fe->fpop();
- SkScalar dx = fe->fpop();
- canvas()->translate(dx, dy);
- }
-
- static SkForthCtx_FW* New() { return new translate_FW; }
-};
-
-class drawColor_FW : public SkForthCtx_FW {
-public:
- virtual void exec(ForthEngine* fe) {
- canvas()->drawColor(fe->pop());
- }
-
- static SkForthCtx_FW* New() { return new drawColor_FW; }
-};
-
-class drawRect_FW : public SkForthCtx_FW {
-public:
- virtual void exec(ForthEngine* fe) {
- SkRect r;
- r.fBottom = fe->fpop();
- r.fRight = fe->fpop();
- r.fTop = fe->fpop();
- r.fLeft = fe->fpop();
- canvas()->drawRect(r, *paint());
- }
-
- static SkForthCtx_FW* New() { return new drawRect_FW; }
-};
-
-class drawCircle_FW : public SkForthCtx_FW {
-public:
- virtual void exec(ForthEngine* fe) {
- SkScalar radius = fe->fpop();
- SkScalar y = fe->fpop();
- SkScalar x = fe->fpop();
- canvas()->drawCircle(x, y, radius, *paint());
- }
-
- static SkForthCtx_FW* New() { return new drawCircle_FW; }
-};
-
-class drawLine_FW : public SkForthCtx_FW {
-public:
- virtual void exec(ForthEngine* fe) {
- SkScalar x0, y0, x1, y1;
- y1 = fe->fpop();
- x1 = fe->fpop();
- y0 = fe->fpop();
- x0 = fe->fpop();
- canvas()->drawLine(x0, y0, x1, y1, *paint());
- }
-
- static SkForthCtx_FW* New() { return new drawLine_FW; }
-};
-
-static const struct {
- const char* fName;
- SkForthCtx_FW* (*fProc)();
-} gWordRecs[] = {
- { "setColor", setColor_FW::New },
- { "setStyle", setStyle_FW::New },
- { "setStrokeWidth", setStrokeWidth_FW::New },
- { "translate", translate_FW::New },
- { "drawColor", drawColor_FW::New },
- { "drawRect", drawRect_FW::New },
- { "drawCircle", drawCircle_FW::New },
- { "drawLine", drawLine_FW::New },
-};
-
-static void load_words(ForthEnv* env, SkForthCtx* ctx) {
- for (size_t i = 0; i < SK_ARRAY_COUNT(gWordRecs); i++) {
- SkForthCtx_FW* word = gWordRecs[i].fProc();
- word->setCtx(ctx);
- env->addWord(gWordRecs[i].fName, word);
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-void Forth_test_stdwords(bool verbose);
-
-class ForthView : public SkView {
- ForthEnv fEnv;
- ForthWord* fOnClickWord;
-
- SkBitmap fBM;
- SkForthCtx fContext;
-public:
- ForthView() {
- Forth_test_stdwords(false);
-
- load_words(&fEnv, &fContext);
-
- fBM.setConfig(SkBitmap::kARGB_8888_Config, 640, 480);
- fBM.allocPixels();
- fBM.eraseColor(0);
- fContext.init(fBM);
-
- fEnv.parse(": mycolor ( x. y. -- x. y. ) OVER OVER f< IF #FFFF0000 ELSE #FF0000FF THEN setColor ;");
- fEnv.parse(": view.onClick ( x. y. -- ) mycolor 10. drawCircle ;");
- fOnClickWord = fEnv.findWord("view.onClick");
-#if 0
- env.parse(
- ": draw1 "
- "10. setStrokeWidth 1 setStyle #FF000000 setColor "
- "10. 20. 200. 100. drawLine "
- "0 setStyle #80FF0000 setColor "
- "50. 50. 250. 150. drawRect "
- ";");
- env.parse("#FF0000FF drawColor "
- "draw1 "
- "150. 120. translate "
- "draw1 "
- );
-#endif
- }
-
- virtual ~ForthView() {
- }
-
-protected:
- // overrides from SkEventSink
- virtual bool onQuery(SkEvent* evt) {
- if (SampleCode::TitleQ(*evt)) {
- SampleCode::TitleR(evt, "Forth");
- return true;
- }
- return this->INHERITED::onQuery(evt);
- }
-
- void drawBG(SkCanvas* canvas) {
- canvas->drawColor(0xFFDDDDDD);
- }
-
- void test_onClick(ForthEnv* env) {
- ForthWord* word = env->findWord("view.onClick");
- if (word) {
- const intptr_t idata[2] = { 40, 2 };
- intptr_t odata[1] = { -1 };
- ForthCallBlock block;
- block.in_data = idata;
- block.in_count = 2;
- block.out_data = odata;
- block.out_count = 1;
- word->call(&block);
- SkDebugf("after view.onClick depth %d count %d top %d\n",
- block.out_depth, block.out_count, odata[0]);
- } else {
- SkDebugf("------ view.onClick not found\n");
- }
- }
-
- virtual void onDraw(SkCanvas* canvas) {
- drawBG(canvas);
- canvas->drawBitmap(fBM, 0, 0, NULL);
- }
-
- virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) {
- return fOnClickWord ? new Click(this) : NULL;
- }
-
- virtual bool onClick(Click* click) {
- intptr_t idata[2] = {
- f2i_bits(click->fCurr.fX), f2i_bits(click->fCurr.fY)
- };
- ForthCallBlock block;
- block.in_data = idata;
- block.in_count = 2;
- block.out_count = 0;
- fOnClickWord->call(&block);
- this->inval(NULL);
- return true;
- }
-
-private:
- typedef SkView INHERITED;
-};
-
-//////////////////////////////////////////////////////////////////////////////
-
-static SkView* MyFactory() { return new ForthView; }
-static SkViewRegister reg(MyFactory);
-