src/Graphics/Graphics.hh
author Tero Marttila <terom@fixme.fi>
Wed, 21 Jan 2009 03:33:35 +0200
branchnew_graphics
changeset 411 106aaf6eadfe
child 412 721c60072091
permissions -rw-r--r--
there's a grain of truth in the new graphics code now...
#ifndef GRAPHICS_GRAPHICS_HH
#define GRAPHICS_GRAPHICS_HH

#include "../Engine.hh"
#include "Display.hh"
#include "FontManager.hh"
#include "GameView.hh"

namespace graphics
{

/**
 * Core class that ties everything else together
 */
class Graphics {
public:
    /**
     * Our reference to the engine
     */
    Engine &engine;

    /**
     * For loading fonts
     */
    FontManager fonts;

    /**
     * Our primary display
     */
    Display display;
    
    /**
     * Initialize the graphics subsystem
     */
    Graphics (Engine &engine, CL_ResourceManager &resources, const DisplayConfig &display_config);

    /**
     * Display a new GameView
     */
    void displayGameView (GameState &state, LocalPlayer *player) {
        // allocate a new GameView
        GameView *view = new GameView(state, player);

        // assign it to the display
        display.setTarget(view);
    }

};

/**
 * The global Graphics instance
 */
extern Graphics *graphics;

}

#endif