summaryrefslogtreecommitdiffstats
path: root/src/object/sp-flowregion.h
blob: 4a96660c0c7c6dc9c3ef0670a69bd9458d6cfc5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// SPDX-License-Identifier: GPL-2.0-or-later
/** @file
 * TODO: insert short description here
 *//*
 * Authors: see git history
 *
 * Copyright (C) 2018 Authors
 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
 */
#ifndef SEEN_SP_ITEM_FLOWREGION_H
#define SEEN_SP_ITEM_FLOWREGION_H

/*
 */

#include "sp-item.h"

class Path;
class Shape;
class flow_dest;

class SPFlowregion : public SPItem {
public:
	SPFlowregion();
	~SPFlowregion() override;

	std::vector<Shape*>     computed;
	
	void             UpdateComputed();

	void child_added(Inkscape::XML::Node* child, Inkscape::XML::Node* ref) override;
	void remove_child(Inkscape::XML::Node *child) override;
	void update(SPCtx *ctx, unsigned int flags) override;
	void modified(guint flags) override;
	Inkscape::XML::Node* write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override;
	const char* typeName() const override;
	const char* displayName() const override;
};

class SPFlowregionExclude : public SPItem {
public:
	SPFlowregionExclude();
	~SPFlowregionExclude() override;

	Shape            *computed;
	
	void             UpdateComputed();

	void child_added(Inkscape::XML::Node* child, Inkscape::XML::Node* ref) override;
	void remove_child(Inkscape::XML::Node *child) override;
	void update(SPCtx *ctx, unsigned int flags) override;
	void modified(guint flags) override;
	Inkscape::XML::Node* write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override;
	const char* typeName() const override;
	const char* displayName() const override;
};

MAKE_SP_OBJECT_TYPECHECK_FUNCTIONS(SP_IS_FLOWREGION, SPFlowregion)

MAKE_SP_OBJECT_TYPECHECK_FUNCTIONS(SP_IS_FLOWREGIONEXCLUDE, SPFlowregionExclude)

#endif