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
#include "Surface.h"
00046
#include "Hotspot.h"
00047
#include "Dialog.h"
00048
00049
00050
namespace gui
00051 {
00052
00053
00054 Dialog::Dialog(
Surface *s,
coord_t x,coord_t y,coord_t w,coord_t h,
SurfaceHelper *pclHelper)
00055 :
Surface(s,x,y,w,h,pclHelper)
00056 ,m_movespot(s,w -
SBSIZE,h -
SBSIZE,
SBSIZE,
SBSIZE)
00057 {
00058 SetBgColor(
DIALOG_DEFAULT_BG_R,
DIALOG_DEFAULT_BG_G,
DIALOG_DEFAULT_BG_B);
00059 SetFrameWidth(
DIALOG_DEFAULT_FW);
00060 SetFrameColor(
DIALOG_DEFAULT_FC_R,
DIALOG_DEFAULT_FC_G,
DIALOG_DEFAULT_FC_B);
00061
00062
m_movespot.
SetResizeArea(
true);
00063
m_movespot.
SetFrameWidth(0);
00064
m_movespot.
SetAnchorRight(
true );
00065
m_movespot.
SetAnchorDown(
true );
00066
AddChild(&
m_movespot);
00067 }
00068
00069
00070 Dialog::~Dialog()
00071 {
00072 }
00073
00074
00075 void Dialog::Draw()
00076 {
00077 SDL_Rect *area =
GetClientRectPtr();
00078 Uint32 color =
GetBgColor();
00079
00080 SDL_FillRect(m_screen, area, color);
00081 }
00082
00083
00084 void Dialog::AddChild(
Surface *s)
00085 {
00086 Surface::AddChild(s);
00087
00088
00089
BringToTop(&
m_movespot);
00090 }
00091
00092
00093 void Dialog::OnRightClick(coord_t x,coord_t y)
00094 {
00095
OnClose();
00096 }
00097
00098
00099 }