haiku/src/servers/app/DecorManager.h
Stephan Aßmus b93f9f1371 * now the Decorator uses the DrawingEngine instance of the WindowLayer,
so that we can draw the window borders using parallel access too.
  Seems to improve things even further, using the app_server environment
  with direct accelerant access on R5 looks pretty decent now, but
  of cause still far from perfect. The global font lock could actually
  be the problem now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-15 23:05:35 +00:00

57 lines
1.2 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 DrawingEngine;
class DecorManager : public BLocker {
public:
DecorManager();
~DecorManager();
void RescanDecorators();
Decorator* AllocateDecorator(Desktop* desktop,
DrawingEngine* engine,
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 */