2 * Copyright 2002-2006, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
10 #include <DirectWindow.h>
19 BScreenSaver(BMessage
* archive
, image_id thisImage
);
20 virtual ~BScreenSaver();
22 virtual status_t
InitCheck();
24 virtual status_t
StartSaver(BView
* view
, bool preview
);
25 virtual void StopSaver();
27 virtual void Draw(BView
* view
, int32 frame
);
29 // direct screen access
30 virtual void DirectConnected(direct_buffer_info
* info
);
31 virtual void DirectDraw(int32 frame
);
33 // configuration dialog methods
34 virtual void StartConfig(BView
* configView
);
35 virtual void StopConfig();
37 // Module should fill this in with metadata
38 // example: randomizable = true
39 virtual void SupplyInfo(BMessage
* info
) const;
41 // Send all the metadata info to the module
42 virtual void ModulesChanged(const BMessage
* info
);
44 // BArchivable like parameter saver method
45 virtual status_t
SaveState(BMessage
* into
) const;
47 // These methods can be used to control drawing frequency.
48 void SetTickSize(bigtime_t tickSize
);
49 bigtime_t
TickSize() const;
51 // These methods can be used to control animation loop cycles
52 void SetLoop(int32 onCount
, int32 offCount
);
53 int32
LoopOnCount() const;
54 int32
LoopOffCount() const;
57 virtual void _ReservedScreenSaver1();
58 virtual void _ReservedScreenSaver2();
59 virtual void _ReservedScreenSaver3();
60 virtual void _ReservedScreenSaver4();
61 virtual void _ReservedScreenSaver5();
62 virtual void _ReservedScreenSaver6();
63 virtual void _ReservedScreenSaver7();
64 virtual void _ReservedScreenSaver8();
73 extern "C" _EXPORT BScreenSaver
*instantiate_screen_saver(BMessage
*msg
, image_id id
);
75 #endif // _SCREENSAVER_H