GRAPHICS: MACGUI: Allow windows to be hidden
This commit is contained in:
parent
6e727d58a1
commit
3aaeced035
3 changed files with 22 additions and 0 deletions
|
@ -39,8 +39,14 @@ BaseMacWindow::BaseMacWindow(int id, bool editable, MacWindowManager *wm) :
|
|||
_contentIsDirty = true;
|
||||
|
||||
_type = kWindowUnknown;
|
||||
|
||||
_visible = true;
|
||||
}
|
||||
|
||||
void BaseMacWindow::setVisible(bool visible) { _visible = visible; }
|
||||
|
||||
bool BaseMacWindow::isVisible() { return _visible; }
|
||||
|
||||
MacWindow::MacWindow(int id, bool scrollable, bool resizable, bool editable, MacWindowManager *wm) :
|
||||
BaseMacWindow(id, editable, wm), _scrollable(scrollable), _resizable(resizable) {
|
||||
_borderIsDirty = true;
|
||||
|
|
|
@ -98,6 +98,17 @@ public:
|
|||
*/
|
||||
bool isEditable() { return _editable; }
|
||||
|
||||
/**
|
||||
* Mutator to change the visible state of the window.
|
||||
* @param visible Target state.
|
||||
*/
|
||||
void setVisible(bool visible);
|
||||
/**
|
||||
* Accessor to determine whether a window is active.
|
||||
* @return True if the window is active.
|
||||
*/
|
||||
bool isVisible();
|
||||
|
||||
/**
|
||||
* Method to access the entire surface of the window (e.g. to draw an image).
|
||||
* @return A pointer to the entire surface of the window.
|
||||
|
@ -141,6 +152,8 @@ protected:
|
|||
|
||||
bool (*_callback)(WindowClick, Common::Event &, void *);
|
||||
void *_dataPtr;
|
||||
|
||||
bool _visible;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -412,6 +412,9 @@ void MacWindowManager::draw() {
|
|||
|
||||
for (Common::List<BaseMacWindow *>::const_iterator it = _windowStack.begin(); it != _windowStack.end(); it++) {
|
||||
BaseMacWindow *w = *it;
|
||||
if (!w->isVisible())
|
||||
continue;
|
||||
|
||||
if (w->draw(_screen, _fullRefresh)) {
|
||||
w->setDirty(false);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue