Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::canvas::DrawCommand Struct Reference

#include <recording_canvas.hpp>

Public Types

enum class  Type {
  save , restore , translate , scale ,
  rotate , clip_rect , set_transform , clip ,
  set_blend_mode , concat_transform , set_fill_color , set_stroke_color ,
  set_line_width , set_line_cap , set_line_join , fill_rect ,
  stroke_rect , fill_rounded_rect , stroke_rounded_rect , fill_circle ,
  stroke_circle , stroke_arc , stroke_line , set_font ,
  set_text_align , fill_text , stroke_text , set_font_full ,
  set_line_dash , draw_image , write_pixels , draw_box_shadow ,
  set_shadow_color , set_shadow_blur , set_shadow_offset_x , set_shadow_offset_y ,
  set_miter_limit , set_image_smoothing , set_font_smoothing , set_direction ,
  set_filter , set_fill_pattern , set_stroke_pattern , set_stroke_gradient_linear ,
  set_stroke_gradient_radial , set_stroke_gradient_radial_two_circles , set_stroke_gradient_conic , clear_stroke_gradient ,
  set_fill_gradient_linear , set_fill_gradient_radial , set_fill_gradient_radial_two_circles , set_fill_gradient_conic ,
  clear_fill_gradient , fill_path_object , stroke_path_object , clip_path_object ,
  draw_path_shadow , begin_layer , end_layer , draw_layer ,
  draw_layer_fitted , draw_layer_rotated , invalidate_layer , save_backdrop_filter ,
  clip_path_svg , clear_rect , begin_path , move_to ,
  line_to , quad_to , cubic_to , close_path ,
  fill_current_path , stroke_current_path , arc , arc_to ,
  ellipse , round_rect , save_layer , save_layer_blend ,
  save_layer_filters , save_layer_mask , save_layer_bloom , draw_sksl ,
  set_gradient_interpolation
}

Public Attributes

Type type
float f [6] = {}
Color color {}
std::string text
std::vector< float > floats

Member Enumeration Documentation

◆ Type

Enumerator
save 
restore 
translate 
scale 
rotate 
clip_rect 
set_transform 
clip 
set_blend_mode 
concat_transform 
set_fill_color 
set_stroke_color 
set_line_width 
set_line_cap 
set_line_join 
fill_rect 
stroke_rect 
fill_rounded_rect 
stroke_rounded_rect 
fill_circle 
stroke_circle 
stroke_arc 
stroke_line 
set_font 
set_text_align 
fill_text 
stroke_text 
set_font_full 
set_line_dash 

intervals stored in floats, phase in f[0]

draw_image 

source path/url in text, dst rect in f[0..3]

write_pixels 

RGBA bytes in text (binary), w/h in f[0..1], dst in f[2..3].

draw_box_shadow 

x/y/w/h in f[0..3], blur in f[4], spread/offsets via floats payload

set_shadow_color 

color in color

set_shadow_blur 

blur (px) in f[0]

set_shadow_offset_x 

dx (px) in f[0]

set_shadow_offset_y 

dy (px) in f[0]

set_miter_limit 

limit in f[0]

set_image_smoothing 

enabled in f[0] (0/1), quality in f[1] (0=low,1=med,2=high)

set_font_smoothing 

f[0]: 0 = auto, 1 = antialiased

set_direction 
set_filter 
set_fill_pattern 
set_stroke_pattern 
set_stroke_gradient_linear 
set_stroke_gradient_radial 
set_stroke_gradient_radial_two_circles 
set_stroke_gradient_conic 
clear_stroke_gradient 
set_fill_gradient_linear 
set_fill_gradient_radial 
set_fill_gradient_radial_two_circles 
set_fill_gradient_conic 
clear_fill_gradient 
fill_path_object 

path d in text; fill rule in f[0] (0=nonzero, 1=evenodd)

stroke_path_object 

path d in text; width f[0], cap f[1], join f[2], miter f[3], dash phase f[4]; dash intervals in floats

clip_path_object 

path d in text; fill rule in f[0]

draw_path_shadow 

path d in text; dx/dy/blur/spread in f[0..3]; shadow color in color

begin_layer 

bounds x/y/w/h in f[0..3]; cacheable in f[4]; id in f[5]

end_layer 

sealed handle id in f[0]

draw_layer 

id f[0], alpha f[1], blend mode f[2]

draw_layer_fitted 

id f[0]; dest x/y/w/h in f[1..4]

draw_layer_rotated 

id f[0]; angle (radians) in f[1]

invalidate_layer 

id f[0]

save_backdrop_filter 

x/y/w/h in f[0..3], blur_radius in f[4]

clip_path_svg 

SVG path data in text.

clear_rect 

clear rect, x/y/w/h in f[0..3]

begin_path 

no payload

move_to 

(x, y) in f[0..1]

line_to 

(x, y) in f[0..1]

quad_to 

(cpx, cpy, x, y) in f[0..3]

cubic_to 

(cp1x, cp1y, cp2x, cp2y, x, y) in f[0..5]

close_path 

no payload

fill_current_path 

no payload — uses last set_fill_color

stroke_current_path 

no payload — uses last set_stroke_color + set_line_width

arc 

(cx, cy, r, start, end, anticlockwise as 0/1) in f[0..5]

arc_to 

(x1, y1, x2, y2, radius) in f[0..4]

ellipse 

(cx, cy, rx, ry, rotation, start) in f[0..5]; (end, anticlockwise as 0/1) extras tracked in floats[0..1]

round_rect 

(x, y, w, h, tl_x, tl_y) in f[0..5]; tr/br/bl x/y in floats[0..5]

save_layer 

bounds x/y/w/h in f[0..3]; opacity f[4]; blur f[5]

save_layer_blend 

bounds f[0..3]; opacity f[4]; blur f[5]; blend mode (int) in floats[0]

save_layer_filters 

bounds f[0..3]; effective opacity f[4]; summed blur f[5]; filter count in floats[0]

save_layer_mask 

bounds f[0..3]; opacity f[4]; mask-image CSS value in text (mask-size not captured)

save_layer_bloom 

bounds f[0..3]; intensity f[4]; threshold f[5]; blur radius in floats[0]

draw_sksl 

rect x/y/w/h in f[0..3]; value f[4]; time f[5]; SkSL source in text

set_gradient_interpolation 

GradientColorSpace in f[0], GradientHueMethod in f[1].

Member Data Documentation

◆ color

Color pulp::canvas::DrawCommand::color {}

◆ f

float pulp::canvas::DrawCommand::f[6] = {}

◆ floats

std::vector<float> pulp::canvas::DrawCommand::floats

◆ text

std::string pulp::canvas::DrawCommand::text

◆ type

Type pulp::canvas::DrawCommand::type

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