Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/vs-enhencements/src/story_entities/menu/glgui_imagebutton.cc @ 10642

Last change on this file since 10642 was 9869, checked in by bensch, 18 years ago

orxonox/trunk: merged the new_class_id branche back to the trunk.
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/new_class_id trunk -r9683:HEAD
no conflicts… puh..

File size: 1.7 KB
Line 
1/*
2   orxonox - the future of 3D-vertical-scrollers
3
4   Copyright (C) 2004 orx
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
10
11   ### File Specific:
12   main-programmer: Benjamin Grauer
13   co-programmer: ...
14*/
15
16
17#include "glgui_imagebutton.h"
18
19#include "debug.h"
20
21namespace OrxGui
22{
23
24  GLGuiImageButton::GLGuiImageButton(const std::string& label, unsigned int levelID, const std::string& imageName, GLGuiImage* image)
25      : GLGuiPushButton(label)
26  {
27    this->imageName = imageName;
28    this->levelID = levelID;
29    this->image = image;
30
31    image->loadImageFromFile(imageName);
32  }
33
34  GLGuiImageButton::~GLGuiImageButton()
35  {}
36
37  void GLGuiImageButton::releasing(const Vector2D& pos, bool focused)
38  {
39    GLGuiPushButton::releasing(pos, focused);
40    if (focused)
41      this->startLevel.emit(this->levelID);
42  }
43
44  void GLGuiImageButton::receivedFocus()
45  {
46    PRINTF(4)("%s:: %s\n", this->label().c_str(), this->imageName.c_str());
47
48    this->image->loadImageFromFile(this->imageName);
49  }
50  void GLGuiImageButton::removedFocus()
51  {}
52
53
54  void GLGuiImageButton::showing()
55  {
56    GLGuiPushButton::showing();
57
58    //this->image->show();
59  }
60
61  void GLGuiImageButton::hiding()
62  {
63    GLGuiPushButton::hiding();
64
65    //this->image->hide();
66  }
67
68  bool GLGuiImageButton::processEvent(const Event& event)
69  {
70    if (event.type == SDLK_SPACE)
71    {
72      if (event.bPressed)
73  //      emit(pushed());
74        ;
75      else
76      {
77//        emit(released());
78        startLevel.emit(this->levelID);
79      }
80      return true;
81    }
82    return false;
83  }
84
85
86
87}
Note: See TracBrowser for help on using the repository browser.