1*bc679b60SStephan Aßmus // IFSSaver.h 2*bc679b60SStephan Aßmus 3*bc679b60SStephan Aßmus #ifndef IFS_SAVER_H 4*bc679b60SStephan Aßmus #define IFS_SAVER_H 5*bc679b60SStephan Aßmus 6*bc679b60SStephan Aßmus #include <Locker.h> 7*bc679b60SStephan Aßmus // on PPC the full path is needed 8*bc679b60SStephan Aßmus #include <add-ons/screen_saver/ScreenSaver.h> 9*bc679b60SStephan Aßmus #include <View.h> 10*bc679b60SStephan Aßmus 11*bc679b60SStephan Aßmus #include "IFS.h" 12*bc679b60SStephan Aßmus 13*bc679b60SStephan Aßmus class BCheckBox; 14*bc679b60SStephan Aßmus class BSlider; 15*bc679b60SStephan Aßmus 16*bc679b60SStephan Aßmus class IFSSaver : public BScreenSaver, public BHandler { 17*bc679b60SStephan Aßmus public: 18*bc679b60SStephan Aßmus IFSSaver(BMessage *message, 19*bc679b60SStephan Aßmus image_id image); 20*bc679b60SStephan Aßmus virtual ~IFSSaver(); 21*bc679b60SStephan Aßmus 22*bc679b60SStephan Aßmus // BScreenSaver 23*bc679b60SStephan Aßmus virtual void StartConfig(BView *view); 24*bc679b60SStephan Aßmus virtual status_t StartSaver(BView *view, bool preview); 25*bc679b60SStephan Aßmus virtual void StopSaver(); 26*bc679b60SStephan Aßmus 27*bc679b60SStephan Aßmus virtual void DirectConnected(direct_buffer_info* info); 28*bc679b60SStephan Aßmus virtual void Draw(BView* view, int32 frame); 29*bc679b60SStephan Aßmus virtual void DirectDraw(int32 frame); 30*bc679b60SStephan Aßmus 31*bc679b60SStephan Aßmus virtual status_t SaveState(BMessage* into) const; 32*bc679b60SStephan Aßmus 33*bc679b60SStephan Aßmus // BHandler 34*bc679b60SStephan Aßmus virtual void MessageReceived(BMessage* message); 35*bc679b60SStephan Aßmus 36*bc679b60SStephan Aßmus private: 37*bc679b60SStephan Aßmus void _Init(BRect bounds); 38*bc679b60SStephan Aßmus void _Cleanup(); 39*bc679b60SStephan Aßmus 40*bc679b60SStephan Aßmus IFS* fIFS; 41*bc679b60SStephan Aßmus 42*bc679b60SStephan Aßmus bool fIsPreview; 43*bc679b60SStephan Aßmus BRect fBounds; 44*bc679b60SStephan Aßmus 45*bc679b60SStephan Aßmus BLocker fLocker; 46*bc679b60SStephan Aßmus 47*bc679b60SStephan Aßmus BCheckBox* fAdditiveCB; 48*bc679b60SStephan Aßmus BSlider* fSpeedS; 49*bc679b60SStephan Aßmus 50*bc679b60SStephan Aßmus buffer_info fDirectInfo; 51*bc679b60SStephan Aßmus int32 fLastDrawnFrame; 52*bc679b60SStephan Aßmus 53*bc679b60SStephan Aßmus // config settings 54*bc679b60SStephan Aßmus bool fAdditive; 55*bc679b60SStephan Aßmus int32 fSpeed; 56*bc679b60SStephan Aßmus }; 57*bc679b60SStephan Aßmus 58*bc679b60SStephan Aßmus 59*bc679b60SStephan Aßmus #endif // IFS_SAVER_H 60