Vital
Loading...
Searching...
No Matches
PlainTextComponent Class Reference

A text component rendered into an OpenGlImageComponent with configurable font and justification. More...

#include <open_gl_image_component.h>

Inheritance diagram for PlainTextComponent:
OpenGlImageComponent OpenGlComponent

Public Types

enum  FontType {
  kTitle , kLight , kRegular , kMono ,
  kNumFontTypes
}
 Different font types available for text rendering. More...
 

Public Member Functions

 PlainTextComponent (String name, String text)
 Constructs a PlainTextComponent.
 
void resized () override
 Called when the component is resized.
 
void setText (String text)
 Sets the displayed text and redraws the image.
 
String getText () const
 Gets the current displayed text.
 
void paintToImage (Graphics &g) override
 Renders the associated component (or itself) into the provided Graphics context.
 
void setTextSize (float size)
 Sets the size of the text in points.
 
void setFontType (FontType font_type)
 Sets the font type (Title, Light, Regular, Mono).
 
void setJustification (Justification justification)
 Sets the text justification (e.g., centered, left, right).
 
void setBuffer (int buffer)
 Sets a buffer (padding) around the text.
 
- Public Member Functions inherited from OpenGlImageComponent
 OpenGlImageComponent (String name="")
 Constructs an OpenGlImageComponent.
 
virtual ~OpenGlImageComponent ()=default
 Destructor.
 
virtual void paintBackground (Graphics &g) override
 Paints the background by redrawing the image if needed.
 
virtual void init (OpenGlWrapper &open_gl) override
 Initializes any OpenGL resources for rendering this component.
 
virtual void render (OpenGlWrapper &open_gl, bool animate) override
 Renders the image using OpenGL.
 
virtual void destroy (OpenGlWrapper &open_gl) override
 Destroys OpenGL-related resources used by this component.
 
virtual void redrawImage (bool force)
 Redraws the image if necessary, creating or updating the internal Image.
 
void setComponent (Component *component)
 Sets the component to be drawn into the OpenGL image. If not set, uses this component.
 
void setScissor (bool scissor)
 Enables or disables scissor testing when drawing the image.
 
void setUseAlpha (bool use_alpha)
 Enables or disables alpha blending for the image.
 
void setColor (Colour color)
 Sets a color tint for the image.
 
OpenGlImageimage ()
 Provides access to the underlying OpenGlImage.
 
void setActive (bool active)
 Sets whether this component is active (rendered) or not.
 
void setStatic (bool static_image)
 Sets whether the image should be treated as static (not redrawn unless forced).
 
void paintEntireComponent (bool paint_entire_component)
 Controls whether paintToImage should paint the entire component hierarchy or just itself.
 
bool isActive () const
 Checks if this component is currently active.
 
- Public Member Functions inherited from OpenGlComponent
 OpenGlComponent (String name="")
 Constructs an OpenGlComponent.
 
virtual ~OpenGlComponent ()
 Destructor.
 
virtual void parentHierarchyChanged () override
 Called when the component's parent hierarchy changes.
 
void addRoundedCorners ()
 Adds rounded corners to the component's edges.
 
void addBottomRoundedCorners ()
 Adds rounded corners only at the bottom of the component.
 
void renderCorners (OpenGlWrapper &open_gl, bool animate, Colour color, float rounding)
 Renders the corner shapes using the given color and rounding amount.
 
void renderCorners (OpenGlWrapper &open_gl, bool animate)
 Renders corners with default body color and rounding.
 
void repaintBackground ()
 Requests a repaint of the component's background on the OpenGL layer.
 
Colour getBodyColor () const
 Retrieves the component's body color.
 
void setParent (const SynthSection *parent)
 Sets a pointer to the parent SynthSection for skin value lookups.
 
float findValue (Skin::ValueId value_id)
 Finds a float value from the skin associated with this component's parent.
 
void setSkinValues (const Skin &skin)
 Applies the skin overrides to this component's colors.
 
void setSkinOverride (Skin::SectionOverride skin_override)
 Sets a skin override to control the component's color scheme.
 
force_inline void checkGlError ()
 Checks for and asserts that there are no OpenGL errors.
 
void setBackgroundColor (const Colour &color)
 Sets the background color of the component for painting operations.
 

Additional Inherited Members

- Static Public Member Functions inherited from OpenGlComponent
static bool setViewPort (Component *component, Rectangle< int > bounds, OpenGlWrapper &open_gl)
 Sets the OpenGL viewport to match a specified rectangle within a component.
 
static bool setViewPort (Component *component, OpenGlWrapper &open_gl)
 Convenience overload that sets the viewport for the entire component's local bounds.
 
static void setScissor (Component *component, OpenGlWrapper &open_gl)
 Sets the OpenGL scissor region to the entire component's local bounds.
 
static void setScissorBounds (Component *component, Rectangle< int > bounds, OpenGlWrapper &open_gl)
 Sets the OpenGL scissor region to a specified rectangle within a component.
 
static std::unique_ptr< OpenGLShaderProgram::Uniform > getUniform (const OpenGlWrapper &open_gl, const OpenGLShaderProgram &program, const char *name)
 Retrieves a uniform from the shader program if it exists.
 
static std::unique_ptr< OpenGLShaderProgram::Attribute > getAttribute (const OpenGlWrapper &open_gl, const OpenGLShaderProgram &program, const char *name)
 Retrieves an attribute from the shader program if it exists.
 
static String translateFragmentShader (const String &code)
 Translates a fragment shader code snippet to be compatible with the current GL version.
 
static String translateVertexShader (const String &code)
 Translates a vertex shader code snippet to be compatible with the current GL version.
 
- Protected Member Functions inherited from OpenGlComponent
bool setViewPort (OpenGlWrapper &open_gl)
 Sets the viewport for this component using the current OpenGlWrapper.
 
- Protected Attributes inherited from OpenGlImageComponent
Component * component_
 The component being drawn into the image (if any).
 
bool active_
 Whether this component is active and should render.
 
bool static_image_
 Whether the image is static or updated on events.
 
bool paint_entire_component_
 If true, paint entire component hierarchy to image.
 
std::unique_ptr< Image > draw_image_
 The cached image that stores the drawn component.
 
OpenGlImage image_
 The OpenGlImage used to upload and draw the cached image.
 
- Protected Attributes inherited from OpenGlComponent
std::unique_ptr< OpenGlCornerscorners_
 Optional corners for rounded edges.
 
bool only_bottom_corners_
 Flag to round only the bottom corners.
 
Colour background_color_
 The background color of the component.
 
Colour body_color_
 The body color of the component.
 
const SynthSectionparent_
 Pointer to parent SynthSection for skin lookups.
 
Skin::SectionOverride skin_override_
 Skin override for custom appearance.
 
const vital::StatusOutputnum_voices_readout_
 StatusOutput for voice count lookups.
 

Detailed Description

A text component rendered into an OpenGlImageComponent with configurable font and justification.

Member Enumeration Documentation

◆ FontType

Different font types available for text rendering.

Enumerator
kTitle 
kLight 
kRegular 
kMono 
kNumFontTypes 

Constructor & Destructor Documentation

◆ PlainTextComponent()

PlainTextComponent::PlainTextComponent ( String name,
String text )
inline

Constructs a PlainTextComponent.

Parameters
nameThe name of the component.
textThe initial text to display.

Member Function Documentation

◆ getText()

String PlainTextComponent::getText ( ) const
inline

Gets the current displayed text.

Returns
The current text as a String.

◆ paintToImage()

void PlainTextComponent::paintToImage ( Graphics & g)
inlineoverridevirtual

Renders the associated component (or itself) into the provided Graphics context.

Parameters
gThe graphics context where the component is painted.

If paint_entire_component_ is true, the entire component hierarchy is painted, otherwise only this component is painted.

Reimplemented from OpenGlImageComponent.

◆ resized()

void PlainTextComponent::resized ( )
inlineoverridevirtual

Called when the component is resized.

Adjusts internal states or sub-components (like corners).

Reimplemented from OpenGlComponent.

◆ setBuffer()

void PlainTextComponent::setBuffer ( int buffer)
inline

Sets a buffer (padding) around the text.

Parameters
bufferThe number of pixels to pad around the text.

◆ setFontType()

void PlainTextComponent::setFontType ( FontType font_type)
inline

Sets the font type (Title, Light, Regular, Mono).

Parameters
font_typeThe desired font type.

◆ setJustification()

void PlainTextComponent::setJustification ( Justification justification)
inline

Sets the text justification (e.g., centered, left, right).

Parameters
justificationThe Justification enum value.

◆ setText()

void PlainTextComponent::setText ( String text)
inline

Sets the displayed text and redraws the image.

Parameters
textThe new text to display.

◆ setTextSize()

void PlainTextComponent::setTextSize ( float size)
inline

Sets the size of the text in points.

Parameters
sizeThe new text size.

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