/* -*- 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: */ ption> LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2021-07-11Fix a comment copy-paste errorMike Kaganski
2020-11-17loplugin:stringviewparam check methods tooNoel
2020-07-20compact namespace declNoel Grandin
2020-05-03use more compact namespace syntax in /includeNoel Grandin
2020-03-31Translate German variable namesJohnny_M
2019-07-19Fix typosAndrea Gelmini
2018-11-01tdf#112614: Include all labels in the search in Customize dialogMuhammet Kara
2018-10-26tdf#42949 Fix IWYU warnings in include/unotools/*Gabor Kelemen
2018-01-04loplugin:unusedfieldsNoel Grandin
2018-01-03loplugin:singlevalfields improve copy constructor checkNoel Grandin
2017-10-26loplugin:constmethods in unotoolsNoel Grandin
2017-08-04Add debug output operator<< for SearchParam::SearchTypeTor Lillqvist
2017-06-30loplugin:unusedfields in toolkit..xmloffNoel Grandin
2017-03-01typesafe wrappers for css::i18nutil::TransliterationModulesNoel Grandin
2017-02-21loplugin:unusedmethodsNoel Grandin
2017-02-10convert SearchParam::SearchType to scoped enumNoel Grandin
2016-11-16loplugin:countusersofdefaultparams in include/svx..unotoolsNoel Grandin
2016-03-16loplugin:constantparam in unotools/Noel Grandin
2016-02-23SearchFlags::WILD_MATCH_SELECTION, SearchOptions2::WildcardEscapeCharacterEike Rathke
2016-02-22Avoid -fsanitize=enum when using ScDocOptions::eSearchTypeUnknownStephan Bergmann
2016-02-20let ConvertToSearchType() also adapt the regex bool, tdf#72196Eike Rathke
2016-02-20add ConvertToSearchType() ConvertToBool(), tdf#72196Eike Rathke
2016-02-05interface to new XTextSearch2 with SearchOptions2, tdf#72196Eike Rathke
2015-11-17other #includes should be AFTER the include-once #defineNoel Grandin
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
2015-10-23com::sun::star->css in include/ucbhelper to include/xmlscriptNoel Grandin
2015-07-06loplugin:unusedmethods unotoolsNoel Grandin
2014-11-12Fix common typos. No automatic tools. Handmade…Andrea Gelmini
2014-04-06Kill superfluous vertical whitespaceTor Lillqvist
2014-03-01Remove visual noise from includeAlexander Wilms
2014-01-10Use boolStephan Bergmann
2013-11-09fdo#65108 inter-module includes <> include/unotoolsNorbert Thiebaud
2013-10-23fixincludeguards.sh: include/u*Thomas Arnhold
2013-07-02OUString convertion for unotoolsNorbert Thiebaud
2013-04-23execute move of global headersBjoern Michaelsen