#ifndef _FLURRY_H_
#define _FLURRY_H_
#include <DateTime.h>
#include <GLView.h>
#include <ScreenSaver.h>
struct flurry_info_t;
class FlurryView : public BGLView {
public:
FlurryView(BRect bounds);
virtual ~FlurryView();
status_t InitCheck() const;
virtual void AttachedToWindow();
virtual void DrawFlurryScreenSaver();
virtual void FrameResized(float width, float height);
private:
void _SetupFlurryBaseInfo();
double _CurrentTime() const;
double _SecondsSinceStart() const;
private:
float fWidth;
float fHeight;
double fStartTime;
double fOldFrameTime;
flurry_info_t* fFlurryInfo;
BTime fTime;
BDateTime fDateTime;
};
class Flurry : public BScreenSaver {
public:
Flurry(BMessage* archive, image_id imageId);
virtual ~Flurry();
virtual status_t InitCheck();
virtual status_t StartSaver(BView* view, bool preview);
virtual void StopSaver();
virtual void Draw(BView*, int32 frame);
virtual void DirectConnected(direct_buffer_info* info);
virtual void StartConfig(BView* configView);
virtual void StopConfig();
virtual status_t SaveState(BMessage* into) const;
private:
FlurryView* fFlurryView;
};
#endif