LibreOffice Module lotuswordpro (master)
1
lotuswordpro
inc
xfilter
xfdrawpath.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*************************************************************************
3
*
4
* The Contents of this file are made available subject to the terms of
5
* either of the following licenses
6
*
7
* - GNU Lesser General Public License Version 2.1
8
* - Sun Industry Standards Source License Version 1.1
9
*
10
* Sun Microsystems Inc., October, 2000
11
*
12
* GNU Lesser General Public License Version 2.1
13
* =============================================
14
* Copyright 2000 by Sun Microsystems, Inc.
15
* 901 San Antonio Road, Palo Alto, CA 94303, USA
16
*
17
* This library is free software; you can redistribute it and/or
18
* modify it under the terms of the GNU Lesser General Public
19
* License version 2.1, as published by the Free Software Foundation.
20
*
21
* This library is distributed in the hope that it will be useful,
22
* but WITHOUT ANY WARRANTY; without even the implied warranty of
23
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24
* Lesser General Public License for more details.
25
*
26
* You should have received a copy of the GNU Lesser General Public
27
* License along with this library; if not, write to the Free Software
28
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
29
* MA 02111-1307 USA
30
*
31
*
32
* Sun Industry Standards Source License Version 1.1
33
* =================================================
34
* The contents of this file are subject to the Sun Industry Standards
35
* Source License Version 1.1 (the "License"); You may not use this file
36
* except in compliance with the License. You may obtain a copy of the
37
* License at http://www.openoffice.org/license.html.
38
*
39
* Software provided under this License is provided on an "AS IS" basis,
40
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
41
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
42
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
43
* See the License for the specific provisions governing your rights and
44
* obligations concerning the Software.
45
*
46
* The Initial Developer of the Original Code is: IBM Corporation
47
*
48
* Copyright: 2008 by IBM Corporation
49
*
50
* All Rights Reserved.
51
*
52
* Contributor(s): _______________________________________
53
*
54
*
55
************************************************************************/
56
/*************************************************************************
57
* @file
58
* Draw path object.
59
************************************************************************/
60
#ifndef INCLUDED_LOTUSWORDPRO_INC_XFILTER_XFDRAWPATH_HXX
61
#define INCLUDED_LOTUSWORDPRO_INC_XFILTER_XFDRAWPATH_HXX
62
63
#include <
xfilter/xfdrawobj.hxx
>
64
#include <vector>
65
70
class
XFSvgPathEntry
71
{
72
public
:
73
XFSvgPathEntry
();
74
75
public
:
79
void
SetCommand
(
const
OUString& cmd);
80
84
void
AddPoint
(
const
XFPoint
& pt) {
m_aPoints
.push_back(
pt
); }
85
86
OUString
ToString
();
87
88
friend
class
XFDrawPath
;
89
90
private
:
91
OUString
m_strCommand
;
92
std::vector<XFPoint>
m_aPoints
;
93
};
94
99
class
XFDrawPath
:
public
XFDrawObject
100
{
101
public
:
102
XFDrawPath
();
103
104
public
:
108
void
MoveTo
(
XFPoint
pt
);
109
113
void
LineTo
(
XFPoint
pt
);
114
118
void
CurveTo
(
XFPoint
dest,
XFPoint
ctrl1,
XFPoint
ctrl2);
119
123
void
ClosePath
();
124
125
virtual
void
ToXml
(
IXFStream
* pStrm)
override
;
126
127
private
:
128
std::vector<XFSvgPathEntry>
m_aPaths
;
129
};
130
131
inline
void
XFSvgPathEntry::SetCommand
(
const
OUString& cmd) {
m_strCommand
= cmd; }
132
133
#endif
134
135
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
IXFStream
Stream wrapper for sax writer.
Definition:
ixfstream.hxx:72
XFDrawObject
Base class for all drawing object(ellipse,rect,circle,...).
Definition:
xfdrawobj.hxx:81
XFDrawPath
For svg path wrapper.
Definition:
xfdrawpath.hxx:100
XFDrawPath::ClosePath
void ClosePath()
@descr Close path command.
Definition:
xfdrawpath.cxx:115
XFDrawPath::LineTo
void LineTo(XFPoint pt)
@descr Line command.
Definition:
xfdrawpath.cxx:94
XFDrawPath::ToXml
virtual void ToXml(IXFStream *pStrm) override
@descr serialize.
Definition:
xfdrawpath.cxx:124
XFDrawPath::CurveTo
void CurveTo(XFPoint dest, XFPoint ctrl1, XFPoint ctrl2)
@descr Curve command.
Definition:
xfdrawpath.cxx:103
XFDrawPath::MoveTo
void MoveTo(XFPoint pt)
@descr Move command.
Definition:
xfdrawpath.cxx:85
XFDrawPath::XFDrawPath
XFDrawPath()
Definition:
xfdrawpath.cxx:81
XFDrawPath::m_aPaths
std::vector< XFSvgPathEntry > m_aPaths
Definition:
xfdrawpath.hxx:128
XFPoint
Definition:
xfpoint.hxx:64
XFSvgPathEntry
SVG path segment wrapper.
Definition:
xfdrawpath.hxx:71
XFSvgPathEntry::m_aPoints
std::vector< XFPoint > m_aPoints
Definition:
xfdrawpath.hxx:92
XFSvgPathEntry::AddPoint
void AddPoint(const XFPoint &pt)
@descr Set svg path point.
Definition:
xfdrawpath.hxx:84
XFSvgPathEntry::XFSvgPathEntry
XFSvgPathEntry()
Definition:
xfdrawpath.cxx:64
XFSvgPathEntry::SetCommand
void SetCommand(const OUString &cmd)
@descr Set svg path command,L for line,M for move,...
Definition:
xfdrawpath.hxx:131
XFSvgPathEntry::ToString
OUString ToString()
Definition:
xfdrawpath.cxx:68
XFSvgPathEntry::m_strCommand
OUString m_strCommand
Definition:
xfdrawpath.hxx:91
SvgUnit::pt
@ pt
xfdrawobj.hxx
Generated on Sun Jul 30 2023 04:29:21 for LibreOffice Module lotuswordpro (master) by
1.9.3