diff options
author | Joseph-Eugene Winzer | 2018-03-24 17:19:31 +0100 |
---|---|---|
committer | Thierry Crozat | 2018-04-15 18:23:12 +0100 |
commit | ac438cc918150a7549eee9cc45f60ca04a13f7da (patch) | |
tree | 53071760f5045f2763b0e6e14f630fc9389726f3 /engines/supernova | |
parent | f525efa1d44d34e4462ffbefd7187e0ce5d988f9 (diff) | |
download | scummvm-rg350-ac438cc918150a7549eee9cc45f60ca04a13f7da.tar.gz scummvm-rg350-ac438cc918150a7549eee9cc45f60ca04a13f7da.tar.bz2 scummvm-rg350-ac438cc918150a7549eee9cc45f60ca04a13f7da.zip |
SUPERNOVA: Adds skeleton for screen abstraction
Diffstat (limited to 'engines/supernova')
-rw-r--r-- | engines/supernova/module.mk | 5 | ||||
-rw-r--r-- | engines/supernova/screen.cpp | 33 | ||||
-rw-r--r-- | engines/supernova/screen.h | 76 |
3 files changed, 112 insertions, 2 deletions
diff --git a/engines/supernova/module.mk b/engines/supernova/module.mk index 8be8e72509..722a230cde 100644 --- a/engines/supernova/module.mk +++ b/engines/supernova/module.mk @@ -4,11 +4,12 @@ MODULE_OBJS := \ console.o \ detection.o \ graphics.o \ - supernova.o \ resman.o \ rooms.o \ + screen.o \ sound.o \ - state.o + state.o \ + supernova.o MODULE_DIRS += \ engines/supernova diff --git a/engines/supernova/screen.cpp b/engines/supernova/screen.cpp new file mode 100644 index 0000000000..a5285aafb6 --- /dev/null +++ b/engines/supernova/screen.cpp @@ -0,0 +1,33 @@ +/* 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. +* +*/ + +#include "supernova/screen.h" + +#include "supernova/screenstatic.cpp" + +namespace Supernova { + +Screen::Screen(SupernovaEngine *vm, ResourceManager *resMan) { + +} + +} diff --git a/engines/supernova/screen.h b/engines/supernova/screen.h new file mode 100644 index 0000000000..df1b97bec3 --- /dev/null +++ b/engines/supernova/screen.h @@ -0,0 +1,76 @@ +/* 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 SUPERNOVA_SCREEN_H +#define SUPERNOVA_SCREEN_H + +#include "common/scummsys.h" + +#include "supernova/imageid.h" +#include "supernova/msn_def.h" + +namespace Supernova { + +class SupernovaEngine; +class ResourceManager; +class GuiElement; +class Room; + +class Screen { +public: + struct ImageInfo { + int filenumber; + int section; + }; + +public: + Screen(SupernovaEngine *vm, ResourceManager *resMan); + + void paletteFadeIn(); + void paletteFadeOut(); + void paletteBrightness(); + void renderImage(int section); + void renderImageSection(int section); + bool setCurrentImage(int filenumber); + void saveScreen(int x, int y, int width, int height); + void saveScreen(const GuiElement &guiElement); + void restoreScreen(); + void renderRoom(Room &room); + void renderMessage(const char *text, MessagePosition position = kMessageNormal); + void removeMessage(); + void renderText(const char *text, int x, int y, byte color); + void renderText(const uint16 character, int x, int y, byte color); + void renderText(const char *text); + void renderText(const uint16 character); + void renderText(const GuiElement &guiElement); + void renderBox(int x, int y, int width, int height, byte color); + void renderBox(const GuiElement &guiElement); + void setColor63(byte value); + void update(); + +private: + +}; + +} + +#endif |