1dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com/* 2dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com * Copyright 2013 Google Inc. 3dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com * 4dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com * Use of this source code is governed by a BSD-style license that can be 5dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com * found in the LICENSE file. 6dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com */ 7dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com 8dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#ifndef SkLuaCanvas_DEFINED 9dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#define SkLuaCanvas_DEFINED 10dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com 11dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#include "SkCanvas.h" 12dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#include "SkString.h" 13dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com 14dff7e11c2000d6745261de046d76b1500a05ece9reed@google.comstruct lua_State; 15dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com 16dff7e11c2000d6745261de046d76b1500a05ece9reed@google.comclass SkLuaCanvas : public SkCanvas { 17dff7e11c2000d6745261de046d76b1500a05ece9reed@google.compublic: 18f02fe3d4fec9120da009c941d14af66980911a4emike@reedtribe.org void pushThis(); 19f02fe3d4fec9120da009c941d14af66980911a4emike@reedtribe.org 20dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com SkLuaCanvas(int width, int height, lua_State*, const char function[]); 21dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com virtual ~SkLuaCanvas(); 22dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com 23dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com virtual void drawPaint(const SkPaint& paint) SK_OVERRIDE; 24dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com virtual void drawPoints(PointMode mode, size_t count, const SkPoint pts[], 25dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com const SkPaint& paint) SK_OVERRIDE; 26dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com virtual void drawOval(const SkRect&, const SkPaint& paint) SK_OVERRIDE; 277ce564cccb246ec56427085872b2e1458fe74bd1bsalomon@google.com virtual void drawRect(const SkRect&, const SkPaint& paint) SK_OVERRIDE; 28dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com virtual void drawRRect(const SkRRect&, const SkPaint& paint) SK_OVERRIDE; 297ce564cccb246ec56427085872b2e1458fe74bd1bsalomon@google.com virtual void drawPath(const SkPath& path, const SkPaint& paint) SK_OVERRIDE; 30dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com virtual void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top, 31dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com const SkPaint* paint) SK_OVERRIDE; 32dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com virtual void drawBitmapRectToRect(const SkBitmap& bitmap, const SkRect* src, 33eed779d866e1e239bfb9ebc6a225b7345a41adf9commit-bot@chromium.org const SkRect& dst, const SkPaint* paint, 34eed779d866e1e239bfb9ebc6a225b7345a41adf9commit-bot@chromium.org DrawBitmapRectFlags flags) SK_OVERRIDE; 35dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com virtual void drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m, 36dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com const SkPaint* paint) SK_OVERRIDE; 37dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com virtual void drawSprite(const SkBitmap& bitmap, int left, int top, 38dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com const SkPaint* paint) SK_OVERRIDE; 39dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com virtual void drawVertices(VertexMode vmode, int vertexCount, 40dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com const SkPoint vertices[], const SkPoint texs[], 41dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com const SkColor colors[], SkXfermode* xmode, 42dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com const uint16_t indices[], int indexCount, 43dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com const SkPaint& paint) SK_OVERRIDE; 44dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com virtual void drawData(const void* data, size_t length) SK_OVERRIDE; 45dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com 46ab5827354e2c23624acc3fc1fe4a83788bc99e96commit-bot@chromium.orgprotected: 47e54a23fcfa42b2fc9d320650de72bcb2d9566b2dcommit-bot@chromium.org virtual void willSave(SaveFlags) SK_OVERRIDE; 48e54a23fcfa42b2fc9d320650de72bcb2d9566b2dcommit-bot@chromium.org virtual SaveLayerStrategy willSaveLayer(const SkRect*, const SkPaint*, SaveFlags) SK_OVERRIDE; 49e54a23fcfa42b2fc9d320650de72bcb2d9566b2dcommit-bot@chromium.org virtual void willRestore() SK_OVERRIDE; 50e54a23fcfa42b2fc9d320650de72bcb2d9566b2dcommit-bot@chromium.org 5144c48d062f7996b5b46917e1b312a32ad101f326commit-bot@chromium.org virtual void didConcat(const SkMatrix&) SK_OVERRIDE; 5244c48d062f7996b5b46917e1b312a32ad101f326commit-bot@chromium.org virtual void didSetMatrix(const SkMatrix&) SK_OVERRIDE; 5344c48d062f7996b5b46917e1b312a32ad101f326commit-bot@chromium.org 54ab5827354e2c23624acc3fc1fe4a83788bc99e96commit-bot@chromium.org virtual void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) SK_OVERRIDE; 55e0d9ce890e67d02727ac2811bb456ddb64f827d4reed@google.com virtual void onDrawText(const void* text, size_t byteLength, SkScalar x, SkScalar y, 56e0d9ce890e67d02727ac2811bb456ddb64f827d4reed@google.com const SkPaint&) SK_OVERRIDE; 57e0d9ce890e67d02727ac2811bb456ddb64f827d4reed@google.com virtual void onDrawPosText(const void* text, size_t byteLength, const SkPoint pos[], 58e0d9ce890e67d02727ac2811bb456ddb64f827d4reed@google.com const SkPaint&) SK_OVERRIDE; 59e0d9ce890e67d02727ac2811bb456ddb64f827d4reed@google.com virtual void onDrawPosTextH(const void* text, size_t byteLength, const SkScalar xpos[], 60e0d9ce890e67d02727ac2811bb456ddb64f827d4reed@google.com SkScalar constY, const SkPaint&) SK_OVERRIDE; 61e0d9ce890e67d02727ac2811bb456ddb64f827d4reed@google.com virtual void onDrawTextOnPath(const void* text, size_t byteLength, const SkPath& path, 62e0d9ce890e67d02727ac2811bb456ddb64f827d4reed@google.com const SkMatrix* matrix, const SkPaint&) SK_OVERRIDE; 63ab5827354e2c23624acc3fc1fe4a83788bc99e96commit-bot@chromium.org 648f90a892c5130d4d26b5588e1ff151d01a40688arobertphillips@google.com virtual void onClipRect(const SkRect&, SkRegion::Op, ClipEdgeStyle) SK_OVERRIDE; 658f90a892c5130d4d26b5588e1ff151d01a40688arobertphillips@google.com virtual void onClipRRect(const SkRRect&, SkRegion::Op, ClipEdgeStyle) SK_OVERRIDE; 668f90a892c5130d4d26b5588e1ff151d01a40688arobertphillips@google.com virtual void onClipPath(const SkPath&, SkRegion::Op, ClipEdgeStyle) SK_OVERRIDE; 678f90a892c5130d4d26b5588e1ff151d01a40688arobertphillips@google.com virtual void onClipRegion(const SkRegion&, SkRegion::Op) SK_OVERRIDE; 688f90a892c5130d4d26b5588e1ff151d01a40688arobertphillips@google.com 699b14f26d0f3a974f3dd626c8354e1db1cfcd322frobertphillips virtual void onDrawPicture(const SkPicture*) SK_OVERRIDE; 709b14f26d0f3a974f3dd626c8354e1db1cfcd322frobertphillips 71dff7e11c2000d6745261de046d76b1500a05ece9reed@google.comprivate: 72dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com lua_State* fL; 73dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com SkString fFunc; 74539f364e80a1e8ee35845b93fd6547e855380cadskia.committer@gmail.com 75dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com void sendverb(const char verb[]); 76dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com 77dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com typedef SkCanvas INHERITED; 78dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com}; 79dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com 80dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#endif 81