[tekui-devel] tekui: Only the inner extents of an area are copied now, causes ...

hg-notify at neoscientists.org hg-notify at neoscientists.org
Tue Feb 5 02:46:01 CET 2008


details:   http://hg.teklib.org/tekui/rev/14bcc7c8a51a
changeset: 346:14bcc7c8a51a
user:      Timm S. Mueller <tmueller at neoscientists.org>
date:      Tue Jan 29 03:50:58 2008 +0100
description:
Only the inner extents of an area are copied now, causes a refresh of the
parent group instead

diffs (29 lines):

diff -r e4ab85c1fcd6 -r 14bcc7c8a51a tek/class/ui/area.lua
--- a/tek/class/ui/area.lua	Tue Jan 29 03:28:19 2008 +0100
+++ b/tek/class/ui/area.lua	Tue Jan 29 03:50:58 2008 +0100
@@ -173,13 +173,18 @@ function Area:layout(x0, y0, x1, y1, mar
 
 			local s1, s2, s3, s4 = overlap(r[1], r[2], r[3], r[4],
 				x0 - dx, y0 - dy, x1 - dx, y1 - dy)
-
-			local key = ("%d:%d"):format(dx, dy)
-			local ca = self.Window.CopyArea
-			if ca[key] then
-				ca[key][3]:orRect(s1, s2, s3, s4)
-			else
-				ca[key] = { dx, dy, Region.new(s1, s2, s3, s4) }
+			if s1 then
+				local key = ("%d:%d"):format(dx, dy)
+				local ca = self.Window.CopyArea
+				if ca[key] then
+					ca[key][3]:orRect(s1, s2, s3, s4)
+				else
+					ca[key] = { dx, dy, Region.new(s1, s2, s3, s4) }
+				end
+				-- redraw background:
+				if self.Parent then
+					self.Parent.Redraw = true
+				end
 			end
 
 			if dw > 0 or dh > 0 then


More information about the tekui-devel mailing list