/* -*- 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 INCLUDED_CANVAS_SOURCE_TOOLS_SURFACEPROXY_HXX #define INCLUDED_CANVAS_SOURCE_TOOLS_SURFACEPROXY_HXX #include #include #include "pagemanager.hxx" #include "surface.hxx" namespace canvas { /** Definition of the surface proxy class. Surface proxies are the connection between *one* source image and *one or more* hardware surfaces (or textures). in a logical structure surface proxies represent solely this dependency plus some simple cache management. */ class SurfaceProxy : public ISurfaceProxy { public: SurfaceProxy( const std::shared_ptr& pBuffer, const PageManagerSharedPtr &pPageManager ); // ISurfaceProxy interface virtual void setColorBufferDirty() override; /** Render the surface content to screen. @param fAlpha Overall alpha for content @param rPos Output position @param rTransform Output transformation (does not affect output position) */ virtual bool draw( double fAlpha, const ::basegfx::B2DPoint& rPos, const ::basegfx::B2DHomMatrix& rTransform ) override; /** Render the surface content to screen. @param fAlpha Overall alpha for content @param rPos Output position @param rArea Subset of the surface to render. Coordinate system are surface area pixel, given area will be clipped to the surface bounds. @param rTransform Output transformation (does not affect output position) */ virtual bool draw( double fAlpha, const ::basegfx::B2DPoint& rPos, const ::basegfx::B2DRange& rArea, const ::basegfx::B2DHomMatrix& rTransform ) override; /** Render the surface content to screen. @param fAlpha Overall alpha for content @param rPos Output position @param rClipPoly Clip polygon for the surface. The clip polygon is also subject to the output transformation. @param rTransform Output transformation (does not affect output position) */ virtual bool draw( double fAlpha, const ::basegfx::B2DPoint& rPos, const ::basegfx::B2DPolyPolygon& rClipPoly, const ::basegfx::B2DHomMatrix& rTransform ) override; private: PageManagerSharedPtr mpPageManager; // the pagemanager will distribute the image // to one or more surfaces, this is why we // need a list here. std::vector maSurfaceList; // pointer to the source of image data // which always is stored in system memory, // 32bit rgba and can have any size. std::shared_ptr mpBuffer; }; } #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 'distro/collabora/libreoffice-7-6+backports'>distro/collabora/libreoffice-7-6+backports LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/cppu/qa
AgeCommit message (Expand)Author
2012-11-30c++ API: use css alias in generated headers, adds global css declThorsten Behrens
2012-09-18deprecate oustringostreaminserter.hxxNorbert Thiebaud
2012-09-17migrate some of the biggest consumer of osl_*InterlockedCount to osl_atomicNorbert Thiebaud
2012-08-01Bin no longer used iOS cppunit stuff that breaks build evenTor Lillqvist
2012-07-30udkapi, offapi: do not use #include "foo":Michael Stahl
2012-07-16allow using rtl::OUString etc. simply as OUString, without rtl::Luboš Luňák
2012-06-27targetted re-work of cppunit pieces.Michael Meeks
2012-06-26re-base on ALv2 code.Michael Meeks
2012-06-13re-base on ALv2 code.Michael Meeks
2012-04-09cppu: use InternalUnoApiMatúš Kukan
2012-04-06Replaced equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(...)) with == operatorSzabolcs Dezsi
2012-03-14Enable -Wnon-virtual-dtor for GCC 4.6Stephan Bergmann
2012-01-21Removed some unused parameters; added SAL_UNUSED_PARAMETER.Stephan Bergmann
2011-12-19-Werror=sign-promo fixesStephan Bergmann
2011-12-19cppu: convert to gbuildMatúš Kukan
2011-11-27remove include of pch header in cppuNorbert Thiebaud
2011-11-22New sal/log.h obsoletes osl/diagnose.h and tools/debug.hxx.Stephan Bergmann
2011-11-15fdo#42865: cppu,cppuhelper,testtools: no mapfileMichael Stahl
2011-11-14Fix build --all depend=x.Stephan Bergmann
2011-10-18Some fixes for "clang version 3.1 (trunk 142234)" (with --enable-werror, on L...Stephan Bergmann
2011-09-27Removed uses of rtl::O[U]String[Buffer]::operator sal_{char|Unicode} const *().Stephan Bergmann
2011-09-20Bypass building the iOS cppu_unittester_all for nowTor Lillqvist
2011-09-12sb140: #i113503# mixing system CppUnit and OOo STLport does not work, backed ...Stephan Bergmann