aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/pet_control/pet_remote_glyphs.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2016-05-02 20:18:47 -0400
committerPaul Gilbert2016-07-10 16:38:09 -0400
commitab769eee0c99f262052b7a15295a74053943a372 (patch)
tree4bb0ba38b37bce3dc63a4babd50a5941085e92f6 /engines/titanic/pet_control/pet_remote_glyphs.cpp
parent9a6ad7d1e012a5cb1a4ca955b0f738f12c0a7874 (diff)
downloadscummvm-rg350-ab769eee0c99f262052b7a15295a74053943a372.tar.gz
scummvm-rg350-ab769eee0c99f262052b7a15295a74053943a372.tar.bz2
scummvm-rg350-ab769eee0c99f262052b7a15295a74053943a372.zip
TITANIC: Implement Operate Lights glyph
Diffstat (limited to 'engines/titanic/pet_control/pet_remote_glyphs.cpp')
-rw-r--r--engines/titanic/pet_control/pet_remote_glyphs.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/engines/titanic/pet_control/pet_remote_glyphs.cpp b/engines/titanic/pet_control/pet_remote_glyphs.cpp
index e0334fef31..c1d86d6703 100644
--- a/engines/titanic/pet_control/pet_remote_glyphs.cpp
+++ b/engines/titanic/pet_control/pet_remote_glyphs.cpp
@@ -236,4 +236,59 @@ void CEntertainmentDeviceGlyph::getTooltip(CPetText *text) {
text->setText("Operate visual entertainment device");
}
+/*------------------------------------------------------------------------*/
+
+
+bool COperateLightsGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) {
+ CPetRemoteGlyph::setup(petControl, owner);
+ setDefaults("3PetLights", petControl);
+
+ if (owner) {
+ _left = getElement(3);
+ _right = getElement(4);
+ _up = getElement(5);
+ _down = getElement(6);
+ _activate = getElement(7);
+ }
+
+ return true;
+}
+
+void COperateLightsGlyph::draw2(CScreenManager *screenManager) {
+ _left->draw(screenManager);
+ _right->draw(screenManager);
+ _up->draw(screenManager);
+ _down->draw(screenManager);
+ _activate->draw(screenManager);
+}
+
+bool COperateLightsGlyph::MouseButtonDownMsg(const Point &pt) {
+ if (_left->MouseButtonDownMsg(pt)
+ || _right->MouseButtonDownMsg(pt)
+ || _up->MouseButtonDownMsg(pt)
+ || _down->MouseButtonDownMsg(pt)
+ || _activate->MouseButtonDownMsg(pt))
+ return true;
+ return true;
+}
+
+bool COperateLightsGlyph::MouseButtonUpMsg(const Point &pt) {
+ if (_left && _left->MouseButtonUpMsg(pt))
+ getOwner()->generateMessage(RMSG_LEFT, "Light");
+ else if (_right && _right->MouseButtonUpMsg(pt))
+ getOwner()->generateMessage(RMSG_RIGHT, "Light");
+ else if (_up && _up->MouseButtonUpMsg(pt))
+ getOwner()->generateMessage(RMSG_UP, "Light");
+ else if (_down && _down->MouseButtonUpMsg(pt))
+ getOwner()->generateMessage(RMSG_DOWN, "Light");
+ else
+ getOwner()->generateMessage(RMSG_ACTIVATE, "Light");
+
+ return true;
+}
+
+void COperateLightsGlyph::getTooltip(CPetText *text) {
+ text->setText("Operate the lights");
+}
+
} // End of namespace Titanic