diff options
author | Paul Gilbert | 2018-11-13 19:47:07 -0800 |
---|---|---|
committer | Paul Gilbert | 2018-12-08 19:05:59 -0800 |
commit | 1fb931fbd950324754536ee0b33ed0b91f68c9a2 (patch) | |
tree | a00c388b39ece9d327f9ddff4109f8795f8aa3a8 /engines/glk/window_graphics.h | |
parent | 7d670ff157fbc3df45f70f9e7a5b537b3d13152b (diff) | |
download | scummvm-rg350-1fb931fbd950324754536ee0b33ed0b91f68c9a2.tar.gz scummvm-rg350-1fb931fbd950324754536ee0b33ed0b91f68c9a2.tar.bz2 scummvm-rg350-1fb931fbd950324754536ee0b33ed0b91f68c9a2.zip |
GLK: Changing gargoyle folder to glk
Diffstat (limited to 'engines/glk/window_graphics.h')
-rw-r--r-- | engines/glk/window_graphics.h | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/engines/glk/window_graphics.h b/engines/glk/window_graphics.h new file mode 100644 index 0000000000..1ddc26c1cc --- /dev/null +++ b/engines/glk/window_graphics.h @@ -0,0 +1,113 @@ +/* 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 GLK_WINDOW_GRAPHICS_H +#define GLK_WINDOW_GRAPHICS_H + +#include "glk/windows.h" +#include "glk/picture.h" + +namespace Gargoyle { + +/** + * Graphics window + */ +class GraphicsWindow : public Window { +private: + void touch(); + + void drawPicture(Picture *src, int x0, int y0, int width, int height, glui32 linkval); +public: + unsigned char _bgnd[3]; + bool _dirty; + glui32 _w, _h; + Graphics::ManagedSurface *_surface; +public: + /** + * Constructor + */ + GraphicsWindow(Windows *windows, uint32 rock); + + /** + * Destructor + */ + virtual ~GraphicsWindow(); + + glui32 drawPicture(glui32 image, glsi32 xpos, glsi32 ypos, int scale, + glui32 imagewidth, glui32 imageheight); + + /** + * Rearranges the window + */ + virtual void rearrange(const Rect &box) override; + + /** + * Get window split size within parent pair window + */ + virtual glui32 getSplit(glui32 size, bool vertical) const override { + return size; + } + + /** + * Click the window + */ + virtual void click(const Point &newPos) override; + + /** + * Cancel a mouse event + */ + virtual void cancelMouseEvent() override { + _mouseRequest = false; + } + + /** + * Cancel a hyperlink event + */ + virtual void cancelHyperlinkEvent() override { + _hyperRequest = false; + } + + virtual void requestMouseEvent() override { + _mouseRequest = true; + } + + virtual void requestHyperlinkEvent() override { + _hyperRequest = true; + } + + /** + * Redraw the window + */ + virtual void redraw() override; + + virtual void eraseRect(bool whole, const Rect &box) override; + + virtual void fillRect(glui32 color, const Rect &box) override; + + virtual void getSize(glui32 *width, glui32 *height) const override; + + virtual void setBackgroundColor(glui32 color) override; +}; + +} // End of namespace Gargoyle + +#endif |