DISTRHO Plugin Framework
Classes | Public Member Functions | Protected Member Functions | List of all members
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
 
WidgetgetParentWidget () 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
 
ApplicationgetApp () const noexcept
 
WindowgetWindow () const noexcept
 
const GraphicsContextgetGraphicsContext () const noexcept
 
TopLevelWidgetgetTopLevelWidget () const noexcept
 
std::list< SubWidget * > getChildren () const noexcept
 
ApplicationgetParentApp () const noexcept
 
WindowgetParentWindow () 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
 
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 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.

Implements 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: