haiku/src/servers/app/DecorManager.h
Axel Dörfler 85f8bb71c7 * You can now change the look of a window on the fly.
* renamed some Decorator functions like GetLook() to Look().
* renamed _look to fLook and _flags to fFlags.
* removed the feel from decorators - they don't need to know
  or care about the feel.
* the DefaultDecorator didn't allow resizing of modal windows.
* DefaultDecorator::SetTitle() no longer clears the passed
  in updateRegion, it just fills it (so that you can call
  more than one of these methods after the other, and still
  get a correct update region).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 14:56:01 +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, 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<DecorInfo> fDecorList;
DecorInfo* fCurrentDecor;
};
extern DecorManager gDecorManager;
#endif /* DECOR_MANAGER_H */