aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/frotz/windows.h
diff options
context:
space:
mode:
authorPaul Gilbert2019-01-01 22:40:32 -0800
committerPaul Gilbert2019-01-01 22:40:32 -0800
commitc02d1f543282a5fe277302700c53e63a1213c319 (patch)
tree1111cb3e7f88fe4ff7a9430d4e9b3fe373a9cf65 /engines/glk/frotz/windows.h
parentb4c3df62e32e0c25001b8149bbd8311b54f953f0 (diff)
downloadscummvm-rg350-c02d1f543282a5fe277302700c53e63a1213c319.tar.gz
scummvm-rg350-c02d1f543282a5fe277302700c53e63a1213c319.tar.bz2
scummvm-rg350-c02d1f543282a5fe277302700c53e63a1213c319.zip
GLK: FROTZ: Beginnings of setting window positions and size
Diffstat (limited to 'engines/glk/frotz/windows.h')
-rw-r--r--engines/glk/frotz/windows.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/engines/glk/frotz/windows.h b/engines/glk/frotz/windows.h
index e685c4faf4..c94a1edce3 100644
--- a/engines/glk/frotz/windows.h
+++ b/engines/glk/frotz/windows.h
@@ -29,13 +29,23 @@ namespace Glk {
namespace Frotz {
#include "glk/windows.h"
+#include "glk/utils.h"
+
+class Windows;
/**
* Represents one of the virtual windows
*/
class Window {
+ friend class Windows;
private:
+ Windows *_windows;
winid_t _win;
+private:
+ /**
+ * Gets a reference to the window, creating a new one if one doesn't already exist
+ */
+ winid_t getWindow();
public:
/**
* Constructor
@@ -69,10 +79,21 @@ public:
* 4 y cursor 10 text style 16 true foreground colour
* 5 x cursor 11 colour data 17 true background colour
*/
+ //zword &operator[](uint idx);
+
+ /**
+ * Set the window size
+ */
+ void setSize(const Point &newSize);
+
+ /**
+ * Set the position of a window
+ */
+ void setPosition(const Point &newPos);
};
/**
- * The Z-machine has 8 virtual windows
+ * Windows manager
*/
class Windows {
private:
@@ -87,6 +108,11 @@ public:
Windows();
/**
+ * Returns the number of allowable windows
+ */
+ size_t size() const;
+
+ /**
* Array access
*/
Window &operator[](uint idx);