Phoenard
Public Member Functions | Protected Attributes | Friends | List of all members
PHN_Widget Class Referenceabstract

A single widget which covers a rectangular area of the screen. More...

#include <PHNWidget.h>

Inheritance diagram for PHN_Widget:
PHN_WidgetContainer PHN_BarGraph PHN_Button PHN_ButtonGrid PHN_Gauge PHN_ItemList PHN_Keyboard PHN_Label PHN_LineGraph PHN_NumberBox PHN_Scrollbar PHN_TextBox

Public Member Functions

 PHN_Widget ()
 Constructor for a new widget, initializing all fields to the default values.
 
virtual ~PHN_Widget ()
 Destructor for a widget, clearing any child widgets and freeing memory.
 
const int getX (void)
 Gets the x-coordinate of the widget.
 
const int getY (void)
 Gets the y-coordinate of the widget.
 
const int getWidth (void)
 Gets the width of the widget.
 
const int getHeight (void)
 Gets the height of the widget.
 
void setBounds (int x, int y, int width, int height)
 Sets the new bounds (x, y, width, height) of the widget.
 
void setSize (int width, int height)
 Sets the size (width, height) of the widget.
 
virtual void setColor (int colorId, color_t color)
 Sets a style color for this widget. More...
 
const color_t color (int colorId)
 Gets a style color set for this widget. More...
 
bool isTouched ()
 Gets whether the widget is touched down by the user.
 
bool isTouchEnter ()
 Gets whether the user's touch input entered the widget.
 
bool isTouchLeave ()
 Gets whether the user's touch input left the widget.
 
bool isTouchChange ()
 Gets whether the user clicked, entered or left the widget.
 
bool isClicked ()
 Gets whether the user clicked (pressed and released) the widget.
 
void setVisible (bool visible)
 Sets whether the widget is displayed and updated.
 
bool isVisible (void)
 Gets whether the widget is displayed and updated.
 
bool isDrawn (void)
 Gets whether the widget has been drawn.
 
void setDrawingEnabled (bool drawing)
 Sets whether the widget is drawn and undrawn.
 
bool isDrawingEnabled (void)
 Gets whether the widget is drawn and undrawn.
 
void invalidate (void)
 Invalidated the widget, causing it to be re-drawn at a later time.
 
bool isInvalidated (void)
 Checks whether the widget is invalidated and needs to be redrawn.
 
void draw_validate ()
 Draws the widget if invalidated, clearing the invalidated state.
 
virtual void undraw (void)
 Clear draw function routine, where widgets perform un-drawing (to background)
 
virtual void draw (void)=0
 Draw function routine, where widgets must perform drawing.
 
virtual void update (void)=0
 Update function routine, where widget logic must be performed.
 
- Public Member Functions inherited from PHN_WidgetContainer
 PHN_WidgetContainer (void)
 Constructor for a new widget container.
 
void updateWidgets (bool update, bool draw, bool forceRedraw)
 Updates all the widgets contained. More...
 
void addWidget (PHN_Widget &widget)
 Adds a single widget. More...
 
void removeWidget (PHN_Widget &widget)
 Removes a single widget. More...
 
void clearWidgets ()
 Removes all contained widgets. More...
 
PHN_Widgetwidget (int index)
 Gets the widget stored at an index.
 
const int widgetCount ()
 Gets how many widgets are stored.
 

Protected Attributes

PHN_Palette colors
 A palette of colors set for the widget.
 
unsigned char visible
 Draw state flags of the widget (0=invisible, 0x1=visible, 0x2=drawn, 0x4=draw_disabled)
 
bool invalidated
 Invalidated state of the widget.
 
Widget bounds
int x
 
int y
 
int width
 
int height
 
- Protected Attributes inherited from PHN_WidgetContainer
bool deleteAddedWidgets
 Sets whether added widgets are deleted (were added with new)
 

Friends

class PHN_WidgetContainer
 

Additional Inherited Members

- Protected Member Functions inherited from PHN_WidgetContainer
void clearSilent ()
 Removes all child widgets from this container without handling proper redrawing. More...
 
void setWidgetCapacity (int capacity)
 Resizes the internal array of widgets to a new capacity. More...
 

Detailed Description

A single widget which covers a rectangular area of the screen.

The widget is the base class for other (user-defined) widgets, which can be added to the display or to other widgets to be automatically updated and drawn. Inside the virtual update and draw functions the implementer can define what the widget displays and does with user input.

In addition the widget stores a color palette for use when drawing, so that users can easily change the looks of a widget. It also contains several utility functions to aid in drawing widgets and handling user input.

Drawing the entire widget should be performed inside the draw() function. To tell the display to redraw your widget, call invalidate() to mark the widget ready for drawing. This separation of logic and drawing makes it easier to work with widgets in general. It prevents the drawing of contents that are outdated and it simplifies drawing a widget when it is first added to the display.

Member Function Documentation

const color_t PHN_Widget::color ( int  colorId)
inline

Gets a style color set for this widget.

The colorId specifies an index in the palette to set the color. Standard indices for all widgets are defined as the constants BACKGROUND, FRAME, FOREGROUND, CONTENT, HIGHLIGHT and ACTIVATED.

void PHN_Widget::setColor ( int  colorId,
color_t  color 
)
virtual

Sets a style color for this widget.

The colorId specifies an index in the palette to set the color. Standard indices for all widgets are defined as the constants BACKGROUND, FRAME, FOREGROUND, CONTENT, HIGHLIGHT and ACTIVATED.


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