Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/story_entities/menu/glgui_imagebutton.cc @ 9122

Last change on this file since 9122 was 8740, checked in by bensch, 18 years ago

orxonox/trunk: now the elements are draw correctly

File size: 1.8 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#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_SHELL
17
18#include "glgui_imagebutton.h"
19
20#include "debug.h"
21
22namespace OrxGui
23{
24
25  GLGuiImageButton::GLGuiImageButton(const std::string& label, unsigned int levelID, const std::string& imageName, GLGuiImage* image)
26      : GLGuiPushButton(label)
27  {
28    this->imageName = imageName;
29    this->levelID = levelID;
30    this->image = image;
31
32    image->loadImageFromFile(imageName);
33  }
34
35  GLGuiImageButton::~GLGuiImageButton()
36  {}
37
38  void GLGuiImageButton::releasing(const Vector2D& pos, bool focused)
39  {
40    GLGuiPushButton::releasing(pos, focused);
41    if (focused)
42      this->emit(startLevel(this->levelID));
43  }
44
45  void GLGuiImageButton::receivedFocus()
46  {
47    printf("%s:: %s\n", this->label().c_str(), this->imageName.c_str());
48
49    this->image->loadImageFromFile(this->imageName);
50  }
51  void GLGuiImageButton::removedFocus()
52  {}
53
54
55  void GLGuiImageButton::showing()
56  {
57    GLGuiPushButton::showing();
58
59    //this->image->show();
60  }
61
62  void GLGuiImageButton::hiding()
63  {
64    GLGuiPushButton::hiding();
65
66    //this->image->hide();
67  }
68
69  bool GLGuiImageButton::processEvent(const Event& event)
70  {
71    if (event.type == SDLK_SPACE)
72    {
73      if (event.bPressed)
74  //      emit(pushed());
75        ;
76      else
77      {
78//        emit(released());
79        emit(startLevel(this->levelID));
80      }
81      return true;
82    }
83    return false;
84  }
85
86
87
88}
Note: See TracBrowser for help on using the repository browser.