aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-02-26 18:32:44 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-02-26 18:32:44 +0000
commit1caedbb216703df58ce5ebe29955e53fa098d8dc (patch)
treee84baaadab29fd38f8e87cff8f44790b1b64a851
parentb805fe5884fdd69e8c9c29b134a625f0a88c679c (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.gyp10
-rw-r--r--include/core/SkCanvas.h21
-rw-r--r--include/utils/SkLua.h6
-rw-r--r--src/core/SkCanvas.cpp12
-rw-r--r--src/core/SkTLList.h4
-rw-r--r--src/utils/SkLua.cpp83
-rw-r--r--tools/lua/dump_clipstack_at_restore.lua6
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