xref: /haiku/src/add-ons/screen_savers/leaves/Leaves.h (revision 6eafb4b041ad79cb936b2041fdb9c56b1209cc10)
1 /*
2  * Copyright 2010-2013, Haiku, Inc. All Rights Reserved.
3  * Distributed under the terms of the MIT license.
4  *
5  * Authors:
6  *		Geoffry Song, goffrie@gmail.com
7  */
8 #ifndef _LEAVES_H_
9 #define _LEAVES_H_
10 
11 
12 #include <vector>
13 
14 #include <ScreenSaver.h>
15 
16 
17 class Leaves : public BScreenSaver, public BHandler {
18 public:
19 						Leaves(BMessage* archive, image_id id);
20 	virtual	void		Draw(BView* view, int32 frame);
21 	virtual	void		StartConfig(BView* view);
22 	virtual	status_t	StartSaver(BView* view, bool preview);
23 
24 	virtual	status_t	SaveState(BMessage* into) const;
25 
26 	virtual	void		MessageReceived(BMessage* message);
27 
28 private:
29 			int32		fDropRate;
30 			int32		fLeafSize;
31 			int32		fSizeVariation;
32 
33 	inline	BPoint		_RandomPoint(const BRect& bound);
34 };
35 
36 
37 #endif	// _LEAVES_H_
38