kdecorationfactory.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef KDECORATIONFACTORY_H
00026 #define KDECORATIONFACTORY_H
00027
00028 #include "kdecoration.h"
00029
00030 class KDecoration;
00031 class KDecorationBridge;
00032 class KDecorationFactoryPrivate;
00033
00034 class KWIN_EXPORT KDecorationFactory
00035 : public KDecorationDefines
00036 {
00037 public:
00042 KDecorationFactory();
00047 virtual ~KDecorationFactory();
00053 virtual KDecoration* createDecoration( KDecorationBridge* bridge ) = 0;
00063 virtual bool reset( unsigned long changed );
00064
00071 virtual QValueList< BorderSize > borderSizes() const;
00072
00073 virtual bool supports( Ability ability );
00074
00075 virtual void checkRequirements( KDecorationProvides* provides );
00080 const KDecorationOptions* options();
00087 bool exists( const KDecoration* deco ) const;
00091 void addDecoration( KDecoration* );
00095 void removeDecoration( KDecoration* );
00096 protected:
00101 void resetDecorations( unsigned long changed );
00109 NET::WindowType windowType( unsigned long supported_types, KDecorationBridge* bridge ) const;
00110 private:
00111 QValueList< KDecoration* > _decorations;
00112 KDecorationFactoryPrivate* d;
00113 };
00114
00115 inline const KDecorationOptions* KDecorationFactory::options()
00116 {
00117 return KDecoration::options();
00118 }
00119
00120 #endif
|