00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef RENDERER_H
00023 #define RENDERER_H
00024
00025 #include <iostream>
00026 #include "SDL.h"
00027
00028 #include "case.h"
00029 #include "common.h"
00030 #include "uimanager.h"
00031
00033 namespace Renderer {
00034
00039 void drawRect(const Rect &rect, const Color &color);
00040
00046 void drawRect(SDL_Surface *surface, const Rect &rect, const Color &color);
00047
00052 void drawImage(const Point &p, const ustring &texId);
00053
00059 void drawImage(const Point &p, SDL_Surface *dest, const ustring &texId);
00060
00065 void drawImage(const Point &p, SDL_Surface *texture);
00066
00072 void drawImage(const Point &p, SDL_Surface *dest, SDL_Surface *texture);
00073
00079 void drawImage(const Rect &rect, SDL_Surface *src, SDL_Surface *dest);
00080
00086 void drawImage(const Rect &rect, const Point &p2, const ustring &texId);
00087
00093 void drawButton(const Point &p1, int w, const ustring &text);
00094
00102 SDL_Surface* generateCourtPanorama(Case::Case *pcase, const ustring &prosecutor,
00103 const ustring &attorney, const ustring &witness);
00104
00106 void drawInitialScreen();
00107
00113 void drawEvidencePage(const std::vector<Case::Evidence*> &evidence, int page, int selected);
00114
00118 void drawEvidenceInfoPage(const Case::Evidence *evidence);
00119
00125 void drawProfilesPage(const std::vector<Character*> &uchars, int page, int selected);
00126
00130 void drawProfileInfoPage(const Character *character);
00131
00141 Point drawInfoStrip(const Point &p, SDL_Surface *image, const ustring &name, const ustring &caption, const ustring &desc, bool description);
00142
00148 void drawExamineScene(SDL_Surface *bg, const Point &cursor, bool slideBG=true);
00149
00155 void drawMoveScene(const std::vector<ustring> &locations, LocationMap lmap, int selected);
00156
00162 void drawTalkScene(const std::vector<StringPair> &options, int selected, bool centered=false);
00163
00164 };
00165
00166 #endif