My Project
D:/source/c++/Programme/sally/sally/sallyAPI/Control.h
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 #pragma once
00029 #include "Define.h"
00030 #include "GUIBaseObject.h"
00031 
00032 namespace SallyAPI
00033 {
00034         namespace GUI
00035         {
00041 
00042                 enum ControlRotation {CONTROLROTATION_LEFT, CONTROLROTATION_RIGHT};
00043 
00052 
00053                 class DLL_API_SALLY CControl
00054                         : public SallyAPI::GUI::CGUIBaseObject
00055                 {
00056                 protected:
00057                         bool            m_bVisible;
00058                         bool            m_bEnabled;
00059                         bool            m_bPressed;
00060                         int                     m_iControlId;
00061                         D3DCOLOR        m_rgbFontColour;
00062                         int                     m_iAlign;
00063                         bool            m_bLocalised;
00064                         bool            m_bMouseDown;
00065                         int                     m_iMouseDownX;
00066                         int                     m_iMouseDownY;
00067 
00068                         float           m_fDeltaMoveX;
00069                         float           m_fDeltaMoveY;
00070                         int                     m_iDestinationX;
00071                         int                     m_iDestinationY;
00072                         int                     m_iStartX;
00073                         int                     m_iStartY;
00074                         int                     m_iAnimationSpeedMoveX;
00075                         int                     m_iAnimationSpeedMoveY;
00076                         bool            m_bAnimationMoveY;
00077                         bool            m_bAnimationMoveX;
00078 
00079                         float           m_fDeltaResizeWidth;
00080                         float           m_fDeltaResizeHeight;
00081                         int                     m_iDestinationWidth;
00082                         int                     m_iDestinationHeight;
00083                         int                     m_iStartWidth;
00084                         int                     m_iStartHeight;
00085                         int                     m_iAnimationSpeedResizeWidth;
00086                         int                     m_iAnimationSpeedResizeHeight;
00087                         bool            m_bAnimationResizeWidth;
00088                         bool            m_bAnimationResizeHeight;
00089 
00090                         float           m_fDeltaBlend;
00091                         int                     m_iDestinationBlend;
00092                         int                     m_iStartBlend;
00093                         int                     m_iAnimationSpeedBlend;
00094                         bool            m_bAnimationBlend;
00095 
00096                         float           m_fDeltaRotateY;
00097                         float           m_fStartRotateY;
00098                         float           m_fSpeedRotateY;
00099                         bool            m_bAnimationRotateY;
00100                         bool            m_bAnimationRotateYRun;
00101 
00102                         float           m_fDeltaRotateX;
00103                         float           m_fStartRotateX;
00104                         float           m_fSpeedRotateX;
00105                         bool            m_bAnimationRotateX;
00106                         bool            m_bAnimationRotateXRun;
00107 
00108                         float           m_fDeltaRotateZ;
00109                         float           m_fStartRotateZ;
00110                         float           m_fSpeedRotateZ;
00111                         bool            m_bAnimationRotateZ;
00112                         bool            m_bAnimationRotateZRun;
00113 
00114                         ControlRotation m_eRotationX;
00115                         ControlRotation m_eRotationY;
00116                         ControlRotation m_eRotationZ;
00117 
00118                         float           m_fStopAtAngelX;
00119                         float           m_fStopAtAngelY;
00120                         float           m_fStopAtAngelZ;
00121 
00122                         float           m_fTimeMouseUp;
00123                         float           m_fTimeMouseDown;
00124 
00125                         virtual SallyAPI::Core::CFont*  GetCurrentFont(const std::string& fontName);
00126                         virtual RECT                                    GetTextRect(int leftImage, int rightImage, int borderLeft, int borderRight, int topImage, int bottomImage, int borderTop, int borderBottom);
00127 
00128                         virtual void    DrawButtonBackground(int leftImageTop, int middleImageTop, int rightImageTop,
00129                                                                 int leftImage, int middleImage, int rightImage,
00130                                                                 int leftImageBottom, int middleImageBottom, int rightImageBottom);
00131                         virtual void    DrawButtonBackground(int leftImage, int middleImage, int rightImage);
00132                         virtual void    DrawButtonBackground(int leftImage, int middleImage, int rightImage, int xCorrection, int yCorrection, int widthCorrection, int heightCorrection);
00133                         virtual void    DrawText(RECT r, const std::string& fontName, const std::string& text);
00134                         virtual void    DrawText(int leftImage, int rightImage, int borderLeft, int borderRight, const std::string& fontName, const std::string& text = "");
00135                         virtual void    DrawText(int leftImage, int rightImage, int borderLeft, int borderRight, int topImage, int bottomImage, int borderTop, int borderBottom, const std::string& fontName, const std::string& text = "");
00136                         virtual void    DrawTextToRenderTarget(int width, int height, const std::string& fontName, int offSetX, int offSetY, const std::string& text = "");
00137 
00138                         virtual void    ResizeInternal(int width, int height);
00139                         virtual void    MoveInternal(int x, int y);
00140 
00141                         virtual void    UpdateControl();
00142 
00143                         virtual void    ResetMouse();
00144 
00145                         virtual bool    ProcessMouseDoubleClick(int x, int y);
00146                         virtual bool    ProcessMouseDown(int x, int y);
00147                         virtual bool    ProcessMouseUp(int x, int y);
00148                         virtual bool    ProcessMouseMove(int x, int y);
00149                 public:
00150                         CControl(SallyAPI::GUI::CGUIBaseObject* parent, int x, int y, int width, int height, int controlId = 0);
00151                         virtual ~CControl();
00152 
00153                         virtual void    Move(int x, int y);
00154                         virtual void    Resize(int width, int height);
00155 
00156                         virtual void    MoveAnimated(int x, int y, int speed, bool moveToEnd = true);
00157                         virtual void    ResizeAnimated(int width, int height, int speed, bool moveToEnd = true);
00158 
00159                         virtual void    MoveAnimated(int x, int y, int speedX, int speedY, bool moveToEnd = true);
00160                         virtual void    ResizeAnimated(int width, int height, int speedWidth, int speedHeight, bool moveToEnd = true);
00161 
00162                         virtual void    BlendAnimated(int alphaBlending, int speed, bool moveToEnd = true);
00163                         virtual void    RotateAnimatedY(float speed, bool bRun);
00164                         virtual void    RotateAnimatedX(float speed, bool bRun);
00165                         virtual void    RotateAnimatedZ(float speed, bool bRun);
00166 
00167 
00168                         virtual void    SetRotationX(ControlRotation value);
00169                         virtual void    SetRotationY(ControlRotation value);
00170                         virtual void    SetRotationZ(ControlRotation value);
00171 
00172                         virtual ControlRotation GetRotationX();
00173                         virtual ControlRotation GetRotationY();
00174                         virtual ControlRotation GetRotationZ();
00175 
00176                         virtual void    Visible(bool visible);
00177                         virtual void    Enable(bool enable);
00178                         virtual void    SetLocalised(bool localised);
00179                         virtual void    InvalidateControl();
00180 
00181                         virtual void    SetText(const std::string& text);
00182 
00183                         virtual bool    IsVisible();
00184                         virtual bool    IsEnabled();
00185                         virtual bool    IsLocalised();
00186                         virtual bool    IsMouseDown();
00187                         virtual bool    IsPressed();
00188 
00189                         virtual void    SetStopAngelX(float angel);
00190                         virtual void    SetStopAngelY(float angel);
00191                         virtual void    SetStopAngelZ(float angel);
00192                         
00193                         virtual int             GetMouseDownX();
00194                         virtual int             GetMouseDownY();
00195 
00196                         virtual void    SetColor(D3DCOLOR rgbFontColour);
00197                         virtual void    SetAlign(int align);
00198 
00199                         virtual int             GetControlId();
00200 
00201                         virtual void    Timer(float timeDelta);
00202                         virtual void    Render();
00203                         virtual void    Update();
00204                         virtual void    CleanUp();
00205                         virtual void    SendMessageToParent(SallyAPI::GUI::CGUIBaseObject* reporter, int reporterId, int messageId, SallyAPI::GUI::SendMessage::CParameterBase* messageParameter = NULL);
00206                         virtual void    SendMessageToChilds(SallyAPI::GUI::CGUIBaseObject* reporter, int reporterId, int messageId, SallyAPI::GUI::SendMessage::CParameterBase* messageParameter = NULL);
00207                         virtual void    ProcessKeyboard(char KeyboardState[256], char KeyboardStatePressed[256]);
00208 
00209                         virtual bool    CheckProcessMouseDoubleClick(int x, int y);
00210                         virtual bool    CheckProcessMouseDown(int x, int y);
00211                         virtual bool    CheckProcessMouseUp(int x, int y);
00212                         virtual bool    CheckProcessMouseMove(int x, int y);
00213 
00214                         int                             GetDestinationPositionX();
00215                         int                             GetDestinationPositionY();
00216                         int                             GetDestinationHeight();
00217                         int                             GetDestinationWidth();
00218 
00219                         bool                    IsAnimationActivePositionX();
00220                         bool                    IsAnimationActivePositionY();
00221                         bool                    IsAnimationActiveHeight();
00222                         bool                    IsAnimationActiveWidth();
00223                         bool                    IsControlHit(int x, int y);
00224                 };
00225         }
00226 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines