Render.cpp 765 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "Render.h"
  2. #include <Zeit.h>
  3. // Inhalt der Render Klasse aus Render.h
  4. // Konstruktor
  5. Render::Render( Bildschirm *b )
  6. : Thread()
  7. {
  8. bildschirm = b;
  9. beendet = 0;
  10. }
  11. // Destruktor
  12. Render::~Render()
  13. {
  14. bildschirm->release();
  15. }
  16. // nicht constant
  17. void Render::thread()
  18. {
  19. ZeitMesser *timer = new ZeitMesser();
  20. while( !beendet )
  21. {
  22. double tickVal = timer->getSekunden();
  23. timer->messungStart();
  24. bildschirm->tick( tickVal );
  25. bildschirm->render();
  26. if( tickVal < 1.0 / 30.0 )
  27. Sleep( (int)( ( 1.0 / 30.0 - tickVal ) * 1000 ) );
  28. timer->messungEnde();
  29. }
  30. timer->release();
  31. beendet = 0;
  32. run = 0;
  33. }
  34. void Render::beenden()
  35. {
  36. beendet = 1;
  37. warteAufThread( 1000 );
  38. }