diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-10-12 09:05:49 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-10-12 09:05:49 +0000 |
commit | 62ad7658589c57d718ff8e22a8889a40b6a83870 (patch) | |
tree | 0f66c208ccb0b1758f4b5064de3d602ff9a1a21a /svx/source/engine3d/obj3d.cxx | |
parent | 7e6a440219f70a87baf1d11974290955d90bb9e5 (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.cxx | 22 |
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) |