diff options
author | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-02-26 18:32:44 +0000 |
---|---|---|
committer | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-02-26 18:32:44 +0000 |
commit | 1caedbb216703df58ce5ebe29955e53fa098d8dc (patch) | |
tree | e84baaadab29fd38f8e87cff8f44790b1b64a851 | |
parent | b805fe5884fdd69e8c9c29b134a625f0a88c679c (diff) |
Revert of Add getReducedClipStack to lua canvas (https://codereview.chromium.org/180283004/)
Reason for revert:
breaking a bunch of builds
Original issue's description:
> Add getReducedClipStack to lua canvas
>
> Committed: http://code.google.com/p/skia/source/detail?r=13594
R=reed@google.com
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/181653004
git-svn-id: http://skia.googlecode.com/svn/trunk@13597 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r-- | gyp/tools.gyp | 10 | ||||
-rw-r--r-- | include/core/SkCanvas.h | 21 | ||||
-rw-r--r-- | include/utils/SkLua.h | 6 | ||||
-rw-r--r-- | src/core/SkCanvas.cpp | 12 | ||||
-rw-r--r-- | src/core/SkTLList.h | 4 | ||||
-rw-r--r-- | src/utils/SkLua.cpp | 83 | ||||
-rw-r--r-- | tools/lua/dump_clipstack_at_restore.lua | 6 |
7 files changed, 31 insertions, 111 deletions
diff --git a/gyp/tools.gyp b/gyp/tools.gyp index 18f97ca714..049e3939e8 100644 --- a/gyp/tools.gyp +++ b/gyp/tools.gyp @@ -189,11 +189,6 @@ '../tools/lua/lua_app.cpp', '../src/utils/SkLua.cpp', ], - 'include_dirs': [ - # Lua exposes GrReduceClip which in turn requires src/core for SkTLList - '../src/gpu/', - '../src/core/', - ], 'dependencies': [ 'effects.gyp:effects', 'images.gyp:images', @@ -212,11 +207,6 @@ '../src/utils/SkLuaCanvas.cpp', '../src/utils/SkLua.cpp', ], - 'include_dirs': [ - # Lua exposes GrReduceClip which in turn requires src/core for SkTLList - '../src/gpu/', - '../src/core/', - ], 'dependencies': [ 'effects.gyp:effects', 'flags.gyp:flags', diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h index e9d4933d17..e639212e38 100644 --- a/include/core/SkCanvas.h +++ b/include/core/SkCanvas.h @@ -90,16 +90,12 @@ public: void flush(); /** - * Gets the size of the base or root layer in global canvas coordinates. The - * origin of the base layer is always (0,0). The current drawable area may be - * smaller (due to clipping or saveLayer). + * DEPRECATED: call imageInfo() instead. + * Return the width/height of the underlying device. The current drawable + * area may be small (due to clipping or saveLayer). For a canvas with + * no device, 0,0 will be returned. */ - SkISize getBaseLayerSize() const; - - /** - * DEPRECATED: call getBaseLayerSize - */ - SkISize getDeviceSize() const { return this->getBaseLayerSize(); } + SkISize getDeviceSize() const; /** * DEPRECATED. @@ -1133,7 +1129,6 @@ private: friend class SkDrawIter; // needs setupDrawForLayerDevice() friend class AutoDrawLooper; - friend class SkLua; // needs top layer size and offset SkBaseDevice* createLayerDevice(const SkImageInfo&); @@ -1148,12 +1143,6 @@ private: */ SkBaseDevice* setRootDevice(SkBaseDevice* device); - /** - * Gets the size/origin of the top level layer in global canvas coordinates. We don't want this - * to be public because it exposes decisions about layer sizes that are internal to the canvas. - */ - SkISize getTopLayerSize() const; - SkIPoint getTopLayerOrigin() const; // internal methods are not virtual, so they can safely be called by other // canvas apis, without confusing subclasses (like SkPictureRecording) diff --git a/include/utils/SkLua.h b/include/utils/SkLua.h index 2f29343d59..f67502a2e8 100644 --- a/include/utils/SkLua.h +++ b/include/utils/SkLua.h @@ -8,7 +8,6 @@ #ifndef SkLua_DEFINED #define SkLua_DEFINED -#include "SkClipStack.h" #include "SkColor.h" #include "SkScalar.h" #include "SkString.h" @@ -16,6 +15,7 @@ struct lua_State; class SkCanvas; +class SkClipStack; class SkMatrix; class SkPaint; class SkPath; @@ -55,10 +55,6 @@ public: void pushPath(const SkPath&, const char tableKey[] = NULL); void pushCanvas(SkCanvas*, const char tableKey[] = NULL); void pushClipStack(const SkClipStack&, const char tableKey[] = NULL); - void pushClipStackElement(const SkClipStack::Element& element, const char tableKey[] = NULL); - - // This SkCanvas lua methods is declared here to benefit from SkLua's friendship with SkCanvas. - static int lcanvas_getReducedClipStack(lua_State* L); private: lua_State* fL; diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index 5ba6e8f6dc..8159adf0ee 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -583,17 +583,7 @@ void SkCanvas::flush() { } } -SkISize SkCanvas::getTopLayerSize() const { - SkBaseDevice* d = this->getTopDevice(); - return d ? SkISize::Make(d->width(), d->height()) : SkISize::Make(0, 0); -} - -SkIPoint SkCanvas::getTopLayerOrigin() const { - SkBaseDevice* d = this->getTopDevice(); - return d ? d->getOrigin() : SkIPoint::Make(0, 0); -} - -SkISize SkCanvas::getBaseLayerSize() const { +SkISize SkCanvas::getDeviceSize() const { SkBaseDevice* d = this->getDevice(); return d ? SkISize::Make(d->width(), d->height()) : SkISize::Make(0, 0); } diff --git a/src/core/SkTLList.h b/src/core/SkTLList.h index aeae3f72ee..99b5bc67d9 100644 --- a/src/core/SkTLList.h +++ b/src/core/SkTLList.h @@ -198,11 +198,11 @@ public: Iter() {} - Iter(const SkTLList& list, IterStart start = kHead_IterStart) { + Iter(const SkTLList& list, IterStart start) { INHERITED::init(list.fList, start); } - T* init(const SkTLList& list, IterStart start = kHead_IterStart) { + T* init(const SkTLList& list, IterStart start) { return this->nodeToObj(INHERITED::init(list.fList, start)); } diff --git a/src/utils/SkLua.cpp b/src/utils/SkLua.cpp index 282e4ef440..ec276db1f6 100644 --- a/src/utils/SkLua.cpp +++ b/src/utils/SkLua.cpp @@ -6,9 +6,8 @@ */ #include "SkLua.h" - -#include "GrReducedClip.h" #include "SkCanvas.h" +#include "SkClipStack.h" #include "SkData.h" #include "SkDocument.h" #include "SkImage.h" @@ -274,35 +273,29 @@ void SkLua::pushClipStack(const SkClipStack& stack, const char* key) { const SkClipStack::Element* element; int i = 0; while (NULL != (element = iter.next())) { - this->pushClipStackElement(*element); + lua_newtable(fL); + SkClipStack::Element::Type type = element->getType(); + this->pushString(element_type(type), "type"); + switch (type) { + case SkClipStack::Element::kEmpty_Type: + break; + case SkClipStack::Element::kRect_Type: + this->pushRect(element->getRect(), "rect"); + break; + case SkClipStack::Element::kRRect_Type: + this->pushRRect(element->getRRect(), "rrect"); + break; + case SkClipStack::Element::kPath_Type: + this->pushPath(element->getPath(), "path"); + break; + } + this->pushString(region_op(element->getOp()), "op"); + this->pushBool(element->isAA(), "aa"); lua_rawseti(fL, -2, ++i); } CHECK_SETFIELD(key); } -void SkLua::pushClipStackElement(const SkClipStack::Element& element, const char* key) { - lua_newtable(fL); - SkClipStack::Element::Type type = element.getType(); - this->pushString(element_type(type), "type"); - switch (type) { - case SkClipStack::Element::kEmpty_Type: - break; - case SkClipStack::Element::kRect_Type: - this->pushRect(element.getRect(), "rect"); - break; - case SkClipStack::Element::kRRect_Type: - this->pushRRect(element.getRRect(), "rrect"); - break; - case SkClipStack::Element::kPath_Type: - this->pushPath(element.getPath(), "path"); - break; - } - this->pushString(region_op(element.getOp()), "op"); - this->pushBool(element.isAA(), "aa"); - CHECK_SETFIELD(key); -} - - /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// @@ -451,41 +444,6 @@ static int lcanvas_getClipStack(lua_State* L) { return 1; } -int SkLua::lcanvas_getReducedClipStack(lua_State* L) { - const SkCanvas* canvas = get_ref<SkCanvas>(L, 1); - SkISize layerSize = canvas->getTopLayerSize(); - SkIPoint layerOrigin = canvas->getTopLayerOrigin(); - SkIRect queryBounds = SkIRect::MakeXYWH(layerOrigin.fX, layerOrigin.fY, - layerSize.fWidth, layerSize.fHeight); - - GrReducedClip::ElementList elements; - GrReducedClip::InitialState initialState; - int32_t genID; - SkIRect resultBounds; - - const SkClipStack& stack = *canvas->getClipStack(); - - GrReducedClip::ReduceClipStack(stack, - queryBounds, - &elements, - &genID, - &initialState, - &resultBounds, - NULL); - - GrReducedClip::ElementList::Iter iter(elements); - int i = 0; - lua_newtable(L); - while(NULL != iter.get()) { - SkLua(L).pushClipStackElement(*iter.get()); - iter.next(); - lua_rawseti(L, -2, ++i); - } - // Currently this only returns the element list to lua, not the initial state or result bounds. - // It could return these as additional items on the lua stack. - return 1; -} - static int lcanvas_save(lua_State* L) { lua_pushinteger(L, get_ref<SkCanvas>(L, 1)->save()); return 1; @@ -521,7 +479,7 @@ static int lcanvas_gc(lua_State* L) { return 0; } -const struct luaL_Reg gSkCanvas_Methods[] = { +static const struct luaL_Reg gSkCanvas_Methods[] = { { "drawColor", lcanvas_drawColor }, { "drawRect", lcanvas_drawRect }, { "drawOval", lcanvas_drawOval }, @@ -532,7 +490,6 @@ const struct luaL_Reg gSkCanvas_Methods[] = { { "getSaveCount", lcanvas_getSaveCount }, { "getTotalMatrix", lcanvas_getTotalMatrix }, { "getClipStack", lcanvas_getClipStack }, - { "getReducedClipStack", SkLua::lcanvas_getReducedClipStack }, { "save", lcanvas_save }, { "restore", lcanvas_restore }, { "scale", lcanvas_scale }, diff --git a/tools/lua/dump_clipstack_at_restore.lua b/tools/lua/dump_clipstack_at_restore.lua index eb5afb9bdb..4691b5b250 100644 --- a/tools/lua/dump_clipstack_at_restore.lua +++ b/tools/lua/dump_clipstack_at_restore.lua @@ -11,8 +11,7 @@ end function sk_scrape_accumulate(t) if (t.verb == "restore") then restoreCount = restoreCount + 1; - -- io.write("Clip Stack at restore #", restoreCount, ":\n") - io.write("Reduced Clip Stack at restore #", restoreCount, ":\n") + io.write("Clip Stack at restore #", restoreCount, ":\n") for i = 1, #clipstack do local element = clipstack[i]; io.write("\t", element["op"], ", ", element["type"], ", aa:", tostring(element["aa"])) @@ -25,8 +24,7 @@ function sk_scrape_accumulate(t) end io.write("\n") else - -- clipstack = canvas:getClipStack() - clipstack = canvas:getReducedClipStack() + clipstack = canvas:getClipStack() end end |