Dusk Audio Framework
Loading...
Searching...
No Matches
ImageBaseButton< ImageType > Class Template Reference

#include <ImageBaseWidgets.hpp>

Inheritance diagram for ImageBaseButton< ImageType >:
SubWidget ButtonEventHandler Widget

Classes

class  Callback

Public Member Functions

 ImageBaseButton (Widget *parentWidget, const ImageType &image)
 ImageBaseButton (Widget *parentWidget, const ImageType &imageNormal, const ImageType &imageDown)
 ImageBaseButton (Widget *parentWidget, const ImageType &imageNormal, const ImageType &imageHover, const ImageType &imageDown)
void setCallback (Callback *callback) noexcept
Public Member Functions inherited from SubWidget
 SubWidget (Widget *parentWidget)
 ~SubWidget () override
template<typename T>
bool contains (T x, T y) const noexcept
template<typename T>
bool contains (const Point< T > &pos) const noexcept
int getAbsoluteX () const noexcept
int getAbsoluteY () const noexcept
Point< int > getAbsolutePos () const noexcept
Rectangle< int > getAbsoluteArea () const noexcept
Rectangle< uint > getConstrainedAbsoluteArea () const noexcept
void setAbsoluteX (int x) noexcept
void setAbsoluteY (int y) noexcept
void setAbsolutePos (int x, int y) noexcept
void setAbsolutePos (const Point< int > &pos) noexcept
Point< int > getMargin () const noexcept
void setMargin (int x, int y) noexcept
void setMargin (const Point< int > &offset) noexcept
Widget * getParentWidget () const noexcept
void repaint () noexcept override
virtual void toBottom ()
virtual void toFront ()
void setNeedsFullViewportDrawing (bool needsFullViewportForDrawing=true)
void setNeedsViewportScaling (bool needsViewportScaling=true, double autoScaleFactor=0.0)
void setSkipDrawing (bool skipDrawing=true)
Public Member Functions inherited from Widget
virtual ~Widget ()
bool isVisible () const noexcept
void setVisible (bool visible)
void show ()
void hide ()
uint getWidth () const noexcept
uint getHeight () const noexcept
const Size< uint > getSize () const noexcept
void setWidth (uint width) noexcept
void setHeight (uint height) noexcept
void setSize (uint width, uint height) noexcept
void setSize (const Size< uint > &size) noexcept
uint getId () const noexcept
const char * getName () const noexcept
void setId (uint id) noexcept
void setName (const char *name) noexcept
Application & getApp () const noexcept
Window & getWindow () const noexcept
const GraphicsContext & getGraphicsContext () const noexcept
TopLevelWidget * getTopLevelWidget () const noexcept
std::list< SubWidget * > getChildren () const noexcept
virtual bool wantsKeyboardFocus ()
Application & getParentApp () const noexcept
Window & getParentWindow () const noexcept
Public Member Functions inherited from ButtonEventHandler
 ButtonEventHandler (SubWidget *self)
bool isActive () noexcept
void setActive (bool active, bool sendCallback) noexcept
bool isChecked () const noexcept
void setChecked (bool checked, bool sendCallback) noexcept
bool isCheckable () const noexcept
void setCheckable (bool checkable) noexcept
bool isEnabled () const noexcept
void setEnabled (bool enabled, bool appliesToEventInput=true) noexcept
Point< double > getLastClickPosition () const noexcept
Point< double > getLastMotionPosition () const noexcept
void setCallback (Callback *callback) noexcept
bool mouseEvent (const Widget::MouseEvent &ev)
bool motionEvent (const Widget::MotionEvent &ev)

Protected Member Functions

void onDisplay () override
bool onMouse (const MouseEvent &) override
bool onMotion (const MotionEvent &) override
Protected Member Functions inherited from SubWidget
virtual void onPositionChanged (const PositionChangedEvent &)
Protected Member Functions inherited from Widget
virtual bool onKeyboard (const KeyboardEvent &)
virtual bool onCharacterInput (const CharacterInputEvent &)
virtual bool onScroll (const ScrollEvent &)
virtual void onResize (const ResizeEvent &)
virtual void onFocusChanged (const FocusEvent &)
virtual bool onSpecial (const SpecialEvent &)
Protected Member Functions inherited from ButtonEventHandler
State getState () const noexcept
void clearState () noexcept
virtual void stateChanged (State state, State oldState)
void setInternalCallback (Callback *callback) noexcept
void triggerUserCallback (SubWidget *widget, int button)

Additional Inherited Members

Public Types inherited from ButtonEventHandler
enum  State { kButtonStateDefault = 0x0 , kButtonStateHover = 0x1 , kButtonStateActive = 0x2 , kButtonStateActiveHover = kButtonStateActive|kButtonStateHover }

Detailed Description

template<class ImageType>
class ImageBaseButton< ImageType >

DGL Image Button class.

This is a typical button, where the drawing comes from a pregenerated set of images. The button can be under "normal", "hover" and "down" states, with one separate image possible for each.

The event logic for this button comes from the ButtonEventHandler class.

See also
CairoImageButton, OpenGLImageButton

Member Function Documentation

◆ onDisplay()

template<class ImageType>
void ImageBaseButton< ImageType >::onDisplay ( )
overrideprotectedvirtual

A function called to draw the widget contents.

Reimplemented from Widget.

◆ onMouse()

template<class ImageType>
bool ImageBaseButton< ImageType >::onMouse ( const MouseEvent & )
overrideprotectedvirtual

A function called when a mouse button is pressed or released.

Returns
True to stop event propagation, false otherwise.

Reimplemented from Widget.

◆ onMotion()

template<class ImageType>
bool ImageBaseButton< ImageType >::onMotion ( const MotionEvent & )
overrideprotectedvirtual

A function called when the pointer moves.

Returns
True to stop event propagation, false otherwise.

Reimplemented from Widget.


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