diff options
-rw-r--r-- | drawinglayer/Library_drawinglayer.mk | 1 | ||||
-rw-r--r-- | drawinglayer/source/primitive2d/controlprimitive2d.cxx | 14 | ||||
-rw-r--r-- | drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx | 2 | ||||
-rw-r--r-- | include/vcl/formpdfexport.hxx (renamed from include/toolkit/helper/formpdfexport.hxx) | 4 | ||||
-rw-r--r-- | solenv/clang-format/excludelist | 4 | ||||
-rw-r--r-- | toolkit/Library_tk.mk | 1 | ||||
-rw-r--r-- | toolkit/source/awt/vclxwindow.cxx | 15 | ||||
-rw-r--r-- | vcl/Library_vcl.mk | 1 | ||||
-rw-r--r-- | vcl/source/gdi/formpdfexport.cxx (renamed from toolkit/source/helper/formpdfexport.cxx) | 39 |
9 files changed, 63 insertions, 18 deletions
diff --git a/drawinglayer/Library_drawinglayer.mk b/drawinglayer/Library_drawinglayer.mk index 8945e1c462c8..5a3c80beec08 100644 --- a/drawinglayer/Library_drawinglayer.mk +++ b/drawinglayer/Library_drawinglayer.mk @@ -47,7 +47,6 @@ $(eval $(call gb_Library_use_libraries,drawinglayer,\ salhelper \ svl \ svt \ - tk \ tl \ vcl \ )) diff --git a/drawinglayer/source/primitive2d/controlprimitive2d.cxx b/drawinglayer/source/primitive2d/controlprimitive2d.cxx index c776319e86f5..6fe6e57c10d1 100644 --- a/drawinglayer/source/primitive2d/controlprimitive2d.cxx +++ b/drawinglayer/source/primitive2d/controlprimitive2d.cxx @@ -19,6 +19,7 @@ #include <drawinglayer/primitive2d/controlprimitive2d.hxx> #include <com/sun/star/awt/XWindow.hpp> +#include <com/sun/star/awt/XVclWindowPeer.hpp> #include <com/sun/star/beans/XPropertySet.hpp> #include <comphelper/processfactory.hxx> #include <com/sun/star/awt/XControl.hpp> @@ -145,16 +146,11 @@ namespace drawinglayer::primitive2d if(xControl.is()) { uno::Reference<awt::XWindowPeer> xWindowPeer(xControl->getPeer()); - - VclPtr<vcl::Window> pWindow = VCLUnoHelper::GetWindow(xWindowPeer); - if (pWindow) + if (xWindowPeer) { - pWindow = pWindow->GetParent(); - - if(pWindow && MapUnit::Map100thMM == pWindow->GetMapMode().GetMapUnit()) - { - bUserIs100thmm = true; - } + uno::Reference<awt::XVclWindowPeer> xPeerProps(xWindowPeer, uno::UNO_QUERY_THROW); + uno::Any aAny = xPeerProps->getProperty("ParentIs100thmm"); // see VCLXWindow::getProperty + aAny >>= bUserIs100thmm; } } diff --git a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx index 3b3f27ba302c..33257f48175a 100644 --- a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx @@ -38,7 +38,7 @@ #include <vcl/graphictools.hxx> #include <vcl/metaact.hxx> #include <vcl/graph.hxx> // for PDFExtOutDevData Graphic support -#include <toolkit/helper/formpdfexport.hxx> // for PDFExtOutDevData Graphic support +#include <vcl/formpdfexport.hxx> // for PDFExtOutDevData Graphic support #include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx> #include <drawinglayer/primitive2d/textprimitive2d.hxx> #include <drawinglayer/primitive2d/PolygonHairlinePrimitive2D.hxx> diff --git a/include/toolkit/helper/formpdfexport.hxx b/include/vcl/formpdfexport.hxx index d1aa35ebfefe..a2aed55efe8d 100644 --- a/include/toolkit/helper/formpdfexport.hxx +++ b/include/vcl/formpdfexport.hxx @@ -20,7 +20,7 @@ #ifndef INCLUDED_TOOLKIT_HELPER_FORMPDFEXPORT_HXX #define INCLUDED_TOOLKIT_HELPER_FORMPDFEXPORT_HXX -#include <toolkit/dllapi.h> +#include <vcl/dllapi.h> #include <vcl/pdfwriter.hxx> @@ -41,7 +41,7 @@ namespace toolkitform /** creates a PDF compatible control descriptor for the given control */ - std::unique_ptr<vcl::PDFWriter::AnyWidget> TOOLKIT_DLLPUBLIC describePDFControl( + std::unique_ptr<vcl::PDFWriter::AnyWidget> VCL_DLLPUBLIC describePDFControl( const css::uno::Reference< css::awt::XControl >& _rxControl, vcl::PDFExtOutDevData& i_pdfExportData ); diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist index f6a4b822a7c2..0fa8c8402159 100644 --- a/solenv/clang-format/excludelist +++ b/solenv/clang-format/excludelist @@ -6129,7 +6129,6 @@ include/toolkit/controls/unocontrolmodel.hxx include/toolkit/controls/unocontrols.hxx include/toolkit/helper/accessiblefactory.hxx include/toolkit/helper/convert.hxx -include/toolkit/helper/formpdfexport.hxx include/toolkit/helper/listenermultiplexer.hxx include/toolkit/helper/macros.hxx include/toolkit/helper/mutexandbroadcasthelper.hxx @@ -6323,6 +6322,7 @@ include/vcl/fntstyle.hxx include/vcl/font.hxx include/vcl/fontcapabilities.hxx include/vcl/fontcharmap.hxx +include/vcl/formpdfexport.hxx include/vcl/gdimtf.hxx include/vcl/gfxlink.hxx include/vcl/gradient.hxx @@ -13670,7 +13670,6 @@ toolkit/source/hatchwindow/ipwin.cxx toolkit/source/hatchwindow/ipwin.hxx toolkit/source/helper/accessibilityclient.cxx toolkit/source/helper/btndlg.cxx -toolkit/source/helper/formpdfexport.cxx toolkit/source/helper/imagealign.cxx toolkit/source/helper/listenermultiplexer.cxx toolkit/source/helper/property.cxx @@ -14766,6 +14765,7 @@ vcl/source/gdi/VerticalOrientationData.cxx vcl/source/gdi/configsettings.cxx vcl/source/gdi/cvtgrf.cxx vcl/source/gdi/embeddedfontshelper.cxx +vcl/source/gdi/formpdfexport.cxx vcl/source/gdi/gdimetafiletools.cxx vcl/source/gdi/gdimtf.cxx vcl/source/gdi/gfxlink.cxx diff --git a/toolkit/Library_tk.mk b/toolkit/Library_tk.mk index 266f64d95507..75ae962cafc5 100644 --- a/toolkit/Library_tk.mk +++ b/toolkit/Library_tk.mk @@ -125,7 +125,6 @@ $(eval $(call gb_Library_add_exception_objects,tk,\ toolkit/source/hatchwindow/ipwin \ toolkit/source/helper/accessibilityclient \ toolkit/source/helper/btndlg \ - toolkit/source/helper/formpdfexport \ toolkit/source/helper/imagealign \ toolkit/source/helper/listenermultiplexer \ toolkit/source/helper/property \ diff --git a/toolkit/source/awt/vclxwindow.cxx b/toolkit/source/awt/vclxwindow.cxx index 98342be8b72b..d00bcf7f7cec 100644 --- a/toolkit/source/awt/vclxwindow.cxx +++ b/toolkit/source/awt/vclxwindow.cxx @@ -1953,6 +1953,21 @@ css::uno::Any VCLXWindow::getProperty( const OUString& PropertyName ) css::uno::Any aProp; if ( GetWindow() ) { + if (PropertyName == "ParentIs100thmm") + { + bool bParentIs100thmm = false; + VclPtr<vcl::Window> pWindow = GetWindow(); + if (pWindow) + { + pWindow = pWindow->GetParent(); + if(pWindow && MapUnit::Map100thMM == pWindow->GetMapMode().GetMapUnit()) + { + bParentIs100thmm = true; + } + } + aProp <<= bParentIs100thmm; + return aProp; + } WindowType eWinType = GetWindow()->GetType(); sal_uInt16 nPropType = GetPropertyId( PropertyName ); switch ( nPropType ) diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index cff520ccb03f..74e8ff66d4aa 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -263,6 +263,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/treelist/uiobject \ vcl/source/text/ImplLayoutRuns \ vcl/source/text/mnemonic \ + vcl/source/gdi/formpdfexport \ vcl/source/gdi/configsettings \ vcl/source/gdi/cvtgrf \ vcl/source/gdi/embeddedfontshelper \ diff --git a/toolkit/source/helper/formpdfexport.cxx b/vcl/source/gdi/formpdfexport.cxx index d03b86668892..3850d35ebf11 100644 --- a/toolkit/source/helper/formpdfexport.cxx +++ b/vcl/source/gdi/formpdfexport.cxx @@ -19,7 +19,7 @@ #include <memory> -#include <toolkit/helper/formpdfexport.hxx> +#include <vcl/formpdfexport.hxx> #include <comphelper/diagnose_ex.hxx> #include <tools/lineend.hxx> #include <unordered_map> @@ -39,11 +39,46 @@ #include <toolkit/helper/vclunohelper.hxx> #include <vcl/pdfextoutdevdata.hxx> +#include <vcl/unohelp.hxx> #include <algorithm> #include <iterator> +static vcl::Font CreateFont( const css::awt::FontDescriptor& rDescr ) +{ + vcl::Font aFont; + if ( !rDescr.Name.isEmpty() ) + aFont.SetFamilyName( rDescr.Name ); + if ( !rDescr.StyleName.isEmpty() ) + aFont.SetStyleName( rDescr.StyleName ); + if ( rDescr.Height ) + aFont.SetFontSize( Size( rDescr.Width, rDescr.Height ) ); + if ( static_cast<FontFamily>(rDescr.Family) != FAMILY_DONTKNOW ) + aFont.SetFamily( static_cast<FontFamily>(rDescr.Family) ); + if ( static_cast<rtl_TextEncoding>(rDescr.CharSet) != RTL_TEXTENCODING_DONTKNOW ) + aFont.SetCharSet( static_cast<rtl_TextEncoding>(rDescr.CharSet) ); + if ( static_cast<FontPitch>(rDescr.Pitch) != PITCH_DONTKNOW ) + aFont.SetPitch( static_cast<FontPitch>(rDescr.Pitch) ); + if ( rDescr.CharacterWidth ) + aFont.SetWidthType(vcl::unohelper::ConvertFontWidth(rDescr.CharacterWidth)); + if ( rDescr.Weight ) + aFont.SetWeight(vcl::unohelper::ConvertFontWeight(rDescr.Weight)); + if ( rDescr.Slant != css::awt::FontSlant_DONTKNOW ) + aFont.SetItalic(vcl::unohelper::ConvertFontSlant(rDescr.Slant)); + if ( static_cast<FontLineStyle>(rDescr.Underline) != LINESTYLE_DONTKNOW ) + aFont.SetUnderline( static_cast<FontLineStyle>(rDescr.Underline) ); + if ( static_cast<FontStrikeout>(rDescr.Strikeout) != STRIKEOUT_DONTKNOW ) + aFont.SetStrikeout( static_cast<FontStrikeout>(rDescr.Strikeout) ); + + // Not DONTKNOW + aFont.SetOrientation( Degree10(static_cast<sal_Int16>(rDescr.Orientation * 10)) ); + aFont.SetKerning( static_cast<FontKerning>(rDescr.Kerning) ); + aFont.SetWordLineMode( rDescr.WordLineMode ); + + return aFont; +} + namespace toolkitform { @@ -442,7 +477,7 @@ namespace toolkitform FontDescriptor aUNOFont; if( ! (xModelProps->getPropertyValue( FM_PROP_FONT ) >>= aUNOFont) ) SAL_WARN("toolkit.helper", "describePDFControl: unable to get property " << FM_PROP_FONT); - Descriptor->TextFont = VCLUnoHelper::CreateFont( aUNOFont, vcl::Font() ); + Descriptor->TextFont = CreateFont( aUNOFont ); } // tab order |