Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
agg::blender_base< ColorT, Order > Struct Template Reference

#include <src/agg/agg_pixfmt_base.h>

+ Inheritance diagram for agg::blender_base< ColorT, Order >:

Public Types

typedef ColorT color_type
 
typedef Order order_type
 
typedef color_type::value_type value_type
 

Static Public Member Functions

static rgba get (value_type r, value_type g, value_type b, value_type a, cover_type cover=cover_full)
 
static rgba get (const value_type *p, cover_type cover=cover_full)
 
static void set (value_type *p, value_type r, value_type g, value_type b, value_type a)
 
static void set (value_type *p, const rgba &c)
 

Detailed Description

template<class ColorT, class Order = void>
struct agg::blender_base< ColorT, Order >

Member Typedef Documentation

◆ color_type

template<class ColorT , class Order = void>
typedef ColorT agg::blender_base< ColorT, Order >::color_type

◆ order_type

template<class ColorT , class Order = void>
typedef Order agg::blender_base< ColorT, Order >::order_type

◆ value_type

template<class ColorT , class Order = void>
typedef color_type::value_type agg::blender_base< ColorT, Order >::value_type

Member Function Documentation

◆ get() [1/2]

template<class ColorT , class Order = void>
static rgba agg::blender_base< ColorT, Order >::get ( const value_type p,
cover_type  cover = cover_full 
)
inlinestatic
70 {
71 return get(
72 p[order_type::R],
73 p[order_type::G],
74 p[order_type::B],
75 p[order_type::A],
76 cover);
77 }
static rgba get(value_type r, value_type g, value_type b, value_type a, cover_type cover=cover_full)
Definition agg_pixfmt_base.h:45

References agg::blender_base< ColorT, Order >::get().

+ Here is the call graph for this function:

◆ get() [2/2]

template<class ColorT , class Order = void>
static rgba agg::blender_base< ColorT, Order >::get ( value_type  r,
value_type  g,
value_type  b,
value_type  a,
cover_type  cover = cover_full 
)
inlinestatic
46 {
47 if (cover > cover_none)
48 {
49 rgba c(
50 color_type::to_double(r),
51 color_type::to_double(g),
52 color_type::to_double(b),
53 color_type::to_double(a));
54
55 if (cover < cover_full)
56 {
57 double x = double(cover) / cover_full;
58 c.r *= x;
59 c.g *= x;
60 c.b *= x;
61 c.a *= x;
62 }
63
64 return c;
65 }
66 else return rgba::no_color();
67 }
@ cover_full
Definition agg_basics.h:244
@ cover_none
Definition agg_basics.h:243
TCoord< P > x(const P &p)
Definition geometry_traits.hpp:297
static rgba no_color()
Definition agg_color_rgba.h:170

References agg::cover_full, agg::cover_none, and agg::rgba::no_color().

Referenced by agg::blender_base< ColorT, Order >::get().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set() [1/2]

template<class ColorT , class Order = void>
static void agg::blender_base< ColorT, Order >::set ( value_type p,
const rgba c 
)
inlinestatic
88 {
89 p[order_type::R] = color_type::from_double(c.r);
90 p[order_type::G] = color_type::from_double(c.g);
91 p[order_type::B] = color_type::from_double(c.b);
92 p[order_type::A] = color_type::from_double(c.a);
93 }

◆ set() [2/2]

template<class ColorT , class Order = void>
static void agg::blender_base< ColorT, Order >::set ( value_type p,
value_type  r,
value_type  g,
value_type  b,
value_type  a 
)
inlinestatic
80 {
81 p[order_type::R] = r;
82 p[order_type::G] = g;
83 p[order_type::B] = b;
84 p[order_type::A] = a;
85 }

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