Public Member Functions | Protected Member Functions | Static Protected Attributes | List of all members
openmsx::OSDWidget Class Referenceabstract

#include <OSDWidget.hh>

Inheritance diagram for openmsx::OSDWidget:
Inheritance graph

Public Member Functions

virtual ~OSDWidget ()=default
std::string_view getName () const
virtual gl::vec2 getPos () const
gl::vec2 getRelPos () const
float getZ () const
OSDWidgetgetParent ()
const OSDWidgetgetParent () const
const SubWidgets & getChildren () const
void addWidget (std::unique_ptr< OSDWidget > widget)
void deleteWidget (OSDWidget &widget)
virtual std::span< const std::string_view > getProperties () const
virtual void setProperty (Interpreter &interp, std::string_view name, const TclObject &value)
virtual void getProperty (std::string_view name, TclObject &result) const
virtual float getRecursiveFadeValue () const
virtual bool isRecursiveFading () const =0
virtual std::string_view getType () const =0
void invalidateRecursive ()
void paintSDLRecursive (OutputSurface &output)
void paintGLRecursive (OutputSurface &output)
int getScaleFactor (const OutputSurface &output) const
gl::vec2 transformPos (const OutputSurface &output, gl::vec2 pos, gl::vec2 relPos) const
void getBoundingBox (const OutputSurface &output, gl::vec2 &pos, gl::vec2 &size) const
virtual gl::vec2 getSize (const OutputSurface &output) const =0
virtual bool isVisible () const =0
DisplaygetDisplay () const

Protected Member Functions

 OSDWidget (Display &display, TclObject name)
void invalidateChildren ()
bool needSuppressErrors () const
virtual void invalidateLocal ()=0
virtual void paintSDL (OutputSurface &output)=0
virtual void paintGL (OutputSurface &output)=0

Static Protected Attributes

static constexpr auto widgetProperties

Detailed Description

Definition at line 18 of file OSDWidget.hh.

Constructor & Destructor Documentation

◆ ~OSDWidget()

virtual openmsx::OSDWidget::~OSDWidget ( )

◆ OSDWidget()

openmsx::OSDWidget::OSDWidget ( Display display,
TclObject  name 

Definition at line 139 of file

Member Function Documentation

◆ addWidget()

void openmsx::OSDWidget::addWidget ( std::unique_ptr< OSDWidget widget)

Definition at line 145 of file

References begin().

◆ deleteWidget()

void openmsx::OSDWidget::deleteWidget ( OSDWidget widget)

Definition at line 168 of file

References rfind_unguarded().

◆ getBoundingBox()

void openmsx::OSDWidget::getBoundingBox ( const OutputSurface output,
gl::vec2 pos,
gl::vec2 size 
) const

◆ getChildren()

const SubWidgets & openmsx::OSDWidget::getChildren ( ) const

Definition at line 41 of file OSDWidget.hh.

◆ getDisplay()

Display & openmsx::OSDWidget::getDisplay ( ) const

◆ getName()

std::string_view openmsx::OSDWidget::getName ( ) const

◆ getParent() [1/2]

OSDWidget * openmsx::OSDWidget::getParent ( )

◆ getParent() [2/2]

const OSDWidget * openmsx::OSDWidget::getParent ( ) const

Definition at line 40 of file OSDWidget.hh.

◆ getPos()

virtual gl::vec2 openmsx::OSDWidget::getPos ( ) const

Reimplemented in openmsx::OSDImageBasedWidget.

Definition at line 35 of file OSDWidget.hh.

Referenced by openmsx::OSDImageBasedWidget::getPos(), and transformPos().

◆ getProperties()

virtual std::span< const std::string_view > openmsx::OSDWidget::getProperties ( ) const

Reimplemented in openmsx::OSDImageBasedWidget, openmsx::OSDRectangle, and openmsx::OSDText.

Definition at line 45 of file OSDWidget.hh.

References widgetProperties.

◆ getProperty()

void openmsx::OSDWidget::getProperty ( std::string_view  name,
TclObject result 
) const

◆ getRecursiveFadeValue()

float openmsx::OSDWidget::getRecursiveFadeValue ( ) const

Reimplemented in openmsx::OSDImageBasedWidget.

Definition at line 283 of file

Referenced by openmsx::OSDImageBasedWidget::getRecursiveFadeValue().

◆ getRelPos()

gl::vec2 openmsx::OSDWidget::getRelPos ( ) const

Definition at line 36 of file OSDWidget.hh.

Referenced by transformPos().

◆ getScaleFactor()

int openmsx::OSDWidget::getScaleFactor ( const OutputSurface output) const

◆ getSize()

virtual gl::vec2 openmsx::OSDWidget::getSize ( const OutputSurface output) const
pure virtual

Implemented in openmsx::OSDTopWidget.

Referenced by transformPos().

◆ getType()

virtual std::string_view openmsx::OSDWidget::getType ( ) const
pure virtual

◆ getZ()

float openmsx::OSDWidget::getZ ( ) const

Definition at line 37 of file OSDWidget.hh.

◆ invalidateChildren()

void openmsx::OSDWidget::invalidateChildren ( )

Definition at line 294 of file

Referenced by invalidateRecursive(), and openmsx::OSDText::setProperty().

◆ invalidateLocal()

virtual void openmsx::OSDWidget::invalidateLocal ( )
protectedpure virtual

◆ invalidateRecursive()

void openmsx::OSDWidget::invalidateRecursive ( )

◆ isRecursiveFading()

virtual bool openmsx::OSDWidget::isRecursiveFading ( ) const
pure virtual

◆ isVisible()

virtual bool openmsx::OSDWidget::isVisible ( ) const
pure virtual

◆ needSuppressErrors()

bool openmsx::OSDWidget::needSuppressErrors ( ) const

Definition at line 301 of file

References getParent().

Referenced by openmsx::OSDImageBasedWidget::setError().

◆ paintGL()

virtual void openmsx::OSDWidget::paintGL ( OutputSurface output)
protectedpure virtual

◆ paintGLRecursive()

void openmsx::OSDWidget::paintGLRecursive ( OutputSurface output)

Definition at line 326 of file

References getBoundingBox(), paintGL(), and utf8::unchecked::size().

Referenced by openmsx::GLOSDGUILayer::paint().

◆ paintSDL()

virtual void openmsx::OSDWidget::paintSDL ( OutputSurface output)
protectedpure virtual

◆ paintSDLRecursive()

void openmsx::OSDWidget::paintSDLRecursive ( OutputSurface output)

Definition at line 310 of file

References getBoundingBox(), paintSDL(), and utf8::unchecked::size().

Referenced by openmsx::SDLOSDGUILayer::paint().

◆ setProperty()

void openmsx::OSDWidget::setProperty ( Interpreter interp,
std::string_view  name,
const TclObject value 

◆ transformPos()

vec2 openmsx::OSDWidget::transformPos ( const OutputSurface output,
gl::vec2  pos,
gl::vec2  relPos 
) const

Definition at line 356 of file

References getParent(), getPos(), getRelPos(), getScaleFactor(), and getSize().

Referenced by getBoundingBox().

Member Data Documentation

◆ widgetProperties

constexpr auto openmsx::OSDWidget::widgetProperties
Initial value:
= [] {
using namespace std::literals;
return std::array{
"-type"sv, "-x"sv, "-y"sv, "-z"sv, "-relx"sv, "-rely"sv, "-scaled"sv,
"-clip"sv, "-mousecoord"sv, "-suppressErrors"sv,

Definition at line 23 of file OSDWidget.hh.

Referenced by getProperties().

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