summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2012-12-11 14:59:39 +0200
committerNoel Grandin <noel@peralex.com>2012-12-13 05:20:59 +0200
commitdde234b6955a421d51d2b37e4fc3972c660146f0 (patch)
treed9f5824ccb30141c3d3742e2229b3bf83ffd116b /vcl
parent37b6871fa1fb12c4b2b45db5f3e6ac583577f538 (diff)
fdo#46808, remove awt::DisplayAccess service.
This service was never documented in an IDL file. All it did was provide a wrapper around some VCL module API. Now that we can link the VCL stuff into SD and SDEXT, just access the API directly. Change-Id: Ic0ba34c2bca797baa7319878d98cfe3a4ec59d4d
Diffstat (limited to 'vcl')
-rw-r--r--vcl/Library_vcl.mk1
-rw-r--r--vcl/inc/vcl/svapp.hxx8
-rw-r--r--vcl/source/app/svapp.cxx23
-rw-r--r--vcl/source/components/display.cxx363
-rw-r--r--vcl/source/components/factory.cxx10
-rw-r--r--vcl/vcl.android.component3
-rw-r--r--vcl/vcl.headless.component3
-rw-r--r--vcl/vcl.ios.component3
-rw-r--r--vcl/vcl.macosx.component3
-rw-r--r--vcl/vcl.unx.component3
-rw-r--r--vcl/vcl.windows.component3
-rw-r--r--vcl/win/source/window/salframe.cxx41
12 files changed, 42 insertions, 422 deletions
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index 57fd4cfe083a..af314880a29b 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -125,7 +125,6 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\
vcl/source/app/unohelp2 \
vcl/source/app/unohelp \
vcl/source/app/vclevent \
- vcl/source/components/display \
vcl/source/components/dtranscomp \
vcl/source/components/factory \
vcl/source/components/fontident \
diff --git a/vcl/inc/vcl/svapp.hxx b/vcl/inc/vcl/svapp.hxx
index d95e44b65cdb..0a1aa569d5cf 100644
--- a/vcl/inc/vcl/svapp.hxx
+++ b/vcl/inc/vcl/svapp.hxx
@@ -282,18 +282,20 @@ public:
// (e.g. Xserver with Xinerama, Windows)
// false: different screens are separate and windows cannot be moved
// between them (e.g. Xserver with multiple screens)
- SAL_DLLPRIVATE static bool IsUnifiedDisplay();
+ static bool IsUnifiedDisplay();
// if IsUnifiedDisplay() == true the return value will be
// nearest screen of the target rectangle
// in case of IsUnifiedDisplay() == false the return value
// will always be GetDisplayDefaultScreen()
SAL_DLLPRIVATE static unsigned int GetBestScreen( const Rectangle& );
- SAL_DLLPRIVATE static Rectangle GetWorkAreaPosSizePixel( unsigned int nScreen );
+ static Rectangle GetWorkAreaPosSizePixel( unsigned int nScreen );
// This returns the LCD screen number for a laptop, or the primary
// external VGA display for a desktop machine - it is where a presenter
// console should be rendered if there are other (non-built-in) screens
// present.
- SAL_DLLPRIVATE static unsigned int GetDisplayBuiltInScreen();
+ static unsigned int GetDisplayBuiltInScreen();
+ // Practically, this means - Get the screen we should run a presentation on.
+ static unsigned int GetDisplayExternalScreen();
SAL_DLLPRIVATE static rtl::OUString GetDisplayScreenName( unsigned int nScreen );
static const LocaleDataWrapper& GetAppLocaleDataWrapper();
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index 6a799cd20c8c..1a799876bb0a 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -1238,6 +1238,29 @@ unsigned int Application::GetDisplayBuiltInScreen()
return pSys ? pSys->GetDisplayBuiltInScreen() : 0;
}
+unsigned int Application::GetDisplayExternalScreen()
+{
+ // This is really unpleasant, in theory we could have multiple
+ // external displays etc.
+ int nExternal(0);
+ switch (GetDisplayBuiltInScreen())
+ {
+ case 0:
+ nExternal = 1;
+ break;
+ case 1:
+ nExternal = 0;
+ break;
+ default:
+ // When the built-in display is neither 0 nor 1
+ // then place the full-screen presentation on the
+ // first available screen.
+ nExternal = 0;
+ break;
+ }
+ return nExternal;
+}
+
Rectangle Application::GetScreenPosSizePixel( unsigned int nScreen )
{
SalSystem* pSys = ImplGetSalSystem();
diff --git a/vcl/source/components/display.cxx b/vcl/source/components/display.cxx
deleted file mode 100644
index f1862bc2d228..000000000000
--- a/vcl/source/components/display.cxx
+++ /dev/null
@@ -1,363 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <com/sun/star/container/XIndexAccess.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <com/sun/star/awt/Rectangle.hpp>
-#include <com/sun/star/lang/DisposedException.hpp>
-
-#include <vcl/svapp.hxx>
-
-#include <cppuhelper/implbase3.hxx>
-#include <cppuhelper/implbase4.hxx>
-
-
-using ::rtl::OUString;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::beans;
-
-// -----------------------------------------------------------------------
-
-namespace vcl
-{
-
-class DisplayInfo : public ::cppu::WeakAggImplHelper3< XPropertySet, XPropertySetInfo, XServiceInfo >
-{
-public:
- DisplayInfo( sal_uInt32 nDisplayScreen );
-
- // XPropertySet
- virtual Reference< XPropertySetInfo > SAL_CALL getPropertySetInfo() throw (RuntimeException);
- virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName, const Any& aValue ) throw (UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException);
- virtual Any SAL_CALL getPropertyValue( const OUString& PropertyName ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException);
- virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName, const Reference< XPropertyChangeListener >& xListener ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException);
- virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName, const Reference< XPropertyChangeListener >& aListener ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException);
- virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName, const Reference< XVetoableChangeListener >& aListener ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException);
- virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName, const Reference< XVetoableChangeListener >& aListener ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException);
-
- // XPropertySetInfo
- virtual Sequence< Property > SAL_CALL getProperties() throw (RuntimeException);
- virtual Property SAL_CALL getPropertyByName( const OUString& aName ) throw (UnknownPropertyException, RuntimeException);
- virtual ::sal_Bool SAL_CALL hasPropertyByName( const OUString& Name ) throw (RuntimeException);
-
- // XServiceInfo
- virtual OUString SAL_CALL getImplementationName() throw (RuntimeException);
- virtual ::sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw (RuntimeException);
- virtual Sequence< OUString > SAL_CALL getSupportedServiceNames() throw (RuntimeException);
-
-private:
- sal_uInt32 mnDisplayScreen;
-};
-
-static const char* pScreenAreaName = "ScreenArea";
-static const char* pWorkAreaName = "WorkArea";
-static const char* pScreenName = "ScreenName";
-
-// --------------------------------------------------------------------
-
-DisplayInfo::DisplayInfo( sal_uInt32 nDisplayScreen )
-: mnDisplayScreen( nDisplayScreen )
-{
-}
-
-// XPropertySet
-Reference< XPropertySetInfo > SAL_CALL DisplayInfo::getPropertySetInfo() throw (RuntimeException)
-{
- return this;
-}
-
-void SAL_CALL DisplayInfo::setPropertyValue( const OUString& /*aPropertyName* */, const Any& /*aValue*/ ) throw (UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException)
-{
- throw PropertyVetoException();
-}
-
-Any SAL_CALL DisplayInfo::getPropertyValue( const OUString& PropertyName ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException)
-{
- Rectangle aRect;
- if( PropertyName.equalsAscii( pScreenAreaName ) )
- {
- aRect = Application::GetScreenPosSizePixel( mnDisplayScreen );
- }
- else if( PropertyName.equalsAscii( pWorkAreaName ) )
- {
- aRect = Application::GetWorkAreaPosSizePixel( mnDisplayScreen );
- }
- else if( PropertyName.equalsAscii( pScreenName ) )
- {
- return Any( Application::GetDisplayScreenName( mnDisplayScreen ) );
- }
- else
- throw UnknownPropertyException();
-
- return Any( com::sun::star::awt::Rectangle( aRect.Left(), aRect.Top(), aRect.getWidth(), aRect.getHeight() ) );
-}
-
-void SAL_CALL DisplayInfo::addPropertyChangeListener( const OUString&, const Reference< XPropertyChangeListener >& ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException) {}
-void SAL_CALL DisplayInfo::removePropertyChangeListener( const OUString&, const Reference< XPropertyChangeListener >& ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException) {}
-void SAL_CALL DisplayInfo::addVetoableChangeListener( const OUString&, const Reference< XVetoableChangeListener >& ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException) {}
-void SAL_CALL DisplayInfo::removeVetoableChangeListener( const OUString&, const Reference< XVetoableChangeListener >& ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException) {}
-
-// XPropertySetInfo
-Sequence< Property > SAL_CALL DisplayInfo::getProperties() throw (RuntimeException)
-{
- Sequence< Property > aProps(2);
- aProps[0] = getPropertyByName( OUString::createFromAscii( pScreenAreaName ) );
- aProps[1] = getPropertyByName( OUString::createFromAscii( pWorkAreaName ) );
- return aProps;
-}
-
-Property SAL_CALL DisplayInfo::getPropertyByName( const OUString& aName ) throw (UnknownPropertyException, RuntimeException)
-{
- if( aName.equalsAscii( pScreenAreaName ) ||
- aName.equalsAscii( pWorkAreaName ) )
- return Property( aName, 0, ::getCppuType( (::com::sun::star::awt::Rectangle const *)0 ), PropertyAttribute::READONLY );
- throw UnknownPropertyException();
-}
-
-::sal_Bool SAL_CALL DisplayInfo::hasPropertyByName( const OUString& Name ) throw (RuntimeException)
-{
- return Name.equalsAscii( pScreenAreaName ) ||
- Name.equalsAscii( pWorkAreaName );
-}
-
-// XServiceInfo
-OUString SAL_CALL DisplayInfo::getImplementationName() throw (RuntimeException)
-{
- return OUString(RTL_CONSTASCII_USTRINGPARAM("vcl::DisplayInfo"));
-}
-
-::sal_Bool SAL_CALL DisplayInfo::supportsService( const OUString& ServiceName ) throw (RuntimeException)
-{
- Sequence< OUString > aSN( getSupportedServiceNames() );
- for( sal_Int32 nService = 0; nService < aSN.getLength(); nService++ )
- {
- if( aSN[nService] == ServiceName )
- return sal_True;
- }
- return sal_False;
-}
-
-Sequence< OUString > SAL_CALL DisplayInfo::getSupportedServiceNames() throw (RuntimeException)
-{
- OUString aServiceName(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.awt.DisplayInfo"));
- return Sequence< OUString >(&aServiceName, 1);
-}
-
-// ====================================================================
-
-class DisplayAccess : public ::cppu::WeakAggImplHelper4< XPropertySet, XPropertySetInfo, XIndexAccess, XServiceInfo >
-{
-public:
- DisplayAccess ();
-
- // XPropertySet
- virtual Reference< XPropertySetInfo > SAL_CALL getPropertySetInfo() throw (RuntimeException);
- virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName, const Any& aValue ) throw (UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException);
- virtual Any SAL_CALL getPropertyValue( const OUString& PropertyName ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException);
- virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName, const Reference< XPropertyChangeListener >& xListener ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException);
- virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName, const Reference< XPropertyChangeListener >& aListener ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException);
- virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName, const Reference< XVetoableChangeListener >& aListener ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException);
- virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName, const Reference< XVetoableChangeListener >& aListener ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException);
-
- // XPropertySetInfo
- virtual Sequence< Property > SAL_CALL getProperties() throw (RuntimeException);
- virtual Property SAL_CALL getPropertyByName( const OUString& aName ) throw (UnknownPropertyException, RuntimeException);
- virtual ::sal_Bool SAL_CALL hasPropertyByName( const OUString& Name ) throw (RuntimeException);
-
- // XIndexAccess
- virtual ::sal_Int32 SAL_CALL getCount() throw (RuntimeException);
- virtual Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (IndexOutOfBoundsException, WrappedTargetException, RuntimeException);
-
- // XElementAccess
- virtual Type SAL_CALL getElementType() throw (RuntimeException);
- virtual ::sal_Bool SAL_CALL hasElements() throw (RuntimeException);
-
- // XServiceInfo
- virtual OUString SAL_CALL getImplementationName() throw (RuntimeException);
- virtual ::sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw (RuntimeException);
- virtual Sequence< OUString > SAL_CALL getSupportedServiceNames() throw (RuntimeException);
-};
-
-Sequence< OUString > DisplayAccess_getSupportedServiceNames()
-{
- OUString aServiceName( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.DisplayAccess" ) );
- return Sequence< OUString >( &aServiceName, 1 );
-}
-
-OUString DisplayAccess_getImplementationName()
-{
- return OUString( RTL_CONSTASCII_USTRINGPARAM( "vcl::DisplayAccess" ) );
-}
-
-Reference< XInterface > SAL_CALL DisplayAccess_createInstance( const Reference< XMultiServiceFactory >& )
-{
- return static_cast< ::cppu::OWeakObject * >( new DisplayAccess );
-}
-
-DisplayAccess::DisplayAccess()
-{
-}
-
-static const char* pUnifiedDisplayName = "IsUnifiedDisplay";
-static const char* pDefaultDisplayName = "DefaultDisplay";
-static const char* pBuiltInDisplayName = "BuiltInDisplay";
-static const char* pExternalDisplayName = "ExternalDisplay";
-
-// XPropertySet
-Reference< XPropertySetInfo > SAL_CALL DisplayAccess::getPropertySetInfo() throw (RuntimeException)
-{
- return this;
-}
-
-void SAL_CALL DisplayAccess::setPropertyValue( const OUString& /*aPropertyName* */, const Any& /*aValue*/ ) throw (UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException)
-{
- throw PropertyVetoException();
-}
-
-Any SAL_CALL DisplayAccess::getPropertyValue( const OUString& PropertyName ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException)
-{
- Any aRet;
- if( PropertyName.equalsAscii( pUnifiedDisplayName ) )
- {
- aRet <<= sal_Bool( Application::IsUnifiedDisplay() );
- }
- else if( PropertyName.equalsAscii( pDefaultDisplayName ) || // Unhelpful name, legacy setting
- PropertyName.equalsAscii( pBuiltInDisplayName ) )
- {
- aRet <<= sal_Int32( Application::GetDisplayBuiltInScreen() );
- }
- else if( PropertyName.equalsAscii( pExternalDisplayName ) )
- {
- // This is really unpleasant, in theory we could have multiple
- // external displays etc.
- sal_Int32 nExternal(0);
- switch (Application::GetDisplayBuiltInScreen())
- {
- case 0:
- nExternal = 1;
- break;
- case 1:
- nExternal = 0;
- break;
- default:
- // When the built-in display is neither 0 nor 1
- // then place the full-screen presentation on the
- // first available screen.
- nExternal = 0;
- break;
- }
- aRet <<= nExternal;
- }
- else
- throw UnknownPropertyException();
-
- return aRet;
-}
-
-void SAL_CALL DisplayAccess::addPropertyChangeListener( const OUString&, const Reference< XPropertyChangeListener >& ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException) {}
-void SAL_CALL DisplayAccess::removePropertyChangeListener( const OUString&, const Reference< XPropertyChangeListener >& ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException) {}
-void SAL_CALL DisplayAccess::addVetoableChangeListener( const OUString&, const Reference< XVetoableChangeListener >& ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException) {}
-void SAL_CALL DisplayAccess::removeVetoableChangeListener( const OUString&, const Reference< XVetoableChangeListener >& ) throw (UnknownPropertyException, WrappedTargetException, RuntimeException) {}
-
-// XPropertySetInfo
-Sequence< Property > SAL_CALL DisplayAccess::getProperties() throw (RuntimeException)
-{
- Sequence< Property > aProps(4);
- aProps[0] = getPropertyByName( OUString::createFromAscii( pUnifiedDisplayName ) );
- aProps[1] = getPropertyByName( OUString::createFromAscii( pDefaultDisplayName ) );
- aProps[2] = getPropertyByName( OUString::createFromAscii( pBuiltInDisplayName ) );
- aProps[3] = getPropertyByName( OUString::createFromAscii( pExternalDisplayName ) );
- return aProps;
-}
-
-Property SAL_CALL DisplayAccess::getPropertyByName( const OUString& aName ) throw (UnknownPropertyException, RuntimeException)
-{
- if( aName.equalsAscii( pUnifiedDisplayName ) )
- return Property( aName, 0, ::getCppuType( (sal_Bool const *)0 ), PropertyAttribute::READONLY );
-
- if( aName.equalsAscii( pDefaultDisplayName ) ||
- aName.equalsAscii( pBuiltInDisplayName ) ||
- aName.equalsAscii( pExternalDisplayName ) )
- return Property( aName, 0, ::getCppuType( (sal_Int32 const *)0 ), PropertyAttribute::READONLY );
-
- throw UnknownPropertyException();
-}
-
-::sal_Bool SAL_CALL DisplayAccess::hasPropertyByName( const OUString& Name ) throw (RuntimeException)
-{
- return Name.equalsAscii( pUnifiedDisplayName ) ||
- Name.equalsAscii( pDefaultDisplayName ) ||
- Name.equalsAscii( pBuiltInDisplayName ) ||
- Name.equalsAscii( pExternalDisplayName );
-}
-
-// XIndexAccess
-::sal_Int32 SAL_CALL DisplayAccess::getCount() throw (RuntimeException)
-{
- return Application::GetScreenCount();
-}
-
-Any SAL_CALL DisplayAccess::getByIndex( ::sal_Int32 Index ) throw (IndexOutOfBoundsException, WrappedTargetException, RuntimeException)
-{
- if( (Index < 0) || (Index >= getCount()) )
- throw IndexOutOfBoundsException();
-
- return makeAny( Reference< XPropertySet >( new DisplayInfo( Index ) ) );
-}
-
-// XElementAccess
-Type SAL_CALL DisplayAccess::getElementType() throw (RuntimeException)
-{
- return XPropertySet::static_type();
-}
-
-::sal_Bool SAL_CALL DisplayAccess::hasElements() throw (RuntimeException)
-{
- return true;
-}
-
-// XServiceInfo
-OUString SAL_CALL DisplayAccess::getImplementationName() throw (RuntimeException)
-{
- return DisplayAccess_getImplementationName();
-}
-
-::sal_Bool SAL_CALL DisplayAccess::supportsService( const OUString& ServiceName ) throw (RuntimeException)
-{
- Sequence< OUString > aSN( DisplayAccess_getSupportedServiceNames() );
- for( sal_Int32 nService = 0; nService < aSN.getLength(); nService++ )
- {
- if( aSN[nService] == ServiceName )
- return sal_True;
- }
- return sal_False;
-}
-
-Sequence< OUString > SAL_CALL DisplayAccess::getSupportedServiceNames() throw (RuntimeException)
-{
- return DisplayAccess_getSupportedServiceNames();
-}
-
-} // namespace vcl
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/components/factory.cxx b/vcl/source/components/factory.cxx
index 85bc7ee7ce9a..eb7c05bcce1f 100644
--- a/vcl/source/components/factory.cxx
+++ b/vcl/source/components/factory.cxx
@@ -37,10 +37,6 @@ extern Reference< XInterface > SAL_CALL vcl_session_createInstance( const Refere
namespace vcl
{
-extern Sequence< OUString > SAL_CALL DisplayAccess_getSupportedServiceNames();
-extern OUString SAL_CALL DisplayAccess_getImplementationName();
-extern Reference< XInterface > SAL_CALL DisplayAccess_createInstance( const Reference< XMultiServiceFactory > & );
-
extern Sequence< OUString > SAL_CALL FontIdentificator_getSupportedServiceNames();
extern OUString SAL_CALL FontIdentificator_getImplementationName();
extern Reference< XInterface > SAL_CALL FontIdentificator_createInstance( const Reference< XMultiServiceFactory > & );
@@ -84,12 +80,6 @@ extern "C" {
xMgr, vcl_session_getImplementationName(), vcl_session_createInstance,
vcl_session_getSupportedServiceNames() );
}
- else if( vcl::DisplayAccess_getImplementationName().equalsAscii( pImplementationName ) )
- {
- xFactory = ::cppu::createSingleFactory(
- xMgr, vcl::DisplayAccess_getImplementationName(), vcl::DisplayAccess_createInstance,
- vcl::DisplayAccess_getSupportedServiceNames() );
- }
else if( vcl::FontIdentificator_getImplementationName().equalsAscii( pImplementationName ) )
{
xFactory = ::cppu::createSingleFactory(
diff --git a/vcl/vcl.android.component b/vcl/vcl.android.component
index 299d8b36ed21..53ebfe36e74c 100644
--- a/vcl/vcl.android.component
+++ b/vcl/vcl.android.component
@@ -22,9 +22,6 @@
<implementation name="com.sun.star.frame.VCLSessionManagerClient">
<service name="com.sun.star.frame.SessionManagerClient"/>
</implementation>
- <implementation name="vcl::DisplayAccess">
- <service name="com.sun.star.awt.DisplayAccess"/>
- </implementation>
<implementation name="vcl::FontIdentificator">
<service name="com.sun.star.awt.FontIdentificator"/>
</implementation>
diff --git a/vcl/vcl.headless.component b/vcl/vcl.headless.component
index 299d8b36ed21..53ebfe36e74c 100644
--- a/vcl/vcl.headless.component
+++ b/vcl/vcl.headless.component
@@ -22,9 +22,6 @@
<implementation name="com.sun.star.frame.VCLSessionManagerClient">
<service name="com.sun.star.frame.SessionManagerClient"/>
</implementation>
- <implementation name="vcl::DisplayAccess">
- <service name="com.sun.star.awt.DisplayAccess"/>
- </implementation>
<implementation name="vcl::FontIdentificator">
<service name="com.sun.star.awt.FontIdentificator"/>
</implementation>
diff --git a/vcl/vcl.ios.component b/vcl/vcl.ios.component
index 299d8b36ed21..53ebfe36e74c 100644
--- a/vcl/vcl.ios.component
+++ b/vcl/vcl.ios.component
@@ -22,9 +22,6 @@
<implementation name="com.sun.star.frame.VCLSessionManagerClient">
<service name="com.sun.star.frame.SessionManagerClient"/>
</implementation>
- <implementation name="vcl::DisplayAccess">
- <service name="com.sun.star.awt.DisplayAccess"/>
- </implementation>
<implementation name="vcl::FontIdentificator">
<service name="com.sun.star.awt.FontIdentificator"/>
</implementation>
diff --git a/vcl/vcl.macosx.component b/vcl/vcl.macosx.component
index d0e7b408a612..5842d9a61500 100644
--- a/vcl/vcl.macosx.component
+++ b/vcl/vcl.macosx.component
@@ -31,9 +31,6 @@
<implementation name="com.sun.star.frame.VCLSessionManagerClient">
<service name="com.sun.star.frame.SessionManagerClient"/>
</implementation>
- <implementation name="vcl::DisplayAccess">
- <service name="com.sun.star.awt.DisplayAccess"/>
- </implementation>
<implementation name="vcl::FontIdentificator">
<service name="com.sun.star.awt.FontIdentificator"/>
</implementation>
diff --git a/vcl/vcl.unx.component b/vcl/vcl.unx.component
index cf51164c193e..35968751b743 100644
--- a/vcl/vcl.unx.component
+++ b/vcl/vcl.unx.component
@@ -31,9 +31,6 @@
<implementation name="com.sun.star.frame.VCLSessionManagerClient">
<service name="com.sun.star.frame.SessionManagerClient"/>
</implementation>
- <implementation name="vcl::DisplayAccess">
- <service name="com.sun.star.awt.DisplayAccess"/>
- </implementation>
<implementation name="vcl::FontIdentificator">
<service name="com.sun.star.awt.FontIdentificator"/>
</implementation>
diff --git a/vcl/vcl.windows.component b/vcl/vcl.windows.component
index 2e303fdaf8a1..921f299440b8 100644
--- a/vcl/vcl.windows.component
+++ b/vcl/vcl.windows.component
@@ -22,9 +22,6 @@
<implementation name="com.sun.star.frame.VCLSessionManagerClient">
<service name="com.sun.star.frame.SessionManagerClient"/>
</implementation>
- <implementation name="vcl::DisplayAccess">
- <service name="com.sun.star.awt.DisplayAccess"/>
- </implementation>
<implementation name="vcl::FontIdentificator">
<service name="com.sun.star.awt.FontIdentificator"/>
</implementation>
diff --git a/vcl/win/source/window/salframe.cxx b/vcl/win/source/window/salframe.cxx
index f2110d54677b..b673c463f59b 100644
--- a/vcl/win/source/window/salframe.cxx
+++ b/vcl/win/source/window/salframe.cxx
@@ -783,40 +783,27 @@ static void ImplSalCalcFullScreenSize( const WinSalFrame* pFrame,
try
{
- uno::Reference< XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory(), UNO_QUERY_THROW );
- uno::Reference< XIndexAccess > xMultiMon( xFactory->createInstance( "com.sun.star.awt.DisplayAccess" ), UNO_QUERY_THROW );
- sal_Int32 nMonitors = xMultiMon->getCount();
+ sal_Int32 nMonitors = Application::GetScreenCount();
if( (pFrame->mnDisplay >= 0) && (pFrame->mnDisplay < nMonitors) )
{
- uno::Reference< XPropertySet > xMonitor( xMultiMon->getByIndex( pFrame->mnDisplay ), UNO_QUERY_THROW );
- com::sun::star::awt::Rectangle aRect;
- if( xMonitor->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "ScreenArea" ) ) ) >>= aRect )
- {
- nScreenX = aRect.X;
- nScreenY = aRect.Y;
- nScreenDX = aRect.Width+1; // difference between java/awt convention and vcl
- nScreenDY = aRect.Height+1; // difference between java/awt convention and vcl
- }
+ com::sun::star::awt::Rectangle aRect = Application::GetScreenPosSizePixel( pFrame->mnDisplay );
+ nScreenX = aRect.X;
+ nScreenY = aRect.Y;
+ nScreenDX = aRect.Width+1; // difference between java/awt convention and vcl
+ nScreenDY = aRect.Height+1; // difference between java/awt convention and vcl
}
else
{
Rectangle aCombined;
- uno::Reference< XPropertySet > xMonitor( xMultiMon->getByIndex( 0 ), UNO_QUERY_THROW );
- com::sun::star::awt::Rectangle aRect;
- if( xMonitor->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "ScreenArea" ) ) ) >>= aRect )
+ com::sun::star::awt::Rectangle aRect = Application::GetScreenPosSizePixel( 0 );
+ aCombined.Left() = aRect.X;
+ aCombined.Top() = aRect.Y;
+ aCombined.Right() = aRect.X + aRect.Width;
+ aCombined.Bottom() = aRect.Y + aRect.Height;
+ for( sal_Int32 i = 1 ; i < nMonitors ; i++ )
{
- aCombined.Left() = aRect.X;
- aCombined.Top() = aRect.Y;
- aCombined.Right() = aRect.X + aRect.Width;
- aCombined.Bottom() = aRect.Y + aRect.Height;
- for( sal_Int32 i = 1 ; i < nMonitors ; i++ )
- {
- xMonitor = uno::Reference< XPropertySet >( xMultiMon->getByIndex(i), UNO_QUERY_THROW );
- if( xMonitor->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "ScreenArea" ) ) ) >>= aRect )
- {
- aCombined.Union( Rectangle( aRect.X, aRect.Y, aRect.X+aRect.Width, aRect.Y+aRect.Height ) );
- }
- }
+ aRect = Application::GetScreenPosSizePixel( i );
+ aCombined.Union( Rectangle( aRect.X, aRect.Y, aRect.X+aRect.Width, aRect.Y+aRect.Height ) );
}
nScreenX = aCombined.Left();
nScreenY = aCombined.Top();