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
4module;
5#include <cairomm-1.16/cairomm/cairomm.h>
6#include <tracy/Tracy.hpp>
7
9
10import std;
11
12export import cydui.dimensions;
14
15export namespace vg {
16 template<typename... T>
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:
28 attr_cx<group>,
29 attrs_core<group>,
30 attrs_fill<group>,
31 attrs_stroke<group>,
32 accepts_content<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}
std::vector< std::variant< T... > > content
Definition group.cppm:23
accepts_content & with(std::vector< std::variant< T... > > _content_)
Definition group.cppm:18
cx - center x-axis coordinate
void apply_stroke(pixelmap_editor_t &editor) const
~group() override
Definition group.cppm:36
void apply_to(pixelmap_editor_t &editor) const override
Definition group.cppm:39
footprint get_footprint() const override
Definition group.cppm:43