Page principale | Liste des namespaces | Hiérarchie des classes | Liste par ordre alphabétique | Liste des composants | Liste des fichiers | Membres des namespaces | Composants | Déclarations

ExCWindow.h

Aller à la documentation de ce fichier.
00001 /************************************************************************/
00002 /* Ex Nihlo Engine by Hermanns Christophe                                                               */
00003 /************************************************************************/
00004 /* This program is free software; you can redistribute it and/or                */
00005 /* modify it under the terms of the GNU General Public License                  */
00006 /* as published by the Free Software Foundation; either version 2               */
00007 /* of the License, or (at your option) any later version.                               */
00008 /*                                                                                                                                              */
00009 /* This program is distributed in the hope that it will be useful,              */
00010 /* but WITHOUT ANY WARRANTY; without even the implied warranty of               */
00011 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                                 */
00012 /*                                                                                                                                              */
00013 /* See the GNU General Public License for more details.                                 */
00014 /*                                                                                                                                              */
00015 /* You should have received a copy of the GNU General Public License    */
00016 /* along with this program; if not, write to the Free Software                  */
00017 /* Foundation, Inc., 59 Temple Place - Suite 330,                                               */
00018 /* Boston, MA  02111-1307, USA.                                                                                 */
00019 /*                                                                                                                                              */
00020 /* If you use a important part of this code please send me a mail               */
00021 /* I just want to see where my code go thks :)                                                  */
00022 /************************************************************************/
00023 
00024 /************************************************************************/
00025 /* Contact                                                              */  
00026 /************************************************************************/
00027 /* ExNihilo Website :www.ploksoftware.org                               */
00028 /*                                                                      */
00029 /* Hermanns Christophe ExNihilo creator and main programmer             */
00030 /*                                                                      */
00031 /* Mail             : Data@ploksoftware.org                                                             */
00032 /* ICQ              : 8030901                                                                                   */
00033 /* MSN Messenger    : Data_7@hotmail.com                                                                */
00034 /*                                                                      */
00035 /* Benjamin Michotte Linux port, webmaster                              */
00036 /*                                                                      */
00037 /* Mail             :binny@ploksoftware.org                             */
00038 /*                                                                      */
00039 /************************************************************************/
00040 
00041 /************************************************************************/
00042 /* File Description                                                                                             */
00043 /************************************************************************/
00044 /* File Name   :ExCWindow.h                                                                                             */
00045 /*                                                                                                                                              */
00046 /* Star Date   :03/14/2003                                                                                              */
00047 /*                                                                                                                                              */
00048 /* Last Update :                                                        */
00049 
00050 /*                                                                                                                                              */
00051 /* File Description :                                                                                                   */
00052 /*                                                                      */
00053 /* For update of this file check : www.ploksoftware.org                 */
00054 /************************************************************************/
00055 
00056 #ifndef __EXCWINDOW_H__
00057 #define __EXCWINDOW_H__
00058 //--------------------------------
00059 // File to include
00060 //--------------------------------
00061 #include "ExDefine.h"
00062 #include "Math/ExMath.h"
00063 #include "Manager/ManagerObject/ExManagerTexture.h"
00064 #include "Manager/ExManagerWindow.h"
00065 //--------------------------------
00066 #include "Object/Object2D/WindowObject/ExCWindowObject.h"
00067 #include "Object/Object2D/WindowObject/ExCWindowControl.h"
00068 #include "Object/Object2D/WindowObject/ExCWindowButton.h"
00069 #include "Object/Object2D/WindowObject/ExCWindowLabel.h"
00070 #include "Object/Object2D/WindowObject/ExCWindowEditLabel.h"
00071 //--------------------------------
00072 class ExCWindow :public ExCWindowObject
00073 {
00074 //--------------------------------
00075 // Variable
00076 //--------------------------------
00077 protected:
00078         //Title Bar
00079         ExCWindowObject         m_TitleBar;
00080         ExCWindowButton         *m_CloseButton;
00081         ExCWindowButton         *m_MaximizeButton;
00082         ExCWindowButton         *m_MinimizeButton;
00083         ExCWindowButton         *m_MinimizeToBarButton;
00084         //Window content
00085         ExCWindowObject         m_Window;
00086 
00087 
00088         void Init(void);
00089 public:
00090         
00091 //--------------------------------
00092 // Constructor // Destructor
00093 //--------------------------------
00094         ExCWindow(void);
00095         ExCWindow(ExCVec2D Size);
00096         //inline ExCWindow(float x,float y){ExCWindow(ExCVec2D(x,y));};
00097         ExCWindow(ExCVec2D Size,ExCVec2D Position);
00098         /*inline ExCWindow(float x,float y,float xp,float yp)
00099                 {ExCWindow(ExCVec2D(x,y),ExCVec2D(xp,yp));};*/
00100         ExCWindow(ExCVec2D Size,ExCVec2D Position,std::string Title);
00101         /*inline ExCWindow(float x,float y,float xp,float yp,std::string Title)
00102                 {ExCWindow(ExCVec2D(x,y),ExCVec2D(xp,yp),Title);}*/
00103         ~ExCWindow(void);
00104 //--------------------------------
00105 // Methode
00106 //--------------------------------
00107         void RefreshPosotion(void);
00108         void RefreshSize(void);
00109         bool    m_BeClosed;
00110         void SetManagerTexture(ExManagerTexture * Texture);
00111         void Draw(void);
00112         virtual ExCAction InputAction(ExCAction Action);
00113         virtual ExCAction InputCommand(ExCCommand Command);
00114         //GetPointer
00115         ExCWindowObject *GetWindowContentPointer(void){return &m_Window;}
00116         ExCWindowObject *GetWindowBarPointer(void){return &m_TitleBar;}
00117         ExCWindowButton *GetButtonClose(void){return m_CloseButton;}
00118         ExCWindowButton *GetButtonMaximize(void){return m_MaximizeButton;}
00119         ExCWindowButton *GetButtonMinimize(void){return m_MinimizeButton;}
00120         ExCWindowButton *GetButtonMinimizeToBar(void){return m_MinimizeToBarButton;}
00121 
00122         //Position and size
00123         void SetWindowSize(ExCVec2D vec);//{m_WindowSize=vec;}
00124         //inline ExCVec2D GetWindowSize(void){return m_WindowSize;}
00125         void SetOldWindowSize(ExCVec2D vec);//{m_OldSize=vec;}
00126         //inline ExCVec2D GetOldWindowSize(void){return m_OldSize;}
00127         void SetOldPosition(ExCVec2D vec);//{m_OldPosition=vec;}
00128         //inline ExCVec2D GetOldPosition(void){return m_OldPosition;}
00129         void SetTitleBarSize(float size);//{m_TitleBarSize=size;}
00130         //inline float GetTitleBarSize(void){return m_TitleBarSize;}
00131         void SetWindowPosition(ExCVec2D vec);
00132         inline bool IsShowWindowContent(void){return m_Window.IsShowWindow();}
00133         inline void     SetShowWindowContent(bool status){m_Window.SetShowWindow(status);}
00134         inline bool IsShowWindowBar(void){return m_TitleBar.IsShowWindow();}
00135         inline void     SetShowWindowBar(bool status){m_TitleBar.SetShowWindow(status);}
00136         //Title
00137         void SetWindowTitle(std::string Title);
00138         std::string GetWindowTitle(void);
00139         void SetWindowOldTitle(std::string Title);
00140         std::string GetWindowOldTitle(void);
00141         void    SetWindowTitleColor(ExCVec3D Color);
00142         ExCVec3D GetWindowTitleColor(void);
00143 
00144         bool PointInWindow(ExCVec2D point);
00145 };
00146 #endif //__EXCWINDOW_H__

Généré le Tue Oct 28 12:43:33 2003 pour ExNihilo par doxygen 1.3.4