[tekui-devel] tekui: FreeRegion no longer defined in Frame, moved to Group; re...
Timm S. Mueller
tmueller at neoscientists.org
Tue Apr 1 15:36:29 CEST 2008
details: http://hg.teklib.org/tekui/rev/b213860da69a
changeset: 395:b213860da69a
user: Timm S. Mueller <tmueller at neoscientists.org>
date: Sun Mar 30 17:15:07 2008 +0200
description:
FreeRegion no longer defined in Frame, moved to Group; removed
updateFreeRegion()
diffs (truncated from 137 to 100 lines):
diff -r 05d1f38d5c9d -r b213860da69a tek/class/ui/frame.lua
--- a/tek/class/ui/frame.lua Sat Mar 29 05:04:48 2008 +0100
+++ b/tek/class/ui/frame.lua Sun Mar 30 17:15:07 2008 +0200
@@ -24,7 +24,7 @@ local max = math.max
local max = math.max
module("tek.class.ui.frame", tek.class.ui.area)
-_VERSION = "Frame 1.15"
+_VERSION = "Frame 1.16"
local Frame = _M
@@ -49,7 +49,6 @@ function Frame.new(class, self)
self.IBorderStyle = self.IBorderStyle or false
self.PaddingAndBorder = { }
self.TempRect = { }
- self.FreeRegion = false
self.BorderRegion = false
self.RedrawBorder = false
self.Focus = false
@@ -160,11 +159,6 @@ end
function Frame:markDamage(r1, r2, r3, r4)
Area.markDamage(self, r1, r2, r3, r4)
- if not self.Redraw and self.FreeRegion then
- if self.FreeRegion:checkOverlap(r1, r2, r3, r4) then
- self.Redraw = true
- end
- end
if self.BorderRegion and self.BorderRegion:checkOverlap(r1, r2, r3, r4) then
self.RedrawBorder = true
end
@@ -180,7 +174,6 @@ function Frame:layout(r1, r2, r3, r4, ma
self.BorderRegion = priv.BorderClass:getRegion(self,
self.Border, self.Rect)
self.RedrawBorder = markdamage ~= false
- self:updateFreeRegion()
return true
end
end
@@ -193,20 +186,6 @@ function Frame:punch(region)
local b = self:getBorder()
local r = self.Rect
region:subRect(r[1] - b[1], r[2] - b[2], r[3] + b[3], r[4] + b[4])
-end
-
--------------------------------------------------------------------------------
--- updateFreeRegion: subtracts element's outer borders from freeregion
--------------------------------------------------------------------------------
-
-function Frame:updateFreeRegion()
- local f = self.FreeRegion
- local b = self.BorderRegion
- if f and b then
- for _, r in b:getRects() do
- f:subRect(b:getRect(r))
- end
- end
end
-------------------------------------------------------------------------------
diff -r 05d1f38d5c9d -r b213860da69a tek/class/ui/group.lua
--- a/tek/class/ui/group.lua Sat Mar 29 05:04:48 2008 +0100
+++ b/tek/class/ui/group.lua Sun Mar 30 17:15:07 2008 +0200
@@ -20,7 +20,7 @@ local unpack = unpack
local unpack = unpack
module("tek.class.ui.group", tek.class.ui.gadget)
-_VERSION = "Group 2.4"
+_VERSION = "Group 2.5"
local Group = _M
-------------------------------------------------------------------------------
@@ -48,8 +48,6 @@ local NOTIFY_DISABLE = { ui.NOTIFY_SELF,
function Group.new(class, self)
self = self or { }
-
-
if self.Tabbed then
return Group.newTabGroup(class, self)
end
@@ -76,6 +74,7 @@ function Group.newRegularGroup(class, se
self.SameHeight = self.SameHeight or false
self.TabElement = self.TabElement or false
self.TabName = self.TabName or false
+ self.FreeRegion = false
self = Gadget.new(class, self)
self:calcWeights()
return self
@@ -331,6 +330,7 @@ end
function Group:markDamage(r1, r2, r3, r4)
Gadget.markDamage(self, r1, r2, r3, r4)
+ self.Redraw = self.Redraw or self.FreeRegion:checkOverlap(r1, r2, r3, r4)
if self.TabElement then
self.TabElement:markDamage(r1, r2, r3, r4)
else
@@ -494,9 +494,16 @@ function Group:layout(r1, r2, r3, r4, ma
self.FreeRegion = self.Parent.FreeRegion
More information about the tekui-devel
mailing list