#include "Render.h" #include // Inhalt der Render Klasse aus Render.h // Konstruktor Render::Render( Bildschirm *b ) { bildschirm = b; beendet = 0; ref = 1; } // Destruktor Render::~Render() { beenden( ); 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 ); } // constant // Reference Counting Render *Render::getThis() { ref++; return this; } Render *Render::release() { ref--; if( !ref ) delete this; return 0; }