summaryrefslogtreecommitdiff
path: root/svx/source/engine3d/obj3d.cxx
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2004-10-12 09:05:49 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2004-10-12 09:05:49 +0000
commit62ad7658589c57d718ff8e22a8889a40b6a83870 (patch)
tree0f66c208ccb0b1758f4b5064de3d602ff9a1a21a /svx/source/engine3d/obj3d.cxx
parent7e6a440219f70a87baf1d11974290955d90bb9e5 (diff)
INTEGRATION: CWS aw018 (1.33.188); FILE MERGED
2004/09/10 12:36:43 aw 1.33.188.1: #b4899532#
Diffstat (limited to 'svx/source/engine3d/obj3d.cxx')
-rw-r--r--svx/source/engine3d/obj3d.cxx22
1 files changed, 15 insertions, 7 deletions
diff --git a/svx/source/engine3d/obj3d.cxx b/svx/source/engine3d/obj3d.cxx
index 39b5ed1b4aa1..088a5904c68f 100644
--- a/svx/source/engine3d/obj3d.cxx
+++ b/svx/source/engine3d/obj3d.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: obj3d.cxx,v $
*
- * $Revision: 1.33 $
+ * $Revision: 1.34 $
*
- * last change: $Author: kz $ $Date: 2004-06-10 11:32:41 $
+ * last change: $Author: hr $ $Date: 2004-10-12 10:05:49 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -3697,7 +3697,7 @@ void E3dCompoundObject::ImpSet3DParForFill(ExtOutputDevice& rOut, Base3D* pBase3
}
void E3dCompoundObject::ImpSet3DParForLine(ExtOutputDevice& rOut, Base3D* pBase3D,
- BOOL& bDrawOutline, UINT16 nDrawFlags, BOOL bGhosted, BOOL bIsLineDraft)
+ BOOL& bDrawOutline, UINT16 nDrawFlags, BOOL bGhosted, BOOL bIsLineDraft, BOOL bIsFillDraft)
{
// do drawflags allow line drawing at all?
const SfxItemSet& rSet = GetObjectItemSet();
@@ -3705,6 +3705,14 @@ void E3dCompoundObject::ImpSet3DParForLine(ExtOutputDevice& rOut, Base3D* pBase3
BOOL bLineTransparence = (nLineTransparence != 0);
BOOL bDrawTransparence = ((nDrawFlags & E3D_DRAWFLAG_TRANSPARENT) != 0);
+ // #b4899532# if not filled but fill draft, avoid object being invisible in using
+ // a hair linestyle and COL_LIGHTGRAY
+ SfxItemSet aItemSet(rSet);
+ if(bIsFillDraft && XLINE_NONE == ((const XLineStyleItem&)(rSet.Get(XATTR_LINESTYLE))).GetValue())
+ {
+ ImpPrepareLocalItemSetForDraftLine(aItemSet);
+ }
+
if(bLineTransparence != bDrawTransparence)
{
bDrawOutline = FALSE;
@@ -3714,7 +3722,7 @@ void E3dCompoundObject::ImpSet3DParForLine(ExtOutputDevice& rOut, Base3D* pBase3
XLineStyle aLineStyle(XLINE_NONE);
if(bDrawOutline)
{
- aLineStyle = ((const XLineStyleItem&)(rSet.Get(XATTR_LINESTYLE))).GetValue();
+ aLineStyle = ((const XLineStyleItem&)(aItemSet.Get(XATTR_LINESTYLE))).GetValue();
bDrawOutline = (aLineStyle != XLINE_NONE);
}
@@ -3728,8 +3736,8 @@ void E3dCompoundObject::ImpSet3DParForLine(ExtOutputDevice& rOut, Base3D* pBase3
// does the outdev use linestyle?
if(bDrawOutline && !rOut.GetIgnoreLineStyle())
{
- Color aColorLine = ((const XLineColorItem&)(rSet.Get(XATTR_LINECOLOR))).GetValue();
- sal_Int32 nLineWidth = ((const XLineWidthItem&)(rSet.Get(XATTR_LINEWIDTH))).GetValue();
+ Color aColorLine = ((const XLineColorItem&)(aItemSet.Get(XATTR_LINECOLOR))).GetValue();
+ sal_Int32 nLineWidth = ((const XLineWidthItem&)(aItemSet.Get(XATTR_LINEWIDTH))).GetValue();
if(pBase3D->GetOutputDevice()->GetDrawMode() & DRAWMODE_SETTINGSLINE)
{
@@ -3765,7 +3773,7 @@ void E3dCompoundObject::SetBase3DParams(ExtOutputDevice& rOut, Base3D* pBase3D,
bDrawOutline = ((nDrawFlags & E3D_DRAWFLAG_OUTLINE) != 0);
if(bDrawOutline)
- ImpSet3DParForLine(rOut, pBase3D, bDrawOutline, nDrawFlags, bGhosted, bIsLineDraft);
+ ImpSet3DParForLine(rOut, pBase3D, bDrawOutline, nDrawFlags, bGhosted, bIsLineDraft, bIsFillDraft);
// Set ObjectTrans if line or fill is still set (maybe retet by upper calls)
if(bDrawObject || bDrawOutline)