3rdparty/licenseReport: Add seperate LGPL checks
[haiku.git] / src / add-ons / screen_savers / ifs / IFSSaver.h
blob67919943cafb79fc7030ad2d0e55d7540fcd54c1
1 #ifndef IFS_SAVER_H
2 #define IFS_SAVER_H
4 #include <Locker.h>
5 // on PPC the full path is needed
6 #include <add-ons/screen_saver/ScreenSaver.h>
7 #include <View.h>
9 #include "IFS.h"
12 class BCheckBox;
13 class BSlider;
16 class IFSSaver : public BScreenSaver, public BHandler {
17 public:
18 IFSSaver(BMessage *message,
19 image_id image);
20 virtual ~IFSSaver();
22 virtual void StartConfig(BView *view);
23 virtual status_t StartSaver(BView *view, bool preview);
24 virtual void StopSaver();
26 virtual void DirectConnected(direct_buffer_info* info);
27 virtual void Draw(BView* view, int32 frame);
28 virtual void DirectDraw(int32 frame);
30 virtual status_t SaveState(BMessage* into) const;
32 virtual void MessageReceived(BMessage* message);
34 private:
35 void _Init(BRect bounds);
36 void _Cleanup();
38 IFS* fIFS;
40 bool fIsPreview;
42 BLocker fLocker;
44 BCheckBox* fAdditiveCB;
45 BSlider* fSpeedS;
47 buffer_info fDirectInfo;
48 int32 fLastDrawnFrame;
50 bool fAdditive;
51 int32 fSpeed;
55 #endif // IFS_SAVER_H