Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
mergenode.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2#ifndef SP_FEMERGENODE_H_SEEN
3#define SP_FEMERGENODE_H_SEEN
4
9/*
10 * Authors:
11 * Kees Cook <kees@outflux.net>
12 * Niko Kiirala <niko@kiirala.com>
13 *
14 * Copyright (C) 2004,2007 authors
15 *
16 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
17 */
18
19#include <optional>
20#include <string>
21#include "object/sp-object.h"
23
24class SlotResolver;
25
26class SPFeMergeNode final
27 : public SPObject
28{
29public:
30 int tag() const override { return tag_of<decltype(*this)>; }
31
32 int get_in() const { return in_slot; }
33
35 void resolve_slots(SlotResolver const &);
36
37protected:
38 void build(SPDocument *doc, Inkscape::XML::Node *repr) override;
39 void set(SPAttr key, char const *value) override;
40
41private:
42 std::optional<std::string> in_name;
44};
45
46#endif // SP_FEMERGENODE_H_SEEN
47
48/*
49 Local Variables:
50 mode:c++
51 c-file-style:"stroustrup"
52 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
53 indent-tabs-mode:nil
54 fill-column:99
55 End:
56*/
57// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
SPAttr
Definition attributes.h:27
constexpr int tag_of
Convenience function to retrieve the tag (class id) of a given type.
Definition cast.h:26
Interface for refcounted XML nodes.
Definition node.h:80
Typed SVG document implementation.
Definition document.h:101
int tag() const override
Definition mergenode.h:30
std::optional< std::string > in_name
Definition mergenode.h:42
void resolve_slots(SlotResolver const &)
Definition mergenode.cpp:57
void build(SPDocument *doc, Inkscape::XML::Node *repr) override
Definition mergenode.cpp:30
void invalidate_parent_slots()
Definition mergenode.cpp:50
int get_in() const
Definition mergenode.h:32
SPObject is an abstract base class of all of the document nodes at the SVG document level.
Definition sp-object.h:160
Inkscape::XML::Node * repr
Definition sp-object.h:193
TODO: insert short description here.
static cairo_user_data_key_t key