diff options
Diffstat (limited to 'canvas/source/null/null_spritecanvas.hxx')
-rw-r--r-- | canvas/source/null/null_spritecanvas.hxx | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/canvas/source/null/null_spritecanvas.hxx b/canvas/source/null/null_spritecanvas.hxx deleted file mode 100644 index 7e7815922599..000000000000 --- a/canvas/source/null/null_spritecanvas.hxx +++ /dev/null @@ -1,139 +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 . - */ - -#ifndef _NULLCANVAS_SPRITECANVAS_HXX_ -#define _NULLCANVAS_SPRITECANVAS_HXX_ - -#include <rtl/ref.hxx> - -#include <com/sun/star/uno/XComponentContext.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/lang/XServiceName.hpp> -#include <com/sun/star/awt/XWindowListener.hpp> -#include <com/sun/star/rendering/XSpriteCanvas.hpp> -#include <com/sun/star/rendering/XIntegerBitmap.hpp> -#include <com/sun/star/rendering/XGraphicDevice.hpp> -#include <com/sun/star/rendering/XBufferController.hpp> -#include <com/sun/star/lang/XMultiServiceFactory.hpp> - -#include <cppuhelper/compbase8.hxx> -#include <comphelper/uno3.hxx> - -#include <canvas/base/spritecanvasbase.hxx> -#include <canvas/base/disambiguationhelper.hxx> -#include <canvas/base/bufferedgraphicdevicebase.hxx> - -#include "null_spritecanvashelper.hxx" -#include "null_devicehelper.hxx" -#include "null_usagecounter.hxx" - - -namespace nullcanvas -{ - typedef ::cppu::WeakComponentImplHelper8< ::com::sun::star::rendering::XSpriteCanvas, - ::com::sun::star::rendering::XIntegerBitmap, - ::com::sun::star::rendering::XGraphicDevice, - ::com::sun::star::lang::XMultiServiceFactory, - ::com::sun::star::rendering::XBufferController, - ::com::sun::star::awt::XWindowListener, - ::com::sun::star::beans::XPropertySet, - ::com::sun::star::lang::XServiceName > WindowGraphicDeviceBase_Base; - typedef ::canvas::BufferedGraphicDeviceBase< ::canvas::DisambiguationHelper< WindowGraphicDeviceBase_Base >, - DeviceHelper, - ::osl::MutexGuard, - ::cppu::OWeakObject > SpriteCanvasBase_Base; - /** Mixin SpriteSurface - - Have to mixin the SpriteSurface before deriving from - ::canvas::SpriteCanvasBase, as this template should already - implement some of those interface methods. - - The reason why this appears kinda convoluted is the fact that - we cannot specify non-IDL types as WeakComponentImplHelperN - template args, and furthermore, don't want to derive - ::canvas::SpriteCanvasBase directly from - ::canvas::SpriteSurface (because derivees of - ::canvas::SpriteCanvasBase have to explicitly forward the - XInterface methods (e.g. via DECLARE_UNO3_AGG_DEFAULTS) - anyway). Basically, ::canvas::CanvasCustomSpriteBase should - remain a base class that provides implementation, not to - enforce any specific interface on its derivees. - */ - class SpriteCanvasBaseSpriteSurface_Base : public SpriteCanvasBase_Base, - public ::canvas::SpriteSurface - { - }; - - typedef ::canvas::SpriteCanvasBase< SpriteCanvasBaseSpriteSurface_Base, - SpriteCanvasHelper, - ::osl::MutexGuard, - ::cppu::OWeakObject > SpriteCanvasBaseT; - - /** Product of this component's factory. - - The SpriteCanvas object combines the actual Window canvas with - the XGraphicDevice interface. This is because there's a - one-to-one relation between them, anyway, since each window - can have exactly one canvas and one associated - XGraphicDevice. And to avoid messing around with circular - references, this is implemented as one single object. - */ - class SpriteCanvas : public SpriteCanvasBaseT, - private UsageCounter< SpriteCanvas > - { - public: - SpriteCanvas( const ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Any >& aArguments, - const ::com::sun::star::uno::Reference< - ::com::sun::star::uno::XComponentContext >& rxContext ); - - void initialize(); - - /// Dispose all internal references - virtual void disposeThis(); - - // Forwarding the XComponent implementation to the - // cppu::ImplHelper templated base - // Classname Base doing refcounting Base implementing the XComponent interface - // | | | - // V V V - DECLARE_UNO3_XCOMPONENT_AGG_DEFAULTS( SpriteCanvas, WindowGraphicDeviceBase_Base, ::cppu::WeakComponentImplHelperBase ); - - // XBufferController (partial) - virtual ::sal_Bool SAL_CALL showBuffer( ::sal_Bool bUpdateAll ) throw (::com::sun::star::uno::RuntimeException); - virtual ::sal_Bool SAL_CALL switchBuffer( ::sal_Bool bUpdateAll ) throw (::com::sun::star::uno::RuntimeException); - - // XSpriteCanvas (partial) - virtual sal_Bool SAL_CALL updateScreen( sal_Bool bUpdateAll ) throw (::com::sun::star::uno::RuntimeException); - - // XServiceName - virtual OUString SAL_CALL getServiceName( ) throw (::com::sun::star::uno::RuntimeException); - - private: - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > maArguments; - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > mxComponentContext; - }; - - typedef ::rtl::Reference< SpriteCanvas > SpriteCanvasRef; - typedef ::rtl::Reference< SpriteCanvas > DeviceRef; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |