* a bit of code clean up

* some fixes to make screen_blanker wait_for_thread() instead of
  killing the screen saver thread, BScreenSaver::Stop() is now called
  as well as its destructor


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17206 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus
2006-04-22 20:18:52 +00:00
parent bc692d448e
commit 8087170c53
3 changed files with 90 additions and 50 deletions
@@ -12,25 +12,32 @@ class BScreenSaver;
class BView;
class ScreenSaverPrefs;
class ScreenSaverThread
{
public:
ScreenSaverThread(BWindow *wnd, BView *vw, ScreenSaverPrefs *p);
void Thread();
BScreenSaver *LoadAddOn() ;
void Quit();
class ScreenSaverThread {
public:
ScreenSaverThread(BWindow* window,
BView* view,
ScreenSaverPrefs* prefs);
~ScreenSaverThread();
static int32 ThreadFunc(void *data);
private:
BScreenSaver *fSaver;
BWindow *fWin;
BDirectWindow *fDWin;
BView *fView;
ScreenSaverPrefs *fPref;
void Thread();
BScreenSaver* LoadAddOn();
void Quit(thread_id thread);
long fFrame;
int fSnoozeCount;
image_id fAddonImage;
static int32 ThreadFunc(void* data);
private:
void _CleanUp();
BScreenSaver* fSaver;
BWindow* fWin;
BDirectWindow* fDWin;
BView* fView;
ScreenSaverPrefs* fPref;
long fFrame;
int fSnoozeCount;
image_id fAddonImage;
volatile bool fQuitting;
};
#endif //SCREEN_SAVER_THREAD_H