CYD-UI
A C++ library for building native graphic user interfaces
Loading...
Searching...
No Matches
element.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
12import fabric.memory.multidim_data;
13import fabric.type_aliases;
14
15export import cydui.dimensions;
17
18export namespace vg {
19 struct element_t {
20 int origin_x = 0;
21 int origin_y = 0;
22 void _internal_set_origin(int x, int y) {
23 origin_x = x;
24 origin_y = y;
25 }
26
27 virtual ~element_t() = default;
28
29 virtual void apply_to(pixelmap_editor_t &editor) const = 0;
30
38 virtual footprint get_footprint() const = 0;
39 };
40}
quantify::quantity_t< screen::pixel, double > screen_measure
Definition _types.cppm:21
cydui::dimensions::screen_measure h
Definition element.cppm:36
cydui::dimensions::screen_measure w
Definition element.cppm:35
cydui::dimensions::screen_measure y
Definition element.cppm:34
cydui::dimensions::screen_measure x
Definition element.cppm:33
virtual void apply_to(pixelmap_editor_t &editor) const =0
void _internal_set_origin(int x, int y)
Definition element.cppm:22
virtual footprint get_footprint() const =0
virtual ~element_t()=default