2002-06-22 23:20:21 +04:00
|
|
|
#ifndef ISCREENSAVER_H
|
|
|
|
#define ISCREENSAVER_H
|
|
|
|
|
|
|
|
#include "IInterface.h"
|
|
|
|
|
2002-07-29 20:07:26 +04:00
|
|
|
//! Screen saver interface
|
|
|
|
/*!
|
|
|
|
This interface defines the methods common to all screen savers.
|
|
|
|
*/
|
2002-06-22 23:20:21 +04:00
|
|
|
class IScreenSaver : public IInterface {
|
|
|
|
public:
|
|
|
|
// note -- the c'tor/d'tor must *not* enable/disable the screen saver
|
|
|
|
|
2002-07-29 20:07:26 +04:00
|
|
|
//! @name manipulators
|
|
|
|
//@{
|
2002-06-22 23:20:21 +04:00
|
|
|
|
2002-07-29 20:07:26 +04:00
|
|
|
//! Enable screen saver
|
|
|
|
/*!
|
|
|
|
Enable the screen saver, restoring the screen saver settings to
|
|
|
|
what they were when disable() was previously called. If disable()
|
|
|
|
wasn't previously called then it should keep the current settings
|
|
|
|
or use reasonable defaults.
|
|
|
|
*/
|
2002-06-22 23:20:21 +04:00
|
|
|
virtual void enable() = 0;
|
2002-07-29 20:07:26 +04:00
|
|
|
|
|
|
|
//! Disable screen saver
|
|
|
|
/*!
|
|
|
|
Disable the screen saver, saving the old settings for the next
|
|
|
|
call to enable().
|
|
|
|
*/
|
2002-06-22 23:20:21 +04:00
|
|
|
virtual void disable() = 0;
|
|
|
|
|
2002-07-29 20:07:26 +04:00
|
|
|
//! Activate screen saver
|
|
|
|
/*!
|
|
|
|
Activate (i.e. show) the screen saver.
|
|
|
|
*/
|
2002-06-22 23:20:21 +04:00
|
|
|
virtual void activate() = 0;
|
2002-07-29 20:07:26 +04:00
|
|
|
|
|
|
|
//! Deactivate screen saver
|
|
|
|
/*!
|
|
|
|
Deactivate (i.e. hide) the screen saver, reseting the screen saver
|
|
|
|
timer.
|
|
|
|
*/
|
2002-06-22 23:20:21 +04:00
|
|
|
virtual void deactivate() = 0;
|
|
|
|
|
2002-07-29 20:07:26 +04:00
|
|
|
//@}
|
|
|
|
//! @name accessors
|
|
|
|
//@{
|
2002-06-22 23:20:21 +04:00
|
|
|
|
2002-07-29 20:07:26 +04:00
|
|
|
//! Test if screen saver on
|
|
|
|
/*!
|
|
|
|
Returns true iff the screen saver is currently active (showing).
|
|
|
|
*/
|
2002-06-22 23:20:21 +04:00
|
|
|
virtual bool isActive() const = 0;
|
2002-07-29 20:07:26 +04:00
|
|
|
|
|
|
|
//@}
|
2002-06-22 23:20:21 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|