2010-10-14 08:27:31 +02:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
re-base on ALv2 code. Includes (at least) relevant parts of:
linecap: Reintegrating finished LineCap feature
Patch contributed by Regina Henschel
http://svn.apache.org/viewvc?view=revision&revision=1232507
Patches contributed by Sven Jacobi
impress212: #i81610# fixed animation export
http://svn.apache.org/viewvc?view=revision&revision=1167620
impress212: drawinglayer gbuild environment changes
http://svn.apache.org/viewvc?view=revision&revision=1167627
http://svn.apache.org/viewvc?view=revision&revision=1167628
impress212: DffPropSet -> minor code improvements, removing table
http://svn.apache.org/viewvc?view=revision&revision=1167634
impress212: #158494# fixed excel import (text rotation)
http://svn.apache.org/viewvc?view=revision&revision=1167638
Patches contributed by Armin Le Grand
Svg: Reintegrated Svg replacement from /branches/alg/svgreplavement
http://svn.apache.org/viewvc?view=revision&revision=1220836
#118728# changed indentifying definitions for Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1229961
#118838# LineGeometry creation for complicated cases optimized to
create single Polygons
http://svn.apache.org/viewvc?view=revision&revision=1236232
#119176# corrected file type detection for SVG for svg files
without xml header
http://svn.apache.org/viewvc?view=revision&revision=1309445
#118728# Extended Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1230531
#118529# solve break converters and convert commands for OLEs and images
http://svn.apache.org/viewvc?view=revision&revision=1186168
svg: added WaE changes from branch svgreplacement to trunc
http://svn.apache.org/viewvc?view=revision&revision=1222974
svg: corrected missing member initialization
http://svn.apache.org/viewvc?view=revision&revision=1226134
fix for #118525#: Using primitives for chart sub-geometry visualisation
http://svn.apache.org/viewvc?view=revision&revision=1226879
#118898# Adapted ImpGraphic::ImplGetBitmap to correctly convert
metafiles to bitmapEx ...
http://svn.apache.org/viewvc?view=revision&revision=1293316
fix for #118525#: removed no longer used variable maOriginalMapMode, one
more exception eliminated
http://svn.apache.org/viewvc?view=revision&revision=1227097
#16758# Added buffering to the VDev usages of the VclProcessor2D derivates...
http://svn.apache.org/viewvc?view=revision&revision=1229521
#116758# Secured VDev buffer device to Vcl deinit
http://svn.apache.org/viewvc?view=revision&revision=1230574
#116758# added remembering allocated VDevs for VDevBuffer to be able to also
delete these when vcl goes down; it should never happen, but You never know
http://svn.apache.org/viewvc?view=revision&revision=1230927
#118730# Changed SvgClipPathNode to use MaskPrimitive2D for primitive
representation instead of TransparencePrimitive2D
http://svn.apache.org/viewvc?view=revision&revision=1231198
#118822# secured 3D geometry creation (slices) by subdividing the 2D
source polyPolygon early
http://svn.apache.org/viewvc?view=revision&revision=1234749
#118829# enhanced Svg gradient quality, obstacles avoided
http://svn.apache.org/viewvc?view=revision&revision=1235361
#118834# Unified usage of TextBreakupHelper as single tooling class
for i18n text primitive breakup
http://svn.apache.org/viewvc?view=revision&revision=1236110
#118853# added square pixel size limit to conversion of
TransparencePrimitive2D to Metafile action
http://svn.apache.org/viewvc?view=revision&revision=1237656
#118824# coreccted mirroring and boundrect when the graphicmanager
is used for bitmap output
http://svn.apache.org/viewvc?view=revision&revision=1240097
#115092# Corrected VclProcessor2D::RenderPolygonStrokePrimitive2D for
various optimization scenarios
http://svn.apache.org/viewvc?view=revision&revision=1241434
#118783# Corrected errors in ID strings, corrected Svg line/fill export,
corrected polygon close state
http://svn.apache.org/viewvc?view=revision&revision=1232006
#118796# corrected null-pointer usage in SVG text exporter
http://svn.apache.org/viewvc?view=revision&revision=1240262
#118729# Use GraphicStreamUrl and GraphicUrl to allow multi image
import with linked graphics, too
http://svn.apache.org/viewvc?view=revision&revision=1229962
#118898# corrected error in GDIMetaFile::GetBoundRect in handling
MetaFloatTransparentAction
http://svn.apache.org/viewvc?view=revision&revision=1293349
#118855# Corrected handling of possibly created empty clipRegions
after PolyPolygon clipping
http://svn.apache.org/viewvc?view=revision&revision=1237725
#115962# Better (but not yet optimal, see comments in task) handling
of MetaFloatTransparentAction in PDF export
http://svn.apache.org/viewvc?view=revision&revision=1241078
IP clearance: #118466# This patch removes librsvg, libcroco, libgsf, ...
http://svn.apache.org/viewvc?view=revision&revision=1200879
118779# Added svg content streaming in/out to ImpGraphic stream operators
http://svn.apache.org/viewvc?view=revision&revision=1231908
linecap: correctons for WaE and mac drawing
http://svn.apache.org/viewvc?view=revision&revision=1232793
svg: uses current system Dpi for Svg replacement image creation
http://svn.apache.org/viewvc?view=revision&revision=1233948
Patches contributed by Mathias Bauer (and others)
gnumake4 work variously
http://svn.apache.org/viewvc?view=revision&revision=1394326
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1394326
Remove duplicate header includes.
cws mba34issues01: #i117720#: convert assertion into warning
http://svn.apache.org/viewvc?view=revision&revision=1172352
118485 - Styles for OLEs are not saved. Submitted by Armin Le Grand.
http://svn.apache.org/viewvc?view=revision&revision=1182166
cws mba34issues01: #i117714#: remove assertion
http://svn.apache.org/viewvc?view=revision&revision=1172357
Patch contributed by Jurgen Schmidt
add some additional checks to ensure proper reading operations
http://svn.apache.org/viewvc?view=revision&revision=1209022
mostly prefer our stream / bounds checking work.
Patches contributed by Herbert Duerr
#i118816# add clarifying comment regarding Font::*Color*() methods
http://svn.apache.org/viewvc?view=revision&revision=1233833
extend macro->string handling for empty strings
http://svn.apache.org/viewvc?view=revision&revision=1175801
avoid magic constants for SALCOLOR_NONE
http://svn.apache.org/viewvc?view=revision&revision=1177543
initialize slant properly in ImplFontMetricData constructor (author=iorsh)
http://svn.apache.org/viewvc?view=revision&revision=1177551
#i118675# make check for extension updates more stable
http://svn.apache.org/viewvc?view=revision&revision=1214797
#a118617# remove VBasicEventListener.dll binary
There are no known users depending on its CLSID
http://svn.apache.org/viewvc?view=revision&revision=1203697
Patches contributed by Ariel Constenla-Haile
Fix build breaker on Linux/gcc
http://svn.apache.org/viewvc?view=revision&revision=1221104
Fix crash when trying to instantiate css.graphic.GraphicRasterizer_RSVG
http://svn.apache.org/viewvc?view=revision&revision=1215559
Patches contributed by Oliver-Rainer Wittmann
sw34bf06: #i117962# - method <SwFlyFrm::IsPaint(..)> - consider
instances of <SwFlyDrawObj>
http://svn.apache.org/viewvc?view=revision&revision=1172120
sw34bf06: #i117783# - Writer's implementation of XPagePrintable -
apply print settings to new printing routines
http://svn.apache.org/viewvc?view=revision&revision=1172115
gnumake4 work variously from Hans-Joachim Lankenau
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1396782
http://svn.apache.org/viewvc?view=revision&revision=1394707
plus some amount of re-splitting of legacy headers.
Patch contributed by Pavel Janik
WaE: Remove unused variables.
http://svn.apache.org/viewvc?view=revision&revision=1230697
Patches contributed by Takashi Ono
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
Patch contributed by Christian Lippka
impress212: #i98044# re enable Text menu for outline and title shapes
http://svn.apache.org/viewvc?view=revision&revision=1167639
Patch contributed by Andre Fischer
118674: Made category B code optional and disabled by default.
http://svn.apache.org/viewvc?view=revision&revision=1215131
118881: Ignore empty paragraphs after bullets.
http://svn.apache.org/viewvc?view=revision&revision=1296205
Patches contributed by Philipp Lohmann
ooo340fixes: #i117780# use rtl allocator
http://svn.apache.org/viewvc?view=revision&revision=1172087
ooo34gsl02: #i117807# fix an off by one error (index actually
inside the pfb section header)
http://svn.apache.org/viewvc?view=revision&revision=1167576
various cleanups, related compilation fixes, warning cleanups, re-working
of obsolete stl template pieces to use boost instead, changed string
classes, re-adapt KDE about data, about dialog, fixing warnings,
and other fixes & improvements.
Disable svg import / render for about/ branding code-paths for now.
Restore full icon theme set.
Remove OS/2 conditionals and sources.
Remove conflicting gtk/full-screen monitors support.
Retain existing svg rasterizer files - temporarily disabled.
Standardize stringificaiton and fixup dllpostfix issues.
Rename SvgGradientHelper::== to equalTo to avoid overloading issues.
Use the flat GdiPlus API for LineCaps calls.
2012-10-09 12:22:23 +01:00
|
|
|
/*
|
|
|
|
* This file is part of the LibreOffice project.
|
|
|
|
*
|
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
*
|
|
|
|
* This file incorporates work covered by the following license notice:
|
|
|
|
*
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
|
|
* with this work for additional information regarding copyright
|
|
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
|
|
* except in compliance with the License. You may obtain a copy of
|
|
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
|
|
*/
|
2006-08-03 11:38:09 +00:00
|
|
|
|
|
|
|
#include <tools/vcompat.hxx>
|
|
|
|
|
2007-06-27 19:13:46 +00:00
|
|
|
#include <vcl/graphictools.hxx>
|
2006-08-03 11:38:09 +00:00
|
|
|
|
|
|
|
SvtGraphicFill::Transform::Transform()
|
|
|
|
{
|
|
|
|
matrix[0] = 1.0; matrix[1] = 0.0; matrix[2] = 0.0;
|
|
|
|
matrix[3] = 0.0; matrix[4] = 1.0; matrix[5] = 0.0;
|
|
|
|
}
|
|
|
|
|
|
|
|
SvtGraphicStroke::SvtGraphicStroke() :
|
|
|
|
maPath(),
|
|
|
|
maStartArrow(),
|
|
|
|
maEndArrow(),
|
|
|
|
mfTransparency(),
|
|
|
|
mfStrokeWidth(),
|
|
|
|
maCapType(),
|
|
|
|
maJoinType(),
|
|
|
|
mfMiterLimit( 3.0 ),
|
|
|
|
maDashArray()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
SvtGraphicStroke::SvtGraphicStroke( const Polygon& rPath,
|
|
|
|
const PolyPolygon& rStartArrow,
|
|
|
|
const PolyPolygon& rEndArrow,
|
|
|
|
double fTransparency,
|
|
|
|
double fStrokeWidth,
|
|
|
|
CapType aCap,
|
|
|
|
JoinType aJoin,
|
|
|
|
double fMiterLimit,
|
|
|
|
const DashArray& rDashArray ) :
|
|
|
|
maPath( rPath ),
|
|
|
|
maStartArrow( rStartArrow ),
|
|
|
|
maEndArrow( rEndArrow ),
|
|
|
|
mfTransparency( fTransparency ),
|
|
|
|
mfStrokeWidth( fStrokeWidth ),
|
|
|
|
maCapType( aCap ),
|
|
|
|
maJoinType( aJoin ),
|
|
|
|
mfMiterLimit( fMiterLimit ),
|
|
|
|
maDashArray( rDashArray )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
void SvtGraphicStroke::getPath( Polygon& rPath ) const
|
|
|
|
{
|
|
|
|
rPath = maPath;
|
|
|
|
}
|
|
|
|
|
|
|
|
void SvtGraphicStroke::getStartArrow( PolyPolygon& rPath ) const
|
|
|
|
{
|
|
|
|
rPath = maStartArrow;
|
|
|
|
}
|
|
|
|
|
|
|
|
void SvtGraphicStroke::getEndArrow( PolyPolygon& rPath ) const
|
|
|
|
{
|
|
|
|
rPath = maEndArrow;
|
|
|
|
}
|
|
|
|
|
|
|
|
double SvtGraphicStroke::getTransparency() const
|
|
|
|
{
|
|
|
|
return mfTransparency;
|
|
|
|
}
|
|
|
|
|
|
|
|
double SvtGraphicStroke::getStrokeWidth() const
|
|
|
|
{
|
|
|
|
return mfStrokeWidth;
|
|
|
|
}
|
|
|
|
|
|
|
|
SvtGraphicStroke::CapType SvtGraphicStroke::getCapType() const
|
|
|
|
{
|
|
|
|
return maCapType;
|
|
|
|
}
|
|
|
|
|
|
|
|
SvtGraphicStroke::JoinType SvtGraphicStroke::getJoinType() const
|
|
|
|
{
|
|
|
|
return maJoinType;
|
|
|
|
}
|
|
|
|
|
|
|
|
double SvtGraphicStroke::getMiterLimit() const
|
|
|
|
{
|
|
|
|
return mfMiterLimit;
|
|
|
|
}
|
|
|
|
|
|
|
|
void SvtGraphicStroke::getDashArray( DashArray& rDashArray ) const
|
|
|
|
{
|
|
|
|
rDashArray = maDashArray;
|
|
|
|
}
|
|
|
|
|
|
|
|
void SvtGraphicStroke::setPath( const Polygon& rPoly )
|
|
|
|
{
|
|
|
|
maPath = rPoly;
|
|
|
|
}
|
|
|
|
|
2013-06-17 11:12:16 +01:00
|
|
|
void SvtGraphicStroke::setStartArrow( const PolyPolygon& rPoly )
|
|
|
|
{
|
|
|
|
maStartArrow = rPoly;
|
|
|
|
}
|
|
|
|
|
|
|
|
void SvtGraphicStroke::setEndArrow( const PolyPolygon& rPoly )
|
|
|
|
{
|
|
|
|
maEndArrow = rPoly;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2013-03-25 21:34:51 +00:00
|
|
|
void SvtGraphicStroke::scale( double fXScale, double fYScale )
|
|
|
|
{
|
|
|
|
// Clearly scaling stroke-width for fat lines is rather a problem
|
|
|
|
maPath.Scale( fXScale, fYScale );
|
|
|
|
|
|
|
|
double fScale = sqrt (fabs (fXScale * fYScale) ); // clearly not ideal.
|
|
|
|
mfStrokeWidth *= fScale;
|
|
|
|
mfMiterLimit *= fScale;
|
|
|
|
|
|
|
|
maStartArrow.Scale( fXScale, fYScale );
|
|
|
|
maEndArrow.Scale( fXScale, fYScale );
|
|
|
|
}
|
|
|
|
|
2006-08-03 11:38:09 +00:00
|
|
|
SvStream& operator<<( SvStream& rOStm, const SvtGraphicStroke& rClass )
|
|
|
|
{
|
|
|
|
VersionCompat aCompat( rOStm, STREAM_WRITE, 1 );
|
|
|
|
|
|
|
|
rClass.maPath.Write( rOStm );
|
|
|
|
rClass.maStartArrow.Write( rOStm );
|
|
|
|
rClass.maEndArrow.Write( rOStm );
|
|
|
|
rOStm << rClass.mfTransparency;
|
|
|
|
rOStm << rClass.mfStrokeWidth;
|
2010-09-29 15:46:40 +08:00
|
|
|
sal_uInt16 nTmp = sal::static_int_cast<sal_uInt16>( rClass.maCapType );
|
2006-08-03 11:38:09 +00:00
|
|
|
rOStm << nTmp;
|
2010-09-29 15:46:40 +08:00
|
|
|
nTmp = sal::static_int_cast<sal_uInt16>( rClass.maJoinType );
|
2006-08-03 11:38:09 +00:00
|
|
|
rOStm << nTmp;
|
|
|
|
rOStm << rClass.mfMiterLimit;
|
|
|
|
|
|
|
|
rOStm << static_cast<sal_uInt32>(rClass.maDashArray.size());
|
|
|
|
size_t i;
|
|
|
|
for(i=0; i<rClass.maDashArray.size(); ++i)
|
|
|
|
rOStm << rClass.maDashArray[i];
|
|
|
|
|
|
|
|
return rOStm;
|
|
|
|
}
|
|
|
|
|
|
|
|
SvStream& operator>>( SvStream& rIStm, SvtGraphicStroke& rClass )
|
|
|
|
{
|
|
|
|
VersionCompat aCompat( rIStm, STREAM_READ );
|
|
|
|
|
|
|
|
rClass.maPath.Read( rIStm );
|
|
|
|
rClass.maStartArrow.Read( rIStm );
|
|
|
|
rClass.maEndArrow.Read( rIStm );
|
|
|
|
rIStm >> rClass.mfTransparency;
|
|
|
|
rIStm >> rClass.mfStrokeWidth;
|
2010-09-29 15:46:40 +08:00
|
|
|
sal_uInt16 nTmp;
|
2006-08-03 11:38:09 +00:00
|
|
|
rIStm >> nTmp;
|
|
|
|
rClass.maCapType = SvtGraphicStroke::CapType(nTmp);
|
|
|
|
rIStm >> nTmp;
|
|
|
|
rClass.maJoinType = SvtGraphicStroke::JoinType(nTmp);
|
|
|
|
rIStm >> rClass.mfMiterLimit;
|
|
|
|
|
|
|
|
sal_uInt32 nSize;
|
|
|
|
rIStm >> nSize;
|
|
|
|
rClass.maDashArray.resize(nSize);
|
|
|
|
size_t i;
|
|
|
|
for(i=0; i<rClass.maDashArray.size(); ++i)
|
|
|
|
rIStm >> rClass.maDashArray[i];
|
|
|
|
|
|
|
|
return rIStm;
|
|
|
|
}
|
|
|
|
|
|
|
|
SvtGraphicFill::SvtGraphicFill() :
|
|
|
|
maPath(),
|
|
|
|
maFillColor( COL_BLACK ),
|
|
|
|
mfTransparency(),
|
|
|
|
maFillRule(),
|
|
|
|
maFillType(),
|
|
|
|
maFillTransform(),
|
|
|
|
maHatchType(),
|
|
|
|
maHatchColor( COL_BLACK ),
|
|
|
|
maGradientType(),
|
|
|
|
maGradient1stColor( COL_BLACK ),
|
|
|
|
maGradient2ndColor( COL_BLACK ),
|
|
|
|
maGradientStepCount( gradientStepsInfinite ),
|
|
|
|
maFillGraphic()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
SvtGraphicFill::SvtGraphicFill( const PolyPolygon& rPath,
|
|
|
|
Color aFillColor,
|
|
|
|
double fTransparency,
|
|
|
|
FillRule aFillRule,
|
|
|
|
FillType aFillType,
|
|
|
|
const Transform& aFillTransform,
|
|
|
|
bool bTiling,
|
|
|
|
HatchType aHatchType,
|
|
|
|
Color aHatchColor,
|
|
|
|
GradientType aGradientType,
|
|
|
|
Color aGradient1stColor,
|
|
|
|
Color aGradient2ndColor,
|
2012-01-19 09:58:23 +00:00
|
|
|
sal_Int32 aGradientStepCount,
|
2006-08-03 11:38:09 +00:00
|
|
|
const Graphic& aFillGraphic ) :
|
|
|
|
maPath( rPath ),
|
|
|
|
maFillColor( aFillColor ),
|
|
|
|
mfTransparency( fTransparency ),
|
|
|
|
maFillRule( aFillRule ),
|
|
|
|
maFillType( aFillType ),
|
|
|
|
maFillTransform( aFillTransform ),
|
|
|
|
mbTiling( bTiling ),
|
|
|
|
maHatchType( aHatchType ),
|
|
|
|
maHatchColor( aHatchColor ),
|
|
|
|
maGradientType( aGradientType ),
|
|
|
|
maGradient1stColor( aGradient1stColor ),
|
|
|
|
maGradient2ndColor( aGradient2ndColor ),
|
|
|
|
maGradientStepCount( aGradientStepCount ),
|
|
|
|
maFillGraphic( aFillGraphic )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
void SvtGraphicFill::getPath( PolyPolygon& rPath ) const
|
|
|
|
{
|
|
|
|
rPath = maPath;
|
|
|
|
}
|
|
|
|
|
|
|
|
Color SvtGraphicFill::getFillColor() const
|
|
|
|
{
|
|
|
|
return maFillColor;
|
|
|
|
}
|
|
|
|
|
|
|
|
double SvtGraphicFill::getTransparency() const
|
|
|
|
{
|
|
|
|
return mfTransparency;
|
|
|
|
}
|
|
|
|
|
|
|
|
SvtGraphicFill::FillRule SvtGraphicFill::getFillRule() const
|
|
|
|
{
|
|
|
|
return maFillRule;
|
|
|
|
}
|
|
|
|
|
|
|
|
SvtGraphicFill::FillType SvtGraphicFill::getFillType() const
|
|
|
|
{
|
|
|
|
return maFillType;
|
|
|
|
}
|
|
|
|
|
|
|
|
void SvtGraphicFill::getTransform( Transform& rTrans ) const
|
|
|
|
{
|
|
|
|
rTrans = maFillTransform;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool SvtGraphicFill::IsTiling() const
|
|
|
|
{
|
|
|
|
return mbTiling;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool SvtGraphicFill::isTiling() const
|
|
|
|
{
|
|
|
|
return mbTiling;
|
|
|
|
}
|
|
|
|
|
|
|
|
SvtGraphicFill::GradientType SvtGraphicFill::getGradientType() const
|
|
|
|
{
|
|
|
|
return maGradientType;
|
|
|
|
}
|
|
|
|
|
|
|
|
void SvtGraphicFill::getGraphic( Graphic& rGraphic ) const
|
|
|
|
{
|
|
|
|
rGraphic = maFillGraphic;
|
|
|
|
}
|
|
|
|
|
|
|
|
void SvtGraphicFill::setPath( const PolyPolygon& rPath )
|
|
|
|
{
|
|
|
|
maPath = rPath;
|
|
|
|
}
|
|
|
|
|
|
|
|
SvStream& operator<<( SvStream& rOStm, const SvtGraphicFill& rClass )
|
|
|
|
{
|
|
|
|
VersionCompat aCompat( rOStm, STREAM_WRITE, 1 );
|
|
|
|
|
|
|
|
rClass.maPath.Write( rOStm );
|
|
|
|
rOStm << rClass.maFillColor;
|
|
|
|
rOStm << rClass.mfTransparency;
|
2010-09-29 15:46:40 +08:00
|
|
|
sal_uInt16 nTmp = sal::static_int_cast<sal_uInt16>( rClass.maFillRule );
|
2006-08-03 11:38:09 +00:00
|
|
|
rOStm << nTmp;
|
2010-09-29 15:46:40 +08:00
|
|
|
nTmp = sal::static_int_cast<sal_uInt16>( rClass.maFillType );
|
2006-08-03 11:38:09 +00:00
|
|
|
rOStm << nTmp;
|
|
|
|
int i;
|
|
|
|
for(i=0; i<SvtGraphicFill::Transform::MatrixSize; ++i)
|
|
|
|
rOStm << rClass.maFillTransform.matrix[i];
|
|
|
|
nTmp = rClass.mbTiling;
|
|
|
|
rOStm << nTmp;
|
2010-09-29 15:46:40 +08:00
|
|
|
nTmp = sal::static_int_cast<sal_uInt16>( rClass.maHatchType );
|
2006-08-03 11:38:09 +00:00
|
|
|
rOStm << nTmp;
|
|
|
|
rOStm << rClass.maHatchColor;
|
2010-09-29 15:46:40 +08:00
|
|
|
nTmp = sal::static_int_cast<sal_uInt16>( rClass.maGradientType );
|
2006-08-03 11:38:09 +00:00
|
|
|
rOStm << nTmp;
|
|
|
|
rOStm << rClass.maGradient1stColor;
|
|
|
|
rOStm << rClass.maGradient2ndColor;
|
|
|
|
rOStm << rClass.maGradientStepCount;
|
|
|
|
rOStm << rClass.maFillGraphic;
|
|
|
|
|
|
|
|
return rOStm;
|
|
|
|
}
|
|
|
|
|
|
|
|
SvStream& operator>>( SvStream& rIStm, SvtGraphicFill& rClass )
|
|
|
|
{
|
|
|
|
VersionCompat aCompat( rIStm, STREAM_READ );
|
|
|
|
|
|
|
|
rClass.maPath.Read( rIStm );
|
|
|
|
rIStm >> rClass.maFillColor;
|
|
|
|
rIStm >> rClass.mfTransparency;
|
2010-09-29 15:46:40 +08:00
|
|
|
sal_uInt16 nTmp;
|
2006-08-03 11:38:09 +00:00
|
|
|
rIStm >> nTmp;
|
|
|
|
rClass.maFillRule = SvtGraphicFill::FillRule( nTmp );
|
|
|
|
rIStm >> nTmp;
|
|
|
|
rClass.maFillType = SvtGraphicFill::FillType( nTmp );
|
|
|
|
int i;
|
|
|
|
for(i=0; i<SvtGraphicFill::Transform::MatrixSize; ++i)
|
|
|
|
rIStm >> rClass.maFillTransform.matrix[i];
|
|
|
|
rIStm >> nTmp;
|
|
|
|
rClass.mbTiling = nTmp;
|
|
|
|
rIStm >> nTmp;
|
|
|
|
rClass.maHatchType = SvtGraphicFill::HatchType( nTmp );
|
|
|
|
rIStm >> rClass.maHatchColor;
|
|
|
|
rIStm >> nTmp;
|
|
|
|
rClass.maGradientType = SvtGraphicFill::GradientType( nTmp );
|
|
|
|
rIStm >> rClass.maGradient1stColor;
|
|
|
|
rIStm >> rClass.maGradient2ndColor;
|
|
|
|
rIStm >> rClass.maGradientStepCount;
|
|
|
|
rIStm >> rClass.maFillGraphic;
|
|
|
|
|
|
|
|
return rIStm;
|
|
|
|
}
|
2010-10-14 08:27:31 +02:00
|
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|