diff options
author | 2013-05-21 03:24:37 +0000 | |
---|---|---|
committer | 2013-05-21 03:24:37 +0000 | |
commit | 0e59b796e596cd51af4ded378f2881459fd288e4 (patch) | |
tree | 78669bf5f2d06acf2ade46fa1fe471b484544dbd /tools/lua/skia.lua | |
parent | cef454e7b8e065096783c0f7922594bacaa39e92 (diff) |
allow multiple lua files to be used in lua_pictures
begin "stdlib" for skia in lua
add comments to scrape.lua
git-svn-id: http://skia.googlecode.com/svn/trunk@9206 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tools/lua/skia.lua')
-rw-r--r-- | tools/lua/skia.lua | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/tools/lua/skia.lua b/tools/lua/skia.lua new file mode 100644 index 0000000000..88c3223299 --- /dev/null +++ b/tools/lua/skia.lua @@ -0,0 +1,81 @@ +Sk = {} + +function Sk.isFinite(x) + return x * 0 == 0 +end + +------------------------------------------------------------------------------- + +Sk.Rect = { left = 0, top = 0, right = 0, bottom = 0 } +Sk.Rect.__index = Sk.Rect + +function Sk.Rect.new(l, t, r, b) + local rect + if r then + -- 4 arguments + rect = { left = l, top = t, right = r, bottom = b } + elseif l then + -- 2 arguments + rect = { right = l, bottom = t } + else + -- 0 arguments + rect = {} + end + setmetatable(rect, Sk.Rect) + return rect; +end + +function Sk.Rect:width() + return self.right - self.left +end + +function Sk.Rect:height() + return self.bottom - self.top +end + +function Sk.Rect:isEmpty() + return self:width() <= 0 or self:height() <= 0 +end + +function Sk.Rect:isFinite() + local value = self.left * 0 + value = value * self.top + value = value * self.right + value = value * self.bottom + return 0 == value +end + +function Sk.Rect:setEmpty() + self.left = 0 + self.top = 0 + self.right = 0 + self.bottom = 0 +end + +function Sk.Rect:set(l, t, r, b) + self.left = l + self.top = t + self.right = r + self.bottom = b +end + +function Sk.Rect:offset(dx, dy) + dy = dy or dx + + self.left = self.left + dx + self.top = self.top + dy + self.right = self.right + dx + self.bottom = self.bottom + dy +end + +function Sk.Rect:inset(dx, dy) + dy = dy or dx + + self.left = self.left + dx + self.top = self.top + dy + self.right = self.right - dx + self.bottom = self.bottom - dy +end + +------------------------------------------------------------------------------- + |