haiku/src/servers/app/DecorManager.h
Stephan Aßmus 58468dfed0 first step of geting rid of abstract DisplayDriver base class for less development overhead, DisplayDriverPainter is renamed to DrawingEngine
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 15:23:54 +00:00

55 lines
1.1 KiB
C++

/*
* Copyright (c) 2001-2005, Haiku, Inc.
* Distributed under the terms of the MIT license.
*
* Author: DarkWyrm <bpmagic@columbus.rr.com>
*/
#ifndef DECOR_MANAGER_H
#define DECOR_MANAGER_H
#include <image.h>
#include <String.h>
#include <Locker.h>
#include <ObjectList.h>
#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, int32 look, int32 feel,
int32 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<DecorInfo> fDecorList;
DecorInfo* fCurrentDecor;
};
extern DecorManager gDecorManager;
#endif /* DECOR_MANAGER_H */