1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #include "Render.h"
- #include <Zeit.h>
- // Inhalt der Render Klasse aus Render.h
- // Konstruktor
- Render::Render( Bildschirm *b )
- : Thread()
- {
- bildschirm = b;
- beendet = 0;
- }
- // Destruktor
- Render::~Render()
- {
- bildschirm->release();
- }
- // nicht constant
- void Render::thread()
- {
- ZeitMesser *timer = new ZeitMesser();
- while( !beendet )
- {
- double tickVal = timer->getSekunden();
- timer->messungStart();
- bildschirm->tick( tickVal );
- bildschirm->render();
- if( tickVal < 1.0 / 30.0 )
- Sleep( (int)( ( 1.0 / 30.0 - tickVal ) * 1000 ) );
- timer->messungEnde();
- }
- timer->release();
- beendet = 0;
- run = 0;
- }
- void Render::beenden()
- {
- beendet = 1;
- warteAufThread( 1000 );
- }
- // löscht das objekt wenn es nicht mehr gebraucht wird und beendet den Thread
- Thread *Render::release()
- {
- if( ref == 2 && run )
- beenden();
- return Thread::release();
- }
|