LibreOffice Module lotuswordpro (master)
1
lotuswordpro
source
filter
xfilter
xfdrawline.cxx
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
* Line object.
59
************************************************************************/
60
#include <
xfilter/xfdrawline.hxx
>
61
#include <
xfilter/ixfattrlist.hxx
>
62
63
XFDrawLine::XFDrawLine
()
64
{
65
}
66
67
void
XFDrawLine::ToXml
(
IXFStream
*pStrm)
68
{
69
IXFAttrList
*pAttrList = pStrm->
GetAttrList
();
70
71
if
( !
GetStyleName
().isEmpty() )
72
pAttrList->
AddAttribute
(
"draw:style-name"
,
GetStyleName
() );
73
74
assert(!
m_strName
.isEmpty() &&
"name should not be null."
);
75
if
( !
m_strName
.isEmpty() )
76
pAttrList->
AddAttribute
(
"draw:name"
,
m_strName
);
77
//anchor type:
78
switch
(
m_eAnchor
)
79
{
80
case
enumXFAnchorPara
:
81
pAttrList->
AddAttribute
(
"text:anchor-type"
,
"paragraph"
);
82
break
;
83
case
enumXFAnchorPage
:
84
pAttrList->
AddAttribute
(
"text:anchor-type"
,
"page"
);
85
break
;
86
case
enumXFAnchorChar
:
87
pAttrList->
AddAttribute
(
"text:anchor-type"
,
"char"
);
88
break
;
89
case
enumXFAnchorAsChar
:
90
pAttrList->
AddAttribute
(
"text:anchor-type"
,
"as-char"
);
91
break
;
92
case
enumXFAnchorFrame
:
93
pAttrList->
AddAttribute
(
"text:anchor-type"
,
"frame"
);
94
break
;
95
default
:
96
break
;
97
}
98
pAttrList->
AddAttribute
(
"draw:z-index"
, OUString::number(
m_nZIndex
) );
99
100
pAttrList->
AddAttribute
(
"svg:x1"
, OUString::number(
m_aPoint1
.
GetX
()) +
"cm"
);
101
pAttrList->
AddAttribute
(
"svg:y1"
, OUString::number(
m_aPoint1
.
GetY
()) +
"cm"
);
102
pAttrList->
AddAttribute
(
"svg:x2"
, OUString::number(
m_aPoint2
.
GetX
()) +
"cm"
);
103
pAttrList->
AddAttribute
(
"svg:y2"
, OUString::number(
m_aPoint2
.
GetY
()) +
"cm"
);
104
105
//transform
106
OUString strTransform;
107
if
(
m_nDrawFlag
&
XFDRAWOBJECT_FLAG_ROTATE
)
108
strTransform =
"rotate ("
+ OUString::number(
m_fRotate
) +
") "
;
109
if
(
m_nDrawFlag
&
XFDRAWOBJECT_FLAG_TRANSLATE
)
110
strTransform +=
"translate ("
+ OUString::number(
m_aRotatePoint
.
GetX
()) +
"cm "
+ OUString::number(
m_aRotatePoint
.
GetY
()) +
"cm) "
;
111
if
(
m_nDrawFlag
&
XFDRAWOBJECT_FLAG_SKEWX
)
112
strTransform +=
"skewX ("
+ OUString::number(0) +
" "
;
113
if
(
m_nDrawFlag
&
XFDRAWOBJECT_FLAG_SKEWY
)
114
strTransform +=
"skewY ("
+ OUString::number(0) +
" "
;
115
strTransform = strTransform.trim();
116
117
if
( !strTransform.isEmpty() )
118
pAttrList->
AddAttribute
(
"draw:transform"
, strTransform );
119
120
pStrm->
StartElement
(
"draw:line"
);
121
ContentToXml
(pStrm);
122
pStrm->
EndElement
(
"draw:line"
);
123
}
124
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
IXFAttrList
Attribute list interface for sax writer.
Definition:
ixfattrlist.hxx:72
IXFAttrList::AddAttribute
virtual void AddAttribute(const OUString &name, const OUString &value)=0
@descr: Add an attribute to the attribute list.
IXFStream
Stream wrapper for sax writer.
Definition:
ixfstream.hxx:72
IXFStream::GetAttrList
virtual IXFAttrList * GetAttrList()=0
@descr return the Attribute list interface.
IXFStream::StartElement
virtual void StartElement(const OUString &oustr)=0
@descr Wrap XDocumentHandler::startElement()
IXFStream::EndElement
virtual void EndElement(const OUString &oustr)=0
@descr Wrap XDocumentHandler::endElement()
XFContent::GetStyleName
const OUString & GetStyleName() const
: return the style name.
Definition:
xfcontent.hxx:95
XFDrawLine::ToXml
virtual void ToXml(IXFStream *pStrm) override
@descr Output line object.
Definition:
xfdrawline.cxx:67
XFDrawLine::m_aPoint1
XFPoint m_aPoint1
Definition:
xfdrawline.hxx:92
XFDrawLine::m_aPoint2
XFPoint m_aPoint2
Definition:
xfdrawline.hxx:93
XFDrawLine::XFDrawLine
XFDrawLine()
Definition:
xfdrawline.cxx:63
XFDrawObject::m_fRotate
double m_fRotate
Definition:
xfdrawobj.hxx:101
XFDrawObject::m_nDrawFlag
unsigned int m_nDrawFlag
Definition:
xfdrawobj.hxx:103
XFDrawObject::m_aRotatePoint
XFPoint m_aRotatePoint
Definition:
xfdrawobj.hxx:102
XFDrawObject::ContentToXml
void ContentToXml(IXFStream *pStrm)
Definition:
xfdrawobj.cxx:70
XFFrame::m_eAnchor
enumXFAnchor m_eAnchor
Definition:
xfframe.hxx:176
XFFrame::m_strName
OUString m_strName
Definition:
xfframe.hxx:178
XFFrame::m_nZIndex
sal_uInt32 m_nZIndex
Definition:
xfframe.hxx:179
XFPoint::GetY
double GetY() const
Definition:
xfpoint.hxx:93
XFPoint::GetX
double GetX() const
Definition:
xfpoint.hxx:88
ixfattrlist.hxx
enumXFAnchorAsChar
@ enumXFAnchorAsChar
Definition:
xfdefs.hxx:261
enumXFAnchorChar
@ enumXFAnchorChar
Definition:
xfdefs.hxx:260
enumXFAnchorPara
@ enumXFAnchorPara
Definition:
xfdefs.hxx:258
enumXFAnchorPage
@ enumXFAnchorPage
Definition:
xfdefs.hxx:259
enumXFAnchorFrame
@ enumXFAnchorFrame
Definition:
xfdefs.hxx:262
xfdrawline.hxx
XFDRAWOBJECT_FLAG_SKEWX
#define XFDRAWOBJECT_FLAG_SKEWX
Definition:
xfdrawobj.hxx:68
XFDRAWOBJECT_FLAG_ROTATE
#define XFDRAWOBJECT_FLAG_ROTATE
Definition:
xfdrawobj.hxx:66
XFDRAWOBJECT_FLAG_TRANSLATE
#define XFDRAWOBJECT_FLAG_TRANSLATE
Definition:
xfdrawobj.hxx:67
XFDRAWOBJECT_FLAG_SKEWY
#define XFDRAWOBJECT_FLAG_SKEWY
Definition:
xfdrawobj.hxx:69
Generated on Sun Jul 30 2023 04:29:27 for LibreOffice Module lotuswordpro (master) by
1.9.3