/* -*- 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_CPPCANVAS_CANVAS_HXX #define INCLUDED_CPPCANVAS_CANVAS_HXX #include #include namespace basegfx { class B2DHomMatrix; class B2DPolyPolygon; } namespace com::sun::star::rendering { class XCanvas; struct ViewState; } /* Definition of BitmapCanvas */ namespace cppcanvas { class PolyPolygon; class Canvas; // forward declaration, since tools::PolyPolygon also references Canvas typedef std::shared_ptr< PolyPolygon > PolyPolygonSharedPtr; // forward declaration, since cloneCanvas() also references Canvas typedef std::shared_ptr< Canvas > CanvasSharedPtr; /** Canvas interface */ class Canvas { public: /** Extra pixel used when canvas anti-aliases. Enlarge the bounding box of drawing primitives by this amount in both dimensions, and on both sides of the bounds, to account for extra pixel touched outside the actual primitive bounding box, when the canvas performs anti-aliasing. */ static constexpr auto ANTIALIASING_EXTRA_SIZE=2; Canvas() = default; Canvas(Canvas const &) = default; Canvas(Canvas &&) = default; Canvas & operator =(Canvas const &) = default; #if !(defined __GNUC__ && !defined __clang__ && __GNUC__ == 8) // bogus -Werror=virtual-move-assign Canvas & operator =(Canvas &&) = default; #endif virtual ~Canvas() {} virtual void setTransformation( const ::basegfx::B2DHomMatrix& rMatrix ) = 0; virtual ::basegfx::B2DHomMatrix getTransformation() const = 0; virtual void setClip( const ::basegfx::B2DPolyPolygon& rClipPoly ) = 0; virtual void setClip() = 0; /** Get current clip @return NULL, if no clip is set, otherwise the current clip poly-polygon */ virtual ::basegfx::B2DPolyPolygon const* getClip() const = 0; virtual CanvasSharedPtr clone() const = 0; virtual void clear() const = 0; // this should be considered private. if RTTI gets enabled // someday, remove that to a separate interface virtual css::uno::Reference< css::rendering::XCanvas > getUNOCanvas() const = 0; virtual css::rendering::ViewState getViewState() const = 0; }; } #endif // INCLUDED_CPPCANVAS_CANVAS_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 1'>distro/collabora/cp-4.1 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2016-07-08fix typo in jenkins configNorbert Thiebaud
2016-07-08add configs for new gerrit build under jenkinsNorbert Thiebaud
2016-06-07enable breakpad in distro configsMarkus Mohrhard
2016-05-11xdg-app got renamed to FlatpakStephan Bergmann
2016-04-29Convenience --with-distro=LibreOfficeXdgAppStephan Bergmann
2016-02-22play it safe and don't add breakpad to distro config yetMarkus Mohrhard
2016-02-22include breakpad into the buildMarkus Mohrhard
2016-02-20packagekit is implied by dbus nowCaolán McNamara
2016-02-01configure: remove ---disable-randr-linkMichael Stahl
2016-01-29disable options by default on androidPeter Foley
2016-01-15Android: don't disable langtag (libetonyek has hard dependency)Christian Lohmaier
2015-12-31Remove missed NPAPI itemsBryan Quigley
2015-11-27update jenkins' profileNorbert Thiebaud
2015-11-12No --with(out)-system-mesa-headers any moreTor Lillqvist
2015-11-09do not force-disable ccache for jenkins-ubsan buildNorbert Thiebaud
2015-10-31file for ci-based ubsan buildNorbert Thiebaud
2015-10-25Remove Seamonkey based address book driverDavid Ostrovsky
2015-10-16drop gconf integration as per ESC decisionBjoern Michaelsen
2015-10-13Emscripten: --disable-scripting doesn't work, don't use it for nowSamuel Mehrbrodt
2015-10-13Emscripten: Don't build liblangtagSamuel Mehrbrodt
2015-10-13Emscripten has an own zlib port, use itSamuel Mehrbrodt
2015-10-12Emscripten: Seems we need cairo canvasSamuel Mehrbrodt
2015-10-12Emscripten: Disable nss for nowSamuel Mehrbrodt
2015-10-12Emscripten: Enable debug output during buildSamuel Mehrbrodt
2015-10-05Emscripten: First steps of porting to EmscriptenSamuel Mehrbrodt
2015-09-22Remove distro-config for OxygenOfficeSamuel Mehrbrodt
2015-09-03remove KDE3 support, --enable-kde and --enable-kdeabMichael Stahl
2015-09-02ditch gnome-vfs2 supportCaolán McNamara
2015-08-28Add PerfSuite.conf Jenkins pseudo distro-configNorbert Thiebaud
2015-08-11prepare conf files for tweaking jenkins from core.git directlyNorbert Thiebaud
2015-07-22new linux baseline (CentOS 6)Christian Lohmaier
2015-07-17Linux and Win builds use mergelibs starting with 5.0Christian Lohmaier
2015-07-08configmgr: support reading from a dconf layer (WIP)Stephan Bergmann
2015-06-11Enable gtk3 by defaultMiklos Vajna
2015-02-19distro-config: Synchronize 32 bit and x64 bit platformsDavid Ostrovsky
2015-02-19On windows configure should not use any system stuffDavid Ostrovsky
2015-01-28add a reference configuration for coverityCaolán McNamara
2015-01-07drop crashrep unused since start of LibreOfficeCaolán McNamara
2014-11-21Drop more --enable/disable-openglMatúš Kukan
2014-11-20Drop --disable-openglTor Lillqvist
2014-11-07rename --disable-gstreamer → --disable-gstreamer-1-0Christian Lohmaier
2014-10-23There is no --without-ppds any moreTor Lillqvist
2014-10-10distro-config should not have --with-vendor=TDFNorbert Thiebaud
2014-10-10baseline doesn't support gstremer-1.0Christian Lohmaier
2014-10-10Mac distro config is always 64 bits these days & remove --with-vendorNorbert Thiebaud
2014-09-09fdo#45071: Remove ENABLE_NPAPI_INTO_BROWSER left-oversStephan Bergmann
2014-08-30Start of support for Android on AArch64Tor Lillqvist
2014-01-23"Official" TDF Mac builds are done w/o ext-wiki-publisherStephan Bergmann
2013-12-20typo fixesAndras Timar