/* * Copyright (c) 2001-2005, Haiku, Inc. * Distributed under the terms of the MIT license. * * Author: DarkWyrm */ #ifndef DECOR_MANAGER_H #define DECOR_MANAGER_H #include #include #include #include #include "Decorator.h" class DecorInfo; class Desktop; class DecorManager : public BLocker { public: DecorManager(); ~DecorManager(); void RescanDecorators(); Decorator* AllocateDecorator(Desktop* desktop, BRect rect, const char *title, window_look look, uint32 flags); int32 CountDecorators() const; int32 GetDecorator() const; bool SetDecorator(int32 index); bool SetR5Decorator(int32 value); const char* GetDecoratorName(int32 index); // TODO: Implement this method once the rest of the necessary infrastructure // is in place //status_t GetPreview(int32 index, ServerBitmap *bitmap); private: void _EmptyList(); DecorInfo* _FindDecor(const char *name); BObjectList fDecorList; DecorInfo* fCurrentDecor; }; extern DecorManager gDecorManager; #endif /* DECOR_MANAGER_H */