Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
ctrl-handle-rendering.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2#ifndef INKSCAPE_DISPLAY_CONTROL_CTRL_HANDLE_RENDERING_H
3#define INKSCAPE_DISPLAY_CONTROL_CTRL_HANDLE_RENDERING_H
7/*
8 * Authors:
9 * Sanidhya Singh
10 *
11 * Copyright (C) 2023 Authors
12 *
13 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
14 */
15
16#include <memory>
17#include <compare>
18
19#include "canvas-item-enums.h"
20
21namespace Cairo { class ImageSurface; }
22
23namespace Inkscape::Handles {
24
26{
28 uint32_t fill;
29 uint32_t stroke;
30 uint32_t outline;
33 int width; // pixmap size
34 float size; // handle size (size <= width)
35 double angle;
37
38 auto operator<=>(RenderParams const &) const = default;
39};
40
41std::shared_ptr<Cairo::ImageSurface const> draw(RenderParams const &params);
42
43} // namespace Inkscape::Handles
44
45template <> struct std::hash<Inkscape::Handles::RenderParams>
46{
47 size_t operator()(Inkscape::Handles::RenderParams const &tuple) const;
48};
49
50#endif // INKSCAPE_DISPLAY_CONTROL_CTRL_HANDLE_RENDERING_H
51
52/*
53 Local Variables:
54 mode:c++
55 c-file-style:"stroustrup"
56 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
57 indent-tabs-mode:nil
58 fill-column:99
59 End:
60*/
61// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
Enums for CanvasItems.
Control handle rendering/caching.
Classes related to control handle styling.
std::shared_ptr< Cairo::ImageSurface const > draw(RenderParams const &params)
Helper class to stream background task notifications as a series of messages.
auto operator<=>(RenderParams const &) const =default