aboutsummaryrefslogtreecommitdiff
path: root/sky/mouse.h
diff options
context:
space:
mode:
authorJoost Peters2003-05-05 13:19:59 +0000
committerJoost Peters2003-05-05 13:19:59 +0000
commitf762c5dbba3b456ee0337100b1870915d32e71cb (patch)
tree224ddcce11a89457e3e0c1c1f028694018325e5e /sky/mouse.h
parent5944d40eaae53fbbc5bc93e8a0c4f075525c43a6 (diff)
downloadscummvm-rg350-f762c5dbba3b456ee0337100b1870915d32e71cb.tar.gz
scummvm-rg350-f762c5dbba3b456ee0337100b1870915d32e71cb.tar.bz2
scummvm-rg350-f762c5dbba3b456ee0337100b1870915d32e71cb.zip
some mouse stuff + fnEnterSection
svn-id: r7347
Diffstat (limited to 'sky/mouse.h')
-rw-r--r--sky/mouse.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/sky/mouse.h b/sky/mouse.h
new file mode 100644
index 0000000000..3f136ffc36
--- /dev/null
+++ b/sky/mouse.h
@@ -0,0 +1,84 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ *
+ */
+
+#ifndef __SkyMouse__
+#define __SkyMouse__
+
+#include "stdafx.h"
+#include "sky/disk.h"
+#include "sky/struc.h"
+
+class SkyMouse {
+
+public:
+ SkyMouse(SkyDisk *skyDisk);
+ ~SkyMouse(void);
+
+ void replaceMouseCursors(uint16 fileNo);
+ uint32 fnBlankMouse(void);
+ void lockMouse(void);
+ void unlockMouse(void);
+ void restoreMouseData(uint16 frameNum);
+ void drawNewMouse(void);
+ void spriteMouse(uint16 frameNum, uint16 mouseX, uint16 mouseY);
+
+
+protected:
+ uint16 _aMouseX; //actual mouse coordinates
+ uint16 _aMouseY;
+
+ uint16 _lockMouseX;
+ uint16 _lockMouseY;
+
+ uint16 _mouseOffsetX; //for offsetting the mouse
+ uint16 _mouseOffsetY; //positive offsets only, mouse moves left or up
+
+ uint16 _mouseType2; //number of current mouse
+ byte *_mouseData2; //pointer to mouse data
+
+ uint16 _mouseWidth; //mouse width and height
+ uint16 _mouseHeight;
+
+ byte *_mousePosition; //current screen address of mouse
+ uint16 _maskWidth; //width on screen
+ uint16 _maskHeight; //height on screen
+
+ byte *_savedData; //place for saved data
+
+ uint32 _mouseFlag; //bit 0 set when in handler
+ //bit 1 set when screen data has been saved
+ //bit 2 set when we don't want to show mouse
+
+ byte *_miceData; //address of mouse sprites
+ byte *_objectMouseData; //address of object mouse sprites
+
+ uint16 _tMouseX;
+ uint16 _tMouseY;
+
+ uint16 _mouseXOff;
+
+ static uint32 _mouseObjectList[];
+
+ SkyDisk *_skyDisk;
+
+};
+
+#endif //__SkyMouse__