00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
#include <SDL.h>
00024
#include "guitypedefs.h"
00025
#include "guicolors.h"
00026
#ifdef _WIN32
00027
#pragma warning(push)
00028
00029
#include <yvals.h>
00030
00031
#pragma warning(disable: 4251)
00032
#pragma warning(disable: 4786) // identifier was truncated to 'number' characters in the debug information
00033
00034
00035
00036
00037
00038
#include <sge.h>
00039
00040
#pragma warning(pop)
00041
#else
00042
#include <sge.h>
00043
#endif
00044
00045
00046
#include "TTFont.h"
00047
00048
#include "SDLControl.h"
00049
#include "Surface.h"
00050
#include "Static.h"
00051
00052
00053
namespace gui
00054 {
00055
00056
00057 Static::Static(
Surface *s,
coord_t x,coord_t y,coord_t w,coord_t h,
SurfaceHelper *pclHelper)
00058 :
Surface(s,x,y,w,h,pclHelper)
00059 {
00060
00061 SetFgColor(
STATIC_DEFAULT_FG_R,
STATIC_DEFAULT_FG_G,
STATIC_DEFAULT_FG_B);
00062 SetFrameWidth(
STATIC_DEFAULT_FW);
00063 }
00064
00065
00066 Static::~Static()
00067 {
00068 }
00069
00070
00071 void Static::Draw()
00072 {
00073 SDL_Rect *area =
GetClientRectPtr();
00074 Uint32 color;
00075
TTFont *font =
GetTTFont();
00076 SDL_Color fg;
00077 SDL_Color bg;
00078
00079
00080
00081 color =
GetFgColor();
00082 memmove(&fg,&color,4);
00083 color =
GetBgColor();
00084 memmove(&bg,&color,4);
00085
00086
00087 SDL_FillRect(m_screen, area, color);
00088
00089
if (font && font -> GetFont())
00090 {
00091
coord_t h = font ->
GetH();
00092
coord_t y =
GetH() / 2 + h / 2;
00093
00094 sge_tt_textoutf(m_screen, font -> GetFont(),
00095 10,y,
00096 fg.r,fg.g,fg.b,
00097 bg.r,bg.g,bg.b,
00098 SDL_ALPHA_OPAQUE,
00099
"%s",GetText());
00100 }
00101 }
00102
00103
00104 }