diff options
Diffstat (limited to 'svx/source')
-rw-r--r-- | svx/source/sdr/contact/viewcontact.cxx | 14 | ||||
-rw-r--r-- | svx/source/sdr/contact/viewcontactofsdrobj.cxx | 22 | ||||
-rw-r--r-- | svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx | 3 | ||||
-rw-r--r-- | svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx | 26 |
4 files changed, 51 insertions, 14 deletions
diff --git a/svx/source/sdr/contact/viewcontact.cxx b/svx/source/sdr/contact/viewcontact.cxx index 1dd952a7abd6..ff89ac6eaf39 100644 --- a/svx/source/sdr/contact/viewcontact.cxx +++ b/svx/source/sdr/contact/viewcontact.cxx @@ -277,7 +277,13 @@ namespace sdr drawinglayer::primitive2d::Primitive2DSequence ViewContact::getViewIndependentPrimitive2DSequence() const { // local up-to-date checks. Create new list and compare. - const drawinglayer::primitive2d::Primitive2DSequence xNew(createViewIndependentPrimitive2DSequence()); + drawinglayer::primitive2d::Primitive2DSequence xNew(createViewIndependentPrimitive2DSequence()); + + if(xNew.hasElements()) + { + // allow evtl. embedding in object-specific infos, e.g. Name, Title, Description + xNew = embedToObjectSpecificInformation(xNew); + } if(!drawinglayer::primitive2d::arePrimitive2DSequencesEqual(mxViewIndependentPrimitive2DSequence, xNew)) { @@ -296,6 +302,12 @@ namespace sdr return drawinglayer::primitive2d::Primitive2DSequence(); } + drawinglayer::primitive2d::Primitive2DSequence ViewContact::embedToObjectSpecificInformation(const drawinglayer::primitive2d::Primitive2DSequence& rSource) const + { + // nothing to do for default + return rSource; + } + void ViewContact::flushViewObjectContacts(bool bWithHierarchy) { if(bWithHierarchy) diff --git a/svx/source/sdr/contact/viewcontactofsdrobj.cxx b/svx/source/sdr/contact/viewcontactofsdrobj.cxx index 15c9429d06d8..72c4c608cf97 100644 --- a/svx/source/sdr/contact/viewcontactofsdrobj.cxx +++ b/svx/source/sdr/contact/viewcontactofsdrobj.cxx @@ -28,6 +28,7 @@ #include <svx/sdr/contact/objectcontact.hxx> #include <basegfx/color/bcolor.hxx> #include <drawinglayer/primitive2d/markerarrayprimitive2d.hxx> +#include <drawinglayer/primitive2d/objectinfoprimitive2d.hxx> #include <svx/sdr/contact/objectcontactofpageview.hxx> #include <svx/sdrpagewindow.hxx> #include <svx/sdrpaintwindow.hxx> @@ -175,6 +176,27 @@ namespace sdr return xRetval; } + + drawinglayer::primitive2d::Primitive2DSequence ViewContactOfSdrObj::embedToObjectSpecificInformation(const drawinglayer::primitive2d::Primitive2DSequence& rSource) const + { + if(rSource.hasElements() && + (!GetSdrObject().GetName().isEmpty() || + !GetSdrObject().GetTitle().isEmpty() || + !GetSdrObject().GetDescription().isEmpty())) + { + const drawinglayer::primitive2d::Primitive2DReference xRef( + new drawinglayer::primitive2d::ObjectInfoPrimitive2D( + rSource, + GetSdrObject().GetName(), + GetSdrObject().GetTitle(), + GetSdrObject().GetDescription())); + + return drawinglayer::primitive2d::Primitive2DSequence(&xRef, 1); + } + + return rSource; + } + } // end of namespace contact } // end of namespace sdr diff --git a/svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx b/svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx index 58e3cf828e49..e9515f082762 100644 --- a/svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx +++ b/svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx @@ -90,6 +90,9 @@ namespace sdr if(xRetval.hasElements()) { + // allow evtl. embedding in object-specific infos, e.g. Name, Title, Description + xRetval = rViewContact.embedToObjectSpecificInformation(xRetval); + // handle GluePoint if(!GetObjectContact().isOutputToPrinter() && GetObjectContact().AreGluePointsVisible()) { diff --git a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx index aeccd8611bec..8548566eb93d 100644 --- a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx @@ -50,6 +50,19 @@ namespace drawinglayer getSdrLFSTAttribute().getFillFloatTransGradient())); } + // add graphic content + if(255L != getGraphicAttr().GetTransparency()) + { + // standard graphic fill + const Primitive2DReference xGraphicContentPrimitive( + new GraphicPrimitive2D( + getTransform(), + getGraphicObject(), + getGraphicAttr())); + + appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, xGraphicContentPrimitive); + } + // add line if(!getSdrLFSTAttribute().getLine().isDefault()) { @@ -86,19 +99,6 @@ namespace drawinglayer } } - // add graphic content - if(255L != getGraphicAttr().GetTransparency()) - { - // standard graphic fill - const Primitive2DReference xGraphicContentPrimitive( - new GraphicPrimitive2D( - getTransform(), - getGraphicObject(), - getGraphicAttr())); - - appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, xGraphicContentPrimitive); - } - // add text if(!getSdrLFSTAttribute().getText().isDefault()) { |