Torque2D Reference
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | List of all members
GuiCanvas Class Reference

#include <guiCanvas.h>

+ Inheritance diagram for GuiCanvas:

Classes

struct  AccKeyMap
 Accelerator key map. More...
 

Public Member Functions

 DECLARE_CONOBJECT (GuiCanvas)
 
 GuiCanvas ()
 
virtual ~GuiCanvas ()
 
void setBackgroundColor (const ColorF &backgroundColor)
 Background color. More...
 
const ColorFgetBackgroundColor (void) const
 
void setUseBackgroundColor (const bool useBackgroundColor)
 
bool getUseBackgroundColor (void) const
 
virtual void setRenderFront (bool front)
 
Point2I getCursorExtent ()
 
Rendering methods
virtual void renderFrame (bool preRenderOnly, bool bufferSwap=true)
 
virtual void paint ()
 Repaints the entire canvas by calling resetUpdateRegions() and then renderFrame() More...
 
virtual void addUpdateRegion (Point2I pos, Point2I ext)
 
virtual void resetUpdateRegions ()
 
void maintainSizing ()
 Resizes the content control to match the canvas size. More...
 
virtual void buildUpdateUnion (RectI *updateUnion)
 
virtual void swapBuffers ()
 
Canvas Content Management
virtual void setContentControl (GuiControl *gui)
 
virtual GuiControlgetContentControl ()
 Returns the content control. More...
 
virtual void pushDialogControl (GuiControl *gui, S32 layer=0)
 
virtual void popDialogControl (S32 layer=0)
 
virtual void popDialogControl (GuiControl *gui)
 
Cursor commands

A cursor can be on, but not be shown. If a cursor is not on, than it does not process input.

virtual void setCursor (GuiCursor *cursor)
 
virtual bool isCursorON ()
 Returns true if the cursor is on. More...
 
void setDoubleClickTime (S32 time)
 Sets the time allowed between clicks to be considered a double click. More...
 
void setDoubleClickWidth (S32 width)
 Sets the amount of movement allowed that won't cancel a double click. More...
 
void setDoubleClickHeight (S32 height)
 
virtual void setCursorON (bool onOff)
 
virtual void setCursorPos (const Point2I &pt)
 
virtual Point2I getCursorPos ()
 Returns the point, in screenspace, at which the cursor is located. More...
 
virtual void showCursor (bool state)
 
virtual bool isCursorShown ()
 Returns true if the cursor is being rendered. More...
 
Input Processing
virtual bool processInputEvent (const InputEvent *event)
 
virtual void processMouseMoveEvent (const MouseMoveEvent *event)
 
virtual void processScreenTouchEvent (const ScreenTouchEvent *event)
 
Mouse Methods
virtual void mouseLock (GuiControl *lockingControl)
 
virtual void mouseUnlock (GuiControl *lockingControl)
 
virtual GuiControlgetMouseControl ()
 Returns the control which the mouse is over. More...
 
virtual GuiControlgetMouseLockedControl ()
 Returns the control which the mouse is locked to if any. More...
 
virtual bool mouseButtonDown (void)
 Returns true if the left mouse button is down. More...
 
virtual bool mouseRightButtonDown (void)
 Returns true if the right mouse button is down. More...
 
virtual void checkLockMouseMove (const GuiEvent &event)
 
Mouse input methods

These events process the events before passing them down to the controls they effect. This allows for things such as the input locking and such.

Each of these methods corosponds to the action in it's method name and processes the GuiEvent passd as a parameter

virtual void rootMouseUp (const GuiEvent &event)
 
virtual void rootMouseDown (const GuiEvent &event)
 
virtual void rootMouseMove (const GuiEvent &event)
 
virtual void rootMouseDragged (const GuiEvent &event)
 
virtual void rootScreenTouchUp (const GuiEvent &event)
 
virtual void rootScreenTouchDown (const GuiEvent &event)
 
virtual void rootScreenTouchMove (const GuiEvent &event)
 
virtual void rootRightMouseDown (const GuiEvent &event)
 
virtual void rootRightMouseUp (const GuiEvent &event)
 
virtual void rootRightMouseDragged (const GuiEvent &event)
 
virtual void rootMiddleMouseDown (const GuiEvent &event)
 
virtual void rootMiddleMouseUp (const GuiEvent &event)
 
virtual void rootMiddleMouseDragged (const GuiEvent &event)
 
virtual void rootMouseWheelUp (const GuiEvent &event)
 
virtual void rootMouseWheelDown (const GuiEvent &event)
 
Keyboard input methods

First responders

A first responder is a the GuiControl which responds first to input events before passing them off for further processing.

virtual bool tabNext (void)
 Moves the first responder to the next tabable controle. More...
 
virtual bool tabPrev (void)
 Moves the first responder to the previous tabable control. More...
 
virtual void addAcceleratorKey (GuiControl *ctrl, U32 index, U32 keyCode, U32 modifier)
 
virtual void setFirstResponder (GuiControl *firstResponder)
 
- Public Member Functions inherited from GuiControl
virtual void getScrollLineSizes (U32 *rowHeight, U32 *columnWidth)
 
virtual void getCursor (GuiCursor *&cursor, bool &showCursor, const GuiEvent &lastGuiEvent)
 
void awaken ()
 Called when this control and its children have been wired up. More...
 
void sleep ()
 Called when this control is no more. More...
 
void preRender ()
 Prerender this control and all its children. More...
 
virtual bool onInputEvent (const InputEvent &event)
 General input handler. More...
 
virtual bool ControlIsChild (GuiControl *child)
 
void setControlProfile (GuiControlProfile *prof)
 
virtual void onAction ()
 Occurs when this control performs its "action". More...
 
void renderJustifiedText (Point2I offset, Point2I extent, const char *text)
 
void inspectPostApply ()
 
void inspectPreApply ()
 
void setSizing (S32 horz, S32 vert)
 
void write (Stream &stream, U32 tabStop, U32 flags)
 Overrides Parent Serialization to allow specific controls to not be saved (Dynamic Controls, etc) More...
 
bool getCanSave ()
 Returns boolean specifying if a control can be serialized. More...
 
void setCanSave (bool bCanSave)
 Set serialization flag. More...
 
bool getCanSaveParent ()
 Returns boolean as to whether any parent of this control has the 'no serialization' flag set. More...
 
const Point2IgetPosition ()
 Returns position of the control. More...
 
const Point2IgetExtent ()
 Returns extents of the control. More...
 
const RectIgetBounds ()
 Returns the bounds of the control. More...
 
const Point2IgetMinExtent ()
 Returns minimum size the control can be. More...
 
const S32 getLeft ()
 Returns the X position of the control. More...
 
const S32 getTop ()
 Returns the Y position of the control. More...
 
const S32 getWidth ()
 Returns the width of the control. More...
 
const S32 getHeight ()
 Returns the height of the control. More...
 
virtual void setVisible (bool value)
 
bool isVisible ()
 Returns true if the object is visible. More...
 
void setActive (bool value)
 
bool isActive ()
 Returns true if this control is active. More...
 
bool isAwake ()
 Returns true if this control is awake. More...
 
void addObject (SimObject *obj)
 
void removeObject (SimObject *obj)
 
GuiControlgetParent ()
 Returns the control which owns this one. More...
 
GuiCanvasgetRoot ()
 
Point2I localToGlobalCoord (const Point2I &src)
 
Point2I globalToLocalCoord (const Point2I &src)
 
virtual void resize (const Point2I &newPosition, const Point2I &newExtent)
 
virtual void setPosition (const Point2I &newPosition)
 
virtual void setExtent (const Point2I &newExtent)
 
virtual void setBounds (const RectI &newBounds)
 
virtual void setLeft (S32 newLeft)
 
virtual void setTop (S32 newTop)
 
virtual void setWidth (S32 newWidth)
 
virtual void setHeight (S32 newHeight)
 
virtual void childResized (GuiControl *child)
 
virtual void parentResized (const Point2I &oldParentExtent, const Point2I &newParentExtent)
 
virtual void onRender (Point2I offset, const RectI &updateRect)
 
virtual bool renderTooltip (Point2I cursorPos, const char *tipText=NULL)
 
void renderChildControls (Point2I offset, const RectI &updateRect)
 
void setUpdateRegion (Point2I pos, Point2I ext)
 
virtual void setUpdate ()
 Sets the update area of the control to encompass the whole control. More...
 
virtual bool onWake ()
 Called when this object is asked to wake up returns true if it's actually awake at the end. More...
 
virtual void onSleep ()
 Called when this object is asked to sleep. More...
 
virtual void onPreRender ()
 Do special pre-render proecessing. More...
 
virtual void onRemove ()
 Called when this object is removed. More...
 
virtual void onChildRemoved (GuiControl *child)
 Called when one of this objects children is removed. More...
 
bool onAdd ()
 Called when this object is added to the scene. More...
 
virtual void onChildAdded (GuiControl *child)
 Called when this object has a new child. More...
 
virtual bool pointInControl (const Point2I &parentCoordPoint)
 
bool cursorInControl ()
 Returns true if the global cursor is inside this control. More...
 
virtual GuiControlfindHitControl (const Point2I &pt, S32 initialLayer=-1)
 
void mouseLock (GuiControl *lockingControl)
 
void mouseLock ()
 Turn on mouse locking with last used lock control. More...
 
void mouseUnlock ()
 Unlock the mouse. More...
 
bool isMouseLocked ()
 Returns true if the mouse is locked. More...
 
virtual void onMouseUp (const GuiEvent &event)
 
virtual void onMouseDown (const GuiEvent &event)
 
virtual void onMouseMove (const GuiEvent &event)
 
virtual void onMouseDragged (const GuiEvent &event)
 
virtual void onMouseEnter (const GuiEvent &event)
 
virtual void onMouseLeave (const GuiEvent &event)
 
virtual bool onMouseWheelUp (const GuiEvent &event)
 
virtual bool onMouseWheelDown (const GuiEvent &event)
 
virtual void onRightMouseDown (const GuiEvent &event)
 
virtual void onRightMouseUp (const GuiEvent &event)
 
virtual void onRightMouseDragged (const GuiEvent &event)
 
virtual void onMiddleMouseDown (const GuiEvent &event)
 
virtual void onMiddleMouseUp (const GuiEvent &event)
 
virtual void onMiddleMouseDragged (const GuiEvent &event)
 
virtual bool onMouseDownEditor (const GuiEvent &event, Point2I offset)
 
virtual bool onMouseUpEditor (const GuiEvent &event, Point2I offset)
 
virtual bool onRightMouseDownEditor (const GuiEvent &event, Point2I offset)
 
virtual bool onMouseDraggedEditor (const GuiEvent &event, Point2I offset)
 
virtual GuiControlfindFirstTabable ()
 Find the first tab-accessable child of this control. More...
 
virtual GuiControlfindLastTabable (bool firstCall=true)
 
virtual GuiControlfindPrevTabable (GuiControl *curResponder, bool firstCall=true)
 
virtual GuiControlfindNextTabable (GuiControl *curResponder, bool firstCall=true)
 
virtual void makeFirstResponder (bool value)
 
bool isFirstResponder ()
 Returns true if this control is a first responder. More...
 
virtual void setFirstResponder ()
 Sets this object to be a first responder. More...
 
void clearFirstResponder ()
 Clears the first responder for this chain. More...
 
GuiControlgetFirstResponder ()
 Returns the first responder for this chain. More...
 
virtual void onLoseFirstResponder ()
 Occurs when the first responder for this chain is lost. More...
 
void addAcceleratorKey ()
 Adds the accelerator key for this object to the canvas. More...
 
virtual void buildAcceleratorMap ()
 
virtual void acceleratorKeyPress (U32 index)
 
virtual void acceleratorKeyRelease (U32 index)
 
virtual bool onKeyDown (const GuiEvent &event)
 
virtual bool onKeyUp (const GuiEvent &event)
 
virtual bool onKeyRepeat (const GuiEvent &event)
 
void messageSiblings (S32 message)
 Send a message to all siblings. More...
 
virtual void onMessage (GuiControl *sender, S32 msg)
 
virtual void onDialogPush ()
 Called if this object is a dialog, when it is added to the visible layers. More...
 
virtual void onDialogPop ()
 Called if this object is a dialog, when it is removed from the visible layers. More...
 
void setConsoleVariable (const char *variable)
 
void setConsoleCommand (const char *newCmd)
 
const char * getConsoleCommand ()
 Returns the name of the function bound to this GuiControl. More...
 
LangTablegetGUILangTable (void)
 
const UTF8 * getGUIString (S32 id)
 
virtual const char * getScriptValue ()
 Returns the value of the variable bound to this object. More...
 
virtual void setScriptValue (const char *value)
 Sets the value of the variable bound to this object. More...
 
 DECLARE_CONOBJECT (GuiControl)
 
 GuiControl ()
 
virtual ~GuiControl ()
 
- Public Member Functions inherited from SimGroup
 ~SimGroup ()
 
void addObject (SimObject *, SimObjectId)
 
void addObject (SimObject *, const char *name)
 
virtual SimObjectfindObject (const char *name)
 Find an object in the group. More...
 
bool processArguments (S32 argc, const char **argv)
 Process constructor options. (ie, new SimObject(1,2,3)) More...
 
 DECLARE_CONOBJECT (SimGroup)
 
- Public Member Functions inherited from SimSet
 SimSet ()
 
 ~SimSet ()
 
virtual void onDeleteNotify (SimObject *object)
 
virtual U32 getTamlChildCount (void) const
 Called when Taml attempts to compile a list of children. More...
 
virtual SimObjectgetTamlChild (const U32 childIndex) const
 Called when Taml attempts to compile a list of children. More...
 
virtual void addTamlChild (SimObject *pSimObject)
 Called when Taml attempts to populate an objects children during a read. More...
 
void callOnChildren (const char *method, S32 argc, const char *argv[], bool executeOnChildGroups=true)
 
SimObjectfindObjectByInternalName (const char *internalName, bool searchChildren=false)
 
virtual bool writeObject (Stream *stream)
 
virtual bool readObject (Stream *stream)
 
void lock ()
 
void unlock ()
 
 DECLARE_CONOBJECT (SimSet)
 
void _setVectorAssoc (const char *file, const U32 line)
 
virtual void pushObject (SimObject *)
 
virtual void popObject ()
 Remove an object from the end of the list. More...
 
void bringObjectToFront (SimObject *obj)
 
void pushObjectToBack (SimObject *obj)
 
SimObjectfront ()
 
SimObjectfirst ()
 
SimObjectlast ()
 
bool empty ()
 
S32 size () const
 
iterator begin ()
 
iterator end ()
 
value operator[] (S32 index)
 
iterator find (iterator first, iterator last, SimObject *obj)
 
iterator find (SimObject *obj)
 
template<typename T >
bool containsType (void)
 
virtual bool reOrder (SimObject *obj, SimObject *target=0)
 
SimObjectat (S32 index) const
 
void deleteObjects (void)
 
void clear ()
 
- Public Member Functions inherited from SimObject
StringTableEntry getClassNamespace () const
 
StringTableEntry getSuperClassNamespace () const
 
void setClassNamespace (const char *classNamespace)
 
void setSuperClassNamespace (const char *superClassNamespace)
 
void pushScriptCallbackGuard (void)
 
void popScriptCallbackGuard (void)
 
S32 getScriptCallbackGuard (void)
 
NamespacegetNamespace ()
 Return the object's namespace. More...
 
const char * tabComplete (const char *prevText, S32 baseLen, bool)
 
virtual void dump ()
 
virtual void dumpClassHierarchy ()
 
SimObjectclone (const bool copyDynamicFields)
 
virtual void copyTo (SimObject *object)
 
template<typename T >
bool isType (void)
 
virtual bool handlesConsoleMethod (const char *fname, S32 *routingId)
 
 DECLARE_CONOBJECT (SimObject)
 
NotifyremoveNotify (void *ptr, Notify::Type)
 Remove a notification from the list. More...
 
void deleteNotify (SimObject *obj)
 Notify an object when we are deleted. More...
 
void clearNotify (SimObject *obj)
 Notify an object when we are cleared. More...
 
void clearAllNotifications ()
 Remove all notifications for this object. More...
 
void processDeleteNotifies ()
 Send out deletion notifications. More...
 
void registerReference (SimObject **obj)
 
void unregisterReference (SimObject **obj)
 
const char * getDataField (StringTableEntry slotName, const char *array)
 
void setDataField (StringTableEntry slotName, const char *array, const char *value)
 
const char * getPrefixedDataField (StringTableEntry fieldName, const char *array)
 
void setPrefixedDataField (StringTableEntry fieldName, const char *array, const char *value)
 
const char * getPrefixedDynamicDataField (StringTableEntry fieldName, const char *array, const S32 fieldType=-1)
 
void setPrefixedDynamicDataField (StringTableEntry fieldName, const char *array, const char *value, const S32 fieldType=-1)
 
StringTableEntry getDataFieldPrefix (StringTableEntry fieldName)
 
U32 getDataFieldType (StringTableEntry slotName, const char *array)
 
SimFieldDictionarygetFieldDictionary ()
 
void clearDynamicFields (void)
 Clear all dynamic fields. More...
 
void setCanSaveDynamicFields (bool bCanSave)
 Set whether fields created at runtime should be saved. Default is true. More...
 
bool getCanSaveDynamicFields (void) const
 Get whether fields created at runtime should be saved. Default is true. More...
 
void setInternalName (const char *newname)
 
StringTableEntry getInternalName ()
 Get the internal of of this control. More...
 
virtual bool save (const char *pcFilePath, bool bOnlySelected=false)
 Save object as a TorqueScript File. More...
 
virtual bool isMethod (const char *methodName)
 Check if a method exists in the objects current namespace. More...
 
SimObjectId getId (void) const
 
StringTableEntry getIdString (void) const
 
U32 getType () const
 
const StringTableEntry getName (void) const
 
void setId (SimObjectId id)
 
void assignName (const char *name)
 
SimGroupgetGroup () const
 
bool isChildOfGroup (SimGroup *pGroup)
 
bool isProperlyAdded () const
 
bool isDeleted () const
 
bool isRemoved () const
 
bool isLocked ()
 
void setLocked (bool b)
 
bool isHidden ()
 
void setHidden (bool b)
 
void setProgenitorFile (const char *pFile)
 
StringTableEntry getProgenitorFile (void) const
 
void setPeriodicTimerID (const S32 timerID)
 
S32 getPeriodicTimerID (void) const
 
bool isPeriodicTimerActive (void) const
 
bool isSelected () const
 
bool isExpanded () const
 
void setSelected (bool sel)
 
void setExpanded (bool exp)
 
void setModDynamicFields (bool dyn)
 
void setModStaticFields (bool sta)
 
 SimObject (const U8 namespaceLinkMask=LinkSuperClassName|LinkClassName)
 
virtual ~SimObject ()
 
virtual void onGroupAdd ()
 Called when the object is added to a SimGroup. More...
 
virtual void onGroupRemove ()
 Called when the object is removed from a SimGroup. More...
 
virtual void onNameChange (const char *name)
 Called when the object's name is changed. More...
 
virtual void onStaticModified (const char *slotName, const char *newValue=NULL)
 
virtual void onEditorEnable ()
 Called when the editor is activated. More...
 
virtual void onEditorDisable ()
 Called when the editor is deactivated. More...
 
bool registerObject ()
 
bool registerObject (U32 id)
 
bool registerObject (const char *name)
 
bool registerObject (const char *name, U32 id)
 
void unregisterObject ()
 
void deleteObject ()
 
bool addToSet (SimObjectId)
 
bool addToSet (const char *)
 
bool removeFromSet (SimObjectId)
 
bool removeFromSet (const char *)
 
virtual bool writeField (StringTableEntry fieldname, const char *value)
 
virtual void writeFields (Stream &stream, U32 tabStop)
 
virtual void buildFilterList ()
 
void addFieldFilter (const char *fieldName)
 
void removeFieldFilter (const char *fieldName)
 
void clearFieldFilters ()
 
bool isFiltered (const char *fieldName)
 
void assignFieldsFrom (SimObject *obj)
 
void assignDynamicFieldsFrom (SimObject *obj)
 
- Public Member Functions inherited from ConsoleObject
const AbstractClassRep::FieldfindField (StringTableEntry fieldName) const
 Get a reference to a field by name. More...
 
virtual AbstractClassRepgetClassRep () const
 Gets the ClassRep. More...
 
bool setField (const char *fieldName, const char *value)
 Set the value of a field. More...
 
virtual ~ConsoleObject ()
 
const AbstractClassRep::FieldListgetFieldList () const
 Get a list of all the fields. This information cannot be modified. More...
 
AbstractClassRep::FieldListgetModifiableFieldList ()
 
bool & getDynamicGroupExpand ()
 
S32 getClassId (U32 netClassGroup) const
 
const char * getClassName () const
 

Static Public Member Functions

static void initPersistFields ()
 
- Static Public Member Functions inherited from GuiControl
static void initPersistFields ()
 

Protected Types

typedef GuiControl Parent
 
typedef SimObject Grandparent
 

Protected Attributes

ColorF mBackgroundColor
 Background color. More...
 
bool mUseBackgroundColor
 
Rendering
RectI mOldUpdateRects [2]
 
RectI mCurUpdateRect
 
F32 rLastFrameTime
 
Cursor Properties
F32 mPixelsPerMickey
 
bool cursorON
 
bool mShowCursor
 
bool mRenderFront
 
Point2F cursorPt
 
Point2I lastCursorPt
 
GuiCursordefaultCursor
 
GuiCursorlastCursor
 
bool lastCursorON
 
Keyboard Input
GuiControlkeyboardControl
 All keyboard events will go to this ctrl first. More...
 
U32 nextKeyTime
 
Vector< AccKeyMapmAcceleratorMap
 
U32 hoverControlStart
 
GuiControlhoverControl
 
Point2I hoverPosition
 
bool hoverPositionSet
 
U32 hoverLeftControlTime
 
- Protected Attributes inherited from GuiControl
S32 mHorizSizing
 Set from horizSizingOptions. More...
 
S32 mVertSizing
 Set from vertSizingOptions. More...
 
StringTableEntry mConsoleVariable
 
StringTableEntry mConsoleCommand
 
StringTableEntry mAltConsoleCommand
 
StringTableEntry mAcceleratorKey
 
StringTableEntry mTooltip
 

Mouse Input

SimObjectPtr< GuiControlmMouseCapturedControl
 All mouse events will go to this ctrl only. More...
 
SimObjectPtr< GuiControlmMouseControl
 the control the mouse was last seen in unless some other one captured it More...
 
bool mMouseControlClicked
 whether the current ctrl has been clicked - used by helpctrl More...
 
U32 mPrevMouseTime
 this determines how long the mouse has been in the same control More...
 
U32 mNextMouseTime
 used for onMouseRepeat() More...
 
U32 mInitialMouseDelay
 also used for onMouseRepeat() More...
 
bool mMouseButtonDown
 Flag to determine if the button is depressed. More...
 
bool mMouseRightButtonDown
 bool to determine if the right button is depressed More...
 
bool mMouseMiddleButtonDown
 Middle button flag. More...
 
GuiEvent mLastEvent
 
U8 mLastMouseClickCount
 
S32 mLastMouseDownTime
 
bool mLeftMouseLast
 
bool mMiddleMouseLast
 
bool mRightMouseLast
 
Point2F mMouseDownPoint
 
S32 mDoubleClickWidth
 
S32 mDoubleClickHeight
 
S32 mDoubleClickTime
 
virtual void findMouseControl (const GuiEvent &event)
 
virtual void refreshMouseControl ()
 

Additional Inherited Members

- Public Types inherited from GuiControl
enum  horizSizingOptions {
  horizResizeRight = 0, horizResizeWidth, horizResizeLeft, horizResizeCenter,
  horizResizeRelative
}
 
enum  vertSizingOptions {
  vertResizeBottom = 0, vertResizeHeight, vertResizeTop, vertResizeCenter,
  vertResizeRelative
}
 
- Public Attributes inherited from GuiControl
GuiControlProfilemProfile
 
GuiControlProfilemTooltipProfile
 
S32 mTipHoverTime
 
S32 mTooltipWidth
 
bool mVisible
 
bool mActive
 
bool mAwake
 
bool mSetFirstResponder
 
bool mCanSave
 
bool mIsContainer
 if true, then the GuiEditor can drag other controls into this one. More...
 
S32 mLayer
 
RectI mBounds
 
Point2I mMinExtent
 
StringTableEntry mLangTableName
 
LangTablemLangTable
 
SimObjectPtr< GuiControlmFirstResponder
 
- Static Public Attributes inherited from GuiControl
static GuiEditCtrlsmEditorHandle = NULL
 
static S32 smCursorChanged = -1
 Has this control modified the cursor? -1 or type. More...
 
static bool smDesignTime = false
 
static GuiControlsmPrevResponder = NULL
 
static GuiControlsmCurResponder = NULL
 
- Protected Member Functions inherited from GuiControl
const char * execConsoleCallback ()
 Executes mConsoleCommand, and returns the result. More...
 
const char * execAltConsoleCallback ()
 Executes mAltConsoleCommand, and returns the result. More...
 
void setVariable (const char *value)
 
void setIntVariable (S32 value)
 
void setFloatVariable (F32 value)
 
const char * getVariable ()
 Returns value of control's bound variable as a string. More...
 
S32 getIntVariable ()
 Returns value of control's bound variable as a integer. More...
 
F32 getFloatVariable ()
 Returns value of control's bound variable as a float. More...
 
- Static Protected Member Functions inherited from SimObject
static bool setClass (void *obj, const char *data)
 
static bool setSuperClass (void *obj, const char *data)
 
static bool writeCanSaveDynamicFields (void *obj, StringTableEntry pFieldName)
 
static bool writeInternalName (void *obj, StringTableEntry pFieldName)
 
static bool setParentGroup (void *obj, const char *data)
 
static bool writeParentGroup (void *obj, StringTableEntry pFieldName)
 
static bool writeSuperclass (void *obj, StringTableEntry pFieldName)
 
static bool writeClass (void *obj, StringTableEntry pFieldName)
 
static SimObject::NotifyallocNotify ()
 Get a free Notify structure. More...
 
static void freeNotify (SimObject::Notify *)
 Mark a Notify structure as free. More...
 
- Static Protected Attributes inherited from SimObject
static SimObject::NotifymNotifyFreeList = NULL
 

Detailed Description

A canvas on which rendering occurs.

What a GUICanvas Can Contain...

Content Control

A content control is the top level GuiControl for a screen. This GuiControl will be the parent control for all other GuiControls on that particular screen.

Dialogs

A dialog is essentially another screen, only it gets overlaid on top of the current content control, and all input goes to the dialog. This is most akin to the "Open File" dialog box found in most operating systems. When you choose to open a file, and the "Open File" dialog pops up, you can no longer send input to the application, and must complete or cancel the open file request. Torque keeps track of layers of dialogs. The dialog with the highest layer is on top and will get all the input, unless the dialog is modeless, which is a profile option.

See Also
GuiControlProfile

Dirty Rectangles

The GuiCanvas is based on dirty regions.

Every frame the canvas paints only the areas of the canvas that are 'dirty' or need updating. In most cases, this only is the area under the mouse cursor. This is why if you look in guiCanvas.cc the call to glClear is commented out. If you want a really good idea of what exactly dirty regions are and how they work, un-comment that glClear line in the renderFrame method of guiCanvas.cc

What you will see is a black screen, except in the dirty regions, where the screen will be painted normally. If you are making an animated GuiControl you need to add your control to the dirty areas of the canvas.

Member Typedef Documentation

typedef SimObject Grandparent
protected
typedef GuiControl Parent
protected

Constructor & Destructor Documentation

GuiCanvas ( )

Background color.

~GuiCanvas ( )
virtual

Member Function Documentation

void addAcceleratorKey ( GuiControl ctrl,
U32  index,
U32  keyCode,
U32  modifier 
)
virtual

Setups a keyboard accelerator which maps to a GuiControl.

Parameters
ctrlGuiControl to map to.
index
keyCodeKey code.
modifierShift, ctrl, etc.
void addUpdateRegion ( Point2I  pos,
Point2I  ext 
)
virtual

Adds a dirty area to the canvas so it will be updated on the next frame

Parameters
posScreen-coordinates of the upper-left hand corner of the dirty area
extWidth/height of the dirty area
void buildUpdateUnion ( RectI updateUnion)
virtual

This builds a rectangle which encompasses all of the dirty regions to be repainted

Parameters
updateUnion(out) Rectangle which surrounds all dirty areas
void checkLockMouseMove ( const GuiEvent event)
virtual
DECLARE_CONOBJECT ( GuiCanvas  )
void findMouseControl ( const GuiEvent event)
protectedvirtual
const ColorF& getBackgroundColor ( void  ) const
inline
GuiControl * getContentControl ( )
virtual

Returns the content control.

Point2I getCursorExtent ( )
inline

used by the tooltip resource

virtual Point2I getCursorPos ( )
inlinevirtual

Returns the point, in screenspace, at which the cursor is located.

virtual GuiControl* getMouseControl ( )
inlinevirtual

Returns the control which the mouse is over.

virtual GuiControl* getMouseLockedControl ( )
inlinevirtual

Returns the control which the mouse is locked to if any.

bool getUseBackgroundColor ( void  ) const
inline
void initPersistFields ( void  )
static
virtual bool isCursorON ( )
inlinevirtual

Returns true if the cursor is on.

virtual bool isCursorShown ( )
inlinevirtual

Returns true if the cursor is being rendered.

void maintainSizing ( )

Resizes the content control to match the canvas size.

virtual bool mouseButtonDown ( void  )
inlinevirtual

Returns true if the left mouse button is down.

void mouseLock ( GuiControl lockingControl)
virtual

When a control gets the mouse lock this means that that control gets ALL mouse input and no other control recieves any input.

Parameters
lockingControlControl to lock mouse to
virtual bool mouseRightButtonDown ( void  )
inlinevirtual

Returns true if the right mouse button is down.

void mouseUnlock ( GuiControl lockingControl)
virtual

Unlocks the mouse from a control

Parameters
lockingControlControl to unlock from
void paint ( )
virtual

Repaints the entire canvas by calling resetUpdateRegions() and then renderFrame()

void popDialogControl ( S32  layer = 0)
virtual

Removes a specific layer of dialogs

Parameters
layerLayer to pop off from
void popDialogControl ( GuiControl gui)
virtual

Removes a specific dialog control

Parameters
guiDialog to remove from the dialog stack
bool processInputEvent ( const InputEvent event)
virtual

Processes an input event

See Also
InputEvent
Parameters
eventInput event to process
void processMouseMoveEvent ( const MouseMoveEvent event)
virtual

Processes a mouse movement event

See Also
MouseMoveEvent
Parameters
eventMouse move event to process
void processScreenTouchEvent ( const ScreenTouchEvent event)
virtual
void pushDialogControl ( GuiControl gui,
S32  layer = 0 
)
virtual

Adds a dialog control onto the stack of dialogs

Parameters
guiDialog to add
layerLayer to put dialog on
void refreshMouseControl ( )
protectedvirtual
void renderFrame ( bool  preRenderOnly,
bool  bufferSwap = true 
)
virtual

Repaints the dirty regions of the canvas

Parameters
preRenderOnlyIf set to true, only the onPreRender methods of all the GuiControls will be called
bufferSwapIf set to true, it will swap buffers at the end. This is to support canvas-subclassing.
void resetUpdateRegions ( )
virtual

Resets the update regions so that the next call to renderFrame will repaint the whole canvas

void rootMiddleMouseDown ( const GuiEvent event)
virtual
void rootMiddleMouseDragged ( const GuiEvent event)
virtual
void rootMiddleMouseUp ( const GuiEvent event)
virtual
void rootMouseDown ( const GuiEvent event)
virtual
void rootMouseDragged ( const GuiEvent event)
virtual
void rootMouseMove ( const GuiEvent event)
virtual
void rootMouseUp ( const GuiEvent event)
virtual
void rootMouseWheelDown ( const GuiEvent event)
virtual
void rootMouseWheelUp ( const GuiEvent event)
virtual
void rootRightMouseDown ( const GuiEvent event)
virtual
void rootRightMouseDragged ( const GuiEvent event)
virtual
void rootRightMouseUp ( const GuiEvent event)
virtual
void rootScreenTouchDown ( const GuiEvent event)
virtual
void rootScreenTouchMove ( const GuiEvent event)
virtual
void rootScreenTouchUp ( const GuiEvent event)
virtual
void setBackgroundColor ( const ColorF backgroundColor)
inline

Background color.

void setContentControl ( GuiControl gui)
virtual

This sets the content control to something different

Parameters
guiNew content control
void setCursor ( GuiCursor cursor)
virtual

Sets the cursor for the canvas.

Parameters
cursorNew cursor to use.
void setCursorON ( bool  onOff)
virtual

Turns the cursor on or off.

Parameters
onOffTrue if the cursor should be on.
void setCursorPos ( const Point2I pt)
virtual

Sets the position of the cursor

Parameters
ptPoint, in screenspace for the cursor
void setDoubleClickHeight ( S32  height)
inline
void setDoubleClickTime ( S32  time)
inline

Sets the time allowed between clicks to be considered a double click.

void setDoubleClickWidth ( S32  width)
inline

Sets the amount of movement allowed that won't cancel a double click.

void setFirstResponder ( GuiControl firstResponder)
virtual

Sets the first responder.

Parameters
firstResponderControl to designate as first responder

Reimplemented from GuiControl.

virtual void setRenderFront ( bool  front)
inlinevirtual

This turns on/off front-buffer rendering

Parameters
frontTrue if all rendering should be done to the front buffer
void setUseBackgroundColor ( const bool  useBackgroundColor)
inline
virtual void showCursor ( bool  state)
inlinevirtual

Enable/disable rendering of the cursor.

Parameters
stateTrue if we should render cursor
void swapBuffers ( )
virtual

This will swap the buffers at the end of renderFrame. It was added for canvas sub-classes in case they wanted to do some custom code before the buffer flip occured.

bool tabNext ( void  )
virtual

Moves the first responder to the next tabable controle.

bool tabPrev ( void  )
virtual

Moves the first responder to the previous tabable control.

Member Data Documentation

bool cursorON
protected
Point2F cursorPt
protected
GuiCursor* defaultCursor
protected
GuiControl* hoverControl
protected
U32 hoverControlStart
protected
U32 hoverLeftControlTime
protected
Point2I hoverPosition
protected
bool hoverPositionSet
protected
GuiControl* keyboardControl
protected

All keyboard events will go to this ctrl first.

GuiCursor* lastCursor
protected
bool lastCursorON
protected
Point2I lastCursorPt
protected
Vector<AccKeyMap> mAcceleratorMap
protected
ColorF mBackgroundColor
protected

Background color.

RectI mCurUpdateRect
protected
S32 mDoubleClickHeight
protected
S32 mDoubleClickTime
protected
S32 mDoubleClickWidth
protected
U32 mInitialMouseDelay
protected

also used for onMouseRepeat()

GuiEvent mLastEvent
protected
U8 mLastMouseClickCount
protected
S32 mLastMouseDownTime
protected
bool mLeftMouseLast
protected
bool mMiddleMouseLast
protected
bool mMouseButtonDown
protected

Flag to determine if the button is depressed.

SimObjectPtr<GuiControl> mMouseCapturedControl
protected

All mouse events will go to this ctrl only.

SimObjectPtr<GuiControl> mMouseControl
protected

the control the mouse was last seen in unless some other one captured it

bool mMouseControlClicked
protected

whether the current ctrl has been clicked - used by helpctrl

Point2F mMouseDownPoint
protected
bool mMouseMiddleButtonDown
protected

Middle button flag.

bool mMouseRightButtonDown
protected

bool to determine if the right button is depressed

U32 mNextMouseTime
protected

used for onMouseRepeat()

RectI mOldUpdateRects[2]
protected
F32 mPixelsPerMickey
protected
 This is the scale factor which relates

mouse movement in pixels (one unit of mouse movement is a mickey) to units in the GUI.

U32 mPrevMouseTime
protected

this determines how long the mouse has been in the same control

bool mRenderFront
protected
bool mRightMouseLast
protected
bool mShowCursor
protected
bool mUseBackgroundColor
protected
U32 nextKeyTime
protected
F32 rLastFrameTime
protected

The documentation for this class was generated from the following files: