[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