xref: /haiku/src/add-ons/screen_savers/icons/IconsSaver.h (revision 1c56a03c51fe268636ec1f48d067fa82f7082b1e)
132b3986cSPhilippe Houdoin /*
205cf63e3SJohn Scipione  * Copyright 2009 Vincent Duvert, vincent.duvert@free.fr
305cf63e3SJohn Scipione  * Copyright 2014 Haiku, Inc. All rights reserved.
405cf63e3SJohn Scipione  *
505cf63e3SJohn Scipione  * Distributed under the terms of the MIT License.
605cf63e3SJohn Scipione  *
705cf63e3SJohn Scipione  * Authors:
8*1c56a03cSJohn Scipione  *		Vincent Duvert, vincent.duvert@free.fr
905cf63e3SJohn Scipione  *		John Scipione, jscipione@gmail.com
1032b3986cSPhilippe Houdoin  */
1132b3986cSPhilippe Houdoin #ifndef ICONS_SAVER_H
1232b3986cSPhilippe Houdoin #define ICONS_SAVER_H
1332b3986cSPhilippe Houdoin 
143cbb1132SJohn Scipione 
15*1c56a03cSJohn Scipione #include <ObjectList.h>
1632b3986cSPhilippe Houdoin #include <ScreenSaver.h>
1732b3986cSPhilippe Houdoin 
1832b3986cSPhilippe Houdoin 
19*1c56a03cSJohn Scipione struct vector_icon;
20*1c56a03cSJohn Scipione 
21*1c56a03cSJohn Scipione 
2232b3986cSPhilippe Houdoin class IconDisplay;
2332b3986cSPhilippe Houdoin 
2432b3986cSPhilippe Houdoin 
2532b3986cSPhilippe Houdoin class IconsSaver: public BScreenSaver {
2632b3986cSPhilippe Houdoin public:
2732b3986cSPhilippe Houdoin 								IconsSaver(BMessage* archive, image_id);
2832b3986cSPhilippe Houdoin 	virtual						~IconsSaver();
2932b3986cSPhilippe Houdoin 
3032b3986cSPhilippe Houdoin 	virtual	status_t			StartSaver(BView *view, bool preview);
3132b3986cSPhilippe Houdoin 	virtual	void				StopSaver();
3232b3986cSPhilippe Houdoin 
3332b3986cSPhilippe Houdoin 	virtual	void				Draw(BView *view, int32 frame);
3432b3986cSPhilippe Houdoin 
3532b3986cSPhilippe Houdoin 	virtual	void				StartConfig(BView* view);
3632b3986cSPhilippe Houdoin 
3732b3986cSPhilippe Houdoin private:
380def0b0dSJohn Scipione 			void				_GetVectorIcons();
390def0b0dSJohn Scipione 
40*1c56a03cSJohn Scipione 	BObjectList<vector_icon>	fVectorIcons;
4132b3986cSPhilippe Houdoin 			IconDisplay*		fIcons;
4232b3986cSPhilippe Houdoin 
4332b3986cSPhilippe Houdoin 			BBitmap*			fBackBitmap;
4432b3986cSPhilippe Houdoin 			BView*				fBackView;
4532b3986cSPhilippe Houdoin 
463cbb1132SJohn Scipione 			uint16				fMinSize;
473cbb1132SJohn Scipione 			uint16				fMaxSize;
4832b3986cSPhilippe Houdoin };
4932b3986cSPhilippe Houdoin 
503cbb1132SJohn Scipione 
513cbb1132SJohn Scipione #endif	// ICONS_SAVER_H
52