GRAPHICS: Skeleton of MacTextWindow
Needed to add 2 helper methods to MacWindowManager to make it cleaner
This commit is contained in:
parent
b28a4a8c3d
commit
f2f420e15f
5 changed files with 95 additions and 6 deletions
36
graphics/macgui/mactextwindow.cpp
Normal file
36
graphics/macgui/mactextwindow.cpp
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
/* 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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "graphics/macgui/macwindowmanager.h"
|
||||||
|
#include "graphics/macgui/mactextwindow.h"
|
||||||
|
|
||||||
|
namespace Graphics {
|
||||||
|
|
||||||
|
MacTextWindow::MacTextWindow(MacWindowManager *wm) :
|
||||||
|
MacWindow(wm->getNextId(), true, true, true, wm) {
|
||||||
|
wm->addWindowInitialized(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
MacTextWindow::~MacTextWindow() {
|
||||||
|
}
|
||||||
|
|
||||||
|
} // End of namespace Graphics
|
36
graphics/macgui/mactextwindow.h
Normal file
36
graphics/macgui/mactextwindow.h
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
/* 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 GRAPHICS_MACGUI_MACTEXTWINDOW_H
|
||||||
|
#define GRAPHICS_MACGUI_MACTEXTWINDOW_H
|
||||||
|
|
||||||
|
namespace Graphics {
|
||||||
|
|
||||||
|
class MacTextWindow : public MacWindow {
|
||||||
|
public:
|
||||||
|
MacTextWindow(MacWindowManager *wm);
|
||||||
|
~MacTextWindow();
|
||||||
|
};
|
||||||
|
|
||||||
|
} // End of namespace Graphics
|
||||||
|
|
||||||
|
#endif
|
|
@ -178,20 +178,25 @@ MacWindow *MacWindowManager::addWindow(bool scrollable, bool resizable, bool edi
|
||||||
_windows.push_back(w);
|
_windows.push_back(w);
|
||||||
_windowStack.push_back(w);
|
_windowStack.push_back(w);
|
||||||
|
|
||||||
setActive(_lastId);
|
setActive(getNextId());
|
||||||
|
|
||||||
_lastId++;
|
|
||||||
|
|
||||||
return w;
|
return w;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MacWindowManager::addWindowInitialized(MacWindow *macwindow) {
|
||||||
|
_windows.push_back(macwindow);
|
||||||
|
_windowStack.push_back(macwindow);
|
||||||
|
}
|
||||||
|
|
||||||
|
int MacWindowManager::getNextId() {
|
||||||
|
return _lastId++;
|
||||||
|
}
|
||||||
|
|
||||||
MacMenu *MacWindowManager::addMenu() {
|
MacMenu *MacWindowManager::addMenu() {
|
||||||
_menu = new MacMenu(_lastId, _screen->getBounds(), this);
|
_menu = new MacMenu(getNextId(), _screen->getBounds(), this);
|
||||||
|
|
||||||
_windows.push_back(_menu);
|
_windows.push_back(_menu);
|
||||||
|
|
||||||
_lastId++;
|
|
||||||
|
|
||||||
return _menu;
|
return _menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -103,6 +103,17 @@ public:
|
||||||
* @return Pointer to the newly created window.
|
* @return Pointer to the newly created window.
|
||||||
*/
|
*/
|
||||||
MacWindow *addWindow(bool scrollable, bool resizable, bool editable);
|
MacWindow *addWindow(bool scrollable, bool resizable, bool editable);
|
||||||
|
/**
|
||||||
|
* Adds a window that has already been initialized to the registry.
|
||||||
|
* Like addWindow, but this doesn't create/allocate the Window.
|
||||||
|
* @param macWindow the window to be added to the registry
|
||||||
|
*/
|
||||||
|
void addWindowInitialized(MacWindow *macwindow);
|
||||||
|
/**
|
||||||
|
* Returns the next available id and the increments the internal counter.
|
||||||
|
* @return next (new) window id that can be used
|
||||||
|
*/
|
||||||
|
int getNextId();
|
||||||
/**
|
/**
|
||||||
* Add the menu to the desktop.
|
* Add the menu to the desktop.
|
||||||
* Note that the returned menu is empty, and therefore must be filled
|
* Note that the returned menu is empty, and therefore must be filled
|
||||||
|
|
|
@ -16,6 +16,7 @@ MODULE_OBJS := \
|
||||||
macgui/macfontmanager.o \
|
macgui/macfontmanager.o \
|
||||||
macgui/macmenu.o \
|
macgui/macmenu.o \
|
||||||
macgui/mactext.o \
|
macgui/mactext.o \
|
||||||
|
macgui/mactextwindow.o \
|
||||||
macgui/macwindow.o \
|
macgui/macwindow.o \
|
||||||
macgui/macwindowborder.o \
|
macgui/macwindowborder.o \
|
||||||
macgui/macwindowmanager.o \
|
macgui/macwindowmanager.o \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue