Make UEFI boot-platform build again
[haiku.git] / headers / os / add-ons / screen_saver / ScreenSaver.h
blob1e517b90b22cd58bd222f039b5132aeb13adab4e
1 /*
2 * Copyright 2002-2006, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
4 */
5 #ifndef _SCREENSAVER_H
6 #define _SCREENSAVER_H
9 #include <BeBuild.h>
10 #include <DirectWindow.h>
11 #include <image.h>
12 #include <Message.h>
14 class BView;
17 class BScreenSaver {
18 public:
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;
56 private:
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();
66 bigtime_t fTickSize;
67 int32 fLoopOnCount;
68 int32 fLoopOffCount;
70 uint32 _reserved[6];
73 extern "C" _EXPORT BScreenSaver *instantiate_screen_saver(BMessage *msg, image_id id);
75 #endif // _SCREENSAVER_H