27 #include <com/sun/star/lang/NoSupportException.hpp>
28 #include <com/sun/star/lang/XSingleServiceFactory.hpp>
29 #include <com/sun/star/registry/XRegistryKey.hpp>
30 #include <com/sun/star/uno/XComponentContext.hpp>
32 #include <osl/mutex.hxx>
48 const uno::Reference< uno::XComponentContext >& rxContext ) :
49 maArguments(aArguments),
60 SAL_INFO(
"canvas.directx",
"SpriteCanvas::initialize called" );
71 maArguments[3].getValueTypeClass() == uno::TypeClass_INTERFACE,
72 "VCLSpriteCanvas::initialize: wrong number of arguments, or wrong types" );
74 uno::Reference< awt::XWindow > xParentWindow;
78 throw lang::NoSupportException(
"Parent window not VCL window, or canvas out-of-process!" );
83 bool bIsFullscreen(
false );
87 maDeviceHelper.init( *pParentWindow,
93 maDeviceHelper.getRenderModule(),
94 maDeviceHelper.getSurfaceProxy(),
95 maDeviceHelper.getBackBuffer(),
102 ::osl::MutexGuard aGuard(
m_aMutex );
112 ::osl::MutexGuard aGuard(
m_aMutex );
117 return mbIsVisible && SpriteCanvasBaseT::showBuffer( bUpdateAll );
122 ::osl::MutexGuard aGuard(
m_aMutex );
127 return mbIsVisible && SpriteCanvasBaseT::switchBuffer( bUpdateAll );
132 ::osl::MutexGuard aGuard(
m_aMutex );
145 return "com.sun.star.rendering.SpriteCanvas.DX9";
151 return {
"com.sun.star.rendering.SpriteCanvas.DX9" };
155 return "com.sun.star.comp.rendering.SpriteCanvas.DX9";
164 ::osl::MutexGuard aGuard(
m_aMutex );
166 return maDeviceHelper.getRenderModule();
171 ::osl::MutexGuard aGuard(
m_aMutex );
173 return maDeviceHelper.getBackBuffer();
178 return maDeviceHelper.getBackBuffer();
181 extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
183 css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any>
const& args)
186 xCanvas->initialize();
css::uno::Sequence< css::uno::Any > maArguments
std::shared_ptr< IBitmap > IBitmapSharedPtr
std::shared_ptr< IDXRenderModule > IDXRenderModuleSharedPtr
virtual sal_Bool SAL_CALL updateScreen(sal_Bool bUpdateAll) override
static VclPtr< vcl::Window > GetWindow(const css::uno::Reference< css::awt::XWindow > &rxWindow)
virtual void disposeThis() override
Dispose all internal references.
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
SpriteRedrawManager maRedrawManager
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * canvas_directx9_SpriteCanvas_get_implementation(css::uno::XComponentContext *context, css::uno::Sequence< css::uno::Any > const &args)
virtual sal_Bool SAL_CALL supportsService(const OUString &) override
css::uno::Reference< css::uno::XComponentContext > mxComponentContext
const IDXRenderModuleSharedPtr & getRenderModule() const
Retrieve rendermodule object for this Canvas.
virtual sal_Bool SAL_CALL switchBuffer(sal_Bool bUpdateAll) override
virtual sal_Bool SAL_CALL showBuffer(sal_Bool bUpdateAll) override
virtual OUString SAL_CALL getImplementationName() override
virtual void disposeThis() override
std::shared_ptr< DXSurfaceBitmap > DXSurfaceBitmapSharedPtr
CanvasHelper maCanvasHelper
#define ENSURE_ARG_OR_THROW(c, m)
virtual IBitmapSharedPtr getBitmap() const override
SpriteCanvas(const css::uno::Sequence< css::uno::Any > &aArguments, const css::uno::Reference< css::uno::XComponentContext > &rxContext)
const DXSurfaceBitmapSharedPtr & getBackBuffer() const
Get backbuffer for this canvas.
#define SAL_INFO(area, stream)
virtual OUString SAL_CALL getServiceName() override
Product of this component's factory.
css::uno::Reference< css::uno::XComponentContext > mxComponentContext
::basegfx::B2DRectangle maBounds