0.2.0 prep
This commit is contained in:
parent
53ac6d7d9c
commit
ba6cc67b62
@ -13,7 +13,7 @@
|
|||||||
\brief Definition file for GButton.
|
\brief Definition file for GButton.
|
||||||
|
|
||||||
Definition file for GButton, a simple button class.
|
Definition file for GButton, a simple button class.
|
||||||
<br>$Id: GewiButton.h,v 1.3 2003/05/19 23:56:05 cozman Exp $<br>
|
<br>$Id: GewiButton.h,v 1.4 2003/06/07 05:41:18 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -26,22 +26,91 @@
|
|||||||
namespace Gewi
|
namespace Gewi
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Enumeration for the button types.
|
||||||
|
|
||||||
|
Definitions of the two possible button types.
|
||||||
|
**/
|
||||||
|
enum GButtonType
|
||||||
|
{
|
||||||
|
GBT_PRESS, /*!< Simple button with standard behavior. */
|
||||||
|
GBT_HOVER /*!< Button which shows itself clicked when hovered over. */
|
||||||
|
};
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GButton class for basic buttons.
|
||||||
|
|
||||||
|
GButton simple button widget, derived from GWidget.
|
||||||
|
**/
|
||||||
class GButton : public GWidget
|
class GButton : public GWidget
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
//! Boolean holding if button is currently pressed or not.
|
||||||
bool rPressed;
|
bool rPressed;
|
||||||
|
//! Enum for type of button.
|
||||||
GButtonType rType;
|
GButtonType rType;
|
||||||
|
//! Resource ID for the non-pressed image.
|
||||||
ResourceID rNormalImage;
|
ResourceID rNormalImage;
|
||||||
|
//! Resource ID for the pressed (or hover) image.
|
||||||
ResourceID rPressedImage;
|
ResourceID rPressedImage;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Simple constructor for GButton.
|
||||||
|
|
||||||
|
Constructor for GButton, can take a parent.
|
||||||
|
\param parent Pointer to GContainer derived class to be the parent. Default value is NULL which means no parent.
|
||||||
|
**/
|
||||||
GButton(GContainer *parent=NULL);
|
GButton(GContainer *parent=NULL);
|
||||||
|
|
||||||
virtual void Create(float x, float y, float width, float height, ResourceID normalImg, ResourceID pressImg, GButtonType type=G_PRESS);
|
/*!
|
||||||
|
\brief GButton's create function, must be called to set up actual button.
|
||||||
|
|
||||||
|
Every widget has a create function which must be called to define the button's appearance and settings.
|
||||||
|
\param x X position of widget within it's container (entire screen if no parent)
|
||||||
|
\param y Y position of widget within it's container (entire screen if no parent)
|
||||||
|
\param width Width of widget.
|
||||||
|
\param height Height of widget.
|
||||||
|
\param normalImg Image for button when not pressed.
|
||||||
|
\param pressImg Image for button when pressed (or hovered if type is GBT_HOVER).
|
||||||
|
\param type GButtonType, either the default, GBT_PRESS (normal button), or GBT_HOVER (a button which responds to the hovering mouse).
|
||||||
|
**/
|
||||||
|
virtual void Create(float x, float y, float width, float height, ResourceID normalImg, ResourceID pressImg, GButtonType type=GBT_PRESS);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Overload of Message, used to recieve messages.
|
||||||
|
|
||||||
|
Recieves and processes a message, required overload for all widgets.
|
||||||
|
\param rawEvent SDL_Event of original message, may be needed if more information is available on event. (May be NULL).
|
||||||
|
\param event GewiEvent enum, description of event recieved.
|
||||||
|
\param mouseX Mouse x position in event, if not mouse event may be incorrect.
|
||||||
|
\param mouseY Mouse y position in event, if not mouse event may be incorrect.
|
||||||
|
\param ch Character pressed in event, may be 0 if not a keypress event.
|
||||||
|
**/
|
||||||
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Draws this button to the screen.
|
||||||
|
|
||||||
|
Draws widget to the screen, required overload for all widgets.
|
||||||
|
**/
|
||||||
virtual void Show();
|
virtual void Show();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Returns button state.
|
||||||
|
|
||||||
|
Returns true if buttons is pressed, false otherwise. (GBT_HOVER can only be pressed once, after that they stay down.)
|
||||||
|
\return button pressed state
|
||||||
|
**/
|
||||||
bool IsPressed();
|
bool IsPressed();
|
||||||
void SetState(bool state);
|
|
||||||
|
/*!
|
||||||
|
\brief Sets button state (pressed/unpressed).
|
||||||
|
|
||||||
|
Sets button to pressed (true) or unpressed (false).
|
||||||
|
\param pressed true means pressed, false means unpressed.
|
||||||
|
**/
|
||||||
|
void SetState(bool pressed);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Definition file for GContainer.
|
\brief Definition file for GContainer.
|
||||||
|
|
||||||
Definition file for GContainer, a barebones widget that can contain child widgets.
|
Definition file for GContainer, a barebones widget that can contain child widgets.
|
||||||
<br>$Id: GewiContainer.h,v 1.4 2003/05/21 02:47:56 cozman Exp $<br>
|
<br>$Id: GewiContainer.h,v 1.5 2003/06/07 05:41:18 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -27,24 +27,91 @@
|
|||||||
namespace Gewi
|
namespace Gewi
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GContainer class, definition of a container widget.
|
||||||
|
|
||||||
|
GContainer widget which is a standard GWidget that can serve as a parent, contain and manage other widgets.
|
||||||
|
**/
|
||||||
class GContainer : public GWidget
|
class GContainer : public GWidget
|
||||||
{
|
{
|
||||||
//friend here is used simply to allow GWidget proper access to what used to belong to it before
|
/*!
|
||||||
//the class split GWidget needs access to Add/ReleaseChild but to make them public would _reduce_
|
The usage of friend here is used simply to allow GWidget proper access to what used to belong to
|
||||||
//encapsulation (for those keeping score, this is to many people the only effective use of friend)
|
it before the class split GWidget needs access to Add/ReleaseChild but to make them public would
|
||||||
|
<strong>reduce</strong> encapsulation. (For those keeping score, this is to many people the only effective use of
|
||||||
|
friend.)
|
||||||
|
**/
|
||||||
friend GWidget;
|
friend GWidget;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
//! List of child widgets assigned to this container.
|
||||||
WidgetList rChildList;
|
WidgetList rChildList;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Adds a child to the child list.
|
||||||
|
|
||||||
|
Registers the widget as a child of this container, private because GWidget is a friend.
|
||||||
|
\param widget Widget to register as a child of this container.
|
||||||
|
**/
|
||||||
void AddChild(GWidget *widget);
|
void AddChild(GWidget *widget);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Removes a child from the child list.
|
||||||
|
|
||||||
|
Releases the widget which is a child of this container, private because GWidget is a friend.
|
||||||
|
\param widget Widget to release from this container.
|
||||||
|
**/
|
||||||
void ReleaseChild(GWidget *widget);
|
void ReleaseChild(GWidget *widget);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Inserts a child to the child list.
|
||||||
|
|
||||||
|
Calls needed function of WidgetList class to put widget into the linked list.
|
||||||
|
\param node WidgetNode to insert into rChildList.
|
||||||
|
**/
|
||||||
void InsertWidget(WidgetNode *node);
|
void InsertWidget(WidgetNode *node);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Simple constructor for GContainer.
|
||||||
|
|
||||||
|
Constructor for GContainer, can take a parent (to be contained on a GContainer derived class, allowing nested containers).
|
||||||
|
\param parent Pointer to GContainer derived class to be the parent. Default value is NULL which means no parent.
|
||||||
|
**/
|
||||||
GContainer(GContainer *parent=NULL);
|
GContainer(GContainer *parent=NULL);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Destroy container and children.
|
||||||
|
|
||||||
|
Deletes container and releases children, overloaded to free children.
|
||||||
|
**/
|
||||||
virtual void Kill();
|
virtual void Kill();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Move container and children.
|
||||||
|
|
||||||
|
Same as GWidget::Move but overloaded to move children.
|
||||||
|
\param x New x position for container.
|
||||||
|
\param y New y position for container.
|
||||||
|
**/
|
||||||
virtual void Move(float x, float y);
|
virtual void Move(float x, float y);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Overload of Message, used to recieve messages.
|
||||||
|
|
||||||
|
Recieves and processes a message, required overload for all widgets, overloaded to also account for children.
|
||||||
|
\param rawEvent SDL_Event of original message, may be needed if more information is available on event. (May be NULL).
|
||||||
|
\param event GewiEvent enum, description of event recieved.
|
||||||
|
\param mouseX Mouse x position in event, if not mouse event may be incorrect.
|
||||||
|
\param mouseY Mouse y position in event, if not mouse event may be incorrect.
|
||||||
|
\param ch Character pressed in event, may be 0 if not a keypress event.
|
||||||
|
**/
|
||||||
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Show children.
|
||||||
|
|
||||||
|
Draws all children in appropriate back-to-front order.
|
||||||
|
**/
|
||||||
virtual void Show();
|
virtual void Show();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Definition file for GewiEngine.
|
\brief Definition file for GewiEngine.
|
||||||
|
|
||||||
Definition file for GewiEngine, core engine for Gewi GUI control.
|
Definition file for GewiEngine, core engine for Gewi GUI control.
|
||||||
<br>$Id: GewiEngine.h,v 1.3 2003/05/19 23:56:05 cozman Exp $<br>
|
<br>$Id: GewiEngine.h,v 1.4 2003/06/07 05:41:18 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -23,44 +23,175 @@
|
|||||||
#include "GewiIncludes.h"
|
#include "GewiIncludes.h"
|
||||||
#include "GewiWidgetList.h"
|
#include "GewiWidgetList.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Gewi Namespace.
|
||||||
|
|
||||||
|
Namespace for all Gewi classes and utility functions.
|
||||||
|
**/
|
||||||
namespace Gewi
|
namespace Gewi
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Main GewiEngine Singleton Class
|
||||||
|
|
||||||
|
GewiEngine Singleton Class, accessible from anywhere in a program via GetInstance. Contains widgets in global context
|
||||||
|
(those drawn in relation to screen, with a NULL parent) also handles resource management of fonts and images.
|
||||||
|
**/
|
||||||
class GewiEngine
|
class GewiEngine
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
//! Singleton static instance of GewiEngine.
|
||||||
static GewiEngine *sInstance;
|
static GewiEngine *sInstance;
|
||||||
|
//! SDL_EventFilter to store old event filter, GewiEngine sets it's own.
|
||||||
static SDL_EventFilter sOldFilter;
|
static SDL_EventFilter sOldFilter;
|
||||||
|
//! Vector of pointers to ZImages, used by resource management system.
|
||||||
vector<ZImage*> mImageVec;
|
vector<ZImage*> mImageVec;
|
||||||
|
//! Vector of pointers to ZFonts, used by resource management system.
|
||||||
vector<ZFont*> mFontVec;
|
vector<ZFont*> mFontVec;
|
||||||
|
//! List of widgets in global context.
|
||||||
WidgetList mWidgetList;
|
WidgetList mWidgetList;
|
||||||
|
|
||||||
//singleton setup//
|
//singleton setup//
|
||||||
private:
|
private:
|
||||||
|
/*!
|
||||||
|
\brief GewiEngine constructor, private due to singleton design.
|
||||||
|
|
||||||
|
Initializes GewiEngine instance variables, can only be called once per run of program due to design.
|
||||||
|
**/
|
||||||
GewiEngine();
|
GewiEngine();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
//! Static variable used to represent invalid IDs (before an ID has been assigned all resourceIDs should == InvalidID).
|
||||||
static const ResourceID InvalidID = UINT_MAX; //UINT_MAX b/c many compilers don't like numeric_limits
|
static const ResourceID InvalidID = UINT_MAX; //UINT_MAX b/c many compilers don't like numeric_limits
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Get the static instance of GewiEngine.
|
||||||
|
|
||||||
|
Important key to the singleton's design, gets the static instance stored within. Creates static instance on first call.
|
||||||
|
\return Pointer to static instance of GewiEngine.
|
||||||
|
**/
|
||||||
|
|
||||||
static GewiEngine* GetInstance();
|
static GewiEngine* GetInstance();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Release static instance.
|
||||||
|
|
||||||
|
Releases the instance of GewiEngine, basically only called at very end of program.
|
||||||
|
**/
|
||||||
static void ReleaseInstance();
|
static void ReleaseInstance();
|
||||||
|
|
||||||
//utilities//
|
//utilities//
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Static event filter, defined to SDL specifications.
|
||||||
|
|
||||||
|
Replaces SDL default event filter, and filters events into static GewiEngine instance.
|
||||||
|
\param event SDL_Event to handle.
|
||||||
|
\return Return values specified by SDL.
|
||||||
|
**/
|
||||||
static int EventFilter(SDL_Event *event);
|
static int EventFilter(SDL_Event *event);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Translate an SDL structure into a character, used by EventFilter.
|
||||||
|
|
||||||
|
Converts SDL_keysym into a standard char, only works for certain meaningful keys.
|
||||||
|
\param key SDL_keysm structure to convert.
|
||||||
|
\return Converted character.
|
||||||
|
**/
|
||||||
static char TranslateKey(SDL_keysym key);
|
static char TranslateKey(SDL_keysym key);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Draw all widgets in the Gewi system.
|
||||||
|
|
||||||
|
Draws all top level widgets and containers, container widgets are expected to draw their own children.
|
||||||
|
**/
|
||||||
void Display();
|
void Display();
|
||||||
|
|
||||||
//resource management//
|
//resource management//
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Adds an image resource to the private vector.
|
||||||
|
|
||||||
|
Add a ZImage to the private vector of images and assign it a ResourceID.
|
||||||
|
\param image Image to add to resources.
|
||||||
|
\return ID number of new resource.
|
||||||
|
**/
|
||||||
ResourceID AddResource(ZImage *image);
|
ResourceID AddResource(ZImage *image);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Adds a font resource to the private vector.
|
||||||
|
|
||||||
|
Add a ZFont to the private vector of fonts and assign it a ResourceID.
|
||||||
|
\param font Font to add to resources.
|
||||||
|
\return ID number of new resource.
|
||||||
|
**/
|
||||||
ResourceID AddResource(ZFont *font);
|
ResourceID AddResource(ZFont *font);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Access an image in the resource vector.
|
||||||
|
|
||||||
|
Given the images ID get a pointer to an image stored in the image vector.
|
||||||
|
\param id ID of image to retrieve.
|
||||||
|
\return Pointer to image or NULL if invalid ID for images.
|
||||||
|
**/
|
||||||
ZImage* Image(ResourceID id);
|
ZImage* Image(ResourceID id);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Access a font in the resource vector.
|
||||||
|
|
||||||
|
Given the fonts ID get a pointer to a font stored in the font vector.
|
||||||
|
\param id ID of font to retrieve.
|
||||||
|
\return Pointer to font or NULL if invalid ID for fonts.
|
||||||
|
**/
|
||||||
ZFont* Font(ResourceID id);
|
ZFont* Font(ResourceID id);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Free all resources.
|
||||||
|
|
||||||
|
Frees memory for all resources.
|
||||||
|
**/
|
||||||
void FreeResources();
|
void FreeResources();
|
||||||
|
|
||||||
//widget management//
|
//widget management//
|
||||||
private:
|
private:
|
||||||
|
/*!
|
||||||
|
\brief Inserts a child to the child list.
|
||||||
|
|
||||||
|
Calls needed function of WidgetList class to put widget into the linked list.
|
||||||
|
\param node WidgetNode to insert into mWidgetList.
|
||||||
|
**/
|
||||||
void InsertWidget(WidgetNode *node);
|
void InsertWidget(WidgetNode *node);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Register a widget, adding it to the list of widgets.
|
||||||
|
|
||||||
|
Add a widget to the list of widgets, all widgets register themselves.
|
||||||
|
\param widget Widget to register.
|
||||||
|
**/
|
||||||
void Register(GWidget *widget);
|
void Register(GWidget *widget);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Send a message to the widgets, this function will decide which widgets the message is relevant to.
|
||||||
|
|
||||||
|
Send a message to the widgets, this function will decide which widgets the message is relevant to.
|
||||||
|
This generally isn't called by the client of GewiEngine, instead the EventFilter hook on events will filter
|
||||||
|
and process. This can be used to fake an event however.
|
||||||
|
\param rawEvent SDL_Event of original message, may be needed if more information is available on event. (May be NULL).
|
||||||
|
\param event GewiEvent enum, description of event recieved.
|
||||||
|
\param mouseX Mouse x position in event, if not mouse event may be incorrect.
|
||||||
|
\param mouseY Mouse y position in event, if not mouse event may be incorrect.
|
||||||
|
\param ch Character pressed in event, may be 0 if not a keypress event.
|
||||||
|
**/
|
||||||
void SendMessage(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
void SendMessage(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Delete a widget.
|
||||||
|
|
||||||
|
This deletes a widget and memory associated with that widget, like register, widgets do this for themselves.
|
||||||
|
\param widget to delete
|
||||||
|
**/
|
||||||
void DeleteWidget(GWidget *widget);
|
void DeleteWidget(GWidget *widget);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Include file for Gewi.
|
\brief Include file for Gewi.
|
||||||
|
|
||||||
Include file for Gewi, contains external includes for Gewi.
|
Include file for Gewi, contains external includes for Gewi.
|
||||||
<br>$Id: GewiIncludes.h,v 1.3 2003/05/19 23:56:05 cozman Exp $<br>
|
<br>$id: GewiIncludes.h,v 1.3 2003/05/19 23:56:05 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -22,14 +22,10 @@
|
|||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <limits>
|
#include <climits>
|
||||||
#include "ZEngine.h"
|
#include "ZEngine.h"
|
||||||
typedef unsigned int WidgetID;
|
#include "GewiDefines.h"
|
||||||
typedef unsigned int ResourceID;
|
|
||||||
enum GewiEvent { GE_LDOWN, GE_LUP, GE_RDOWN, GE_RUP, GE_KDOWN, GE_KUP, GE_GOTFOCUS, GE_LOSTFOCUS };
|
|
||||||
enum _GewiJustify { GJ_CENTER = 0, GJ_LEFT = 1<<0, GJ_RIGHT = 1<<1, GJ_TOP = 1<<2, GJ_BOTTOM = 1<<3 };
|
|
||||||
enum GButtonType { G_PRESS, G_HOVER };
|
|
||||||
typedef unsigned int GewiJustify;
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace ZE;
|
using namespace ZE;
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Definition file for GSlider, GHorizSlider and GVertSlider.
|
\brief Definition file for GSlider, GHorizSlider and GVertSlider.
|
||||||
|
|
||||||
Definition file for GSlider, GHorizSlider and GVertSlider, the slide-select classes for Gewi.
|
Definition file for GSlider, GHorizSlider and GVertSlider, the slide-select classes for Gewi.
|
||||||
<br>$Id: GewiSlider.h,v 1.3 2003/05/19 23:56:05 cozman Exp $<br>
|
<br>$Id: GewiSlider.h,v 1.4 2003/06/07 05:41:18 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -26,35 +26,125 @@
|
|||||||
namespace Gewi
|
namespace Gewi
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GSlider (virtual) slider widget class.
|
||||||
|
|
||||||
|
Framework for simple slider widget, virtual (fails to overload Show), derived from GWidget.
|
||||||
|
**/
|
||||||
class GSlider : public GWidget
|
class GSlider : public GWidget
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
//! Boolean value holding if slider is currently 'pressed' or active.
|
||||||
bool rPressed;
|
bool rPressed;
|
||||||
|
//! ID for background image for slider.
|
||||||
ResourceID rBackground;
|
ResourceID rBackground;
|
||||||
|
//! Image ID for the sliding part of the slider.
|
||||||
ResourceID rSlider;
|
ResourceID rSlider;
|
||||||
float rMin,rMax,rPos;
|
//! Minimum position for slider.
|
||||||
|
float rMin;
|
||||||
|
//! Maximum position for slider.
|
||||||
|
float rMax;
|
||||||
|
//! Current position of slider.
|
||||||
|
float rPos;
|
||||||
|
//! Movement snap increment.
|
||||||
int rIncrement;
|
int rIncrement;
|
||||||
public:
|
|
||||||
GSlider();
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Simple constructor for GSlider.
|
||||||
|
|
||||||
|
Default constructor for GSlider, can take a parent.
|
||||||
|
\param parent Pointer to GContainer derived class to be the parent. Default value is NULL which means no parent.
|
||||||
|
**/
|
||||||
|
GSlider(GContainer *parent=NULL);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GSlider's create function, must be called to set up actual slider.
|
||||||
|
|
||||||
|
Every widget has a create function which must be called to define the button's appearance and settings.
|
||||||
|
\param x X position of widget within it's container (entire screen if no parent)
|
||||||
|
\param y Y position of widget within it's container (entire screen if no parent)
|
||||||
|
\param width Width of widget.
|
||||||
|
\param height Height of widget.
|
||||||
|
\param backgroundImg Image for stationary portion of slider.
|
||||||
|
\param sliderImg Image for moving portion of slider.
|
||||||
|
\param min Minimum value on slider.
|
||||||
|
\param max Maximum value on slider.
|
||||||
|
\param increment Slider snap-to increment.
|
||||||
|
**/
|
||||||
virtual void Create(float x, float y, float width, float height, ResourceID backgroundImg, ResourceID sliderImg,
|
virtual void Create(float x, float y, float width, float height, ResourceID backgroundImg, ResourceID sliderImg,
|
||||||
float min, float max, int increment);
|
float min, float max, int increment);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Set position of slider.
|
||||||
|
|
||||||
|
Sets position of slider, will snap within bounds.
|
||||||
|
\param pos Desired position.
|
||||||
|
**/
|
||||||
void SetPos(float pos);
|
void SetPos(float pos);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Get position of slider.
|
||||||
|
|
||||||
|
Access current position of slider.
|
||||||
|
\return Slider position.
|
||||||
|
**/
|
||||||
float GetPos();
|
float GetPos();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GHorizSlider, horizontal slider widget class.
|
||||||
|
|
||||||
|
Derived from GSlider, overloads message and show to complete the class.
|
||||||
|
**/
|
||||||
class GHorizSlider : public GSlider
|
class GHorizSlider : public GSlider
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Overload of Message, used to recieve messages.
|
||||||
|
|
||||||
|
Recieves and processes a message, required overload for all widgets.
|
||||||
|
\param rawEvent SDL_Event of original message, may be needed if more information is available on event. (May be NULL).
|
||||||
|
\param event GewiEvent enum, description of event recieved.
|
||||||
|
\param mouseX Mouse x position in event, if not mouse event may be incorrect.
|
||||||
|
\param mouseY Mouse y position in event, if not mouse event may be incorrect.
|
||||||
|
\param ch Character pressed in event, may be 0 if not a keypress event.
|
||||||
|
**/
|
||||||
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Draws this slider to the screen.
|
||||||
|
|
||||||
|
Draws widget to the screen, required overload for all widgets.
|
||||||
|
**/
|
||||||
virtual void Show();
|
virtual void Show();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GHorizSlider, horizontal slider widget class
|
||||||
|
|
||||||
|
Derived from GSlider, overloads message and show to complete the class.
|
||||||
|
**/
|
||||||
class GVertSlider : public GSlider
|
class GVertSlider : public GSlider
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Overload of Message, used to recieve messages.
|
||||||
|
|
||||||
|
Recieves and processes a message, required overload for all widgets.
|
||||||
|
\param rawEvent SDL_Event of original message, may be needed if more information is available on event. (May be NULL).
|
||||||
|
\param event GewiEvent enum, description of event recieved.
|
||||||
|
\param mouseX Mouse x position in event, if not mouse event may be incorrect.
|
||||||
|
\param mouseY Mouse y position in event, if not mouse event may be incorrect.
|
||||||
|
\param ch Character pressed in event, may be 0 if not a keypress event.
|
||||||
|
**/
|
||||||
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Draws this slider to the screen.
|
||||||
|
|
||||||
|
Draws widget to the screen, required overload for all widgets.
|
||||||
|
**/
|
||||||
virtual void Show();
|
virtual void Show();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Definition file for GStaticText.
|
\brief Definition file for GStaticText.
|
||||||
|
|
||||||
Definition file for GStaticText, file to hold static text, labels and such.
|
Definition file for GStaticText, file to hold static text, labels and such.
|
||||||
<br>$Id: GewiStaticText.h,v 1.3 2003/05/19 23:56:05 cozman Exp $<br>
|
<br>$Id: GewiStaticText.h,v 1.4 2003/06/07 05:41:18 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -26,24 +26,86 @@
|
|||||||
namespace Gewi
|
namespace Gewi
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GStaticText for stationary labels.
|
||||||
|
|
||||||
|
GStaticText, stationary label class, derived from GWidget.
|
||||||
|
**/
|
||||||
class GStaticText : public GWidget
|
class GStaticText : public GWidget
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
//! Image for background of label (often no image).
|
||||||
ResourceID rBackgroundImage;
|
ResourceID rBackgroundImage;
|
||||||
|
//! Font to use for label.
|
||||||
ResourceID rFont;
|
ResourceID rFont;
|
||||||
|
//! Current text of label.
|
||||||
string rText;
|
string rText;
|
||||||
|
//! Text buffer ZImage, used internally.
|
||||||
ZImage rTextBuf;
|
ZImage rTextBuf;
|
||||||
int rXOff,rYOff;
|
//! Calculated X Offset for text, calculated from justification.
|
||||||
|
int rXOff;
|
||||||
|
//! Calculated Y Offset for text, calculated from justification.
|
||||||
|
int rYOff;
|
||||||
|
//! Justification, can be or'ed together enums from _GewiJustify, see documentation of that enum for details.
|
||||||
GewiJustify rJustify;
|
GewiJustify rJustify;
|
||||||
public:
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Simple constructor for GStaticText.
|
||||||
|
|
||||||
|
Constructor for GStaticText, can take a parent.
|
||||||
|
\param parent Pointer to GContainer derived class to be the parent. Default value is NULL which means no parent.
|
||||||
|
**/
|
||||||
GStaticText(GContainer *parent=NULL);
|
GStaticText(GContainer *parent=NULL);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GButton's create function, must be called to set up actual button.
|
||||||
|
|
||||||
|
Every widget has a create function which must be called to define the button's appearance and settings.
|
||||||
|
\param x X position of widget within it's container (entire screen if no parent)
|
||||||
|
\param y Y position of widget within it's container (entire screen if no parent)
|
||||||
|
\param width Width of widget.
|
||||||
|
\param height Height of widget.
|
||||||
|
\param font Font ID for text.
|
||||||
|
\param text Text for static label. (Defaults to a blank space.)
|
||||||
|
\param just Justification, see documented _GewiJustify for details. Defaults to GJ_CENTER.
|
||||||
|
\param backgroundImg Image for background, defaults to GewiEngine::InvalidID.
|
||||||
|
**/
|
||||||
virtual void Create(float x, float y, float width, float height,
|
virtual void Create(float x, float y, float width, float height,
|
||||||
ResourceID font, ResourceID backgroundImg=GewiEngine::InvalidID, string text=" ", GewiJustify just=GJ_CENTER);
|
ResourceID font, string text=" ", GewiJustify just=GJ_CENTER, ResourceID backgroundImg=GewiEngine::InvalidID);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Overload of Message, used to recieve messages.
|
||||||
|
|
||||||
|
Recieves and processes a message, required overload for all widgets.
|
||||||
|
\param rawEvent SDL_Event of original message, may be needed if more information is available on event. (May be NULL).
|
||||||
|
\param event GewiEvent enum, description of event recieved.
|
||||||
|
\param mouseX Mouse x position in event, if not mouse event may be incorrect.
|
||||||
|
\param mouseY Mouse y position in event, if not mouse event may be incorrect.
|
||||||
|
\param ch Character pressed in event, may be 0 if not a keypress event.
|
||||||
|
**/
|
||||||
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Draws static label to the screen.
|
||||||
|
|
||||||
|
Draws static label to the screen, required overload for all widgets.
|
||||||
|
**/
|
||||||
virtual void Show();
|
virtual void Show();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Set text of label.
|
||||||
|
|
||||||
|
Sets the current text of the label.
|
||||||
|
\param text New text for label.
|
||||||
|
**/
|
||||||
void SetText(string text);
|
void SetText(string text);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Get current text in label.
|
||||||
|
|
||||||
|
Return text in label.
|
||||||
|
\return text currently in label.
|
||||||
|
**/
|
||||||
string GetText();
|
string GetText();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Definition file for GTextButton.
|
\brief Definition file for GTextButton.
|
||||||
|
|
||||||
Definition file for GTextButton, a GButton that has a text label.
|
Definition file for GTextButton, a GButton that has a text label.
|
||||||
<br>$Id: GewiTextButton.h,v 1.3 2003/05/19 23:56:05 cozman Exp $<br>
|
<br>$Id: GewiTextButton.h,v 1.4 2003/06/07 05:41:18 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -26,21 +26,72 @@
|
|||||||
namespace Gewi
|
namespace Gewi
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GTextButton class for button with text label.
|
||||||
|
|
||||||
|
GTextButton text label button widget, derived from GButton.
|
||||||
|
**/
|
||||||
class GTextButton : public GButton
|
class GTextButton : public GButton
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
//! Text label for button.
|
||||||
string rText;
|
string rText;
|
||||||
|
//! Text Buffer, used internally.
|
||||||
ZImage rTextBuf;
|
ZImage rTextBuf;
|
||||||
int rXOff,rYOff;
|
//! X offset of text.
|
||||||
|
int rXOff;
|
||||||
|
//! Y offset of text.
|
||||||
|
int rYOff;
|
||||||
|
//! Font ID for text label.
|
||||||
ResourceID rFont;
|
ResourceID rFont;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Simple constructor for GButton.
|
||||||
|
|
||||||
|
Constructor for GButton, can take a parent.
|
||||||
|
\param parent Pointer to GContainer derived class to be the parent. Default value is NULL which means no parent.
|
||||||
|
**/
|
||||||
GTextButton(GContainer *parent=NULL);
|
GTextButton(GContainer *parent=NULL);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GButton's create function, must be called to set up actual button.
|
||||||
|
|
||||||
|
Every widget has a create function which must be called to define the button's appearance and settings.
|
||||||
|
\param x X position of widget within it's container (entire screen if no parent)
|
||||||
|
\param y Y position of widget within it's container (entire screen if no parent)
|
||||||
|
\param width Width of widget.
|
||||||
|
\param height Height of widget.
|
||||||
|
\param normalImg Image for button when not pressed.
|
||||||
|
\param pressImg Image for button when pressed (or hovered if type is GBT_HOVER).
|
||||||
|
\param font Font to draw label with.
|
||||||
|
\param text Text for button. (default is blank)
|
||||||
|
\param type GButtonType, either the default, GBT_PRESS (normal button), or GBT_HOVER (a button which responds to the hovering mouse).
|
||||||
|
**/
|
||||||
virtual void Create(float x, float y, float width, float height, ResourceID normalImg, ResourceID pressImg, ResourceID font,
|
virtual void Create(float x, float y, float width, float height, ResourceID normalImg, ResourceID pressImg, ResourceID font,
|
||||||
string text=" ", GButtonType type=G_PRESS);
|
string text=" ", GButtonType type=GBT_PRESS);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Draws static label to the screen.
|
||||||
|
|
||||||
|
Draws static label to the screen, required overload for all widgets.
|
||||||
|
**/
|
||||||
virtual void Show();
|
virtual void Show();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Set text of button.
|
||||||
|
|
||||||
|
Sets the current text of the button.
|
||||||
|
\param text New text for button.
|
||||||
|
**/
|
||||||
void SetText(string text);
|
void SetText(string text);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Get current text of button label.
|
||||||
|
|
||||||
|
Return text on button label.
|
||||||
|
\return text currently on button label.
|
||||||
|
**/
|
||||||
string GetText();
|
string GetText();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Definition file for GTextField.
|
\brief Definition file for GTextField.
|
||||||
|
|
||||||
Definition file for GTextField, text input area widget.
|
Definition file for GTextField, text input area widget.
|
||||||
<br>$Id: GewiTextField.h,v 1.4 2003/05/21 02:47:56 cozman Exp $<br>
|
<br>$Id: GewiTextField.h,v 1.5 2003/06/07 05:41:18 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -26,24 +26,84 @@
|
|||||||
namespace Gewi
|
namespace Gewi
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GTextField class for basic text input area.
|
||||||
|
|
||||||
|
GTextField simple text input area widget, derived from GWidget.
|
||||||
|
**/
|
||||||
class GTextField : public GWidget
|
class GTextField : public GWidget
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
//! Text currently entered.
|
||||||
string rText;
|
string rText;
|
||||||
|
//! Text buffer, used internally.
|
||||||
ZImage rBuffer;
|
ZImage rBuffer;
|
||||||
|
//! Font for text.
|
||||||
ResourceID rFont;
|
ResourceID rFont;
|
||||||
|
//! Background for text input area.
|
||||||
ResourceID rBackground;
|
ResourceID rBackground;
|
||||||
int rMaxChars,rLeftPadding;
|
//! Maximum number of characters allowed to be entered.
|
||||||
public:
|
int rMaxChars;
|
||||||
GTextField(GContainer *parent=NULL);
|
//! Amount of padding on left hand side.
|
||||||
~GTextField();
|
int rLeftPadding;
|
||||||
|
|
||||||
virtual void Kill();
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Simple constructor for GTextField.
|
||||||
|
|
||||||
|
Constructor for GTextField, can take a parent.
|
||||||
|
\param parent Pointer to GContainer derived class to be the parent. Default value is NULL which means no parent.
|
||||||
|
**/
|
||||||
|
GTextField(GContainer *parent=NULL);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GButton's create function, must be called to set up actual button.
|
||||||
|
|
||||||
|
Every widget has a create function which must be called to define the button's appearance and settings.
|
||||||
|
\param x X position of widget within it's container (entire screen if no parent)
|
||||||
|
\param y Y position of widget within it's container (entire screen if no parent)
|
||||||
|
\param width Width of widget.
|
||||||
|
\param height Height of widget.
|
||||||
|
\param font Font for text.
|
||||||
|
\param backgroundImg Image for text input box.
|
||||||
|
\param maxChars Maximum number of characters to be entered, defaults to 256.
|
||||||
|
\param leftPad padding on left side, defaults to zero.
|
||||||
|
**/
|
||||||
virtual void Create(float x, float y, float width, float height, ResourceID font, ResourceID backgroundImg, int maxChars=256, int leftPad=0);
|
virtual void Create(float x, float y, float width, float height, ResourceID font, ResourceID backgroundImg, int maxChars=256, int leftPad=0);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Overload of Message, used to recieve messages.
|
||||||
|
|
||||||
|
Recieves and processes a message, required overload for all widgets.
|
||||||
|
\param rawEvent SDL_Event of original message, may be needed if more information is available on event. (May be NULL).
|
||||||
|
\param event GewiEvent enum, description of event recieved.
|
||||||
|
\param mouseX Mouse x position in event, if not mouse event may be incorrect.
|
||||||
|
\param mouseY Mouse y position in event, if not mouse event may be incorrect.
|
||||||
|
\param ch Character pressed in event, may be 0 if not a keypress event.
|
||||||
|
**/
|
||||||
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Draws the text input area & text to the screen.
|
||||||
|
|
||||||
|
Draws widget to the screen, required overload for all widgets.
|
||||||
|
**/
|
||||||
virtual void Show();
|
virtual void Show();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Set text in input area.
|
||||||
|
|
||||||
|
Sets the current text of the buffer for input area.
|
||||||
|
\param text New text for button.
|
||||||
|
**/
|
||||||
void SetText(string text);
|
void SetText(string text);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Get current text of the input box.
|
||||||
|
|
||||||
|
Return text in the input buffer.
|
||||||
|
\return text currently in input buffer.
|
||||||
|
**/
|
||||||
string GetText();
|
string GetText();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Definition file for GWidget.
|
\brief Definition file for GWidget.
|
||||||
|
|
||||||
Definition file for GWidget, virtual widget base class.
|
Definition file for GWidget, virtual widget base class.
|
||||||
<br>$Id: GewiWidget.h,v 1.3 2003/05/19 23:56:05 cozman Exp $<br>
|
<br>$Id: GewiWidget.h,v 1.4 2003/06/07 05:41:18 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -25,38 +25,151 @@
|
|||||||
namespace Gewi
|
namespace Gewi
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
class GewiEngine;
|
class GewiEngine;
|
||||||
class GContainer;
|
class GContainer;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GWidget base widget class.
|
||||||
|
|
||||||
|
Basic widget class, framework and base class for all other widgets.
|
||||||
|
**/
|
||||||
class GWidget
|
class GWidget
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
//! Pointer to GewiEngine instance.
|
||||||
GewiEngine *rGewi;
|
GewiEngine *rGewi;
|
||||||
|
//! Pointer to ZEngine instance.
|
||||||
ZEngine *rZE;
|
ZEngine *rZE;
|
||||||
|
//! Rectangle describing area of widget.
|
||||||
ZRect rBoundRect;
|
ZRect rBoundRect;
|
||||||
|
//! Pointer to parent container. (NULL means it lays in the global setting).
|
||||||
GContainer *rParent;
|
GContainer *rParent;
|
||||||
float rRelX,rRelY;
|
//! Relative X position, relative to parent, or top corner of screen if in global setting.
|
||||||
|
float rRelX;
|
||||||
|
//! Relative Y position, relative to parent, or top corner of screen if in global setting.
|
||||||
|
float rRelY;
|
||||||
|
//! Stores if widget is currently visible.
|
||||||
bool rVisible;
|
bool rVisible;
|
||||||
|
//! Stores if widget is currently 'alive.'
|
||||||
bool rAlive;
|
bool rAlive;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Simple constructor for GWidget.
|
||||||
|
|
||||||
|
Constructor for GWidget, like all widgets this must initialize private data and can take a parent.
|
||||||
|
\param parent Pointer to GContainer derived class to be the parent. Default value is NULL which means no parent.
|
||||||
|
**/
|
||||||
GWidget(GContainer *parent=NULL);
|
GWidget(GContainer *parent=NULL);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Simple destructor.
|
||||||
|
|
||||||
|
Must be virtual so that each derived class can free it's members.
|
||||||
|
**/
|
||||||
virtual ~GWidget();
|
virtual ~GWidget();
|
||||||
|
|
||||||
void FitParent();
|
/*!
|
||||||
|
\brief Toggle the visible flag.
|
||||||
|
|
||||||
|
Toggles the visible flag, only visible widgets are drawn.
|
||||||
|
**/
|
||||||
void ToggleVisible();
|
void ToggleVisible();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Kill widget, and all data associated with it.
|
||||||
|
|
||||||
|
Widget frees itself from parent, and sets it's internal state to dead.
|
||||||
|
Virtual in case other things need to be freed.
|
||||||
|
**/
|
||||||
virtual void Kill();
|
virtual void Kill();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Reposition widget within parent.
|
||||||
|
|
||||||
|
Adjust this widget to be in the correct position in relationship to it's parent. Only containers call this on
|
||||||
|
their children, it generally shouldn't be called.
|
||||||
|
**/
|
||||||
|
void FitParent();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Sets position and dimensions of widget.
|
||||||
|
|
||||||
|
Sets up widget rectangle, most widgets must override this to include their specific settings.
|
||||||
|
\param x X position of widget within it's container (entire screen if no parent)
|
||||||
|
\param y Y position of widget within it's container (entire screen if no parent)
|
||||||
|
\param width Width of widget.
|
||||||
|
\param height Height of widget.
|
||||||
|
**/
|
||||||
virtual void Create(float x, float y, float width, float height);
|
virtual void Create(float x, float y, float width, float height);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Change relative position.
|
||||||
|
|
||||||
|
Set new relative position for widget.
|
||||||
|
\param x New relative x position.
|
||||||
|
\param y New relative y position.
|
||||||
|
**/
|
||||||
virtual void Move(float x, float y);
|
virtual void Move(float x, float y);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Important function used to recieve messages.
|
||||||
|
|
||||||
|
Recieves and processes a message, required overload for all widgets.
|
||||||
|
\param rawEvent SDL_Event of original message, may be needed if more information is available on event. (May be NULL).
|
||||||
|
\param event GewiEvent enum, description of event recieved.
|
||||||
|
\param mouseX Mouse x position in event, if not mouse event may be incorrect.
|
||||||
|
\param mouseY Mouse y position in event, if not mouse event may be incorrect.
|
||||||
|
\param ch Character pressed in event, may be 0 if not a keypress event.
|
||||||
|
**/
|
||||||
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch)=0;
|
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch)=0;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Draws this button to the screen.
|
||||||
|
|
||||||
|
Draws widget to the screen, required overload for all widgets.
|
||||||
|
**/
|
||||||
virtual void Show()=0;
|
virtual void Show()=0;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Get X position of widget.
|
||||||
|
|
||||||
|
Get actual (not relative) X position of top left corner of widget.
|
||||||
|
\return Actual x position of widget.
|
||||||
|
**/
|
||||||
float X();
|
float X();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Get Y position of widget.
|
||||||
|
|
||||||
|
Get actual (not relative) Y position of top left corner of widget.
|
||||||
|
\return Actual y position of widget.
|
||||||
|
**/
|
||||||
float Y();
|
float Y();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Get visible state of widget.
|
||||||
|
|
||||||
|
Returns status of internal visible flag.
|
||||||
|
\return true if visible, false otherwise.
|
||||||
|
**/
|
||||||
bool Visible();
|
bool Visible();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Check if mouse is in widget.
|
||||||
|
|
||||||
|
Returns status of mouse inside widget.
|
||||||
|
\return true if mouse pointer inside widget, false otherwise.
|
||||||
|
**/
|
||||||
bool MouseInWidget();
|
bool MouseInWidget();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Check if the widget contains a point.
|
||||||
|
|
||||||
|
Check if the widget contains the point specified.
|
||||||
|
\param x X value of point to check.
|
||||||
|
\param y Y value of point to check.
|
||||||
|
**/
|
||||||
bool Contains(Sint16 x, Sint16 y);
|
bool Contains(Sint16 x, Sint16 y);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Definition file for WidgetList.
|
\brief Definition file for WidgetList.
|
||||||
|
|
||||||
Definition file for WidgetList, a list of widgets used by GewiEngine and GContainers.
|
Definition file for WidgetList, a list of widgets used by GewiEngine and GContainers.
|
||||||
<br>$Id: GewiWidgetList.h,v 1.3 2003/05/19 23:56:05 cozman Exp $<br>
|
<br>$Id: GewiWidgetList.h,v 1.4 2003/06/07 05:41:18 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -27,31 +27,106 @@ namespace Gewi
|
|||||||
|
|
||||||
class GWidget;
|
class GWidget;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief WidgetNode class, node for linked list.
|
||||||
|
|
||||||
|
Doubly linked list node containing a widget.
|
||||||
|
**/
|
||||||
class WidgetNode
|
class WidgetNode
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Basic constructor.
|
||||||
|
|
||||||
|
Simple safety constructor just sets all values to NULL.
|
||||||
|
**/
|
||||||
WidgetNode();
|
WidgetNode();
|
||||||
|
|
||||||
|
//! Pointer to widget for this node.
|
||||||
GWidget *widget;
|
GWidget *widget;
|
||||||
|
//! Pointer to previous node.
|
||||||
WidgetNode *prev;
|
WidgetNode *prev;
|
||||||
|
//! Pointer to next node.
|
||||||
WidgetNode *next;
|
WidgetNode *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Class containing a linked list of widgets.
|
||||||
|
|
||||||
|
Linked list of widgets, and various utility functions for containers.
|
||||||
|
Class is internally used only, GContainer and GewiEngine heavily rely on it.
|
||||||
|
**/
|
||||||
class WidgetList
|
class WidgetList
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
//! Pointer to head of list.
|
||||||
WidgetNode *mWidgetList;
|
WidgetNode *mWidgetList;
|
||||||
|
//! Variable keeping track of where the last click was, to change focus.
|
||||||
WidgetNode *mClick;
|
WidgetNode *mClick;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Internal function to delete widget memory.
|
||||||
|
|
||||||
|
Deletes the memory used by a widget node, interally used.
|
||||||
|
\param node Node to delete.
|
||||||
|
**/
|
||||||
void DeleteWidgetMem(WidgetNode *node);
|
void DeleteWidgetMem(WidgetNode *node);
|
||||||
public:
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Constructor for the linked list.
|
||||||
|
|
||||||
|
Simply NULLs pointers for the linked list.
|
||||||
|
**/
|
||||||
WidgetList();
|
WidgetList();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Add a WidgetNode to the list.
|
||||||
|
|
||||||
|
Adds a WidgetNode to the list, in the 'front'.
|
||||||
|
\param node Node to add to list.
|
||||||
|
**/
|
||||||
void AddWidget(WidgetNode *node);
|
void AddWidget(WidgetNode *node);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Delete a widget.
|
||||||
|
|
||||||
|
Deletes a widget, it's memory and frees it from it's container or GewiEngine.
|
||||||
|
\param widget Widget to delete.
|
||||||
|
**/
|
||||||
void DeleteWidget(GWidget *widget);
|
void DeleteWidget(GWidget *widget);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Delete all widgets.
|
||||||
|
|
||||||
|
Deletes all widgets and their memory.
|
||||||
|
**/
|
||||||
void DeleteWidgets();
|
void DeleteWidgets();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Intercepts a message to process.
|
||||||
|
|
||||||
|
Intercepts and processes incoming messages, delegating them where they belong.
|
||||||
|
\param rawEvent SDL_Event of original message, may be needed if more information is available on event. (May be NULL).
|
||||||
|
\param event GewiEvent enum, description of event recieved.
|
||||||
|
\param mouseX Mouse x position in event, if not mouse event may be incorrect.
|
||||||
|
\param mouseY Mouse y position in event, if not mouse event may be incorrect.
|
||||||
|
\param ch Character pressed in event, may be 0 if not a keypress event.
|
||||||
|
**/
|
||||||
void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Fit all widgets to the parent.
|
||||||
|
|
||||||
|
Fits widgets to parent of which this linked list is a part of.
|
||||||
|
**/
|
||||||
void FitParent();
|
void FitParent();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Show widgets.
|
||||||
|
|
||||||
|
Calls Show method of widgets in reverse order for proper appearance.
|
||||||
|
**/
|
||||||
void ShowWidgets();
|
void ShowWidgets();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Definition file for GWindow.
|
\brief Definition file for GWindow.
|
||||||
|
|
||||||
Definition file for GWindow, a basic window class based on GContainer.
|
Definition file for GWindow, a basic window class based on GContainer.
|
||||||
<br>$Id: GewiWindow.h,v 1.3 2003/05/19 23:56:05 cozman Exp $<br>
|
<br>$Id: GewiWindow.h,v 1.4 2003/06/07 05:41:18 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -26,17 +26,61 @@
|
|||||||
namespace Gewi
|
namespace Gewi
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GWindow, a simple window class.
|
||||||
|
|
||||||
|
GWindow, basic window class, derived from GContainer.
|
||||||
|
**/
|
||||||
class GWindow : public GContainer
|
class GWindow : public GContainer
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
//! Holds internal state of if mouse is dragging the window or not.
|
||||||
bool rDrag;
|
bool rDrag;
|
||||||
float rDragX,rDragY;
|
//! X value of drag coordinate used for drag calculation.
|
||||||
|
float rDragX;
|
||||||
|
//! Y value of drag coordinate used for drag calculation.
|
||||||
|
float rDragY;
|
||||||
|
//! Image used for window.
|
||||||
ResourceID rBackground;
|
ResourceID rBackground;
|
||||||
public:
|
|
||||||
GWindow();
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
/*!
|
||||||
|
\brief Simple constructor for GWindow.
|
||||||
|
|
||||||
|
Default constructor for GWindow, can take a parent.
|
||||||
|
\param parent Pointer to GContainer derived class to be the parent. Default value is NULL which means no parent.
|
||||||
|
**/
|
||||||
|
GWindow(GContainer *parent=NULL);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief GButton's create function, must be called to set up actual button.
|
||||||
|
|
||||||
|
Every widget has a create function which must be called to define the button's appearance and settings.
|
||||||
|
\param x X position of widget within it's container (entire screen if no parent)
|
||||||
|
\param y Y position of widget within it's container (entire screen if no parent)
|
||||||
|
\param width Width of widget.
|
||||||
|
\param height Height of widget.
|
||||||
|
\param backgroundImg Image for window.
|
||||||
|
**/
|
||||||
virtual void Create(float x, float y, float width, float height, ResourceID backgroundImg);
|
virtual void Create(float x, float y, float width, float height, ResourceID backgroundImg);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Overload of Message, used to recieve messages.
|
||||||
|
|
||||||
|
Recieves and processes a message, required overload for all widgets.
|
||||||
|
\param rawEvent SDL_Event of original message, may be needed if more information is available on event. (May be NULL).
|
||||||
|
\param event GewiEvent enum, description of event recieved.
|
||||||
|
\param mouseX Mouse x position in event, if not mouse event may be incorrect.
|
||||||
|
\param mouseY Mouse y position in event, if not mouse event may be incorrect.
|
||||||
|
\param ch Character pressed in event, may be 0 if not a keypress event.
|
||||||
|
**/
|
||||||
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
virtual void Message(SDL_Event *rawEvent, GewiEvent event, Uint16 mouseX, Uint16 mouseY, char ch);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Draws window & children to the screen.
|
||||||
|
|
||||||
|
Draws window & children to the screen, required overload for all widgets.
|
||||||
|
**/
|
||||||
virtual void Show();
|
virtual void Show();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Implementation of GButton.
|
\brief Implementation of GButton.
|
||||||
|
|
||||||
Implementation of GButton, a simple button class.
|
Implementation of GButton, a simple button class.
|
||||||
<br>$Id: GewiButton.cpp,v 1.2 2003/05/20 00:06:10 cozman Exp $<br>
|
<br>$Id: GewiButton.cpp,v 1.3 2003/06/07 05:42:32 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ namespace Gewi
|
|||||||
GButton::GButton(GContainer *parent) :
|
GButton::GButton(GContainer *parent) :
|
||||||
GWidget(parent),
|
GWidget(parent),
|
||||||
rPressed(false),
|
rPressed(false),
|
||||||
rType(G_PRESS),
|
rType(GBT_PRESS),
|
||||||
rNormalImage(GewiEngine::InvalidID),
|
rNormalImage(GewiEngine::InvalidID),
|
||||||
rPressedImage(GewiEngine::InvalidID)
|
rPressedImage(GewiEngine::InvalidID)
|
||||||
{
|
{
|
||||||
@ -64,14 +64,14 @@ void GButton::Show()
|
|||||||
|
|
||||||
if(rVisible)
|
if(rVisible)
|
||||||
{
|
{
|
||||||
if(rType == G_PRESS) //G_PRESS: standard press button, down when pressed, up when not
|
if(rType == GBT_PRESS) //G_PRESS: standard press button, down when pressed, up when not
|
||||||
{
|
{
|
||||||
if(rPressed)
|
if(rPressed)
|
||||||
rGewi->Image(rPressedImage)->Draw(x,y);
|
rGewi->Image(rPressedImage)->Draw(x,y);
|
||||||
else
|
else
|
||||||
rGewi->Image(rNormalImage)->Draw(x,y);
|
rGewi->Image(rNormalImage)->Draw(x,y);
|
||||||
}
|
}
|
||||||
else if(rType == G_HOVER) //G_HOVER: button shows as down when hovered over
|
else if(rType == GBT_HOVER) //G_HOVER: button shows as down when hovered over
|
||||||
{
|
{
|
||||||
if(MouseInWidget())
|
if(MouseInWidget())
|
||||||
rGewi->Image(rPressedImage)->Draw(x,y);
|
rGewi->Image(rPressedImage)->Draw(x,y);
|
||||||
@ -86,9 +86,9 @@ bool GButton::IsPressed()
|
|||||||
return rPressed;
|
return rPressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GButton::SetState(bool state)
|
void GButton::SetState(bool pressed)
|
||||||
{
|
{
|
||||||
rPressed = state;
|
rPressed = pressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Implementation of GewiEngine.
|
\brief Implementation of GewiEngine.
|
||||||
|
|
||||||
Implementation of GewiEngine, core engine for Gewi GUI control.
|
Implementation of GewiEngine, core engine for Gewi GUI control.
|
||||||
<br>$Id: GewiEngine.cpp,v 1.3 2003/05/20 00:08:55 cozman Exp $<br>
|
<br>$Id: GewiEngine.cpp,v 1.4 2003/06/07 05:42:33 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -150,18 +150,12 @@ void GewiEngine::FreeResources()
|
|||||||
for(ResourceID i=0; i < mImageVec.size(); i++)
|
for(ResourceID i=0; i < mImageVec.size(); i++)
|
||||||
{
|
{
|
||||||
if(mImageVec[i])
|
if(mImageVec[i])
|
||||||
{
|
|
||||||
mImageVec[i]->Release();
|
mImageVec[i]->Release();
|
||||||
delete mImageVec[i];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
for(ResourceID i=0; i < mFontVec.size(); i++)
|
for(ResourceID i=0; i < mFontVec.size(); i++)
|
||||||
{
|
{
|
||||||
if(mFontVec[i])
|
if(mFontVec[i])
|
||||||
{
|
|
||||||
mFontVec[i]->Release();
|
mFontVec[i]->Release();
|
||||||
delete mFontVec[i];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Implementation of GSlider, GHorizSlider and GVertSlider.
|
\brief Implementation of GSlider, GHorizSlider and GVertSlider.
|
||||||
|
|
||||||
Implementation of GSlider, GHorizSlider and GVertSlider, the slide-select classes for Gewi.
|
Implementation of GSlider, GHorizSlider and GVertSlider, the slide-select classes for Gewi.
|
||||||
<br>$Id: GewiSlider.cpp,v 1.3 2003/05/20 00:08:55 cozman Exp $<br>
|
<br>$Id: GewiSlider.cpp,v 1.4 2003/06/07 05:42:33 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -22,8 +22,8 @@
|
|||||||
namespace Gewi
|
namespace Gewi
|
||||||
{
|
{
|
||||||
|
|
||||||
GSlider::GSlider() :
|
GSlider::GSlider(GContainer *parent) :
|
||||||
GWidget(),
|
GWidget(parent),
|
||||||
rPressed(false),
|
rPressed(false),
|
||||||
rBackground(GewiEngine::InvalidID),
|
rBackground(GewiEngine::InvalidID),
|
||||||
rSlider(GewiEngine::InvalidID),
|
rSlider(GewiEngine::InvalidID),
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Implementation of GStaticText.
|
\brief Implementation of GStaticText.
|
||||||
|
|
||||||
Implementation of GStaticText, file to hold static text, labels and such.
|
Implementation of GStaticText, file to hold static text, labels and such.
|
||||||
<br>$Id: GewiStaticText.cpp,v 1.3 2003/05/20 00:08:55 cozman Exp $<br>
|
<br>$Id: GewiStaticText.cpp,v 1.4 2003/06/07 05:42:33 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ GStaticText::GStaticText(GContainer *parent) :
|
|||||||
|
|
||||||
|
|
||||||
void GStaticText::Create(float x, float y, float width, float height,
|
void GStaticText::Create(float x, float y, float width, float height,
|
||||||
ResourceID font, ResourceID backgroundImg, string text, GewiJustify justify)
|
ResourceID font, string text, GewiJustify justify, ResourceID backgroundImg)
|
||||||
{
|
{
|
||||||
GWidget::Create(x,y,width,height);
|
GWidget::Create(x,y,width,height);
|
||||||
|
|
||||||
@ -77,26 +77,21 @@ void GStaticText::SetText(string text)
|
|||||||
|
|
||||||
if(rJustify & GJ_LEFT)
|
if(rJustify & GJ_LEFT)
|
||||||
{
|
{
|
||||||
printf("left");
|
|
||||||
rXOff = 0;
|
rXOff = 0;
|
||||||
}
|
}
|
||||||
else if(rJustify & GJ_RIGHT)
|
else if(rJustify & GJ_RIGHT)
|
||||||
{
|
{
|
||||||
printf("right");
|
|
||||||
rXOff = static_cast<int>(rBoundRect.Width()-w);
|
rXOff = static_cast<int>(rBoundRect.Width()-w);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(rJustify & GJ_TOP)
|
if(rJustify & GJ_TOP)
|
||||||
{
|
{
|
||||||
printf("top");
|
|
||||||
rYOff = 0;
|
rYOff = 0;
|
||||||
}
|
}
|
||||||
else if(rJustify & GJ_BOTTOM)
|
else if(rJustify & GJ_BOTTOM)
|
||||||
{
|
{
|
||||||
printf("bottom");
|
|
||||||
rYOff = static_cast<int>(rBoundRect.Height()-h);
|
rYOff = static_cast<int>(rBoundRect.Height()-h);
|
||||||
}
|
}
|
||||||
printf("\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
string GStaticText::GetText()
|
string GStaticText::GetText()
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Implementation of GTextField.
|
\brief Implementation of GTextField.
|
||||||
|
|
||||||
Implementation of GTextField, text input area widget.
|
Implementation of GTextField, text input area widget.
|
||||||
<br>$Id: GewiTextField.cpp,v 1.3 2003/05/20 00:08:55 cozman Exp $<br>
|
<br>$Id: GewiTextField.cpp,v 1.4 2003/06/07 05:42:33 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -30,16 +30,6 @@ GTextField::GTextField(GContainer *parent) :
|
|||||||
rLeftPadding(0)
|
rLeftPadding(0)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
GTextField::~GTextField()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void GTextField::Kill()
|
|
||||||
{
|
|
||||||
rBuffer.Release();
|
|
||||||
GWidget::Kill();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GTextField::Create(float x, float y, float width, float height, ResourceID font, ResourceID backgroundImg, int maxChars, int leftPad)
|
void GTextField::Create(float x, float y, float width, float height, ResourceID font, ResourceID backgroundImg, int maxChars, int leftPad)
|
||||||
{
|
{
|
||||||
GWidget::Create(x,y,width,height);
|
GWidget::Create(x,y,width,height);
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
\brief Implementation of GWindow.
|
\brief Implementation of GWindow.
|
||||||
|
|
||||||
Implementation of GWindow, a basic window class based on GContainer.
|
Implementation of GWindow, a basic window class based on GContainer.
|
||||||
<br>$Id: GewiWindow.cpp,v 1.3 2003/05/20 00:08:55 cozman Exp $<br>
|
<br>$Id: GewiWindow.cpp,v 1.4 2003/06/07 05:42:33 cozman Exp $<br>
|
||||||
\author James Turk
|
\author James Turk
|
||||||
**/
|
**/
|
||||||
|
|
||||||
@ -22,8 +22,8 @@
|
|||||||
namespace Gewi
|
namespace Gewi
|
||||||
{
|
{
|
||||||
|
|
||||||
GWindow::GWindow() :
|
GWindow::GWindow(GContainer *parent) :
|
||||||
GContainer(),
|
GContainer(parent),
|
||||||
rDrag(false),
|
rDrag(false),
|
||||||
rDragX(0),
|
rDragX(0),
|
||||||
rDragY(0),
|
rDragY(0),
|
||||||
|
Loading…
Reference in New Issue
Block a user