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

#include <OSDImageBasedWidget.hh>

Inheritance diagram for openmsx::OSDImageBasedWidget:
Inheritance graph
[legend]
Collaboration diagram for openmsx::OSDImageBasedWidget:
Collaboration graph
[legend]

Public Member Functions

gl::vec2 getPos () const override
 
uint32_t getRGBA (uint32_t corner) const
 
std::span< const uint32_t, 4 > getRGBA4 () const
 
virtual uint8_t getFadedAlpha () const =0
 
std::span< const std::string_view > getProperties () const override
 
void setProperty (Interpreter &interp, std::string_view name, const TclObject &value) override
 
void getProperty (std::string_view name, TclObject &result) const override
 
float getRecursiveFadeValue () const override
 
bool isVisible () const override
 
bool isRecursiveFading () const override
 
- Public Member Functions inherited from openmsx::OSDWidget
virtual ~OSDWidget ()=default
 
std::string_view getName () 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::string_view getType () const =0
 
void invalidateRecursive ()
 
void paintRecursive (OutputSurface &output)
 
int getScaleFactor (const OutputSurface &output) const
 
gl::vec2 transformPos (const OutputSurface &output, gl::vec2 pos, gl::vec2 relPos) const
 
BoundingBox getBoundingBox (const OutputSurface &output) const
 
virtual gl::vec2 getSize (const OutputSurface &output) const =0
 
DisplaygetDisplay () const
 

Protected Member Functions

 OSDImageBasedWidget (Display &display, const TclObject &name)
 
 ~OSDImageBasedWidget () override
 
bool hasConstantAlpha () const
 
void createImage (OutputSurface &output)
 
void invalidateLocal () override
 
void paint (OutputSurface &output) override
 
virtual std::unique_ptr< GLImagecreate (OutputSurface &output)=0
 
gl::vec2 getRenderedSize () const
 
void setError (std::string message)
 
bool hasError () const
 
- Protected Member Functions inherited from openmsx::OSDWidget
 OSDWidget (Display &display, TclObject name)
 
void invalidateChildren () const
 
bool needSuppressErrors () const
 

Protected Attributes

std::unique_ptr< GLImageimage
 

Static Protected Attributes

static constexpr auto imageBasedProperties
 
- Static Protected Attributes inherited from openmsx::OSDWidget
static constexpr auto widgetProperties
 

Detailed Description

Definition at line 16 of file OSDImageBasedWidget.hh.

Constructor & Destructor Documentation

◆ OSDImageBasedWidget()

openmsx::OSDImageBasedWidget::OSDImageBasedWidget ( Display display,
const TclObject name 
)
protected

Definition at line 22 of file OSDImageBasedWidget.cc.

References ranges::fill().

◆ ~OSDImageBasedWidget()

openmsx::OSDImageBasedWidget::~OSDImageBasedWidget ( )
overrideprotecteddefault

Member Function Documentation

◆ create()

virtual std::unique_ptr< GLImage > openmsx::OSDImageBasedWidget::create ( OutputSurface output)
protectedpure virtual

Referenced by createImage().

◆ createImage()

void openmsx::OSDImageBasedWidget::createImage ( OutputSurface output)
protected

Definition at line 299 of file OSDImageBasedWidget.cc.

References create(), hasError(), image, and setError().

Referenced by getRenderedSize(), and paint().

◆ getFadedAlpha()

virtual uint8_t openmsx::OSDImageBasedWidget::getFadedAlpha ( ) const
pure virtual

Referenced by isVisible(), and paint().

◆ getPos()

gl::vec2 openmsx::OSDImageBasedWidget::getPos ( ) const
overridevirtual

Reimplemented from openmsx::OSDWidget.

Definition at line 169 of file OSDImageBasedWidget.cc.

References openmsx::OSDWidget::getPos(), openmsx::Timer::getTime(), and t.

◆ getProperties()

std::span< const std::string_view > openmsx::OSDImageBasedWidget::getProperties ( ) const
inlineoverridevirtual

Reimplemented from openmsx::OSDWidget.

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

Definition at line 41 of file OSDImageBasedWidget.hh.

References imageBasedProperties.

◆ getProperty()

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

◆ getRecursiveFadeValue()

float openmsx::OSDImageBasedWidget::getRecursiveFadeValue ( ) const
overridevirtual

◆ getRenderedSize()

vec2 openmsx::OSDImageBasedWidget::getRenderedSize ( ) const
protected

◆ getRGBA()

uint32_t openmsx::OSDImageBasedWidget::getRGBA ( uint32_t  corner) const
inline

Definition at line 36 of file OSDImageBasedWidget.hh.

◆ getRGBA4()

std::span< const uint32_t, 4 > openmsx::OSDImageBasedWidget::getRGBA4 ( ) const
inline

Definition at line 37 of file OSDImageBasedWidget.hh.

◆ hasConstantAlpha()

bool openmsx::OSDImageBasedWidget::hasConstantAlpha ( ) const
protected

Definition at line 204 of file OSDImageBasedWidget.cc.

References ranges::all_equal().

◆ hasError()

bool openmsx::OSDImageBasedWidget::hasError ( ) const
inlineprotected

Definition at line 62 of file OSDImageBasedWidget.hh.

Referenced by createImage().

◆ invalidateLocal()

void openmsx::OSDImageBasedWidget::invalidateLocal ( )
overrideprotectedvirtual

Implements openmsx::OSDWidget.

Definition at line 271 of file OSDImageBasedWidget.cc.

References image.

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

◆ isRecursiveFading()

bool openmsx::OSDImageBasedWidget::isRecursiveFading ( ) const
overridevirtual

◆ isVisible()

bool openmsx::OSDImageBasedWidget::isVisible ( ) const
overridevirtual

Implements openmsx::OSDWidget.

Definition at line 214 of file OSDImageBasedWidget.cc.

References getFadedAlpha(), and isRecursiveFading().

◆ paint()

void openmsx::OSDImageBasedWidget::paint ( OutputSurface output)
overrideprotectedvirtual

◆ setError()

void openmsx::OSDImageBasedWidget::setError ( std::string  message)
protected

◆ setProperty()

void openmsx::OSDImageBasedWidget::setProperty ( Interpreter interp,
std::string_view  name,
const TclObject value 
)
overridevirtual

Member Data Documentation

◆ image

std::unique_ptr<GLImage> openmsx::OSDImageBasedWidget::image
protected

Definition at line 64 of file OSDImageBasedWidget.hh.

Referenced by createImage(), getRenderedSize(), invalidateLocal(), and paint().

◆ imageBasedProperties

constexpr auto openmsx::OSDImageBasedWidget::imageBasedProperties
staticconstexprprotected
Initial value:
= [] {
using namespace std::literals;
return concatArray(
std::array{
"-rgba"sv, "-rgb"sv, "-alpha"sv,
"-fadePeriod"sv, "-fadeTarget"sv,
"-fadeCurrent"sv,
"-scrollSpeed"sv,
"-scrollPauseLeft"sv,
"-scrollPauseRight"sv,
"-query-size"sv,
});
}()
static constexpr auto widgetProperties
Definition OSDWidget.hh:25
constexpr auto concatArray(const std::array< T, X > &x, const std::array< T, Y > &y)
Definition stl.hh:390

Definition at line 19 of file OSDImageBasedWidget.hh.

Referenced by getProperties().


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