Interface.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include "Interface.h"
  2. #include "../../Initialisierung/Initialisierung.h"
  3. #include <MausEreignis.h>
  4. // Inhalt der Interface Klasse aus Interface.h
  5. // Konstruktor
  6. // zS: Ein Zeiger auf die zu verwendende Schrift
  7. Interface::Interface( Schrift *zS )
  8. {
  9. beenden = initKnopf( 10, 10, 100, 20, zS, Knopf::Style::Normal, "beenden" );
  10. verlassen = 0;
  11. ref = 1;
  12. }
  13. // Destruktor
  14. Interface::~Interface()
  15. {
  16. beenden->release();
  17. }
  18. // Verarbeitet eine Mausnachricht
  19. // me: Die Nachricht die verarbeitet werden soll
  20. void Interface::doMausEreignis( MausEreignis &me )
  21. {
  22. bool vera = me.verarbeitet;
  23. beenden->doMausEreignis( me );
  24. if( me.verarbeitet && !vera && me.id == ME_RLinks )
  25. {
  26. verlassen = 1;
  27. }
  28. }
  29. // Zeichnet das Interface nach uRObj
  30. // zRObj: Das Bild in das gezeichnet werden soll
  31. void Interface::render( Bild &zRObj )
  32. {
  33. beenden->render( zRObj );
  34. }
  35. // Setzt das Interface in den Initialisierungszustand zurück
  36. void Interface::reset()
  37. {
  38. verlassen = 0;
  39. }
  40. // Gibt zurück, ob der Benutzer den Editor verlassen möchte
  41. bool Interface::hatVerlassen() const
  42. {
  43. return verlassen;
  44. }
  45. // erhöht den Reference Counter
  46. // return: this
  47. Interface *Interface::getThis()
  48. {
  49. ref++;
  50. return this;
  51. }
  52. // verringert den Reference Counter und löscht das Objekt wenn es nicht mehr gebraucht wird.
  53. // return: 0
  54. Interface *Interface::release()
  55. {
  56. if( !--ref )
  57. delete this;
  58. return 0;
  59. }