Revert of Add getReducedClipStack to lua canvas (https://codereview.chromium.org...
authorcommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 26 Feb 2014 18:32:44 +0000 (18:32 +0000)
committercommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 26 Feb 2014 18:32:44 +0000 (18:32 +0000)
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

gyp/tools.gyp
include/core/SkCanvas.h
include/utils/SkLua.h
src/core/SkCanvas.cpp
src/core/SkTLList.h
src/utils/SkLua.cpp
tools/lua/dump_clipstack_at_restore.lua

index 18f97ca714d3776d779c543ed75f6798b2dd314c..049e3939e8ef4a801cbeae7fcf03ce7e65e868bf 100644 (file)
         '../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',
         '../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',
index e9d4933d177112fed795e36746e3d482e414d4a8..e639212e384b0f58dda00b3e8086cbe03a059688 100644 (file)
@@ -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)
index 2f29343d595c4f863245ad0591e84297e058dddf..f67502a2e83a0033ada6041b31f7337b8ee9549c 100644 (file)
@@ -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;
index 5ba6e8f6dc399c7c71fa8c858425ba826ddb6378..8159adf0ee5a735c73532b6626ba48b6dd42aa2a 100644 (file)
@@ -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);
 }
index aeae3f72eeb7f3c6b64be0f245e94c36b9ea2c1f..99b5bc67d964d2b6bc07584847993bafff925d71 100644 (file)
@@ -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));
         }
 
index 282e4ef4405cba23a34781010677fd892e9ecfab..ec276db1f607b416efdea4bccdb8f3883fdf2d0d 100644 (file)
@@ -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 },
index eb5afb9bdba91ca8c5617d6317174224f2a75f7d..4691b5b250720fd6c906b3b9958cda7c14d3d8e9 100644 (file)
@@ -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