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