CYD-UI
A C++ library for building native graphic user interfaces
Loading...
Searching...
No Matches
group.cppm
Go to the documentation of this file.
1
// Copyright (c) 2024, Víctor Castillo Agüero.
2
// SPDX-License-Identifier: GPL-3.0-or-later
3
4
module
;
5
#include <cairomm-1.16/cairomm/cairomm.h>
6
#include <tracy/Tracy.hpp>
7
8
export
module
cydui.graphics.vector.elements.group
;
9
10
import
std;
11
12
export
import
cydui.dimensions
;
13
export
import
cydui.graphics.vector.element
;
14
15
export
namespace
vg
{
16
template
<
typename
... T>
17
struct
accepts_content
{
18
accepts_content
&
with
(std::vector<std::variant<T...>> _content_) {
19
this->
content
= _content_;
20
return
*
this
;
21
}
22
23
std::vector<std::variant<T...>>
content
{};
24
};
25
26
struct
group
:
27
element_t
,
28
attr_cx
<group>,
29
attrs_core
<group>,
30
attrs_fill
<group>,
31
attrs_stroke
<group>,
32
accepts_content
<group> {
33
group
() {
34
//TracyAllocN(this, sizeof(decltype(*this)), "fragment_elements");
35
}
36
~group
()
override
{
37
//TracyFreeN(this, "fragment_elements");
38
}
39
void
apply_to
(
pixelmap_editor_t
&editor)
const override
{
40
apply_stroke
(editor);
41
}
42
43
footprint
get_footprint
()
const override
{
44
return
{};
45
}
46
};
47
}
pixelmap_editor_t
Definition
pixelmap_editor.cppm:14
cydui.dimensions
cydui.graphics.vector.element
cydui.graphics.vector.elements.group
vg
Definition
attributes.cppm:14
vg::accepts_content
Definition
group.cppm:17
vg::accepts_content::content
std::vector< std::variant< T... > > content
Definition
group.cppm:23
vg::accepts_content::with
accepts_content & with(std::vector< std::variant< T... > > _content_)
Definition
group.cppm:18
vg::attr_cx
cx - center x-axis coordinate
Definition
attributes.cppm:339
vg::attrs_core
Definition
attributes.cppm:529
vg::attrs_fill
Definition
attributes.cppm:494
vg::attrs_stroke
Definition
attributes.cppm:473
vg::attrs_stroke< group >::apply_stroke
void apply_stroke(pixelmap_editor_t &editor) const
Definition
attributes.cppm:475
vg::element_t::footprint
Definition
element.cppm:31
vg::element_t
Definition
element.cppm:19
vg::group::~group
~group() override
Definition
group.cppm:36
vg::group::apply_to
void apply_to(pixelmap_editor_t &editor) const override
Definition
group.cppm:39
vg::group::group
group()
Definition
group.cppm:33
vg::group::get_footprint
footprint get_footprint() const override
Definition
group.cppm:43
include
cyd_ui
graphics
vector
elements
group.cppm
Generated by
1.13.2