blob: 66abad9d5e2ceda691b02f010dd3a4756d53aa16 [file] [log] [blame]
* Copyright 2006-2012, Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
* Authors:
* Philippe Houdoin <>
#include <GLRenderer.h>
#include <vector>
typedef BGLRenderer* (*InstantiateRenderer) (BGLView* view, ulong options);
struct renderer_item {
InstantiateRenderer entry;
entry_ref ref;
ino_t node;
image_id image;
typedef std::vector<renderer_item> RendererMap;
class GLRendererRoster {
static GLRendererRoster *Roster();
BGLRenderer* GetRenderer(BGLView *view, ulong options);
virtual ~GLRendererRoster();
void AddDefaultPaths();
status_t AddPath(const char* path);
status_t AddRenderer(InstantiateRenderer entry, image_id image,
const entry_ref* ref, ino_t node);
status_t CreateRenderer(const entry_ref& ref);
static GLRendererRoster* fInstance;
bool fSafeMode;
const char* fABISubDirectory;
RendererMap fRenderers;