SophiaFramework UNIVERSE 5.3 |
#include <SFRButtonBase.hpp>
class SFRButtonBase : public SFRControl;
SFMTYPEDEFCLASS(SFRButtonBase)
To implement your own button control, the SFRButtonBase::HandleContent function needs to be overridden.
Ths code to implement your own button control is as below:
SFMTYPEDEFCLASS(UserButton) class UserButton : public SFRButtonBase { // the copy-forbidden macro SFMSEALCOPY(UserButton) public: // declaration of the constructor and the destructor UserButton(SFRResponderPtr, SFXRectangleConstRef, BehaviorType); virtual ~UserButton(Void); private: // declaration of the draw handler virtual Void HandleContent(SFXGraphicsPtr); // declaration of the key release handler virtual Void HandleRelease(Void); }; // constructor UserButton::UserButton(SFRResponderPtr director, SFXRectangleConstRef rect, BehaviorType behavior) : SFRButtonBase(director, rect, behavior, four_char_code('U', 's', 'e', 'r')) { return; } // destructor UserButton::~UserButton(Void) { return; } // draw the button Void UserButton::HandleContent(SFXGraphicsPtr graphic) { SFXRGBColor color; // get whether it is enable for response if (GetInheritEnable()) { // get whether it is focused if (GetInheritFocus()) { // get whether the key is pressed if (GetStatusPress()) { color.SetRGB(0x44, 0x44, 0x44); } else { color.SetRGB(0x66, 0x66, 0x66); } } else { color.SetRGB(0x88, 0x88, 0x88); } } else { color.SetRGB(0xAA, 0xAA, 0xAA); } // draw the button graphic->DrawRectangle(GetVirtualWorld(), color); return; } // the function to run when key released Void UserButton::HandleRelease(Void) { // the SREVT_CONTROL event is sent to itself Invoke(SFXEvent(SREVT_CONTROL, 0, reinterpret_cast<UInt32>(this))); return; }
The SFRButtonControl class inherites from the SFRButtonBase class.
SFRResponder | SFRApplication | SFRWindow | SFRDialog | SFRControl | SFRButtonControl | Button
Constructor/Destructor |
---|
SFRButtonBase(
SFRResponderPtr director
, SFXRectangleConstRef rect
, BehaviorType behavior
, SFCType attribute
)
Constructor of the SFRButtonBase class.
|
~SFRButtonBase( Void ) Destructor of the SFRButtonBase class.
|
Public Functions | |
---|---|
Void |
SetBaseBound(
SFXRectangleConstRef rect
) Set the base region with the coordinate of virtual region of parent responder.
|
Void |
SetContentBound(
SFXRectangleConstRef rect
) Set the content region with the base region coordinate. [This function is not available.]
|
Void |
SetVirtualBound(
SFXRectangleConstRef rect
) Set the virtual region with the content region coordinate. [This function is not available.]
|
Bool |
ClearHandler( Void )
(inherits from SFRResponder)
[Handler] Clear the " Targeted " status of responder, or destroy the responder.
|
Bool |
Compare(
SFCType type
, SFCType attribute
, BehaviorType behavior
)
(inherits from SFRResponder)
Compare with type, attribute and behavior.
|
Bool |
FocusDown(
Bool repeat = true
)
(inherits from SFRResponder)
Focus down to the next responder.
|
Bool |
FocusDownHandler( Void )
(inherits from SFRResponder)
[Handler] Focus down to the next responder.
|
Bool |
FocusLeft(
Bool repeat = true
)
(inherits from SFRResponder)
Focus left to the next responder.
|
Bool |
FocusLeftHandler( Void )
(inherits from SFRResponder)
[Handler] Focus left to the next responder.
|
Bool |
FocusNext(
Bool repeat = true
)
(inherits from SFRResponder)
Focus to the next sibling responder.
|
Bool |
FocusNextHandler( Void )
(inherits from SFRResponder)
[Handler] Focus to the next sibling responder.
|
Bool |
FocusPrevious(
Bool repeat = true
)
(inherits from SFRResponder)
Focus to the previous sibling responder.
|
Bool |
FocusPreviousHandler( Void )
(inherits from SFRResponder)
[Handler] Focus to the previous sibling responder.
|
Bool |
FocusRight(
Bool repeat = true
)
(inherits from SFRResponder)
Focus right to the next responder.
|
Bool |
FocusRightHandler( Void )
(inherits from SFRResponder)
[Handler] Focus right to the next responder.
|
Bool |
FocusUp(
Bool repeat = true
)
(inherits from SFRResponder)
Focus up to the next responder.
|
Bool |
FocusUpHandler( Void )
(inherits from SFRResponder)
[Handler] Focus up to the next responder.
|
SFCType |
GetAttribute( Void )
(inherits from SFRResponder)
Get the attribute.
|
SFRResponderPtr |
GetBack(
SFCType type = TYPE_WILDCARD
, SFCType attribute = ATTRIBUTE_WILDCARD
, BehaviorType compare = STATUS_VISIBLE|STATUS_ENABLE
)
(inherits from SFRResponder)
Get the child responder at the most background that matches the specified search condition.
|
SFXRectangleConstRef |
GetBaseBound( Void )
(inherits from SFRResponder)
Get the base region with the coordinate of content region of parent responder.
|
SFXRectangle |
GetBaseWorld( Void )
(inherits from SFRResponder)
Get the base region.
|
SFXRectangleConstRef |
GetContentBound( Void )
(inherits from SFRResponder)
Get the content region with the coordinate of base region.
|
SFXRectangle |
GetContentWorld( Void )
(inherits from SFRResponder)
Get the content region.
|
SFRResponderPtr |
GetDirector( Void )
(inherits from SFRResponder)
Get the parent responder.
|
SFRResponderPtr |
GetFocus( Void )
(inherits from SFRResponder)
Get the responder with focus in its ownership hierarchy.
|
SFXMargin |
GetFrameMargin( Void )
(inherits from SFRResponder)
Get the margin between base and content region(in pixels).
|
SFRResponderPtr |
GetFront(
SFCType type = TYPE_WILDCARD
, SFCType attribute = ATTRIBUTE_WILDCARD
, BehaviorType compare = STATUS_VISIBLE | STATUS_ENABLE
)
(inherits from SFRResponder)
Get the child responder at the most foreground that matches the specified search condition.
|
SInt16 |
GetIndexBackward(
SFCType type = TYPE_WILDCARD
, SFCType attribute = ATTRIBUTE_WILDCARD
, BehaviorType compare = STATUS_VISIBLE|STATUS_ENABLE
)
(inherits from SFRResponder)
Get the index number from the most background of responder that matches the specified search condition.
|
SInt16 |
GetIndexForward(
SFCType type = TYPE_WILDCARD
, SFCType attribute = ATTRIBUTE_WILDCARD
, BehaviorType compare = STATUS_VISIBLE|STATUS_ENABLE
)
(inherits from SFRResponder)
Get the index number from the most foreground of responder that matches the specified search condition.
|
Bool |
GetInheritEnable( Void )
(inherits from SFRResponder)
Get the " Enable / Disable " status of responder including its parent responders.
|
Bool |
GetInheritFocus( Void )
(inherits from SFRResponder)
Get the " Focused / Unfocused " status of responder including its parent responders.
|
Bool |
GetInheritTarget( Void )
(inherits from SFRResponder)
Get the " Target / Not-Target " status of responder including its parent responders.
|
Bool |
GetInheritVisible( Void )
(inherits from SFRResponder)
Get the " Visible / Invisible " status of responder including its parent responders.
|
SFRResponderPtr |
GetLeft(
SFCType type = TYPE_WILDCARD
, SFCType attribute = ATTRIBUTE_WILDCARD
, BehaviorType compare = STATUS_VISIBLE|STATUS_ENABLE
)
(inherits from SFRResponder)
Get the previous responder among the grouped responders that matches the specified search condition.
|
SInt16 |
GetMoveInterval( Void )
(inherits from SFRResponder)
Get the move interval in pixels.
|
SInt16 |
GetMoveMargin( Void )
(inherits from SFRResponder)
Get the margin pixels of content region ( or virtual region if set with the parent responder ) where the child responder cannot move.
|
SFRResponderPtr |
GetNext(
SFCType type = TYPE_WILDCARD
, SFCType attribute = ATTRIBUTE_WILDCARD
, BehaviorType compare = STATUS_VISIBLE|STATUS_ENABLE
, Bool repeat = true
)
(inherits from SFRResponder)
Get the next sibling responder that matches the specified search condition.
|
SFRResponderPtr |
GetNthBackward(
SInt16 index
, SFCType type = TYPE_WILDCARD
, SFCType attribute = ATTRIBUTE_WILDCARD
, BehaviorType compare = STATUS_VISIBLE|STATUS_ENABLE
)
(inherits from SFRResponder)
Get the Nth child responder from the most background that matches the specified search condition.
|
SFRResponderPtr |
GetNthForward(
SInt16 index
, SFCType type = TYPE_WILDCARD
, SFCType attribute = ATTRIBUTE_WILDCARD
, BehaviorType compare = STATUS_VISIBLE|STATUS_ENABLE
)
(inherits from SFRResponder)
Get the Nth child responder from the most foreground that matches the specified search condition.
|
SFRResponderPtr |
GetPrevious(
SFCType type = TYPE_WILDCARD
, SFCType attribute = ATTRIBUTE_WILDCARD
, BehaviorType compare = STATUS_VISIBLE|STATUS_ENABLE
, Bool repeat = true
)
(inherits from SFRResponder)
Get the previous sibling responder that matches the specified search condition.
|
VoidPtr |
GetReference( Void )
(inherits from SFRResponder)
Get the reference value.
|
SFRResponderPtr |
GetRight(
SFCType type = TYPE_WILDCARD
, SFCType attribute = ATTRIBUTE_WILDCARD
, BehaviorType compare = STATUS_VISIBLE|STATUS_ENABLE
)
(inherits from SFRResponder)
Get the next responder among the grouped responders that matches the specified search condition.
|
SInt16 |
GetScrollInterval( Void )
(inherits from SFRResponder)
Get the scroll interval in pixels.
|
Bool |
GetStatusEnable( Void )
(inherits from SFRResponder)
Get the value of " Enable / Disable " flag.
|
Bool |
GetStatusFocus( Void )
(inherits from SFRResponder)
Get the value of " Focused / Unfocused " flag.
|
Bool |
GetStatusTarget( Void )
(inherits from SFRResponder)
Get the value of " Target / Non-target " flag.
|
Bool |
GetStatusVisible( Void )
(inherits from SFRResponder)
Get the value of " Visible / Invisible " flag.
|
SFXGrid |
GetTranslate( Void )
(inherits from SFRResponder)
Get the origin coordinate of virtual region with the coordinate of content region.
|
SInt16 |
GetTravelMargin( Void )
(inherits from SFRResponder)
Get the margin pixels of content region inside which the rectangle in the virtual region but outside the content region should be automatically scrolled by using the SFRResponder::Travel function.
|
SFCType |
GetType( Void )
(inherits from SFRResponder)
Get the responder type.
|
SFXRectangleConstRef |
GetVirtualBound( Void )
(inherits from SFRResponder)
Get the virtual region with the coordinate of content region.
|
SFXRectangle |
GetVirtualWorld( Void )
(inherits from SFRResponder)
Get the virtual region
|
Void |
Group(
SFRResponderPtr with
)
(inherits from SFRResponder)
Group the responder with the group of which representative responder is specified as an argument.
|
Void |
GroupMove(
SFXSizeConstRef size
)
(inherits from SFRResponder)
Move all the responders grouped together.
|
Void |
GroupScroll(
SFXSizeConstRef size
)
(inherits from SFRResponder)
Scroll all the virtual regions of responders grouped together.
|
Void |
GroupSelect( Void )
(inherits from SFRResponder)
Select all the responders grouped together. ( move all of them to the most foreground )
|
Void |
GroupStatusEnable(
Bool enable
)
(inherits from SFRResponder)
Set the " Enable / Disable " status of all the responders grouped together.
|
Void |
GroupStatusVisible(
Bool visible
)
(inherits from SFRResponder)
Set the " Visible / Invisible " status of all the responders grouped together.
|
Void |
InvalidateBase( Void )
(inherits from SFRResponder)
Register an area in the base region to be redrawn.
|
Void |
InvalidateBase(
SFXRectangleConstRef rect
)
(inherits from SFRResponder)
Register an area in the base region to be redrawn.
|
Void |
InvalidateContent( Void )
(inherits from SFRResponder)
Register an area in the content region to be redrawn.
|
Void |
InvalidateContent(
SFXRectangleConstRef rect
)
(inherits from SFRResponder)
Register an area in the content region to be redrawn.
|
Void |
InvalidateVirtual( Void )
(inherits from SFRResponder)
Register an area in the virtual region to be redrawn.
|
Void |
InvalidateVirtual(
SFXRectangleConstRef rect
)
(inherits from SFRResponder)
Register an area in the virtual region to be redrawn.
|
Bool |
Invoke(
SFXEventConstRef event
)
(inherits from SFRResponder)
Send the specified event.
|
Void |
Move(
SFXSizeConstRef size
)
(inherits from SFRResponder)
Move the responder.
|
Bool |
MoveDownHandler( Void )
(inherits from SFRResponder)
[Handler] Move the responder down.
|
Bool |
MoveLeftHandler( Void )
(inherits from SFRResponder)
[Handler] Move the responder left.
|
Bool |
MoveRightHandler( Void )
(inherits from SFRResponder)
[Handler] Move the responder right.
|
Bool |
MoveUpHandler( Void )
(inherits from SFRResponder)
[Handler] Move the responder up.
|
SFCError |
RegisterHandler(
HandlerEnum timing
, SFRHandlerSPP spp
, VoidPtr ref
)
(inherits from SFRHandler)
Register a handler.
|
SFCError |
RegisterHandler(
SFCEventEnum type
, HandlerEnum timing
, SFRHandlerSPP spp
, VoidPtr ref
)
(inherits from SFRHandler)
Register a handler.
|
SFCError |
RegisterHandler(
SFCEventEnum type
, UInt16 p16
, HandlerEnum timing
, SFRHandlerSPP spp
, VoidPtr ref
)
(inherits from SFRHandler)
Register a handler.
|
SFCError |
RegisterHandler(
SFCEventEnum type
, UInt16 bp16
, UInt16 ep16
, HandlerEnum timing
, SFRHandlerSPP spp
, VoidPtr ref
)
(inherits from SFRHandler)
Register a handler.
|
SFCError |
RegisterHandler(
SFCEventEnum btype
, SFCEventEnum etype
, HandlerEnum timing
, SFRHandlerSPP spp
, VoidPtr ref
)
(inherits from SFRHandler)
Register a handler.
|
SFCError |
RegisterHandler(
SFCEventEnum btype
, SFCEventEnum endType
, UInt16 p16
, HandlerEnum timing
, SFRHandlerSPP spp
, VoidPtr ref
)
(inherits from SFRHandler)
Register a handler.
|
SFCError |
RegisterHandler(
SFCEventEnum btype
, SFCEventEnum etype
, UInt16 bp16
, UInt16 ep16
, HandlerEnum timing
, SFRHandlerSPP spp
, VoidPtr ref
)
(inherits from SFRHandler)
Register a handler.
|
SFCError |
RegisterTracer(
BehaviorType behavior
, TracerEnum trace
)
(inherits from SFRTracer)
Register the tracer.
|
SFCError |
RegisterTracer(
SFCEventEnum type
, BehaviorType behavior
, TracerEnum trace
)
(inherits from SFRTracer)
Register the tracer.
|
SFCError |
RegisterTracer(
SFCEventEnum type
, UInt16 p16
, BehaviorType behavior
, TracerEnum trace
)
(inherits from SFRTracer)
Register the tracer.
|
SFCError |
RegisterTracer(
SFCEventEnum type
, UInt16 bgnP16
, UInt16 endP16
, BehaviorType behavior
, TracerEnum trace
)
(inherits from SFRTracer)
Register the tracer.
|
SFCError |
RegisterTracer(
SFCEventEnum bgnType
, SFCEventEnum endType
, BehaviorType behavior
, TracerEnum trace
)
(inherits from SFRTracer)
Register the tracer.
|
SFCError |
RegisterTracer(
SFCEventEnum bgnType
, SFCEventEnum endType
, UInt16 p16
, BehaviorType behavior
, TracerEnum trace
)
(inherits from SFRTracer)
Register the tracer.
|
SFCError |
RegisterTracer(
SFCEventEnum bgnType
, SFCEventEnum endType
, UInt16 bgnP16
, UInt16 endP16
, BehaviorType behavior
, TracerEnum trace
)
(inherits from SFRTracer)
Register the tracer.
|
Void |
Scroll(
SFXSizeConstRef size
)
(inherits from SFRResponder)
Scroll the virtual region.
|
Bool |
ScrollDownHandler( Void )
(inherits from SFRResponder)
[Handler] Scroll the virtual region down.
|
Bool |
ScrollLeftHandler( Void )
(inherits from SFRResponder)
[Handler] Scroll the virtual region left.
|
Bool |
ScrollRightHandler( Void )
(inherits from SFRResponder)
[Handler] Scroll the virtual region right.
|
Bool |
ScrollUpHandler( Void )
(inherits from SFRResponder)
[Handler] Scroll the virtual region up.
|
Void |
Select( Void )
(inherits from SFRResponder)
Select the responder and move it to the most foreground.
|
Bool |
SelectHandler( Void )
(inherits from SFRResponder)
[Handler] Set the target status of a responder to true.
|
Void |
SetFrameMargin(
SFXMarginConstRef param
)
(inherits from SFRResponder)
Set the margin between base and content region(in pixels).
|
Void |
SetMoveInterval(
SInt16 interval
)
(inherits from SFRResponder)
Set the move interval in pixels.
|
Void |
SetMoveMargin(
SInt16 margin
)
(inherits from SFRResponder)
Set the margin pixels of content region ( or virtual region if set with the parent responder ) where the child responder cannot move.
|
Void |
SetReference(
VoidPtr ref
)
(inherits from SFRResponder)
Set the reference value.
|
Void |
SetScrollInterval(
SInt16 interval
)
(inherits from SFRResponder)
Set the scroll interval in pixels.
|
Void |
SetStatusEnable(
Bool enable
)
(inherits from SFRResponder)
Set the value of " Enable / Disable " flag.
|
Void |
SetStatusFocus(
Bool focus
)
(inherits from SFRResponder)
Set the value of " Focused / Unfocused " flag.
|
Void |
SetStatusTarget(
Bool target
)
(inherits from SFRResponder)
Set the value of " Target / Not-Target " flag.
|
Void |
SetStatusVisible(
Bool visible
)
(inherits from SFRResponder)
Set the value of " Visible / Invisible " flag.
|
Void |
SetTranslate(
SFXGridConstRef point
)
(inherits from SFRResponder)
Set the origin coordinate of virtual region with the coordinate of content region.
|
Void |
SetTravelMargin(
SInt16 margin
)
(inherits from SFRResponder)
Set the margin pixels of content region inside which the rectangle in the virtual region but outside the content region should be automatically scrolled by using the SFRResponder::Travel function.
|
Void |
Travel(
SFXRectangleConstRef rect
)
(inherits from SFRResponder)
Scroll the virtual region of responder so that the specified rectangle can get into the content region.
|
Void |
Ungroup( Void )
(inherits from SFRResponder)
Ungroup the responders which are grouped together.
|
Void |
UnregisterHandler(
HandlerEnum timing
)
(inherits from SFRHandler)
Unregister the registered handler.
|
Void |
UnregisterHandler(
SFCEventEnum type
, HandlerEnum timing
)
(inherits from SFRHandler)
Unregister the registered handler.
|
Void |
UnregisterHandler(
SFCEventEnum type
, UInt16 p16
, HandlerEnum timing
)
(inherits from SFRHandler)
Unregister the registered handler.
|
Void |
UnregisterHandler(
SFCEventEnum type
, UInt16 bgnP16
, UInt16 endP16
, HandlerEnum timing
)
(inherits from SFRHandler)
Unregister the registered handler.
|
Void |
UnregisterHandler(
SFCEventEnum bgnType
, SFCEventEnum endType
, HandlerEnum timing
)
(inherits from SFRHandler)
Unregister the registered handler.
|
Void |
UnregisterHandler(
SFCEventEnum bgnType
, SFCEventEnum endType
, UInt16 p16
, HandlerEnum timing
)
(inherits from SFRHandler)
Unregister the registered handler.
|
Void |
UnregisterHandler(
SFCEventEnum bgnType
, SFCEventEnum endType
, UInt16 bgnP16
, UInt16 endP16
, HandlerEnum timing
)
(inherits from SFRHandler)
Unregister the registered handler.
|
Void |
UnregisterTracer( Void )
(inherits from SFRTracer)
Unregister the tracer.
|
Void |
UnregisterTracer(
SFCEventEnum type
)
(inherits from SFRTracer)
Unregister the tracer.
|
Void |
UnregisterTracer(
SFCEventEnum type
, UInt16 p16
)
(inherits from SFRTracer)
Unregister the tracer.
|
Void |
UnregisterTracer(
SFCEventEnum type
, UInt16 bgnP16
, UInt16 endP16
)
(inherits from SFRTracer)
Unregister the tracer.
|
Void |
UnregisterTracer(
SFCEventEnum bgnType
, SFCEventEnum endType
)
(inherits from SFRTracer)
Unregister the tracer.
|
Void |
UnregisterTracer(
SFCEventEnum bgnType
, SFCEventEnum endType
, UInt16 p16
)
(inherits from SFRTracer)
Unregister the tracer.
|
Void |
UnregisterTracer(
SFCEventEnum bgnType
, SFCEventEnum endType
, UInt16 bgnP16
, UInt16 endP16
)
(inherits from SFRTracer)
Unregister the tracer.
|
Protected Functions | |
---|---|
Bool |
GetStatusPress( Void ) Get whether the key is pressed.
|
Void |
HandleContent(
SFXGraphicsPtr graphic
) Draw the content region.
|
Void |
HandlePress( Void ) Run when the key is pressed.
|
Void |
HandleRelease( Void ) Run when the key is released.
|
Void |
InvalidateButton( Void ) Register the button region as update region.
|
Bool |
GetAppearanceTransparent( Void )
(inherits from SFRResponder)
Get the value of APPEARANCE_TRANSPARENT flag.
|
Bool |
GetPropertyClosable( Void )
(inherits from SFRResponder)
Get the value of PROPERTY_CLOSABLE flag.
|
Bool |
GetPropertyDirect( Void )
(inherits from SFRResponder)
Get the value of PROPERTY_DIRECT flag.
|
Bool |
GetPropertyMovable( Void )
(inherits from SFRResponder)
Get the value of PROPERTY_MOVABLE flag.
|
Bool |
GetPropertyScrollable( Void )
(inherits from SFRResponder)
Get the value of PROPERTY_SCROLLABLE flag.
|
Bool |
GetPropertySelect( Void )
(inherits from SFRResponder)
Get the value of PROPERTY_SELECT flag.
|
Bool |
GetPropertyTravel( Void )
(inherits from SFRResponder)
Get the value of PROPERTY_TRAVEL flag.
|
HandlerRecConstPtr |
SearchHandler(
SFXEventConstRef event
, HandlerEnum timing
)
(inherits from SFRHandler)
Search for the handler that matches the specified event.
|
TracerRecConstPtr |
SearchTracer(
SFXEventConstRef event
)
(inherits from SFRTracer)
Search for the tracer that matches the specified event.
|
Types |
---|
BehaviorEnum
(inherits from SFRControl)
Constant that represents the behavior of control.
|
HandlerEnum
(inherits from SFRHandler)
Constant that represents the timing to call the handler.
|
SFRHandlerSPP
(inherits from SFRHandler)
Type of the callback function.
|
TracerEnum
(inherits from SFRTracer)
Constant that represents the trace order.
|
TracerTraceMPP
(inherits from SFRTracer)
Type of the callback function.
|
[ protected ] SFRButtonBase( SFRResponderPtr director // parent responder SFXRectangleConstRef rect // base bound BehaviorType behavior // behavior SFCType attribute // attribute );
[ protected, virtual ] ~SFRButtonBase(Void);
[ protected, const ] Bool GetStatusPress(Void);
This function can be used such as an original button control implemted, whose drawing modified with the key status.
[ protected, virtual ] Void HandleContent( SFXGraphicsPtr graphic // SFXGraphics instance );
When the button is implemented originally, the function is overrided and draw itself.
Draw the button originally.
Draw a button whose color changes when: Enabled / Disabled , Focused / Unfocused , Key pressed / released.
// draw the button Void UserButton::HandleContent(SFXGraphicsPtr graphic) { SFXRGBColor color; // get whether it is enabled if (GetInheritEnable()) { // get whether it is focused if (GetInheritFocus()) { // get whether the key is pressed if (GetStatusPress()) { color.SetRGB(0x44, 0x44, 0x44); } else { color.SetRGB(0x66, 0x66, 0x66); } } else { color.SetRGB(0x88, 0x88, 0x88); } } else { color.SetRGB(0xAA, 0xAA, 0xAA); } // draw the button graphic->DrawRectangle(GetVirtualWorld(), color); return; }
[ protected, virtual ] Void HandlePress(Void);
If user want to process the key-pressed handler originally with the original-implemented button, it is necessary to override this function.
The original event is sent when the key is pressed.
Void HandlePress(Void) { Invoke(SFXEvent(USEREVT_CONTROL, USERP16_CONTROL_PRESS, reinterpret_cast<UInt32>(this))); return; }
[ protected, virtual ] Void HandleRelease(Void);
If user want to process the key-released handler originally with the original-implemented button, it is necessary to override this function.
The original event is sent when the key is released.
Void HandleRelease(Void) { Invoke(SFXEvent(USEREVT_CONTROL, USERP16_CONTROL_RELEASE, reinterpret_cast<UInt32>(this))); return; }
[ protected, virtual ] Void InvalidateButton(Void);
This function can be used when an original button control implemted, which needs to be redrawed.
This function does the same thing as InvalidateVirtual() function. If there is no virtual bound of the button, it is necessary to override the InvalidateButton() function.
When the title text has been changed by the original-implemented button, register it as update bound.
if (param != _title) { _title = param; InvalidateButton(); }
The original-implemented button must be registered as update bound, when there is no virtual bound.
Void InvalidateButton(Void) { InvalidateVirtual(_updatebound); }
[ public, virtual ] Void SetBaseBound( SFXRectangleConstRef rect // value to set );
[ public, virtual ] Void SetContentBound( SFXRectangleConstRef rect // content bound );
[ public, virtual ] Void SetVirtualBound( SFXRectangleConstRef rect // virtual bound );
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |