class ffw::GuiWidget

Class List > ffw :: GuiWidget

Inherited by the following classes: ffw::GuiBox, ffw::GuiButton, ffw::GuiCheckbox, ffw::GuiCheckbox::Button, ffw::GuiDummy, ffw::GuiImageViewer, ffw::GuiLabel, ffw::GuiLayout, ffw::GuiList::Item, ffw::GuiProgressBar, ffw::GuiProgressCircle, ffw::GuiRadio, ffw::GuiRadio::Button, ffw::GuiScrollable, ffw::GuiScrollBar, ffw::GuiSlider, ffw::GuiSwitch, ffw::GuiTabs, ffw::GuiText, ffw::GuiTextInput

Classes

Type Name
struct Flags
struct Style

Protected Attributes

Type Name
GuiWindow * context
const GuiWidget::Style * widgetStyle

Public Functions

Type Name
GuiWidget (GuiWindow * context)
GuiWidget (const GuiWidget & other) = delete
GuiWidget (GuiWidget && other)
void swap (GuiWidget & other)
virtual ~GuiWidget ()
void setSize (GuiUnits width, GuiUnits height)
void setSize (const Point< GuiUnits > & s)
void setPos (const Point< GuiUnits > & pos)
void setPos (GuiUnits posx, GuiUnits posy)
const Point< GuiUnits > & getPos () const
const Point< GuiUnits > & getSize () const
ffw::Pointf getVisibleContentSize () const
ffw::Pointf getVisibleContentPos () const
ffw::Pointf getInnerContentSize () const
ffw::Pointf getInnerContentPos () const
ffw::Pointf getAbsolutePos () const
void setOffset (const ffw::Pointf off)
const ffw::Pointf & getOffset () const
void setPadding (GuiUnits top, GuiUnits right, GuiUnits bottom, GuiUnits left)
void setPadding (GuiUnits all)
void setPadding (const GuiStyle::Padding & pad)
void setMargin (GuiUnits top, GuiUnits right, GuiUnits bottom, GuiUnits left)
void setMargin (GuiUnits all)
void setMargin (const GuiStyle::Margin & mar)
const GuiStyle::Padding & getPadding () const
const GuiStyle::Margin & getMargin () const
GuiUnits getPadding (int side) const
GuiUnits getMargin (int side) const
void setMarginTop (GuiUnits val)
void setMarginRight (GuiUnits val)
void setMarginBottom (GuiUnits val)
void setMarginLeft (GuiUnits val)
void setPaddingTop (GuiUnits val)
void setPaddingRight (GuiUnits val)
void setPaddingBottom (GuiUnits val)
void setPaddingLeft (GuiUnits val)
float getPaddingInPixels (int side) const
float getMarginInPixels (int side) const
void setAlign (GuiAlign align)
GuiAlign getAlign () const
void setWrap (bool wrap)
bool getWrap () const
void setID (unsigned long id)
void setRef (std::string ref)
unsigned long getID () const
const std::string & getRef () const
void update (const ffw::Pointf & parentpos, const ffw::Pointf & parentsize, const GuiUserInput & input, ffw::Pointf mousepos, bool mouseout)
void render (const ffw::Pointf & clippos, const ffw::Pointf & clipsize, const ffw::Pointf & off, bool clear)
bool shouldRedraw () const
void redraw ()
void invalidate ()
void setParent (GuiWidget * parent)
const GuiWidget * getParent () const
bool hasHover () const
bool hasFocus () const
void setFocus (bool f)
void setHover (bool h)
void setDisabled (bool d)
void setHidden (bool h)
void setIgnoreUserInput (bool d)
void hide ()
void show ()
bool isHidden () const
bool isDisabled () const
void setFont (const GuiFont * font)
const GuiFont * getFont () const
const GuiFont * getCurrentFont () const
const Pointi getMousePos () const
virtual ffw::Pointf getMinimumWrapSize () = 0
ffw::Pointf getOuterWrapSize ()
T * findByID (unsigned long id_)
void addEventCallback (void(T:😗)(GuiEvent) memfuncptr, T * instance, GuiEventType type = GuiEventType::ALL, bool now = false)
void addEventCallback (const std::function< void(GuiEvent)> & function, GuiEventType type = GuiEventType::ALL, bool now = false)
void addEventCallback (const F & lambda, GuiEventType type = GuiEventType::ALL, bool now = false)
void setTheme (const GuiTheme * theme, bool defaults = false)
void setStyleGroup (const GuiWidget::Style * style)
const GuiWidget::Style * getStyleGroup ()
const ffw::GuiStyle * getCurrentStyle () const
const ffw::GuiStyle * getCurrentStyle (const GuiWidget::Style * group) const
const ffw::Pointf & getRealSize () const
ffw::Pointf getRealSizeWithMargin () const
const ffw::Pointf & getRealPos () const
void setLineHeight (float height)
float getLineHeight () const
void setDefaults (const ffw::GuiDefaults * def)
GuiWindow * getWindow ()
const GuiWindow * getWindow () const
void setToggleFocus ()
void setStickyFocus ()
void setDropFocus ()
void setDefaultFocus ()
GuiFocusType getFocusType () const
const std::vector< GuiWidget * > & getAllWidgets () const
void pushEvent (GuiEventType type, GuiEvent::Data data)
GuiWidget & operator= (const GuiWidget & other) = delete
GuiWidget & operator= (GuiWidget && other)

Protected Functions

Type Name
void traverseBackground (const ffw::Pointf & pos, const ffw::Pointf & size)
GuiWidget * addWidgetInternal (GuiWidget * widget)
GuiWidget * addWidgetAfterInternal (const GuiWidget * previous, GuiWidget * widget)
GuiWidget * addWidgetBeforeInternal (const GuiWidget * next, GuiWidget * widget)
void deleteWidgetsInternal ()
bool deleteSingleWidgetInternal (const GuiWidget * widget)
void setOrientationInternal (GuiOrientation orientation)
void recalculatePos ()
void recalculateSize (GuiWidget * ptr = NULL)
void renderComponent (const ffw::Pointf & pos, const ffw::Pointf & size, const ffw::GuiStyle * group)
virtual void eventRender (const ffw::Pointf & contentoffset, const ffw::Pointf & contentsize) = 0
virtual void eventPos (const ffw::Pointf & pos)
virtual void eventSize (const ffw::Pointf & size)
virtual void eventHover (bool gained)
virtual void eventFocus (bool gained)
virtual void eventMouse (const ffw::Pointf & mousePos)
virtual bool eventScroll (const ffw::Pointf & scroll)
virtual void eventMouseButton (ffw::MouseButton button, ffw::MouseMode mode)
virtual void eventText (uint32_t chr)
virtual void eventKey (ffw::Key key, ffw::KeyMode mode)
virtual void eventDisabled (bool disabled)
virtual void eventThemeChanged (const GuiTheme * theme, bool defaults = false) = 0
const Flags & getFlags () const

Protected Attributes Documentation

variable context

GuiWindow* ffw::GuiWidget::context;

variable widgetStyle

const GuiWidget::Style* ffw::GuiWidget::widgetStyle;

Public Functions Documentation

function GuiWidget (1/3)

ffw::GuiWidget::GuiWidget (
    GuiWindow * context
)

function GuiWidget (2/3)

ffw::GuiWidget::GuiWidget (
    const GuiWidget & other
) = delete

function GuiWidget (3/3)

ffw::GuiWidget::GuiWidget (
    GuiWidget && other
)

function swap

void ffw::GuiWidget::swap (
    GuiWidget & other
)

function ~GuiWidget

virtual ffw::GuiWidget::~GuiWidget ()

function setSize (1/2)

void ffw::GuiWidget::setSize (
    GuiUnits width,
    GuiUnits height
)

function setSize (2/2)

void ffw::GuiWidget::setSize (
    const Point< GuiUnits > & s
)

function setPos (1/2)

void ffw::GuiWidget::setPos (
    const Point< GuiUnits > & pos
)

function setPos (2/2)

void ffw::GuiWidget::setPos (
    GuiUnits posx,
    GuiUnits posy
)

function getPos

const Point< GuiUnits > & ffw::GuiWidget::getPos () const

function getSize

const Point< GuiUnits > & ffw::GuiWidget::getSize () const

function getVisibleContentSize

ffw::Pointf ffw::GuiWidget::getVisibleContentSize () const

function getVisibleContentPos

ffw::Pointf ffw::GuiWidget::getVisibleContentPos () const

function getInnerContentSize

ffw::Pointf ffw::GuiWidget::getInnerContentSize () const

function getInnerContentPos

ffw::Pointf ffw::GuiWidget::getInnerContentPos () const

function getAbsolutePos

ffw::Pointf ffw::GuiWidget::getAbsolutePos () const

function setOffset

void ffw::GuiWidget::setOffset (
    const ffw::Pointf off
)

function getOffset

const ffw::Pointf & ffw::GuiWidget::getOffset () const

function setPadding (1/3)

void ffw::GuiWidget::setPadding (
    GuiUnits top,
    GuiUnits right,
    GuiUnits bottom,
    GuiUnits left
)

function setPadding (2/3)

void ffw::GuiWidget::setPadding (
    GuiUnits all
)

function setPadding (3/3)

void ffw::GuiWidget::setPadding (
    const GuiStyle::Padding & pad
)

function setMargin (1/3)

void ffw::GuiWidget::setMargin (
    GuiUnits top,
    GuiUnits right,
    GuiUnits bottom,
    GuiUnits left
)

function setMargin (2/3)

void ffw::GuiWidget::setMargin (
    GuiUnits all
)

function setMargin (3/3)

void ffw::GuiWidget::setMargin (
    const GuiStyle::Margin & mar
)

function getPadding (1/2)

const GuiStyle::Padding & ffw::GuiWidget::getPadding () const

function getMargin (1/2)

const GuiStyle::Margin & ffw::GuiWidget::getMargin () const

function getPadding (2/2)

GuiUnits ffw::GuiWidget::getPadding (
    int side
) const

function getMargin (2/2)

GuiUnits ffw::GuiWidget::getMargin (
    int side
) const

function setMarginTop

void ffw::GuiWidget::setMarginTop (
    GuiUnits val
)

function setMarginRight

void ffw::GuiWidget::setMarginRight (
    GuiUnits val
)

function setMarginBottom

void ffw::GuiWidget::setMarginBottom (
    GuiUnits val
)

function setMarginLeft

void ffw::GuiWidget::setMarginLeft (
    GuiUnits val
)

function setPaddingTop

void ffw::GuiWidget::setPaddingTop (
    GuiUnits val
)

function setPaddingRight

void ffw::GuiWidget::setPaddingRight (
    GuiUnits val
)

function setPaddingBottom

void ffw::GuiWidget::setPaddingBottom (
    GuiUnits val
)

function setPaddingLeft

void ffw::GuiWidget::setPaddingLeft (
    GuiUnits val
)

function getPaddingInPixels

float ffw::GuiWidget::getPaddingInPixels (
    int side
) const

function getMarginInPixels

float ffw::GuiWidget::getMarginInPixels (
    int side
) const

function setAlign

void ffw::GuiWidget::setAlign (
    GuiAlign align
)

function getAlign

GuiAlign ffw::GuiWidget::getAlign () const

function setWrap

void ffw::GuiWidget::setWrap (
    bool wrap
)

function getWrap

bool ffw::GuiWidget::getWrap () const

function setID

void ffw::GuiWidget::setID (
    unsigned long id
)

function setRef

void ffw::GuiWidget::setRef (
    std::string ref
)

function getID

unsigned long ffw::GuiWidget::getID () const

function getRef

const std::string & ffw::GuiWidget::getRef () const

function update

void ffw::GuiWidget::update (
    const ffw::Pointf & parentpos,
    const ffw::Pointf & parentsize,
    const GuiUserInput & input,
    ffw::Pointf mousepos,
    bool mouseout
)

function render

void ffw::GuiWidget::render (
    const ffw::Pointf & clippos,
    const ffw::Pointf & clipsize,
    const ffw::Pointf & off,
    bool clear
)

function shouldRedraw

bool ffw::GuiWidget::shouldRedraw () const

function redraw

void ffw::GuiWidget::redraw ()

function invalidate

void ffw::GuiWidget::invalidate ()

function setParent

void ffw::GuiWidget::setParent (
    GuiWidget * parent
)

function getParent

const GuiWidget * ffw::GuiWidget::getParent () const

function hasHover

bool ffw::GuiWidget::hasHover () const

function hasFocus

bool ffw::GuiWidget::hasFocus () const

function setFocus

void ffw::GuiWidget::setFocus (
    bool f
)

function setHover

void ffw::GuiWidget::setHover (
    bool h
)

function setDisabled

void ffw::GuiWidget::setDisabled (
    bool d
)

function setHidden

void ffw::GuiWidget::setHidden (
    bool h
)

function setIgnoreUserInput

void ffw::GuiWidget::setIgnoreUserInput (
    bool d
)

function hide

void ffw::GuiWidget::hide ()

function show

void ffw::GuiWidget::show ()

function isHidden

bool ffw::GuiWidget::isHidden () const

function isDisabled

bool ffw::GuiWidget::isDisabled () const

function setFont

void ffw::GuiWidget::setFont (
    const GuiFont * font
)

function getFont

const GuiFont * ffw::GuiWidget::getFont () const

function getCurrentFont

const GuiFont * ffw::GuiWidget::getCurrentFont () const

function getMousePos

const Pointi ffw::GuiWidget::getMousePos () const

function getMinimumWrapSize

virtual ffw::Pointf ffw::GuiWidget::getMinimumWrapSize () = 0

function getOuterWrapSize

ffw::Pointf ffw::GuiWidget::getOuterWrapSize ()

function findByID

T * ffw::GuiWidget::findByID (
    unsigned long id_
)

function addEventCallback (1/3)

void ffw::GuiWidget::addEventCallback (
    void(T::*)(GuiEvent) memfuncptr,
    T * instance,
    GuiEventType type = GuiEventType::ALL,
    bool now = false
)

function addEventCallback (2/3)

void ffw::GuiWidget::addEventCallback (
    const std::function< void(GuiEvent)> & function,
    GuiEventType type = GuiEventType::ALL,
    bool now = false
)

function addEventCallback (3/3)

void ffw::GuiWidget::addEventCallback (
    const F & lambda,
    GuiEventType type = GuiEventType::ALL,
    bool now = false
)

function setTheme

void ffw::GuiWidget::setTheme (
    const GuiTheme * theme,
    bool defaults = false
)

function setStyleGroup

void ffw::GuiWidget::setStyleGroup (
    const GuiWidget::Style * style
)

function getStyleGroup

const GuiWidget::Style * ffw::GuiWidget::getStyleGroup ()

function getCurrentStyle (1/2)

const ffw::GuiStyle * ffw::GuiWidget::getCurrentStyle () const

function getCurrentStyle (2/2)

const ffw::GuiStyle * ffw::GuiWidget::getCurrentStyle (
    const GuiWidget::Style * group
) const

function getRealSize

const ffw::Pointf & ffw::GuiWidget::getRealSize () const

function getRealSizeWithMargin

ffw::Pointf ffw::GuiWidget::getRealSizeWithMargin () const

function getRealPos

const ffw::Pointf & ffw::GuiWidget::getRealPos () const

function setLineHeight

void ffw::GuiWidget::setLineHeight (
    float height
)

function getLineHeight

float ffw::GuiWidget::getLineHeight () const

function setDefaults

void ffw::GuiWidget::setDefaults (
    const ffw::GuiDefaults * def
)

function getWindow (1/2)

GuiWindow * ffw::GuiWidget::getWindow ()

function getWindow (2/2)

const GuiWindow * ffw::GuiWidget::getWindow () const

function setToggleFocus

void ffw::GuiWidget::setToggleFocus ()

function setStickyFocus

void ffw::GuiWidget::setStickyFocus ()

function setDropFocus

void ffw::GuiWidget::setDropFocus ()

function setDefaultFocus

void ffw::GuiWidget::setDefaultFocus ()

function getFocusType

GuiFocusType ffw::GuiWidget::getFocusType () const

function getAllWidgets

const std::vector< GuiWidget * > & ffw::GuiWidget::getAllWidgets () const

function pushEvent

void ffw::GuiWidget::pushEvent (
    GuiEventType type,
    GuiEvent::Data data
)

function operator= (1/2)

GuiWidget & ffw::GuiWidget::operator= (
    const GuiWidget & other
) = delete

function operator= (2/2)

GuiWidget & ffw::GuiWidget::operator= (
    GuiWidget && other
)

Protected Functions Documentation

function traverseBackground

void ffw::GuiWidget::traverseBackground (
    const ffw::Pointf & pos,
    const ffw::Pointf & size
)

function addWidgetInternal

GuiWidget * ffw::GuiWidget::addWidgetInternal (
    GuiWidget * widget
)

function addWidgetAfterInternal

GuiWidget * ffw::GuiWidget::addWidgetAfterInternal (
    const GuiWidget * previous,
    GuiWidget * widget
)

function addWidgetBeforeInternal

GuiWidget * ffw::GuiWidget::addWidgetBeforeInternal (
    const GuiWidget * next,
    GuiWidget * widget
)

function deleteWidgetsInternal

void ffw::GuiWidget::deleteWidgetsInternal ()

function deleteSingleWidgetInternal

bool ffw::GuiWidget::deleteSingleWidgetInternal (
    const GuiWidget * widget
)

function setOrientationInternal

void ffw::GuiWidget::setOrientationInternal (
    GuiOrientation orientation
)

function recalculatePos

void ffw::GuiWidget::recalculatePos ()

function recalculateSize

void ffw::GuiWidget::recalculateSize (
    GuiWidget * ptr = NULL
)

function renderComponent

void ffw::GuiWidget::renderComponent (
    const ffw::Pointf & pos,
    const ffw::Pointf & size,
    const ffw::GuiStyle * group
)

function eventRender

virtual void ffw::GuiWidget::eventRender (
    const ffw::Pointf & contentoffset,
    const ffw::Pointf & contentsize
) = 0

function eventPos

virtual void ffw::GuiWidget::eventPos (
    const ffw::Pointf & pos
)

function eventSize

virtual void ffw::GuiWidget::eventSize (
    const ffw::Pointf & size
)

function eventHover

virtual void ffw::GuiWidget::eventHover (
    bool gained
)

function eventFocus

virtual void ffw::GuiWidget::eventFocus (
    bool gained
)

function eventMouse

virtual void ffw::GuiWidget::eventMouse (
    const ffw::Pointf & mousePos
)

function eventScroll

virtual bool ffw::GuiWidget::eventScroll (
    const ffw::Pointf & scroll
)

function eventMouseButton

virtual void ffw::GuiWidget::eventMouseButton (
    ffw::MouseButton button,
    ffw::MouseMode mode
)

function eventText

virtual void ffw::GuiWidget::eventText (
    uint32_t chr
)

function eventKey

virtual void ffw::GuiWidget::eventKey (
    ffw::Key key,
    ffw::KeyMode mode
)

function eventDisabled

virtual void ffw::GuiWidget::eventDisabled (
    bool disabled
)

function eventThemeChanged

virtual void ffw::GuiWidget::eventThemeChanged (
    const GuiTheme * theme,
    bool defaults = false
) = 0

function getFlags

const Flags & ffw::GuiWidget::getFlags () const

The documentation for this class was generated from the following file: include/ffw/gui/guiwidget.h