Frame-local Skia-style recorder for 2D line primitives. 更多...
#include <PrimitiveDrawList.h>
Public 成员函数 | |
| PrimitiveCanvas2D (std::size_t hardCommandLimit=65536) | |
| Primitive canvas 2 d. | |
| void | save () |
| Pushes the complete current transform state. | |
| void | restore () |
| Restores the most recently saved state. | |
| void | concat (const glm::mat3 &transform) |
| Post-concatenates a local transform. | |
| void | drawLine (glm::vec2 a, glm::vec2 b, const PrimitivePaint &paint) |
| Records a two-point line. Input data is copied. | |
| void | drawPoint (glm::vec2 point, const PrimitivePaint &paint) |
| Draws a point using stroke width and cap semantics. | |
| void | drawPolyline (std::span< const glm::vec2 > points, bool closed, const PrimitivePaint &paint) |
| Records an owning polyline snapshot. | |
| eve::Result< PrimitiveRecordStatus > | tryDrawPolyline (std::span< const glm::vec2 > points, bool closed, const PrimitivePaint &paint) |
| Atomically records an owning polyline or returns a structured budget failure. | |
| void | drawPath (const Path2D &path, const PrimitivePaint &paint, float tolerance=0.25f) |
| Flattens and records every non-empty contour in path. | |
| void | drawRect (glm::vec2 minimum, glm::vec2 maximum, const PrimitivePaint &paint) |
| Draws an axis-aligned rectangle with fill/stroke paint semantics. | |
| void | drawRoundedRect (glm::vec2 minimum, glm::vec2 maximum, glm::vec2 radii, const PrimitivePaint &paint, std::uint32_t cornerSegments=8) |
| Draws a rounded axis-aligned rectangle with per-axis corner radii. | |
| void | drawCircle (glm::vec2 center, float radius, const PrimitivePaint &paint, std::uint32_t segments=48) |
| Draws a circle using the requested segment quality. | |
| void | drawCircle (glm::vec2 center, float radius, const PrimitivePaint &paint, const RadialTessellation &tessellation) |
| Draws a circle using a fixed quality or adaptive pixel-error policy. | |
| void | drawEllipse (glm::vec2 center, glm::vec2 radii, const PrimitivePaint &paint, std::uint32_t segments=48) |
| Draws an axis-aligned ellipse using the requested segment quality. | |
| void | drawArc (glm::vec2 center, glm::vec2 radii, float startRadians, float sweepRadians, const PrimitivePaint &paint, std::uint32_t segments=32) |
| Draws an arc or filled sector. Angles are radians. | |
| void | reset () |
| Clears commands and state while retaining allocated capacity. | |
| const std::vector< PolylineCommand2D > & | commands () const noexcept |
| Commands. | |
| const std::vector< TriangleCommand2D > & | triangles () const noexcept |
| Triangles. | |
| const PrimitiveDrawStatistics & | statistics () const noexcept |
| Statistics. | |
详细描述
Frame-local Skia-style recorder for 2D line primitives.
在文件 PrimitiveDrawList.h 第 52 行定义.
构造及析构函数说明
◆ PrimitiveCanvas2D()
|
explicit |
成员函数说明
◆ commands()
|
inlinenoexcept |
◆ concat()
| void eve::graphics::PrimitiveCanvas2D::concat | ( | const glm::mat3 & | transform | ) |
Post-concatenates a local transform.
在文件 PrimitiveDrawList.cpp 第 245 行定义.
◆ drawArc()
| void eve::graphics::PrimitiveCanvas2D::drawArc | ( | glm::vec2 | center, |
| glm::vec2 | radii, | ||
| float | startRadians, | ||
| float | sweepRadians, | ||
| const PrimitivePaint & | paint, | ||
| std::uint32_t | segments = 32 |
||
| ) |
Draws an arc or filled sector. Angles are radians.
在文件 PrimitiveDrawList.cpp 第 477 行定义.
引用了 angle, center, drawPolyline(), EV_PARAM_CHECK, eve::graphics::Fill, eve::graphics::PrimitivePaint::mode, radii, eve::graphics::Stroke , 以及 t.
◆ drawCircle() [1/2]
| void eve::graphics::PrimitiveCanvas2D::drawCircle | ( | glm::vec2 | center, |
| float | radius, | ||
| const PrimitivePaint & | paint, | ||
| const RadialTessellation & | tessellation | ||
| ) |
Draws a circle using a fixed quality or adaptive pixel-error policy.
在文件 PrimitiveDrawList.cpp 第 448 行定义.
引用了 center, drawCircle(), radius , 以及 eve::graphics::resolveRadialSegments().
◆ drawCircle() [2/2]
| void eve::graphics::PrimitiveCanvas2D::drawCircle | ( | glm::vec2 | center, |
| float | radius, | ||
| const PrimitivePaint & | paint, | ||
| std::uint32_t | segments = 48 |
||
| ) |
Draws a circle using the requested segment quality.
在文件 PrimitiveDrawList.cpp 第 443 行定义.
引用了 center, drawEllipse() , 以及 radius.
被这些函数引用 drawCircle() , 以及 drawPoint().
◆ drawEllipse()
| void eve::graphics::PrimitiveCanvas2D::drawEllipse | ( | glm::vec2 | center, |
| glm::vec2 | radii, | ||
| const PrimitivePaint & | paint, | ||
| std::uint32_t | segments = 48 |
||
| ) |
Draws an axis-aligned ellipse using the requested segment quality.
在文件 PrimitiveDrawList.cpp 第 458 行定义.
引用了 eve::graphics::PrimitiveDrawStatistics::cacheHits, center, drawPolyline(), EV_PARAM_CHECK, eve::graphics::Fill, eve::graphics::PrimitivePaint::mode, radii, eve::graphics::Stroke , 以及 unit.
被这些函数引用 drawCircle().
◆ drawLine()
| void eve::graphics::PrimitiveCanvas2D::drawLine | ( | glm::vec2 | a, |
| glm::vec2 | b, | ||
| const PrimitivePaint & | paint | ||
| ) |
Records a two-point line. Input data is copied.
在文件 PrimitiveDrawList.cpp 第 247 行定义.
引用了 a, b, drawPolyline() , 以及 points.
◆ drawPath()
| void eve::graphics::PrimitiveCanvas2D::drawPath | ( | const Path2D & | path, |
| const PrimitivePaint & | paint, | ||
| float | tolerance = 0.25f |
||
| ) |
Flattens and records every non-empty contour in path.
在文件 PrimitiveDrawList.cpp 第 282 行定义.
引用了 area, boundary, drawPolyline(), EV_PARAM_CHECK, eve::graphics::EvenOdd, eve::graphics::Fill, eve::graphics::PrimitivePaint::mode, path, points, eve::graphics::Stroke , 以及 triangle.
◆ drawPoint()
| void eve::graphics::PrimitiveCanvas2D::drawPoint | ( | glm::vec2 | point, |
| const PrimitivePaint & | paint | ||
| ) |
Draws a point using stroke width and cap semantics.
在文件 PrimitiveDrawList.cpp 第 252 行定义.
引用了 eve::graphics::StrokeStyle::cap, drawCircle(), drawRect(), eve::graphics::Fill, eve::graphics::PrimitivePaint::mode, point, eve::graphics::Square, eve::graphics::PrimitivePaint::stroke , 以及 eve::graphics::StrokeStyle::width.
◆ drawPolyline()
| void eve::graphics::PrimitiveCanvas2D::drawPolyline | ( | std::span< const glm::vec2 > | points, |
| bool | closed, | ||
| const PrimitivePaint & | paint | ||
| ) |
Records an owning polyline snapshot.
在文件 PrimitiveDrawList.cpp 第 262 行定义.
引用了 points , 以及 tryDrawPolyline().
被这些函数引用 drawArc(), drawEllipse(), drawLine(), drawPath(), drawRect() , 以及 drawRoundedRect().
◆ drawRect()
| void eve::graphics::PrimitiveCanvas2D::drawRect | ( | glm::vec2 | minimum, |
| glm::vec2 | maximum, | ||
| const PrimitivePaint & | paint | ||
| ) |
Draws an axis-aligned rectangle with fill/stroke paint semantics.
在文件 PrimitiveDrawList.cpp 第 403 行定义.
引用了 drawPolyline(), EV_PARAM_CHECK, eve::graphics::Fill, maximum, minimum, eve::graphics::PrimitivePaint::mode , 以及 eve::graphics::Stroke.
被这些函数引用 drawPoint().
◆ drawRoundedRect()
| void eve::graphics::PrimitiveCanvas2D::drawRoundedRect | ( | glm::vec2 | minimum, |
| glm::vec2 | maximum, | ||
| glm::vec2 | radii, | ||
| const PrimitivePaint & | paint, | ||
| std::uint32_t | cornerSegments = 8 |
||
| ) |
Draws a rounded axis-aligned rectangle with per-axis corner radii.
在文件 PrimitiveDrawList.cpp 第 415 行定义.
引用了 angle, center, drawPolyline(), EV_PARAM_CHECK, eve::graphics::Fill, maximum, minimum, eve::graphics::PrimitivePaint::mode, radii, size, start, eve::graphics::Stroke , 以及 valid.
◆ reset()
| void eve::graphics::PrimitiveCanvas2D::reset | ( | ) |
Clears commands and state while retaining allocated capacity.
在文件 PrimitiveDrawList.cpp 第 503 行定义.
◆ restore()
| void eve::graphics::PrimitiveCanvas2D::restore | ( | ) |
◆ save()
| void eve::graphics::PrimitiveCanvas2D::save | ( | ) |
Pushes the complete current transform state.
在文件 PrimitiveDrawList.cpp 第 237 行定义.
◆ statistics()
|
inlinenoexcept |
◆ triangles()
|
inlinenoexcept |
◆ tryDrawPolyline()
| eve::Result< PrimitiveRecordStatus > eve::graphics::PrimitiveCanvas2D::tryDrawPolyline | ( | std::span< const glm::vec2 > | points, |
| bool | closed, | ||
| const PrimitivePaint & | paint | ||
| ) |
Atomically records an owning polyline or returns a structured budget failure.
在文件 PrimitiveDrawList.cpp 第 267 行定义.
引用了 eve::graphics::PrimitiveDrawStatistics::commandCount, eve::graphics::PrimitiveDrawStatistics::droppedCommands, points, eve::graphics::Recorded, eve::graphics::PrimitiveDrawStatistics::segmentCount, eve::Result< T >::success(), u , 以及 eve::graphics::PrimitivePaint::validate().
被这些函数引用 drawPolyline().
该类的文档由以下文件生成:
- src/modules/graphics/PrimitiveDrawList.h
- src/modules/graphics/PrimitiveDrawList.cpp