|
Declared in: be/add-ons/screen_saver/ScreenSaver.h
Library: ScreenSaver preferences application
more...
A screen saver add-on embodies a single screen saver module. Each module is represented by a BScreenSaver object. To create this object, the add-on implements and exports the function instantiate_screen_saver(). The screen saver system calls the instantiate_screen_saver() function when it's time to create and run the add-on's screen saver module.
When you build your add-on, you need to link against the ScreenSaver preferences application. To do this you...
- Make a symbolic link to the ScreenSaver prefs in your add-on's source directory, and then rename the link to "_APP_".
- Add _APP_ to the libraries in your BeIDE project file or Makefile.
You install your screen saver add-ons in the Screen Savers directory in B_USER_ADDONS_DIRECTORY; you may need to create the Screen Savers directory first. (See find_directory() in the Storage Kit if you're not familiar with the B_USER_ADDONS_DIRECTORY constant.)
There's also a Screen Savers directory in B_BEOS_ADDONS_DIRECTORY. This is reserved for screen savers that come with BeOS. Don't put your screen savers in this directory.
instantiate_screen_saver() |
BScreenSaver *instantiate_screen_saver(BMessage *msg, image_id image)instantiate_screen_saver() must be implemented to create an instance of your BScreenSaver-derived class and return it as a BScreenSaver pointer. msg contains the state provided by a previous saver run (via the SaveState() function). image is the image_id of the add-on. You usually just pass these arguments straight into your BScreenSaver subclass' constructor, like this:
#include <add-ons/screen_saver/ScreenSaver.h>
class SpiffySaver : public BScreenSaver
{
public:
SpiffySaver( BMessage *msg, image_id image );
...
};
BScreenSaver *instantiate_screen_saver(BMessage *msg, image_id image)
{
return new SpiffySaver(msg, id);
}
The screen saver system handles bad object allocations for you. This means you don't have to catch bad_alloc exceptions in your own code. (If the system is that low on resources, the user has other things to worry about.)
|
Copyright © 2000 Be, Inc. All rights reserved..