vfs: check userland buffers before reading them.
[haiku.git] / src / add-ons / screen_savers / gravity / Gravity.h
blob80aa9a1118dd5507f43fb6faf72645eb0f3bf36d
1 /*
2 * Copyright 2012-2013 Tri-Edge AI <triedgeai@gmail.com>
3 * Copyright 2014 Haiku, Inc. All rights reserved.
5 * Distributed under the terms of the MIT license.
7 * Authors:
8 * Tri-Edge AI
9 * John Scipione, jscipione@gmail.com
11 #ifndef GRAVITY_SCREEN_SAVER_H
12 #define GRAVITY_SCREEN_SAVER_H
15 #include <ScreenSaver.h>
18 class BMessage;
19 class BView;
21 class ConfigView;
22 class GravityView;
25 class Gravity : public BScreenSaver {
26 public:
27 struct {
28 int32 ShadeID;
29 int32 ParticleCount;
30 } Config;
32 Gravity(BMessage* prefs, image_id imageID);
34 status_t SaveState(BMessage* prefs) const;
36 void StartConfig(BView* view);
38 status_t StartSaver(BView* view, bool preview);
39 void StopSaver();
41 void DirectConnected(direct_buffer_info* info);
42 void Draw(BView*, int32 frame);
44 private:
45 GravityView* fGravityView;
46 ConfigView* fConfigView;
50 #endif // GRAVITY_SCREEN_SAVER_H