diff options
| author | Eugene Sandulenko | 2019-10-04 19:09:32 +0200 | 
|---|---|---|
| committer | Eugene Sandulenko | 2019-10-04 19:10:03 +0200 | 
| commit | c5f3e126165815c67c2fba1f7c9cc0faa84a4384 (patch) | |
| tree | ce8b4bb723c5c8d3d48b2e64c74a5a42e8937df9 | |
| parent | 93e8109cdfd37a5e5cc55eeba4d0e9aa9dcefca2 (diff) | |
| download | scummvm-rg350-c5f3e126165815c67c2fba1f7c9cc0faa84a4384.tar.gz scummvm-rg350-c5f3e126165815c67c2fba1f7c9cc0faa84a4384.tar.bz2 scummvm-rg350-c5f3e126165815c67c2fba1f7c9cc0faa84a4384.zip  | |
PINK: Add built-in empty border and use for texts
| -rw-r--r-- | engines/pink/objects/actions/action_text.cpp | 27 | 
1 files changed, 16 insertions, 11 deletions
diff --git a/engines/pink/objects/actions/action_text.cpp b/engines/pink/objects/actions/action_text.cpp index 0b2e886242..2010380d39 100644 --- a/engines/pink/objects/actions/action_text.cpp +++ b/engines/pink/objects/actions/action_text.cpp @@ -23,6 +23,8 @@  #include "common/debug.h"  #include "common/substream.h" +#include "graphics/transparent_surface.h" +  #include "pink/archive.h"  #include "pink/director.h"  #include "pink/pink.h" @@ -73,6 +75,12 @@ void ActionText::toConsole() {  		  _name.c_str(), _fileName.c_str(), _xLeft, _yTop, _xRight, _yBottom, _centered, _scrollBar, _textRGB, _backgroundRGB);  } +static const byte noborderData[3][3] = { +	{ 0, 1, 0 }, +	{ 1, 0, 1 }, +	{ 0, 1, 0 }, +}; +  void ActionText::start() {  	findColorsInPalette();  	Director *director = _actor->getPage()->getGame()->getDirector(); @@ -90,19 +98,16 @@ void ActionText::start() {  		_txtWnd->move(_xLeft, _yTop);  		_txtWnd->resize(_xRight - _xLeft, _yBottom - _yTop); -		Common::File f; +		Graphics::TransparentSurface *noborder = new Graphics::TransparentSurface(); +		noborder->create(3, 3, noborder->getSupportedPixelFormat()); +		uint32 colorBlack = noborder->getSupportedPixelFormat().RGBToColor(0, 0, 0); +		uint32 colorPink = noborder->getSupportedPixelFormat().RGBToColor(255, 0, 255); -		f.open("ScrollbarOnlyWin95active.bmp"); -		if (f.isOpen()) { -			_txtWnd->loadBorder(f, true); -			f.close(); -		} +		for (int y = 0; y < 4; y++) +			for (int x = 0; x < 4; x++) +				*((uint32 *)noborder->getBasePtr(x, y)) = noborderData[y][x] ? colorBlack : colorPink; -		f.open("ScrollbarOnlyWin95inactive.bmp"); -		if (f.isOpen()) { -			_txtWnd->loadBorder(f, false); -			f.close(); -		} +		_txtWnd->setBorder(noborder, true);  		if (_actor->getPage()->getGame()->getLanguage() == Common::EN_ANY)  			_txtWnd->appendText(str, font);  | 
