diff options
author | Kai Ahrens <ka@openoffice.org> | 2002-03-06 10:19:16 +0000 |
---|---|---|
committer | Kai Ahrens <ka@openoffice.org> | 2002-03-06 10:19:16 +0000 |
commit | 0023b9e0261d1edeedf8a79afad4918740c234d7 (patch) | |
tree | 4b3d7608f4f09b6ee162a1f165eb0bfd52aa2815 /svx/source/engine3d/obj3d.cxx | |
parent | 7306be07514a17bf70d456a8413a0ec43cb1f304 (diff) |
#97052#: some colors are taken from settings
Diffstat (limited to 'svx/source/engine3d/obj3d.cxx')
-rw-r--r-- | svx/source/engine3d/obj3d.cxx | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/svx/source/engine3d/obj3d.cxx b/svx/source/engine3d/obj3d.cxx index 97f0eee3be36..019e2cb8d8b5 100644 --- a/svx/source/engine3d/obj3d.cxx +++ b/svx/source/engine3d/obj3d.cxx @@ -2,9 +2,9 @@ * * $RCSfile: obj3d.cxx,v $ * - * $Revision: 1.21 $ + * $Revision: 1.22 $ * - * last change: $Author: aw $ $Date: 2001-09-20 16:33:33 $ + * last change: $Author: ka $ $Date: 2002-03-06 11:19:16 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -144,6 +144,14 @@ #include "xflclit.hxx" #endif +#ifndef _SVAPP_HXX +#include <vcl/svapp.hxx> +#endif + +#ifndef _SETTINGS_HXX +#include <vcl/settings.hxx> +#endif + #ifndef _B3D_BASE3D_HXX #include <goodies/base3d.hxx> #endif @@ -3377,6 +3385,24 @@ void E3dCompoundObject::ImpSet3DParForFill(ExtOutputDevice& rOut, Base3D* pBase3 // Color stays white, just set render mode pBase3D->SetRenderMode(Base3DRenderFill); } + else if((pBase3D->GetOutputDevice()->GetDrawMode() & DRAWMODE_SETTINGSFILL) != 0) + { + Color aColorFill(Application::GetSettings().GetStyleSettings().GetWindowColor()); + Color aColorFillWithTransparency(aColorFill); + aColorFillWithTransparency.SetTransparency((UINT8)(nFillTrans * 255 / 100)); + + // set material to black and white mode + pBase3D->SetMaterial(aColorFill, Base3DMaterialAmbient); + pBase3D->SetMaterial(aColorFillWithTransparency, Base3DMaterialDiffuse); + if(GetUseDifferentBackMaterial()) + { + pBase3D->SetMaterial(aColorFill, Base3DMaterialAmbient, Base3DMaterialBack); + pBase3D->SetMaterial(aColorFillWithTransparency, Base3DMaterialDiffuse, Base3DMaterialBack); + } + + // Color stays solid, just set render mode + pBase3D->SetRenderMode(Base3DRenderFill); + } else if(eFillStyle == XFILL_BITMAP) { // bitmap fill, use bitmap texture from 2D defines @@ -3718,7 +3744,7 @@ void E3dCompoundObject::ImpSet3DParForLine(ExtOutputDevice& rOut, Base3D* pBase3 // special mode for black/white drawing // Linecolor is set to boack before (Base3d::SetColor()) - if((!bDrawOutline) && ((pBase3D->GetOutputDevice()->GetDrawMode() & DRAWMODE_WHITEFILL) != 0)) + if((!bDrawOutline) && ((pBase3D->GetOutputDevice()->GetDrawMode() & (DRAWMODE_WHITEFILL|DRAWMODE_SETTINGSFILL)) != 0)) { bDrawOutline = TRUE; } |