diff options
Diffstat (limited to 'svx/source/sdr/primitive2d')
12 files changed, 98 insertions, 47 deletions
diff --git a/svx/source/sdr/primitive2d/sdrattributecreator.cxx b/svx/source/sdr/primitive2d/sdrattributecreator.cxx index a042fcf45061..e2a3b4a9120a 100644 --- a/svx/source/sdr/primitive2d/sdrattributecreator.cxx +++ b/svx/source/sdr/primitive2d/sdrattributecreator.cxx @@ -8,7 +8,7 @@ * * $RCSfile: sdrattributecreator.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.18.1 $ * * This file is part of OpenOffice.org. * @@ -73,7 +73,6 @@ #include <com/sun/star/drawing/ProjectionMode.hpp> #include <com/sun/star/drawing/ShadeMode.hpp> #include <drawinglayer/attribute/sdrattribute3d.hxx> -#include <goodies/b3dlight.hxx> #include <drawinglayer/attribute/sdrallattribute3d.hxx> #include <svx/rectenum.hxx> @@ -877,27 +876,71 @@ namespace drawinglayer return new attribute::SdrSceneAttribute(fDistance, fShadowSlant, aProjectionMode, aShadeMode, bTwoSidedLighting); } - attribute::SdrLightingAttribute* createNewSdrLightingAttribute(const SfxItemSet& rSet, const B3dLightGroup& rLightGroup) + attribute::SdrLightingAttribute* createNewSdrLightingAttribute(const SfxItemSet& rSet) { - // get ambient color - const Color aAmbientValue(((const Svx3DAmbientcolorItem&)rSet.Get(SDRATTR_3DSCENE_AMBIENTCOLOR)).GetValue()); - const basegfx::BColor aAmbientLight(aAmbientValue.getBColor()); - - // extract lights from base3d stuff + // extract lights from given SfxItemSet (from scene) ::std::vector< attribute::Sdr3DLightAttribute > aLightVector; - for(sal_uInt32 a(0L); a < BASE3D_MAX_NUMBER_LIGHTS; a++) + if(((const Svx3DLightOnOff1Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTON_1)).GetValue()) { - B3dLight& rLight = ((B3dLightGroup&)rLightGroup).GetLightObject((Base3DLightNumber)a); + const basegfx::BColor aColor(((const Svx3DLightcolor1Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTCOLOR_1)).GetValue().getBColor()); + const basegfx::B3DVector aDirection(((const Svx3DLightDirection1Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_1)).GetValue()); + aLightVector.push_back(attribute::Sdr3DLightAttribute(aColor, aDirection, true)); + } - if(rLight.IsEnabled()) - { - const basegfx::BColor aColor(rLight.GetIntensity(Base3DMaterialDiffuse).getBColor()); - const basegfx::B3DVector aDirection(rLight.GetPosition()); - aLightVector.push_back(attribute::Sdr3DLightAttribute(aColor, aDirection, rLight.IsSpecular())); - } + if(((const Svx3DLightOnOff2Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTON_2)).GetValue()) + { + const basegfx::BColor aColor(((const Svx3DLightcolor2Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTCOLOR_2)).GetValue().getBColor()); + const basegfx::B3DVector aDirection(((const Svx3DLightDirection2Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_2)).GetValue()); + aLightVector.push_back(attribute::Sdr3DLightAttribute(aColor, aDirection, false)); + } + + if(((const Svx3DLightOnOff3Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTON_3)).GetValue()) + { + const basegfx::BColor aColor(((const Svx3DLightcolor3Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTCOLOR_3)).GetValue().getBColor()); + const basegfx::B3DVector aDirection(((const Svx3DLightDirection3Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_3)).GetValue()); + aLightVector.push_back(attribute::Sdr3DLightAttribute(aColor, aDirection, false)); + } + + if(((const Svx3DLightOnOff4Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTON_4)).GetValue()) + { + const basegfx::BColor aColor(((const Svx3DLightcolor4Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTCOLOR_4)).GetValue().getBColor()); + const basegfx::B3DVector aDirection(((const Svx3DLightDirection4Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_4)).GetValue()); + aLightVector.push_back(attribute::Sdr3DLightAttribute(aColor, aDirection, false)); + } + + if(((const Svx3DLightOnOff5Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTON_5)).GetValue()) + { + const basegfx::BColor aColor(((const Svx3DLightcolor5Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTCOLOR_5)).GetValue().getBColor()); + const basegfx::B3DVector aDirection(((const Svx3DLightDirection5Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_5)).GetValue()); + aLightVector.push_back(attribute::Sdr3DLightAttribute(aColor, aDirection, false)); + } + + if(((const Svx3DLightOnOff6Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTON_6)).GetValue()) + { + const basegfx::BColor aColor(((const Svx3DLightcolor6Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTCOLOR_6)).GetValue().getBColor()); + const basegfx::B3DVector aDirection(((const Svx3DLightDirection6Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_6)).GetValue()); + aLightVector.push_back(attribute::Sdr3DLightAttribute(aColor, aDirection, false)); + } + + if(((const Svx3DLightOnOff7Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTON_7)).GetValue()) + { + const basegfx::BColor aColor(((const Svx3DLightcolor7Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTCOLOR_7)).GetValue().getBColor()); + const basegfx::B3DVector aDirection(((const Svx3DLightDirection7Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_7)).GetValue()); + aLightVector.push_back(attribute::Sdr3DLightAttribute(aColor, aDirection, false)); } + if(((const Svx3DLightOnOff8Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTON_8)).GetValue()) + { + const basegfx::BColor aColor(((const Svx3DLightcolor8Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTCOLOR_8)).GetValue().getBColor()); + const basegfx::B3DVector aDirection(((const Svx3DLightDirection8Item&)rSet.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_8)).GetValue()); + aLightVector.push_back(attribute::Sdr3DLightAttribute(aColor, aDirection, false)); + } + + // get ambient color + const Color aAmbientValue(((const Svx3DAmbientcolorItem&)rSet.Get(SDRATTR_3DSCENE_AMBIENTCOLOR)).GetValue()); + const basegfx::BColor aAmbientLight(aAmbientValue.getBColor()); + return new attribute::SdrLightingAttribute(aAmbientLight, aLightVector); } diff --git a/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx index 34fdd58d5eda..506792cb185d 100644 --- a/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrcaptionprimitive2d.cxx @@ -8,7 +8,7 @@ * * $RCSfile: sdrcaptionprimitive2d.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.18.1 $ * * This file is part of OpenOffice.org. * @@ -68,7 +68,7 @@ namespace drawinglayer // add text if(getSdrLFSTAttribute().getText()) { - appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false)); + appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false)); } // add shadow diff --git a/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx index 6bccd9494f90..f560ddf2f73e 100644 --- a/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrconnectorprimitive2d.cxx @@ -8,7 +8,7 @@ * * $RCSfile: sdrconnectorprimitive2d.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.18.1 $ * * This file is part of OpenOffice.org. * @@ -61,7 +61,7 @@ namespace drawinglayer // add text if(getSdrLSTAttribute().getText()) { - appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(getUnitPolygon()), aEmptyMatrix, *getSdrLSTAttribute().getText(), getSdrLSTAttribute().getLine(), false)); + appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(getUnitPolygon()), aEmptyMatrix, *getSdrLSTAttribute().getText(), getSdrLSTAttribute().getLine(), false, false)); } // add shadow diff --git a/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx index 30a98e6450ec..269f7b258e2d 100644 --- a/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx @@ -8,7 +8,7 @@ * * $RCSfile: sdrcustomshapeprimitive2d.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.18.1 $ * * This file is part of OpenOffice.org. * @@ -53,8 +53,9 @@ namespace drawinglayer // add text if(getSdrSTAttribute().getText()) { - const ::basegfx::B2DPolygon aUnitOutline(::basegfx::tools::createPolygonFromRect(::basegfx::B2DRange(0.0, 0.0, 1.0, 1.0))); - appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), getTextBox(), *getSdrSTAttribute().getText(), 0, false)); + const basegfx::B2DPolygon aUnitOutline(basegfx::tools::createPolygonFromRect(basegfx::B2DRange(0.0, 0.0, 1.0, 1.0))); + appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive( + basegfx::B2DPolyPolygon(aUnitOutline), getTextBox(), *getSdrSTAttribute().getText(), 0, false, getWordWrap())); } // add shadow @@ -78,11 +79,13 @@ namespace drawinglayer SdrCustomShapePrimitive2D::SdrCustomShapePrimitive2D( const attribute::SdrShadowTextAttribute& rSdrSTAttribute, const Primitive2DSequence& rSubPrimitives, - const ::basegfx::B2DHomMatrix& rTextBox) + const basegfx::B2DHomMatrix& rTextBox, + bool bWordWrap) : BasePrimitive2D(), maSdrSTAttribute(rSdrSTAttribute), maSubPrimitives(rSubPrimitives), - maTextBox(rTextBox) + maTextBox(rTextBox), + mbWordWrap(bWordWrap) { } @@ -94,7 +97,8 @@ namespace drawinglayer return (getSdrSTAttribute() == rCompare.getSdrSTAttribute() && getSubPrimitives() == rCompare.getSubPrimitives() - && getTextBox() == rCompare.getTextBox()); + && getTextBox() == rCompare.getTextBox() + && getWordWrap() == rCompare.getWordWrap()); } return false; diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx index 853b1073dfd4..79c9d5a4cb00 100644 --- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx +++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx @@ -8,7 +8,7 @@ * * $RCSfile: sdrdecompositiontools.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.18.1 $ * * This file is part of OpenOffice.org. * @@ -170,7 +170,8 @@ namespace drawinglayer const ::basegfx::B2DHomMatrix& rObjectTransform, const attribute::SdrTextAttribute& rText, const attribute::SdrLineAttribute* pStroke, - bool bCellText) + bool bCellText, + bool bWordWrap) { ::basegfx::B2DHomMatrix aAnchorTransform(rObjectTransform); SdrTextPrimitive2D* pNew = 0L; @@ -269,7 +270,7 @@ namespace drawinglayer else // text in range { // build new primitive - pNew = new SdrBlockTextPrimitive2D(rText.getSdrText(), aAnchorTransform, rText.isScroll(), bCellText); + pNew = new SdrBlockTextPrimitive2D(rText.getSdrText(), aAnchorTransform, rText.isScroll(), bCellText, bWordWrap); } } diff --git a/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx index 88950759211c..4f99a2bce348 100644 --- a/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrellipseprimitive2d.cxx @@ -8,7 +8,7 @@ * * $RCSfile: sdrellipseprimitive2d.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.18.1 $ * * This file is part of OpenOffice.org. * @@ -81,7 +81,7 @@ namespace drawinglayer // add text if(getSdrLFSTAttribute().getText()) { - appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false)); + appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false)); } // add shadow @@ -178,7 +178,7 @@ namespace drawinglayer // add text if(getSdrLFSTAttribute().getText()) { - appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false)); + appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false)); } // add shadow diff --git a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx index da6adbf1345a..7122918aaed2 100644 --- a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx @@ -8,7 +8,7 @@ * * $RCSfile: sdrgrafprimitive2d.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.18.1 $ * * This file is part of OpenOffice.org. * @@ -93,7 +93,7 @@ namespace drawinglayer // add text if(getSdrLFSTAttribute().getText()) { - appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false)); + appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false)); } // add shadow diff --git a/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx index 2217398ef878..b21757b26620 100644 --- a/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrmeasureprimitive2d.cxx @@ -8,7 +8,7 @@ * * $RCSfile: sdrmeasureprimitive2d.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.18.1 $ * * This file is part of OpenOffice.org. * @@ -124,7 +124,7 @@ namespace drawinglayer } // create primitive and get text range - pBlockText = new SdrBlockTextPrimitive2D(pTextAttribute->getSdrText(), aTextMatrix, pTextAttribute->isScroll(), false); + pBlockText = new SdrBlockTextPrimitive2D(pTextAttribute->getSdrText(), aTextMatrix, pTextAttribute->isScroll(), false, false); aTextRange = pBlockText->getB2DRange(aViewInformation); } diff --git a/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx b/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx index e5db0beae158..84dc238eb7e6 100644 --- a/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx @@ -8,7 +8,7 @@ * * $RCSfile: sdrole2primitive2d.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.18.1 $ * * This file is part of OpenOffice.org. * @@ -97,7 +97,7 @@ namespace drawinglayer // always supported by the old paints, too if(getSdrLFSTAttribute().getText()) { - appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false)); + appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), *getSdrLFSTAttribute().getText(), getSdrLFSTAttribute().getLine(), false, false)); } // add shadow diff --git a/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx index 88ceef63512c..7409100e9f7e 100644 --- a/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrpathprimitive2d.cxx @@ -8,7 +8,7 @@ * * $RCSfile: sdrpathprimitive2d.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.18.1 $ * * This file is part of OpenOffice.org. * @@ -74,7 +74,7 @@ namespace drawinglayer // add text if(maSdrLFSTAttribute.getText()) { - appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(maUnitPolyPolygon, maTransform, *maSdrLFSTAttribute.getText(), maSdrLFSTAttribute.getLine(), false)); + appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(maUnitPolyPolygon, maTransform, *maSdrLFSTAttribute.getText(), maSdrLFSTAttribute.getLine(), false, false)); } // add shadow diff --git a/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx index 014031de4db6..6ffb9f9f08fd 100644 --- a/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrrectangleprimitive2d.cxx @@ -8,7 +8,7 @@ * * $RCSfile: sdrrectangleprimitive2d.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.18.1 $ * * This file is part of OpenOffice.org. * @@ -67,7 +67,7 @@ namespace drawinglayer // add text if(maSdrLFSTAttribute.getText()) { - appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), maTransform, *maSdrLFSTAttribute.getText(), maSdrLFSTAttribute.getLine(), false)); + appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, createTextPrimitive(::basegfx::B2DPolyPolygon(aUnitOutline), maTransform, *maSdrLFSTAttribute.getText(), maSdrLFSTAttribute.getLine(), false, false)); } // add shadow diff --git a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx index 401e7b455d99..7fbc02d964d9 100644 --- a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx @@ -8,7 +8,7 @@ * * $RCSfile: sdrtextprimitive2d.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.18.1 $ * * This file is part of OpenOffice.org. * @@ -262,11 +262,13 @@ namespace drawinglayer const SdrText& rSdrText, const ::basegfx::B2DHomMatrix& rTextRangeTransform, bool bUnlimitedPage, - bool bCellText) + bool bCellText, + bool bWordWrap) : SdrTextPrimitive2D(rSdrText), maTextRangeTransform(rTextRangeTransform), mbUnlimitedPage(bUnlimitedPage), - mbCellText(bCellText) + mbCellText(bCellText), + mbWordWrap(bWordWrap) { } @@ -278,7 +280,8 @@ namespace drawinglayer return (getTextRangeTransform() == rCompare.getTextRangeTransform() && getUnlimitedPage() == rCompare.getUnlimitedPage() - && getCellText() == rCompare.getCellText()); + && getCellText() == rCompare.getCellText() + && getWordWrap() == rCompare.getWordWrap()); } return false; @@ -286,7 +289,7 @@ namespace drawinglayer SdrTextPrimitive2D* SdrBlockTextPrimitive2D::createTransformedClone(const ::basegfx::B2DHomMatrix& rTransform) const { - return new SdrBlockTextPrimitive2D(getSdrText(), rTransform * getTextRangeTransform(), getUnlimitedPage(), getCellText()); + return new SdrBlockTextPrimitive2D(getSdrText(), rTransform * getTextRangeTransform(), getUnlimitedPage(), getCellText(), getWordWrap()); } // provide unique ID |