|
void | addEllipse (const STK::Vector2f &c, float rx, float ry) |
|
void | addCircle (const STK::Vector2f &c, float r) |
|
void | setColor (const STK::Color4f &color) |
| Set fill color.
|
|
const STK::Color4f & | getColor () const |
| Get fill color.
|
|
void | setLineThickness (float w) |
| Set line thickness (in pixels).
|
|
float | getLineThickness () const |
| Get line thickness (in pixels).
|
|
bool | hasTexture () const |
|
void | setTexture (const std::shared_ptr< STK::Texture > &tex, const STK::Vector2f &size) |
|
std::shared_ptr< STK::Texture > | getTexture () |
|
const std::shared_ptr< const STK::Texture > | getTexture () const |
|
void | setPatternSize (const STK::Vector2f &size) |
|
const STK::Vector2f & | getPatternSize () const |
|
void | drawVertexArrays () |
|
void | setFixedSize (bool fixed) |
|
bool | getFixedSize () const |
|
void | render (GraphicsRender2D &renderer, const STK::Matrix4x4f &pj, const STK::Matrix4x4f &vm, const STK::Viewport &vp) override |
|
int | getBatchId () const override |
|
void | cleanupBuffers () override |
|
virtual 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.
|
|
EllipseRender2D - Efficient rendering of multiple filled circles or ellipses.
void STK::EllipseRender2D::setFixedSize |
( |
bool |
fixed | ) |
|
|
inline |
Set object to be fixed size (in pixels). If true, any viewport scaling will not affect the geometry of this object. All transforms that are set explicitly on the object through INativeRenderItem2D (Position, Scale, Rotation) will still be applied. Example: A circle with offset c = (10, 20) and r = 30 pixels will always be rendered with 30 pixels radius at (10, 20) pixels offset from Position, but can still be moved by changing the Position vector.