CYD-UI
A C++ library for building native graphic user interfaces
Loading...
Searching...
No Matches
attributes.cppm File Reference
#include <cairomm-1.16/cairomm/cairomm.h>
import quantify;
import cydui.graphics.pixelmap_editor;
import std;
+ Include dependency graph for attributes.cppm:

Go to the source code of this file.

Classes

struct  vg::paint::base_i
 
struct  vg::paint::solid
 
struct  vg::paint::gradient::base_i
 
struct  vg::paint::gradient::linear
 
struct  vg::paint::gradient::radial
 
struct  vg::paint::pixelmap::base_i
 
struct  vg::paint::type
 
struct  vg::attribute_i
 
struct  vg::attr_id< E >
 id More...
 
struct  vg::attr_style_class< E >
 class More...
 
struct  vg::attr_x< E >
 x - x-axis coordinate More...
 
struct  vg::attr_y< E >
 y - y-axis coordinate More...
 
struct  vg::attr_r< E >
 r - radius More...
 
struct  vg::attr_rx< E >
 rx - radius in x-axis More...
 
struct  vg::attr_ry< E >
 ry - radius in y-axis More...
 
struct  vg::attr_x1< E >
 x1 - 1st point x-axis coordinate More...
 
struct  vg::attr_y1< E >
 y1 - 1st point y-axis coordinate More...
 
struct  vg::attr_x2< E >
 x2 - 2nd point x-axis coordinate More...
 
struct  vg::attr_y2< E >
 y2 - 2nd point y-axis coordinate More...
 
struct  vg::attr_cx< E >
 cx - center x-axis coordinate More...
 
struct  vg::attr_cy< E >
 cy - center y-axis coordinate More...
 
struct  vg::attr_rotate< E >
 rotate - angle of rotation in degrees More...
 
struct  vg::attr_pivot_x< E >
 pivot_x - rotate pivot x-axis coordinate More...
 
struct  vg::attr_pivot_y< E >
 pivot_y - rotate pivot y-axis coordinate More...
 
struct  vg::attr_a1< E >
 a1 - 1st angle in arcs in degrees More...
 
struct  vg::attr_a2< E >
 a1 - 2st angle in arcs in degrees More...
 
struct  vg::attr_scale_x< E >
 rotate - angle of rotation in degrees More...
 
struct  vg::attr_scale_y< E >
 rotate - angle of rotation in degrees More...
 
struct  vg::attr_points< E >
 points More...
 
struct  vg::attr_path_str< E >
 d - path str More...
 
struct  vg::attr_w< E >
 width More...
 
struct  vg::attr_h< E >
 height More...
 
struct  vg::attr_hidden< E >
 hidden - replaces display="none" from SVG More...
 
struct  vg::attr_opacity< E >
 opacity More...
 
struct  vg::attr_stroke< E >
 stroke More...
 
struct  vg::attr_stroke_dasharray< E >
 stroke-dasharray More...
 
struct  vg::attr_stroke_dashoffset< E >
 stroke-dashoffset More...
 
struct  vg::attr_stroke_linecap< E >
 stroke-linecap More...
 
struct  vg::attr_stroke_linejoin< E >
 stroke-linejoin More...
 
struct  vg::attr_stroke_miterlimit< E >
 stroke-miterlimit More...
 
struct  vg::attr_stroke_opacity< E >
 stroke-opacity More...
 
struct  vg::attr_stroke_width< E >
 stroke-width More...
 
struct  vg::attr_font_family< E >
 font-family More...
 
struct  vg::attr_font_size< E >
 font-size More...
 
struct  vg::attr_font_stretch< E >
 font-stretch More...
 
struct  vg::attr_font_style< E >
 font-style More...
 
struct  vg::attr_font_weight< E >
 font-weight More...
 
struct  vg::attr_text_anchor< E >
 text-anchor More...
 
struct  vg::text_decoration_t
 
struct  vg::attr_text_decoration< E >
 text-decoration More...
 
struct  vg::attr_fill< E >
 fill More...
 
struct  vg::attr_fill_opacity< E >
 fill-opacity More...
 
struct  vg::attr_fill_rule< E >
 fill-rule More...
 
struct  vg::attrs_stroke< T >
 
struct  vg::attrs_fill< T >
 
struct  vg::attrs_font< T >
 
struct  vg::attrs_core< T >
 

Namespaces

namespace  vg
 
namespace  vg::paint
 
namespace  vg::paint::gradient
 
namespace  vg::paint::pixelmap
 

Macros

#define VG_ATTRIBUTE(TYPE, NAME, DEFAULT)
 
#define VG_ATTRIBUTE_AUTO(TYPE, NAME, DEFAULT)
 
#define VG_ATTRIBUTE_PAINT(NAME)
 
#define VG_ATTRIBUTE_DIMENSION(NAME, DEFAULT)
 

Typedefs

using vg::point_list_t = std::vector<std::array<int, 2>>
 
using vg::stroke_linecap_e = Cairo::Context::LineCap
 
using vg::stroke_linejoin_e = Cairo::Context::LineJoin
 
using vg::font_style_e = Cairo::ToyFontFace::Slant
 UNUSED.
 
using vg::font_weight_e = Cairo::ToyFontFace::Weight
 
using vg::fill_rule_e = Cairo::Context::FillRule
 

Enumerations

enum  vg::paint::paint_type_e { vg::paint::SOLID , vg::paint::GRADIENT_LINEAR , vg::paint::GRADIENT_RADIAL }
 
enum class  vg::text_anchor_e { vg::START , vg::MIDDLE , vg::END }
 

Macro Definition Documentation

◆ VG_ATTRIBUTE

#define VG_ATTRIBUTE ( TYPE,
NAME,
DEFAULT )
export
Value:
template <typename E> \
struct attr_##NAME: public attribute_i { \
inline E& NAME(TYPE& _##NAME##_) { \
this->_##NAME = _##NAME##_; \
return *(E*)this; \
} \
inline E& NAME(TYPE&& _##NAME##_) { \
this->_##NAME = _##NAME##_; \
return *(E*)this; \
} \
TYPE _##NAME = DEFAULT; \
}

Definition at line 219 of file attributes.cppm.

◆ VG_ATTRIBUTE_AUTO

#define VG_ATTRIBUTE_AUTO ( TYPE,
NAME,
DEFAULT )
export
Value:
template <typename E> \
struct attr_##NAME: public attribute_i { \
inline E& NAME(auto& _##NAME##_) { \
this->_##NAME = _##NAME##_; \
return *(E*)this; \
} \
inline E& NAME(auto&& _##NAME##_) { \
this->_##NAME = _##NAME##_; \
return *(E*)this; \
} \
TYPE _##NAME = DEFAULT; \
}

Definition at line 233 of file attributes.cppm.

◆ VG_ATTRIBUTE_DIMENSION

#define VG_ATTRIBUTE_DIMENSION ( NAME,
DEFAULT )
export
Value:
template <typename E> \
struct attr_##NAME: public attribute_i { \
template <typename UNIT, typename T> \
inline E& NAME(const quantify::quantity_t<UNIT, T>& _##NAME##_) { \
this->_##NAME = _##NAME##_.value_as_base_unit(); \
return *(E*)this; \
} \
template <typename UNIT, typename T> \
inline E& NAME(quantify::quantity_t<UNIT, T>&& _##NAME##_) { \
this->_##NAME = _##NAME##_.value_as_base_unit(); \
return *(E*)this; \
} \
inline E& NAME(const int& _##NAME##_) { \
this->_##NAME = _##NAME##_; \
return *(E*)this; \
} \
inline E& NAME(int&& _##NAME##_) { \
this->_##NAME = _##NAME##_; \
return *(E*)this; \
} \
int _##NAME = DEFAULT; \
}

Definition at line 291 of file attributes.cppm.

◆ VG_ATTRIBUTE_PAINT

#define VG_ATTRIBUTE_PAINT ( NAME)
export

Definition at line 247 of file attributes.cppm.