diff options
| author | Borja Lorente | 2016-07-19 17:57:30 +0200 | 
|---|---|---|
| committer | Borja Lorente | 2016-08-14 18:57:26 +0200 | 
| commit | 91493aaeb860edbdc991bca679ad6cf8a9d513eb (patch) | |
| tree | ea2c70b377cd89f9eee797f1b339e828f5c6701d | |
| parent | 49a2efe408575dbbbdd4e7fc060df843dd8ecd1f (diff) | |
| download | scummvm-rg350-91493aaeb860edbdc991bca679ad6cf8a9d513eb.tar.gz scummvm-rg350-91493aaeb860edbdc991bca679ad6cf8a9d513eb.tar.bz2 scummvm-rg350-91493aaeb860edbdc991bca679ad6cf8a9d513eb.zip | |
MACVENTURE: Add closeable inventory windows
| -rw-r--r-- | engines/macventure/gui.cpp | 29 | 
1 files changed, 24 insertions, 5 deletions
| diff --git a/engines/macventure/gui.cpp b/engines/macventure/gui.cpp index c1582988cf..d38a7a5c3d 100644 --- a/engines/macventure/gui.cpp +++ b/engines/macventure/gui.cpp @@ -223,8 +223,8 @@ void Gui::initWindows() {  	_mainGameWindow->setDimensions(getWindowData(kMainGameWindow).bounds);  	_mainGameWindow->setActive(false);  	_mainGameWindow->setCallback(mainGameWindowCallback, this); -	loadBorder(_mainGameWindow, "border_no_scroll_inac.bmp", false); -	loadBorder(_mainGameWindow, "border_no_scroll_act.bmp", true); +	//loadBorder(_mainGameWindow, "border_no_scroll_inac.bmp", false); +	//loadBorder(_mainGameWindow, "border_no_scroll_act.bmp", true);  	// In-game Output Console  	_outConsoleWindow = _wm.addWindow(false, true, true); @@ -335,8 +335,9 @@ WindowReference Gui::createInventoryWindow(ObjID objRef) {  	newWindow->setDimensions(newData.bounds);  	newWindow->setCallback(inventoryWindowCallback, this); -	loadBorder(newWindow, "border_no_scroll_inac.bmp", false); -	loadBorder(newWindow, "border_no_scroll_act.bmp", true); +	newWindow->setCloseable(true); +	//loadBorder(newWindow, "border_no_scroll_inac.bmp", false); +	//loadBorder(newWindow, "border_no_scroll_act.bmp", true);  	_inventoryWindows.push_back(newWindow);  	debug("Create new inventory window. Reference: %d", newData.refcon); @@ -1283,14 +1284,32 @@ bool MacVenture::Gui::processDiplomaEvents(WindowClick click, Common::Event & ev  }  bool Gui::processInventoryEvents(WindowClick click, Common::Event & event) { +	if (event.type == Common::EVENT_LBUTTONDOWN && click == kBorderCloseButton) { +		WindowReference ref = findWindowAtPoint(event.mouse); +		if (ref == kNoWindow) return false; + +		if (click == kBorderCloseButton) { +			_inventoryWindows.remove_at(ref - kInventoryStart); +			bool found = false; +			Common::List<WindowData>::iterator it; +			for (it = _windowData->begin(); it != _windowData->end() && !found; it++) { +				if (it->refcon == ref) { +					_windowData->erase(it); +					found = true; +				} +			} +			return true; +		} +	} +  	if (_engine->needsClickToContinue())  		return true;  	if (event.type == Common::EVENT_LBUTTONDOWN) { -  		// Find the appropriate window  		WindowReference ref = findWindowAtPoint(event.mouse);  		if (ref == kNoWindow) return false; +  		Graphics::MacWindow *win = findWindow(ref);  		WindowData &data = findWindowData((WindowReference) ref);  		Common::Point pos; | 
