summary refs log tree commit diff stats
path: root/code/widget.py
diff options
context:
space:
mode:
Diffstat (limited to 'code/widget.py')
-rw-r--r--code/widget.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/code/widget.py b/code/widget.py
new file mode 100644
index 00000000..e95e6a9d
--- /dev/null
+++ b/code/widget.py
@@ -0,0 +1,39 @@
+import curses
+
+class OutOfBoundsException(Exception): pass
+
+class Widget():
+	def __init__(self, win):
+		self.win = win
+		self.setdim(0, 0, 0, 0)
+
+	def setdim(self, y, x, hei=None, wid=None):
+		maxy, maxx = self.win.getmaxyx()
+		wid = wid or maxx - x
+		hei = hei or maxy - y
+		if x + wid > maxx or y + hei > maxy:
+			raise OutOfBoundsException()
+
+		self.x = x
+		self.y = y
+		self.wid = wid
+		self.hei = hei
+	
+	def contains_point(self, y, x):
+		return (x >= self.x and x < self.x + self.wid) and \
+				(y >= self.y and y < self.y + self.hei)
+
+	def feed_env(self):
+		pass
+
+	def feed(self):
+		pass
+
+	def click(self):
+		pass
+	
+	def draw(self):
+		pass
+
+	def destroy(self):
+		pass