Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
sp-flowdiv.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
/*
5 * Authors: see git history
6 *
7 * Copyright (C) 2018 Authors
8 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
9 */
10#ifndef SEEN_SP_ITEM_FLOWDIV_H
11#define SEEN_SP_ITEM_FLOWDIV_H
12
13/*
14 */
15
16#include "sp-object.h"
17#include "sp-item.h"
18
19// these 3 are derivatives of SPItem to get the automatic style handling
20class SPFlowdiv final : public SPItem {
21public:
22 SPFlowdiv();
23 ~SPFlowdiv() override;
24 int tag() const override { return tag_of<decltype(*this)>; }
25
26protected:
28 void release() override;
29 void update(SPCtx* ctx, unsigned int flags) override;
30 void modified(unsigned int flags) override;
31
32 void set(SPAttr key, char const* value) override;
33 Inkscape::XML::Node* write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override;
34};
35
36class SPFlowtspan final : public SPItem {
37public:
39 ~SPFlowtspan() override;
40 int tag() const override { return tag_of<decltype(*this)>; }
41
42protected:
44 void release() override;
45 void update(SPCtx* ctx, unsigned int flags) override;
46 void modified(unsigned int flags) override;
47
48 void set(SPAttr key, char const* value) override;
49 Inkscape::XML::Node* write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override;
50};
51
52class SPFlowpara final : public SPItem {
53public:
54 SPFlowpara();
55 ~SPFlowpara() override;
56 int tag() const override { return tag_of<decltype(*this)>; }
57
58protected:
60 void release() override;
61 void update(SPCtx* ctx, unsigned int flags) override;
62 void modified(unsigned int flags) override;
63
64 void set(SPAttr key, char const* value) override;
65 Inkscape::XML::Node* write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override;
66};
67
68// these do not need any style
69class SPFlowline final : public SPObject {
70public:
71 SPFlowline();
72 ~SPFlowline() override;
73 int tag() const override { return tag_of<decltype(*this)>; }
74
75protected:
76 void release() override;
77 void modified(unsigned int flags) override;
78
79 Inkscape::XML::Node* write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override;
80};
81
82class SPFlowregionbreak final : public SPObject {
83public:
86 int tag() const override { return tag_of<decltype(*this)>; }
87
88protected:
89 void release() override;
90 void modified(unsigned int flags) override;
91
92 Inkscape::XML::Node* write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override;
93};
94
95#endif
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 sp-flowdiv.h:24
~SPFlowdiv() override
void release() override
void build(SPDocument *document, Inkscape::XML::Node *repr) override
Inkscape::XML::Node * write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override
void modified(unsigned int flags) override
void update(SPCtx *ctx, unsigned int flags) override
~SPFlowline() override
void modified(unsigned int flags) override
void release() override
Inkscape::XML::Node * write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override
int tag() const override
Definition sp-flowdiv.h:73
void update(SPCtx *ctx, unsigned int flags) override
void build(SPDocument *document, Inkscape::XML::Node *repr) override
int tag() const override
Definition sp-flowdiv.h:56
~SPFlowpara() override
void modified(unsigned int flags) override
Inkscape::XML::Node * write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override
void release() override
void release() override
void modified(unsigned int flags) override
Inkscape::XML::Node * write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override
~SPFlowregionbreak() override
int tag() const override
Definition sp-flowdiv.h:86
void modified(unsigned int flags) override
void update(SPCtx *ctx, unsigned int flags) override
void release() override
void build(SPDocument *document, Inkscape::XML::Node *repr) override
int tag() const override
Definition sp-flowdiv.h:40
~SPFlowtspan() override
Inkscape::XML::Node * write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override
Base class for visual SVG elements.
Definition sp-item.h:109
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
SPDocument * document
Definition sp-object.h:188
static cairo_user_data_key_t key
Some things pertinent to all visible shapes: SPItem, SPItemView, SPItemCtx.
Interface for XML documents.
Definition document.h:43
Unused.
Definition sp-object.h:94