karbon

vclipgroup.h
1/* This file is part of the KDE project
2 Copyright (C) 2002, The Karbon Developers
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18*/
19
20#ifndef __VCLIP_H__
21#define __VCLIP_H__
22
23#include "vgroup.h"
24#include "vvisitor.h"
25#include <koffice_export.h>
26class VPainter;
27
33class KARBONBASE_EXPORT VClipGroup : public VGroup
34{
35public:
36 VClipGroup( VObject* parent, VState state = normal );
37 VClipGroup ( const VClipGroup& group );
38
39 virtual ~VClipGroup();
40
41 virtual void draw( VPainter* painter, const KoRect* rect = 0L ) const;
42
43 virtual VClipGroup* clone() const;
44
45 virtual void save( TQDomElement& element ) const;
46 virtual void load( const TQDomElement& element );
47};
48
49
50class PathRenderer : public VVisitor
51{
52public:
53 PathRenderer( VPainter *p_painter );
54
55 virtual ~PathRenderer();
56
57protected:
58 virtual void visitVSubpath( VSubpath& path );
59
60private:
61 VPainter *m_painter;
62};
63
64#endif
Base class for clipping conglomerates the first child element is used for clipping.
Definition vclipgroup.h:34
Base class for all sort of VObject conglomerats.
Definition vgroup.h:35
virtual VGroup * clone() const
Create an exact copy of this object.
Definition vgroup.cpp:120
virtual void draw(VPainter *painter, const KoRect *rect=0L) const
Draw the object to a painting device.
Definition vgroup.cpp:83
virtual void load(const TQDomElement &element)
Load this object's state from xml and initialize this object accordingly.
Definition vgroup.cpp:263
virtual void save(TQDomElement &element) const
Save this object's state to xml.
Definition vgroup.cpp:160
The base class for all karbon objects.
Definition vobject.h:50
VSubpath provides a sophisticated list of VSegment.
Definition vpath.h:43
The abstract visitor class.
Definition vvisitor.h:51
virtual void visitVSubpath(VSubpath &path)
Visit method for a VSubpath.
Definition vvisitor.cpp:86