22 #include <com/sun/star/rendering/XBufferController.hpp>
23 #include <com/sun/star/rendering/XLinePolyPolygon2D.hpp>
24 #include <com/sun/star/rendering/XBezierPolyPolygon2D.hpp>
25 #include <com/sun/star/rendering/XBitmap.hpp>
26 #include <com/sun/star/rendering/XVolatileBitmap.hpp>
28 #include <rtl/ref.hxx>
30 #include <parametricpolypolygon.hxx>
31 #include <propertysethelper.hxx>
104 template<
class Base,
106 class Mutex=::osl::MutexGuard,
115 typedef ::rtl::Reference< GraphicDeviceBase >
Reference;
123 {
"HardwareAcceleration",
124 { [
this] () {
return this->
maDeviceHelper.isAccelerated(); }, {} } },
126 { [
this] () {
return this->
maDeviceHelper.getDeviceHandle(); }, {} } },
128 { [
this] () {
return this->
maDeviceHelper.getSurfaceHandle(); }, {} } },
129 {
"DumpScreenContent",
136 MutexType aGuard( BaseType::m_aMutex );
141 BaseType::disposeThis();
147 return css::uno::Reference< css::rendering::XBufferController >();
152 MutexType aGuard( BaseType::m_aMutex );
159 MutexType aGuard( BaseType::m_aMutex );
166 MutexType aGuard( BaseType::m_aMutex );
171 virtual css::uno::Reference< css::rendering::XLinePolyPolygon2D > SAL_CALL
createCompatibleLinePolyPolygon(
const css::uno::Sequence< css::uno::Sequence< css::geometry::RealPoint2D > >& points )
override
173 MutexType aGuard( BaseType::m_aMutex );
175 return maDeviceHelper.createCompatibleLinePolyPolygon(
this, points );
178 virtual css::uno::Reference< css::rendering::XBezierPolyPolygon2D > SAL_CALL
createCompatibleBezierPolyPolygon(
const css::uno::Sequence< css::uno::Sequence< css::geometry::RealBezierSegment2D > >& points )
override
180 MutexType aGuard( BaseType::m_aMutex );
182 return maDeviceHelper.createCompatibleBezierPolyPolygon(
this, points );
185 virtual css::uno::Reference< css::rendering::XBitmap > SAL_CALL
createCompatibleBitmap(
const css::geometry::IntegerSize2D& size )
override
189 static_cast< UnambiguousBaseType* >(
this));
191 MutexType aGuard( BaseType::m_aMutex );
196 virtual css::uno::Reference< css::rendering::XVolatileBitmap > SAL_CALL
createVolatileBitmap(
const css::geometry::IntegerSize2D& size )
override
200 static_cast< UnambiguousBaseType* >(
this));
202 MutexType aGuard( BaseType::m_aMutex );
211 static_cast< UnambiguousBaseType* >(
this));
213 MutexType aGuard( BaseType::m_aMutex );
218 virtual css::uno::Reference< css::rendering::XVolatileBitmap > SAL_CALL
createVolatileAlphaBitmap(
const css::geometry::IntegerSize2D& size )
override
222 static_cast< UnambiguousBaseType* >(
this));
224 MutexType aGuard( BaseType::m_aMutex );
245 virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
createInstance(
const OUString& aServiceSpecifier )
override
247 return css::uno::Reference< css::rendering::XParametricPolyPolygon2D >(
250 css::uno::Sequence< css::uno::Any >()));
253 virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
createInstanceWithArguments(
const OUString& aServiceSpecifier,
const css::uno::Sequence< css::uno::Any >& Arguments )
override
255 return css::uno::Reference< css::rendering::XParametricPolyPolygon2D >(
270 MutexType aGuard( BaseType::m_aMutex );
280 MutexType aGuard( BaseType::m_aMutex );
285 const css::uno::Any& aValue )
override
287 MutexType aGuard( BaseType::m_aMutex );
293 MutexType aGuard( BaseType::m_aMutex );
298 const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener )
override
300 MutexType aGuard( BaseType::m_aMutex );
306 const css::uno::Reference< css::beans::XPropertyChangeListener >& )
override
311 const css::uno::Reference< css::beans::XVetoableChangeListener >& xListener )
override
313 MutexType aGuard( BaseType::m_aMutex );
319 const css::uno::Reference< css::beans::XVetoableChangeListener >& )
override
virtual css::uno::Reference< css::rendering::XLinePolyPolygon2D > SAL_CALL createCompatibleLinePolyPolygon(const css::uno::Sequence< css::uno::Sequence< css::geometry::RealPoint2D > > &points) override
virtual css::uno::Reference< css::rendering::XBufferController > SAL_CALL getBufferController() override
virtual void SAL_CALL removeVetoableChangeListener(const OUString &, const css::uno::Reference< css::beans::XVetoableChangeListener > &) override
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
virtual void disposeThis() override
static css::uno::Sequence< OUString > getAvailableServiceNames()
virtual css::uno::Reference< css::rendering::XVolatileBitmap > SAL_CALL createVolatileAlphaBitmap(const css::geometry::IntegerSize2D &size) override
css::uno::Any getPropertyValue(const OUString &PropertyName) const
virtual css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override
virtual void SAL_CALL addVetoableChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &xListener) override
virtual sal_Bool SAL_CALL hasFullScreenMode() override
virtual css::uno::Reference< css::rendering::XColorSpace > SAL_CALL getDeviceColorSpace() override
virtual css::geometry::RealSize2D SAL_CALL getPhysicalSize() override
GraphicDeviceBase & operator=(const GraphicDeviceBase &)=delete
void setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue)
void addVetoableChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &xListener)
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual css::uno::Reference< css::rendering::XVolatileBitmap > SAL_CALL createVolatileBitmap(const css::geometry::IntegerSize2D &size) override
PropertySetHelper maPropHelper
css::uno::Reference< css::beans::XPropertySetInfo > getPropertySetInfo() const
::rtl::Reference< GraphicDeviceBase > Reference
virtual void SAL_CALL update() override
virtual void SAL_CALL removePropertyChangeListener(const OUString &, const css::uno::Reference< css::beans::XPropertyChangeListener > &) override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
virtual css::geometry::RealSize2D SAL_CALL getPhysicalResolution() override
virtual css::uno::Reference< css::rendering::XBitmap > SAL_CALL createCompatibleBitmap(const css::geometry::IntegerSize2D &size) override
Really simplistic XPropertySet helper for properties.
Helper template base class for XGraphicDevice implementations.
virtual css::uno::Reference< css::rendering::XBezierPolyPolygon2D > SAL_CALL createCompatibleBezierPolyPolygon(const css::uno::Sequence< css::uno::Sequence< css::geometry::RealBezierSegment2D > > &points) override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments(const OUString &aServiceSpecifier, const css::uno::Sequence< css::uno::Any > &Arguments) override
std::vector< MapType::MapEntry > InputMap
void initProperties(InputMap &&rMap)
Init helper with new name/value map.
void setDumpScreenContent(const css::uno::Any &rAny)
DeviceHelper maDeviceHelper
UnambiguousBase UnambiguousBaseType
virtual css::uno::Reference< css::rendering::XBitmap > SAL_CALL createCompatibleAlphaBitmap(const css::geometry::IntegerSize2D &size) override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(const OUString &aServiceSpecifier) override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &aPropertyName) override
void addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener)
virtual css::uno::Reference< css::lang::XMultiServiceFactory > SAL_CALL getParametricPolyPolygonFactory() override
css::uno::Any getDumpScreenContent() const
virtual sal_Bool SAL_CALL enterFullScreenMode(sal_Bool) override
bool m_bDetectedRangeSegmentation false
static rtl::Reference< ParametricPolyPolygon > create(const css::uno::Reference< css::rendering::XGraphicDevice > &rDevice, std::u16string_view rServiceName, const css::uno::Sequence< css::uno::Any > &rArgs)