0,0 → 1,51 |
/* |
* Copyright 2006-2012, Haiku, Inc. All Rights Reserved. |
* Distributed under the terms of the MIT License. |
* |
* Authors: |
* Philippe Houdoin <philippe.houdoin@free.fr> |
*/ |
#ifndef _GLRENDERER_ROSTER_H |
#define _GLRENDERER_ROSTER_H |
|
|
#include <GLRenderer.h> |
|
#include <map> |
|
|
struct renderer_item { |
BGLRenderer* renderer; |
entry_ref ref; |
ino_t node; |
image_id image; |
}; |
|
typedef std::map<renderer_id, renderer_item> RendererMap; |
|
|
class GLRendererRoster { |
public: |
GLRendererRoster(BGLView* view, ulong options); |
virtual ~GLRendererRoster(); |
|
BGLRenderer* GetRenderer(int32 id = 0); |
|
private: |
void AddDefaultPaths(); |
status_t AddPath(const char* path); |
status_t AddRenderer(BGLRenderer* renderer, |
image_id image, const entry_ref* ref, ino_t node); |
status_t CreateRenderer(const entry_ref& ref); |
|
RendererMap fRenderers; |
int32 fNextID; |
BGLView* fView; |
ulong fOptions; |
bool fSafeMode; |
const char* fABISubDirectory; |
|
}; |
|
|
#endif /* _GLRENDERER_ROSTER_H */ |