add dumpops.lua as a sample scraper that just dumps the arguments

add SkLua.h for common utilities

BUG=
R=rmistry@google.com

Review URL: https://codereview.chromium.org/15737010

git-svn-id: http://skia.googlecode.com/svn/trunk@9242 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/utils/SkLua.h b/include/utils/SkLua.h
new file mode 100644
index 0000000..232ba9b
--- /dev/null
+++ b/include/utils/SkLua.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef SkLua_DEFINED
+#define SkLua_DEFINED
+
+#include "SkColor.h"
+#include "SkScalar.h"
+
+struct lua_State;
+
+class SkCanvas;
+class SkMatrix;
+class SkPaint;
+class SkPath;
+struct SkRect;
+class SkRRect;
+class SkString;
+
+#define SkScalarToLua(x)    SkScalarToDouble(x)
+#define SkLuaToScalar(x)    SkDoubleToScalar(x)
+
+class SkLua {
+public:
+    static void Load(lua_State*);
+
+    SkLua(lua_State*);
+    ~SkLua();
+
+    lua_State* getL() const { return fL; }
+
+    void pushBool(bool, const char tableKey[] = NULL);
+    void pushString(const char[], const char tableKey[] = NULL);
+    void pushString(const SkString&, const char tableKey[] = NULL);
+    void pushColor(SkColor, const char tableKey[] = NULL);
+    void pushScalar(SkScalar, const char tableKey[] = NULL);
+    void pushRect(const SkRect&, const char tableKey[] = NULL);
+    void pushRRect(const SkRRect&, const char tableKey[] = NULL);
+    void pushMatrix(const SkMatrix&, const char tableKey[] = NULL);
+    void pushPaint(const SkPaint&, const char tableKey[] = NULL);
+    void pushPath(const SkPath&, const char tableKey[] = NULL);
+    void pushCanvas(SkCanvas*, const char tableKey[] = NULL);
+
+private:
+    lua_State* fL;
+};
+
+#endif