1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: grfattr.cxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_goodies.hxx"
34 #include <tools/vcompat.hxx>
41 GraphicAttr::GraphicAttr() :
56 meDrawMode ( GRAPHICDRAWMODE_STANDARD
)
60 // ------------------------------------------------------------------------
62 GraphicAttr::~GraphicAttr()
66 // ------------------------------------------------------------------------
68 BOOL
GraphicAttr::operator==( const GraphicAttr
& rAttr
) const
70 return( ( mfGamma
== rAttr
.mfGamma
) &&
71 ( mnMirrFlags
== rAttr
.mnMirrFlags
) &&
72 ( mnLeftCrop
== rAttr
.mnLeftCrop
) &&
73 ( mnTopCrop
== rAttr
.mnTopCrop
) &&
74 ( mnRightCrop
== rAttr
.mnRightCrop
) &&
75 ( mnBottomCrop
== rAttr
.mnBottomCrop
) &&
76 ( mnRotate10
== rAttr
.mnRotate10
) &&
77 ( mnContPercent
== rAttr
.mnContPercent
) &&
78 ( mnLumPercent
== rAttr
.mnLumPercent
) &&
79 ( mnRPercent
== rAttr
.mnRPercent
) &&
80 ( mnGPercent
== rAttr
.mnGPercent
) &&
81 ( mnBPercent
== rAttr
.mnBPercent
) &&
82 ( mbInvert
== rAttr
.mbInvert
) &&
83 ( mcTransparency
== rAttr
.mcTransparency
) &&
84 ( meDrawMode
== rAttr
.meDrawMode
) );
87 // ------------------------------------------------------------------------
89 SvStream
& operator>>( SvStream
& rIStm
, GraphicAttr
& rAttr
)
91 VersionCompat
aCompat( rIStm
, STREAM_READ
);
95 rIStm
>> nTmp32
>> nTmp32
>> rAttr
.mfGamma
>> rAttr
.mnMirrFlags
>> rAttr
.mnRotate10
;
96 rIStm
>> rAttr
.mnContPercent
>> rAttr
.mnLumPercent
>> rAttr
.mnRPercent
>> rAttr
.mnGPercent
>> rAttr
.mnBPercent
;
97 rIStm
>> rAttr
.mbInvert
>> rAttr
.mcTransparency
>> nTmp16
;
98 rAttr
.meDrawMode
= (GraphicDrawMode
) nTmp16
;
100 if( aCompat
.GetVersion() >= 2 )
102 rIStm
>> rAttr
.mnLeftCrop
>> rAttr
.mnTopCrop
>> rAttr
.mnRightCrop
>> rAttr
.mnBottomCrop
;
108 // ------------------------------------------------------------------------
110 SvStream
& operator<<( SvStream
& rOStm
, const GraphicAttr
& rAttr
)
112 VersionCompat
aCompat( rOStm
, STREAM_WRITE
, 2 );
113 const sal_uInt32 nTmp32
= 0;
115 rOStm
<< nTmp32
<< nTmp32
<< rAttr
.mfGamma
<< rAttr
.mnMirrFlags
<< rAttr
.mnRotate10
;
116 rOStm
<< rAttr
.mnContPercent
<< rAttr
.mnLumPercent
<< rAttr
.mnRPercent
<< rAttr
.mnGPercent
<< rAttr
.mnBPercent
;
117 rOStm
<< rAttr
.mbInvert
<< rAttr
.mcTransparency
<< (UINT16
) rAttr
.meDrawMode
;
118 rOStm
<< rAttr
.mnLeftCrop
<< rAttr
.mnTopCrop
<< rAttr
.mnRightCrop
<< rAttr
.mnBottomCrop
;