Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
canvas.hpp File Reference
#include <algorithm>
#include <cmath>
#include <cstdint>
#include <cstring>
#include <pulp/canvas/affine_transform.hpp>
#include <pulp/canvas/canvas_capability.hpp>
#include <pulp/canvas/gradient_interpolation.hpp>
#include <pulp/canvas/path.hpp>
#include <pulp/canvas/scene_recording.hpp>
#include <pulp/canvas/text_raster_policy.hpp>
#include <pulp/canvas/text_utf8.hpp>
#include <string>
#include <vector>
#include <memory>
#include <optional>
#include <variant>
#include <functional>
#include <pulp/canvas/recording_canvas.hpp>

Go to the source code of this file.

Classes

struct  pulp::canvas::Color
struct  pulp::canvas::Color::HSV
struct  pulp::canvas::Color::HSL
struct  pulp::canvas::Color::OKLCH
struct  pulp::canvas::GradientStop
struct  pulp::canvas::LinearGradient
struct  pulp::canvas::RadialGradient
struct  pulp::canvas::ConicGradient
 Conic (sweep) gradient — colors sweep around a center point. More...
class  pulp::canvas::FillStyle
 Unified fill style — solid color, linear, radial, or conic gradient. More...
class  pulp::canvas::Canvas
struct  pulp::canvas::Canvas::AffineTransform2x3
 Affine 2x3 transform snapshot, six floats laid out as CanvasRenderingContext2D.setTransform / DOMMatrix: [ a c e ] [ b d f ] [ 0 0 1 ] Identity is {1, 0, 0, 1, 0, 0}. More...
struct  pulp::canvas::Canvas::LayerHandle
 An opaque reference to a compositing layer owned by the canvas. More...
struct  pulp::canvas::Canvas::FilterChainEntry
 Full CSS filter-chain layer save. More...
struct  pulp::canvas::Canvas::FontFeature
struct  pulp::canvas::Canvas::TextMetrics
 Full text metrics for layout and intrinsic sizing. More...
struct  pulp::canvas::Canvas::SDFStyle
struct  pulp::canvas::Canvas::WaveformStyle
 Draw a waveform using GPU shader (SDF anti-aliased line + fill). More...
struct  pulp::canvas::Canvas::ShaderUniforms
 Uniforms passed to custom widget shaders. More...
struct  pulp::canvas::Canvas::NamedUniform
 An arbitrary named shader uniform (name → float / vec2 / vec3 / vec4). More...
struct  pulp::canvas::Canvas::ShaderDataTexture
 Latest-wins audio/vector payload exposed to an SkSL child shader. More...
struct  pulp::canvas::Canvas::ShaderGeometry
struct  pulp::canvas::Canvas::ShaderDrawOptions
struct  pulp::canvas::Canvas::FitResult
 Placement rectangle produced by fit_image_rect. More...

Namespaces

namespace  pulp
namespace  pulp::canvas

Typedefs

using pulp::canvas::Paint = std::variant<Color, LinearGradient, RadialGradient, ConicGradient>

Enumerations

enum class  pulp::canvas::RendererBackend {
  pulp::canvas::unknown , pulp::canvas::recording , pulp::canvas::core_graphics , pulp::canvas::skia_raster ,
  pulp::canvas::skia_ganesh , pulp::canvas::skia_dawn
}
 Runtime identity of the concrete renderer receiving draw calls. More...
enum class  pulp::canvas::GradientTileMode { pulp::canvas::clamp , pulp::canvas::repeat , pulp::canvas::mirror }
 Gradient repeat mode. More...
enum class  pulp::canvas::TextAlign { pulp::canvas::left , pulp::canvas::center , pulp::canvas::right , pulp::canvas::justify }
enum class  pulp::canvas::TextVerticalAlign { pulp::canvas::top , pulp::canvas::center , pulp::canvas::bottom , pulp::canvas::baseline }
enum class  pulp::canvas::TextBaseline {
  pulp::canvas::top , pulp::canvas::middle , pulp::canvas::bottom , pulp::canvas::alphabetic ,
  pulp::canvas::hanging , pulp::canvas::ideographic
}
enum class  pulp::canvas::TextDirection { pulp::canvas::left_to_right , pulp::canvas::right_to_left , pulp::canvas::top_to_bottom , pulp::canvas::bottom_to_top }

Functions

constexpr const char * pulp::canvas::renderer_backend_name (RendererBackend backend) noexcept