1 // SPDX-License-Identifier: GPL-2.0-or-later
2 #ifndef SEEN_SP_MESHROW_H
3 #define SEEN_SP_MESHROW_H
4 
5 /** \file
6  * SPMeshrow: SVG <meshrow> implementation.
7  */
8 /*
9  * Authors: Tavmjong Bah
10  * Copyright (C) 2012 Tavmjong Bah
11  *
12  * Released under GNU GPL v2+, read the file 'COPYING' for more information.
13  */
14 
15 #include "sp-object.h"
16 
17 #define SP_MESHROW(obj) (dynamic_cast<SPMeshrow*>((SPObject*)obj))
18 #define SP_IS_MESHROW(obj) (dynamic_cast<const SPMeshrow*>((SPObject*)obj) != NULL)
19 
20 /** Gradient Meshrow. */
21 class SPMeshrow : public SPObject {
22 public:
23     SPMeshrow();
24     ~SPMeshrow() override;
25 
26     SPMeshrow* getNextMeshrow();
27     SPMeshrow* getPrevMeshrow();
28 
29 protected:
30     void build(SPDocument* doc, Inkscape::XML::Node* repr) override;
31     void set(SPAttr key, const char* value) override;
32     void modified(unsigned int flags) override;
33     Inkscape::XML::Node* write(Inkscape::XML::Document* doc, Inkscape::XML::Node* repr, unsigned int flags) override;
34 };
35 
36 #endif /* !SEEN_SP_MESHROW_H */
37 
38 /*
39   Local Variables:
40   mode:c++
41   c-file-style:"stroustrup"
42   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
43   indent-tabs-mode:nil
44   fill-column:99
45   End:
46 */
47 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
48