Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

graphicmanager.h

00001 /***************************************************************************
00002                           graphicmanager.h  -  description
00003       $Id: graphicmanager.h 6 2006-06-19 21:43:20Z neoneurone $
00004                              -------------------
00005     begin                : dim sep 21 2003
00006     copyright            : (C) 2003-2005 by Duong-Khang NGUYEN
00007     email                : neoneurone @ users sourceforge net
00008  ***************************************************************************/
00009 
00010 /***************************************************************************
00011  *                                                                         *
00012  *   This program is free software; you can redistribute it and/or modify  *
00013  *   it under the terms of the GNU General Public License as published by  *
00014  *   the Free Software Foundation; either version 2 of the License, or     *
00015  *   any later version.                                                    *
00016  *                                                                         *
00017  ***************************************************************************/
00018 
00019 #ifndef _OPENCITY_GRAPHICMANAGER_H_
00020     #define _OPENCITY_GRAPHICMANAGER_H_
00021 
00022     #include "main.h"
00023 
00024 
00025 class Renderer;
00026 class Structure;
00027 
00028 class Model;
00029 class Movement;
00030 class Agent;
00031 
00032    //========================================================================
00036 class GraphicManager {
00037 public:
00038     GraphicManager();
00039     virtual ~GraphicManager();
00040 
00041 
00042 //========================================================================
00046     const uint
00047     GetSelection(
00048         const uint & rcuiWinX,
00049         const uint & rcuiWinY ) const;
00050 
00051 
00052 //========================================================================
00056     void
00057     DisplayTerrain(
00058         const uint & rcuiW,
00059         const uint & rcuiL ) const;
00060 
00061 
00062 //========================================================================
00067     void
00068     DisplayStructure(
00069         const Structure* pcStructure,
00070         const uint & rcuiW,
00071         const uint & rcuiL ) const;
00072 
00073 
00074 //========================================================================
00079     void
00080     DisplayGC(
00081         const OPENCITY_GRAPHIC_CODE & enumGC,
00082         const uint & rcuiW,
00083         const uint & rcuiL ) const;
00084 
00085 
00086     void
00087     DisplayTerrainHighlight(
00088         const uint & rcuiW,
00089         const uint & rcuiL,
00090         const OPENCITY_TOOL_CODE & enumTool ) const;
00091 
00092 
00093     void
00094     DisplayStructureHighlight(
00095         const Structure* pcStructure,
00096         const uint & rcuiW,
00097         const uint & rcuiL,
00098         const OPENCITY_TOOL_CODE & enumTool ) const;
00099 
00100 
00101     void
00102     DisplayTerrainSelection(
00103         const uint & rcuiW,
00104         const uint & rcuiL,
00105         const uint & rcuiID ) const;
00106 
00107 
00108     void
00109     DisplayStructureSelection(
00110         const Structure* pcStructure,
00111         const uint & rcuiW,
00112         const uint & rcuiL,
00113         const uint & rcuiID ) const;
00114 
00115 
00116 //========================================================================
00119     void
00120     Display(
00121         const OC_FLOAT & rcfW,
00122         const OC_FLOAT & rcfL,
00123         const OC_FLOAT & rcfH,
00124         const Movement* const pm ) const;
00125 
00126 
00127     void
00128     DisplayAgent(float x, float y, const Agent* const pAgent) const;
00129 
00130 
00131 private:
00132     Model* tabpModel [OC_GRAPHIC_CODE_MAX];     
00133 
00134 };
00135 
00136 #endif
00137 
00138 
00139 
00140 
00141 
00142 
00143 
00144 
00145 
00146 
00147 
00148 
00149 
00150 
00151 
00152 
00153 
00154 
00155 
00156 
00157 
00158 
00159 
00160 
00161 
00162 
00163 
00164 
00165 
00166 
00167 
00168 
00169 
00170 
00171 
00172 
00173 
00174 
00175 
00176 
00177 
00178 

Generated on Sat Nov 11 10:21:10 2006 for OpenCity by  doxygen 1.4.2