|
| CustomTextRenderItemSDFtest (const std::string &text, std::shared_ptr< STK::TextureFontSDF > font, STK::TextHAlignment h_anchor=STK::TextHAlignment::Left, STK::TextVAlignment v_anchor=STK::TextVAlignment::Bottom, float glyphSpacing=0.0) |
|
| CustomTextRenderItemSDFtest (std::shared_ptr< STK::TextItem > text_item) |
| Initialize a new text rendering item from the given text item.
|
|
| TextRenderItemSDF (const std::string &text, std::shared_ptr< TextureFontSDF > font, TextHAlignment h_anchor=TextHAlignment::Left, TextVAlignment v_anchor=TextVAlignment::Bottom, float glyph_spacing=0.0f) |
|
| TextRenderItemSDF (const std::shared_ptr< VertexBuffer2D > &vtx_buffer, const std::string &text, std::shared_ptr< TextureFontSDF > font, TextHAlignment h_anchor=TextHAlignment::Left, TextVAlignment v_anchor=TextVAlignment::Bottom, float glyph_spacing=0.0f) |
|
| TextRenderItemSDF (std::shared_ptr< TextItem > text_item) |
|
void | setOutlineColor (const STK::Color4f &color) |
|
const STK::Color4f & | getOutlineColor () const |
|
void | setOutlineFraction (float outline_fraction) |
|
float | getOutlineFraction () const |
|
void | setSmoothing (float smoothing) |
|
float | getSmoothing () const |
|
void | setEdgeValue (float edge_value) |
|
float | getEdgeValue () const |
|
STK::Box2< float > | getVisibleBoundingBox () const override |
| Get the visible bounding box for the text, relative to the position of the text item. For SDF fonts, the geometry of each glyph stretches outside the actual border of the visible glyph. For normal texture fonts, the visible bounding box is simply given by the text item width/height.
|
|
void | render (GraphicsRender2D &renderer, const STK::Matrix4x4f &pj, const STK::Matrix4x4f &vm, const STK::Viewport &vp) override |
|
int | getBatchId () const override |
|
| TextRenderItem (const std::string &text, std::shared_ptr< TextureFont > font, TextHAlignment h_anchor=TextHAlignment::Left, TextVAlignment v_anchor=TextVAlignment::Bottom, float glyphSpacing=0.0) |
|
| TextRenderItem (const std::shared_ptr< VertexBuffer2D > &vtx_buffer, const std::string &text, std::shared_ptr< TextureFont > font, TextHAlignment h_anchor=TextHAlignment::Left, TextVAlignment v_anchor=TextVAlignment::Bottom, float glyphSpacing=0.0) |
|
| TextRenderItem (std::shared_ptr< TextItem > text_item) |
| Initialize a new text rendering item from the given text item.
|
|
const std::shared_ptr< TextItem > & | getTextItem () const |
| Returns the underlying text item.
|
|
void | setColor (const STK::Color4f &color) |
| Set foreground text color.
|
|
const STK::Color4f & | getColor () const |
|
void | setBackgroundColor (const STK::Color4f &color) |
|
const STK::Color4f & | getBackgroundColor () const |
|
void | setDrawBackground (bool draw_bg) |
|
bool | getDrawBackground () const |
|
void | setCornerRadius (float corner_radius) |
|
float | getCornerRadius () const |
|
void | setText (const std::string &text) |
|
void | setPadding (float pad) |
|
void | setPadding (float v_pad, float h_pad) |
|
void | setPadding (float top_pad, float h_pad, float bot_pad) |
|
void | setPadding (float top_pad, float right_pad, float bot_pad, float left_pad) |
|
const STK::Vector4f & | getPaddingVector () |
|
void | setPaddingVector (const STK::Vector4f &padding) |
|
float | getPadding () const |
|
float | getPaddingTop () const |
|
float | getPaddingRight () const |
|
float | getPaddingBottom () const |
|
float | getPaddingLeft () const |
|
void | drawBackgroundRectangle () |
| Draw (possibly rounded) background rectangle.
|
|
void | render (GraphicsRender2D &renderer, const STK::Matrix4x4f &pj, const STK::Matrix4x4f &vm, const STK::Viewport &vp) override |
|
int | getBatchId () const override |
|
void | cleanupBuffers () override |
|
void | setOffset (float x, float y) |
| Set 2D offset position of the text (in pixels). This method will invalidate the transform and cause it to be recalculated on the next frame.
|
|
void | setOffsetAngle (float angle) |
| Set offset rotation angle for the text item. Positive rotation direction is counter-clockwise. This rotation is relative to setOffset(), so that the entire label will rotate on an offset vector (in pixels) about the position defined by setPosition(). This method will invalidate the transform and cause it to be recalculated on the next frame.
|
|
float | getOffsetAngle () const |
|
void | setOffset (const STK::Vector2f &offset) |
| Same as above.
|
|
const STK::Vector2f & | getOffset () const |
|
const STK::Matrix4x4f & | getTextTransform () |
|
void | setKeepUpright (bool keep_upright) |
|
bool | keepUpright () const |
|
void | updateViewportScaling (const STK::Matrix4x4f &mv) |
|
void | setTextBoundingBox (std::optional< OrientedBoundingBox2f > bbox) |
|
std::optional< OrientedBoundingBox2f > | getTextBoundingBox () const |
|
virtual STK::Box2< float > | getVisibleBoundingBox () const |
| Get the visible bounding box for the text, relative to the position of the text item. For SDF fonts, the geometry of each glyph stretches outside the actual border of the visible glyph. For normal texture fonts, the visible bounding box is simply given by the text item width/height.
|
|
STK::Box2< float > | getViewBoundingBox (const STK::Matrix4x4f &mvp, const STK::Viewport &glVp, bool reverse_y=false) override |
| Get bounding box in viewport pixel coordinates.
|
|
virtual void | render (GraphicsRender2D &renderer, const STK::Matrix4x4f &pj, const STK::Matrix4x4f &vm, const STK::Viewport &vp)=0 |
|
virtual void | cleanupBuffers ()=0 |
|
virtual int | getBatchId () const =0 |
|
void | setDepth (float depth) |
|
float | getDepth () const |
|
void | setStencilValue (unsigned char stencil_value) |
| Set value for stencil operations.
|
|
unsigned char | getStencilValue () const |
| Get value for stencil operations.
|
|
void | setStencilMode (StencilMode mode) |
| Stencil buffer operations.
|
|
StencilMode | getStencilMode () const |
| Stencil buffer operations.
|
|
const STK::Matrix4x4f & | getTransform () |
|
void | setPosition (float x, float y) |
| Set 2D position of the item. This method will invalidate the transform and cause it to be recalculated on the next frame.
|
|
void | setPosition (const STK::Vector2f &pos) |
| Same as above.
|
|
void | setPositionX (float x) |
| Set X position separately.
|
|
void | setPositionY (float y) |
| Set Y position separately.
|
|
const STK::Vector2f & | getPosition () const |
|
float | getPositionX () const |
|
float | getPositionY () const |
|
void | setScale (const STK::Vector2f &scale) |
|
void | setScale (float scale) |
| Set scale factor for the text item. This method will invalidate the transform and cause it to be recalculated on the next frame.
|
|
STK::Vector2f | getScale () const |
| Returns current scale factor for the item.
|
|
void | setAngle (float angle) |
| Set rotation angle for the item. Positive rotation direction is counter-clockwise. This method will invalidate the transform and cause it to be recalculated on the next frame.
|
|
float | getAngle () const |
|
void | setTransform (const STK::Matrix4x4f &transform) |
| Set transform directly. This method will set the transformation matrix for this item directly. This will override any values for setPosition(), setScale(), setDepth() and setAngle(). Also, any subsequent calls to these methods will again override this method. In short, either use setTransform() or setPosition/Scale/Angle/Depth.
|
|
void | setPreTransform (const STK::Matrix4x4f &transform) |
|
void | setPostTransform (const STK::Matrix4x4f &transform) |
|
std::optional< STK::Matrix4x4f > | getPreTransform () const |
|
std::optional< STK::Matrix4x4f > | getPostTransform () const |
|
void | setOpacity (float opacity) |
|
float | getOpacity () const |
|
virtual STK::Box2< float > | getViewBoundingBox (const STK::Matrix4x4f &mvp, const STK::Viewport &glVp, bool reverse_y=false)=0 |
| Get bounding box in viewport pixel coordinates.
|
|