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>
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",
141 BaseType::disposeThis();
147 return css::uno::Reference< css::rendering::XBufferController >();
171 virtual css::uno::Reference< css::rendering::XLinePolyPolygon2D > SAL_CALL
createCompatibleLinePolyPolygon(
const css::uno::Sequence< css::uno::Sequence< css::geometry::RealPoint2D > >& points )
override
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
182 return maDeviceHelper.createCompatibleBezierPolyPolygon(
this, points );
185 virtual css::uno::Reference< css::rendering::XBitmap > SAL_CALL
createCompatibleBitmap(
const css::geometry::IntegerSize2D& size )
override
196 virtual css::uno::Reference< css::rendering::XVolatileBitmap > SAL_CALL
createVolatileBitmap(
const css::geometry::IntegerSize2D& size )
override
218 virtual css::uno::Reference< css::rendering::XVolatileBitmap > SAL_CALL
createVolatileAlphaBitmap(
const css::geometry::IntegerSize2D& size )
override
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 >(
285 const css::uno::Any& aValue )
override
298 const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener )
override
306 const css::uno::Reference< css::beans::XPropertyChangeListener >& )
override
311 const css::uno::Reference< css::beans::XVetoableChangeListener >& xListener )
override
319 const css::uno::Reference< css::beans::XVetoableChangeListener >& )
override
Helper template base class for XGraphicDevice implementations.
virtual css::uno::Reference< css::lang::XMultiServiceFactory > SAL_CALL getParametricPolyPolygonFactory() override
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual void disposeThis() override
virtual css::uno::Reference< css::rendering::XVolatileBitmap > SAL_CALL createVolatileBitmap(const css::geometry::IntegerSize2D &size) override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments(const OUString &aServiceSpecifier, const css::uno::Sequence< css::uno::Any > &Arguments) override
UnambiguousBase UnambiguousBaseType
virtual css::geometry::RealSize2D SAL_CALL getPhysicalSize() override
virtual void SAL_CALL addVetoableChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &xListener) override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &aPropertyName) override
virtual css::uno::Reference< css::rendering::XBitmap > SAL_CALL createCompatibleBitmap(const css::geometry::IntegerSize2D &size) override
PropertySetHelper maPropHelper
virtual css::uno::Reference< css::rendering::XColorSpace > SAL_CALL getDeviceColorSpace() override
::rtl::Reference< GraphicDeviceBase > Reference
virtual void SAL_CALL removePropertyChangeListener(const OUString &, const css::uno::Reference< css::beans::XPropertyChangeListener > &) override
virtual css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
DeviceHelper maDeviceHelper
css::uno::Any getDumpScreenContent() const
virtual void SAL_CALL update() override
virtual css::geometry::RealSize2D SAL_CALL getPhysicalResolution() override
virtual css::uno::Reference< css::rendering::XVolatileBitmap > SAL_CALL createVolatileAlphaBitmap(const css::geometry::IntegerSize2D &size) override
void setDumpScreenContent(const css::uno::Any &rAny)
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
GraphicDeviceBase(const GraphicDeviceBase &)=delete
virtual sal_Bool SAL_CALL enterFullScreenMode(sal_Bool) override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(const OUString &aServiceSpecifier) override
virtual sal_Bool SAL_CALL hasFullScreenMode() 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
GraphicDeviceBase & operator=(const GraphicDeviceBase &)=delete
virtual css::uno::Reference< css::rendering::XBitmap > SAL_CALL createCompatibleAlphaBitmap(const css::geometry::IntegerSize2D &size) 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::XBezierPolyPolygon2D > SAL_CALL createCompatibleBezierPolyPolygon(const css::uno::Sequence< css::uno::Sequence< css::geometry::RealBezierSegment2D > > &points) override
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)
static css::uno::Sequence< OUString > getAvailableServiceNames()
Really simplistic XPropertySet helper for properties.
std::vector< MapType::MapEntry > InputMap
void addVetoableChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &xListener)
void setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue)
void addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener)
css::uno::Any getPropertyValue(const OUString &PropertyName) const
css::uno::Reference< css::beans::XPropertySetInfo > getPropertySetInfo() const
void initProperties(InputMap &&rMap)
Init helper with new name/value map.