mirror of
https://github.com/glest/glest-source.git
synced 2025-08-09 09:56:30 +02:00
- moved map render logic into a shared base class
This commit is contained in:
36
source/shared_lib/include/graphics/gl/base_renderer.h
Normal file
36
source/shared_lib/include/graphics/gl/base_renderer.h
Normal file
@@ -0,0 +1,36 @@
|
||||
// ==============================================================
|
||||
// This file is part of Glest (www.glest.org)
|
||||
//
|
||||
// Copyright (C) 2001-2010 Mark Vejvoda
|
||||
//
|
||||
// You can redistribute this code and/or modify it under
|
||||
// the terms of the GNU General Public License as published
|
||||
// by the Free Software Foundation; either version 2 of the
|
||||
// License, or (at your option) any later version
|
||||
// ==============================================================
|
||||
|
||||
#ifndef _BASE_RENDERER_H_
|
||||
#define _BASE_RENDERER_H_
|
||||
|
||||
#include "graphics_interface.h"
|
||||
#include "leak_dumper.h"
|
||||
|
||||
namespace Shared { namespace Graphics {
|
||||
|
||||
// ===============================================
|
||||
// class BaseRenderer
|
||||
// ===============================================
|
||||
|
||||
class BaseRenderer : public RendererMapInterface {
|
||||
public:
|
||||
BaseRenderer() { }
|
||||
~BaseRenderer() { }
|
||||
|
||||
virtual void initMapSurface(int clientW, int clientH);
|
||||
virtual void renderMap(MapPreview *map, int x, int y, int clientW, int clientH, int cellSize);
|
||||
virtual void renderMapPreview(const MapPreview *map, int x, int y,bool renderAll, int screenX, int screenY);
|
||||
};
|
||||
|
||||
}} // end namespace
|
||||
|
||||
#endif
|
@@ -12,16 +12,19 @@
|
||||
#ifndef _SHARED_GRAPHICS_GRAPHICSINTERFACE_H_
|
||||
#define _SHARED_GRAPHICS_GRAPHICSINTERFACE_H_
|
||||
|
||||
#include "map_preview.h"
|
||||
#include "leak_dumper.h"
|
||||
|
||||
namespace Shared{ namespace Graphics{
|
||||
using namespace Shared::Map;
|
||||
|
||||
namespace Shared { namespace Graphics {
|
||||
|
||||
class GraphicsFactory;
|
||||
class Context;
|
||||
class Texture2D;
|
||||
class Model;
|
||||
|
||||
enum ResourceScope{
|
||||
enum ResourceScope {
|
||||
rsGlobal,
|
||||
rsMenu,
|
||||
rsGame,
|
||||
@@ -35,13 +38,20 @@ public:
|
||||
virtual Model *newModel(ResourceScope rs) = 0;
|
||||
};
|
||||
|
||||
class RendererMapInterface {
|
||||
public:
|
||||
virtual void initMapSurface(int clientW, int clientH) = 0;
|
||||
virtual void renderMap(MapPreview *map, int x, int y, int clientW, int clientH, int cellSize) = 0;
|
||||
virtual void renderMapPreview(const MapPreview *map, int x, int y,bool renderAll, int screenX, int screenY) = 0;
|
||||
};
|
||||
|
||||
// =====================================================
|
||||
// class GraphicsInterface
|
||||
//
|
||||
/// Interface for the graphic engine
|
||||
// =====================================================
|
||||
|
||||
class GraphicsInterface{
|
||||
class GraphicsInterface {
|
||||
private:
|
||||
GraphicsFactory *graphicsFactory;
|
||||
Context *currentContext;
|
||||
|
Reference in New Issue
Block a user