aboutsummaryrefslogtreecommitdiff
path: root/engines/macventure/windows.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/macventure/windows.h')
-rw-r--r--engines/macventure/windows.h91
1 files changed, 91 insertions, 0 deletions
diff --git a/engines/macventure/windows.h b/engines/macventure/windows.h
new file mode 100644
index 0000000000..70af446817
--- /dev/null
+++ b/engines/macventure/windows.h
@@ -0,0 +1,91 @@
+/* ScummVM - Graphic Adventure Engine
+*
+* ScummVM is the legal property of its developers, whose names
+* are too numerous to list here. Please refer to the COPYRIGHT
+* file distributed with this source distribution.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*
+*/
+
+#ifndef MACVENTURE_WINDOWS_H
+#define MACVENTURE_WINDOWS_H
+
+#include "common/rect.h"
+#include "common/array.h"
+
+namespace MacVenture {
+ // massive HACK
+typedef uint32 ObjID;
+
+enum WindowReference {
+ kNoWindow = 0,
+ kInventoryStart = 1,
+ kCommandsWindow = 0x80,
+ kMainGameWindow = 0x81,
+ kOutConsoleWindow = 0x82,
+ kSelfWindow = 0x83,
+ kExitsWindow = 0x84,
+ kDiplomaWindow = 0x85
+};
+
+enum MVWindowType {
+ kDocument = 0x00,
+ kDBox = 0x01,
+ kPlainDBox = 0x02,
+ kAltBox = 0x03,
+ kNoGrowDoc = 0x04,
+ kMovableDBox = 0x05,
+ kZoomDoc = 0x08,
+ kZoomNoGrow = 0x0c,
+ kRDoc16 = 0x10,
+ kRDoc4 = 0x12,
+ kRDoc6 = 0x14,
+ kRDoc10 = 0x16
+};
+
+struct DrawableObject {
+ ObjID obj;
+ byte mode;
+ DrawableObject(ObjID id, byte md) {
+ obj = id;
+ mode = md;
+ }
+};
+
+struct WindowData {
+ Common::Rect bounds;
+ MVWindowType type;
+ ObjID objRef;
+ uint16 visible;
+ uint16 hasCloseBox;
+ WindowReference refcon;
+ uint8 titleLength;
+ Common::String title;
+ Common::Array<DrawableObject> children;
+ bool updateScroll;
+};
+
+struct BorderBounds {
+ uint16 leftOffset;
+ uint16 topOffset;
+ uint16 rightOffset;
+ uint16 bottomOffset;
+
+ BorderBounds(uint16 l, uint16 t, uint16 r, uint16 b) :
+ leftOffset(l), topOffset(t), rightOffset(r), bottomOffset(b) {}
+};
+}
+#endif