diff options
author | Paul Gilbert | 2014-01-18 08:09:38 -0500 |
---|---|---|
committer | Paul Gilbert | 2014-01-18 08:09:38 -0500 |
commit | cbbdf4db47cc6efeef5d9fa2630445e64aa3e444 (patch) | |
tree | b34b157bb57dc07c5d93322a7f3f5b7d6e07a3b9 /engines/voyeur/files.cpp | |
parent | 8792e4f97b7ad3cb1863dd0ccf15adaac7f6a061 (diff) | |
download | scummvm-rg350-cbbdf4db47cc6efeef5d9fa2630445e64aa3e444.tar.gz scummvm-rg350-cbbdf4db47cc6efeef5d9fa2630445e64aa3e444.tar.bz2 scummvm-rg350-cbbdf4db47cc6efeef5d9fa2630445e64aa3e444.zip |
VOYEUR: Fix sFillBox to work for PictureResource as well
Diffstat (limited to 'engines/voyeur/files.cpp')
-rw-r--r-- | engines/voyeur/files.cpp | 50 |
1 files changed, 31 insertions, 19 deletions
diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index e728696038..67488e4643 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -724,7 +724,34 @@ RectResource::RectResource(int x1, int y1, int x2, int y2) { /*------------------------------------------------------------------------*/ -PictureResource::PictureResource(BoltFilesState &state, const byte *src) { +DisplayResource::DisplayResource() { + _vm = NULL; +} + +DisplayResource::DisplayResource(VoyeurEngine *vm) { + _vm = vm; +} + +void DisplayResource::sFillBox(int width, int height) { + assert(_vm); + bool saveBack = _vm->_graphicsManager._saveBack; + _vm->_graphicsManager._saveBack = false; + + PictureResource pr; + pr._flags = 1; + pr._select = 0xff; + pr._pick = 0; + pr._onOff = _vm->_graphicsManager._drawPtr->_penColor; + pr._bounds = Common::Rect(0, 0, width, height); + + _vm->_graphicsManager.sDrawPic(&pr, this, _vm->_graphicsManager._drawPtr->_pos); + _vm->_graphicsManager._saveBack = saveBack; +} + +/*------------------------------------------------------------------------*/ + +PictureResource::PictureResource(BoltFilesState &state, const byte *src): + DisplayResource(state._vm) { _flags = READ_LE_UINT16(src); _select = src[2]; _pick = src[3]; @@ -915,7 +942,8 @@ void PictureResource::flipVertical(const byte *data) { /*------------------------------------------------------------------------*/ ViewPortResource::ViewPortResource(BoltFilesState &state, const byte *src): - _fontChar(0, 0xff, 0xff, 0, 0, Common::Rect(), 0, NULL, 0), _state(state) { + _fontChar(0, 0xff, 0xff, 0, 0, Common::Rect(), 0, NULL, 0), + _state(state), DisplayResource(state._vm) { _flags = READ_LE_UINT16(src); _parent = NULL; _pageCount = READ_LE_UINT16(src + 6); @@ -1271,23 +1299,7 @@ int ViewPortResource::textWidth(const Common::String &msg) { void ViewPortResource::addSaveRect(int pageIndex, const Common::Rect &r) { // TODO - warning("TODO: addSaveRect"); -} - -void ViewPortResource::sFillBox(int width, int height) { - bool saveBack = _state._vm->_graphicsManager._saveBack; - _state._vm->_graphicsManager._saveBack = false; - - PictureResource pr; - pr._flags = 1; - pr._select = 0xff; - pr._pick = 0; - pr._onOff = _state._vm->_graphicsManager._drawPtr->_penColor; - pr._bounds = Common::Rect(0, 0, width, height); - - _state._vm->_graphicsManager.sDrawPic(&pr, this, - _state._vm->_graphicsManager._drawPtr->_pos); - _state._vm->_graphicsManager._saveBack = saveBack; + error("TODO: addSaveRect"); } void ViewPortResource::fillPic(byte onOff) { |