/* -*- 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 _VCLCANVAS_SPRITEHELPER_HXX #define _VCLCANVAS_SPRITEHELPER_HXX #include #include #include #include #include #include "backbuffer.hxx" #include "impltools.hxx" #include "spritecanvas.hxx" namespace vclcanvas { /* Definition of SpriteHelper class */ /** Helper class for canvas sprites. This class implements all sprite-related functionality, like that available on the XSprite interface. */ class SpriteHelper : public ::canvas::CanvasCustomSpriteHelper { public: SpriteHelper(); // make CanvasCustomSpriteHelper::init visible for name lookup using ::canvas::CanvasCustomSpriteHelper::init; /** Late-init the sprite helper @param rSpriteSize Size of the sprite @param rSpriteCanvas Sprite canvas this sprite is part of. Object stores ref-counted reference to it, thus, don't forget to pass on disposing()! @param rBackBuffer Buffer of the sprite content (non-alpha part) @param rBackBufferMask Buffer of the sprite content (alpha part) */ void init( const ::com::sun::star::geometry::RealSize2D& rSpriteSize, const ::canvas::SpriteSurface::Reference& rOwningSpriteCanvas, const BackBufferSharedPtr& rBackBuffer, const BackBufferSharedPtr& rBackBufferMask, bool bShowSpriteBounds ); void disposing(); /** Repaint sprite content to associated sprite canvas @param rPos Output position (sprite's own position is disregarded) @param io_bSurfacesDirty When true, the referenced sprite surfaces (backBuffer and backBufferMask) have been modified since last call. @param bBufferedUpdate When true, the redraw does not happen directly on the front buffer, but within a VDev. Used to speed up drawing. */ void redraw( OutputDevice& rOutDev, const ::basegfx::B2DPoint& rPos, bool& bSurfacesDirty, bool bBufferedUpdate ) const; private: virtual ::basegfx::B2DPolyPolygon polyPolygonFromXPolyPolygon2D( ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XPolyPolygon2D >& xPoly ) const; // for the redraw BackBufferSharedPtr mpBackBuffer; BackBufferSharedPtr mpBackBufferMask; /// Cached bitmap for the current sprite content mutable ::canvas::vcltools::VCLObject maContent; /// When true, line sprite corners in red bool mbShowSpriteBounds; }; } #endif /* _VCLCANVAS_SPRITEHELPER_HXX */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ >distro/collabora/cp-6.0 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2016-06-21tdf#42949: clean up includes in include/formula with iwyuJorenz Paragas
2016-06-15Move accessibility relations to .ui files, Part 9: tdf#87026Muhammet Kara
2016-06-14explicit svl::SharedString(const OUString&) ctorEike Rathke
2016-06-10assert on FormulaToken::GetDouble() virtual dummyEike Rathke
2016-06-10check for svDouble when stripping DCOUNT/A argument, tdf#70806 follow-upEike Rathke
2016-06-09Fix ambiguous callsStephan Bergmann
2016-06-08assert on "forgot to add a jump" for OpCodeEike Rathke
2016-06-08introduce FormulaTypedDoubleToken to carry type information of a doubleEike Rathke
2016-06-06remove unused constants in HRC filesNoel Grandin
2016-05-30cid#1362174, 1362177: USE_AFTER_FREE+resource leak due to copypastaJulien Nabet
2016-05-27strip 0 argument only if not part of an expression, tdf#70806Eike Rathke
2016-05-27omit DCOUNT or DCOUNTA 2nd argument if 0 when writing ODFF or OOXML, tdf#70806Eike Rathke
2016-05-26loplugin:unusedmethodsNoel Grandin
2016-05-25(nearly) nothing uses GetUniqueId anymore, so remove it.Caolán McNamara
2016-05-20clang-tidy misc-assign-operator-signatureNoel Grandin
2016-05-19clang-tidy modernize-make-uniqueNoel Grandin
2016-05-18update unusedmethods plugin to deal with constructorsNoel Grandin
2016-05-04tdf#97831 [part] Add Excel 2016 functions to CalcWinfried Donkers
2016-05-03tdf#97831 [part] Add Excel 2016 functions to CalcWinfried Donkers
2016-05-02check presence of token, tdf#96426 follow-upEike Rathke
2016-05-02Revert "crashtesting: fix ooo123540-1.xlsx etc"Eike Rathke
2016-04-30crashtesting: fix ooo123540-1.xlsx etcCaolán McNamara
2016-04-30Fix typosAndrea Gelmini
2016-04-28tdf#97087 Give comprehensible, unique names to idlesMuhammet Kara
2016-04-27clang-tidy modernize-loop-convert in f*Noel Grandin
2016-04-26tdf#97831 [part] Add Excel 2016-Office 365 functions to CalcWinfried Donkers
2016-04-26update loplugin stylepolice to check local pointers varsNoel Grandin
2016-04-24first range can be anywhere before second at RPN end, tdf#96426 follow-upEike Rathke
2016-04-23more differentiated significant whitespace recognition, tdf#96426 follow-upEike Rathke
2016-04-23narrow down where a space could be an intersection, tdf#96426 follow-upEike Rathke
2016-04-23fully check for adjacent RPN end, tdf#96426 follow-upEike Rathke
2016-04-23use FormulaToken::DeleteIfZeroRef() instead of Delete() at some placesEike Rathke
2016-04-23Resolves: tdf#96426 significant whitespace as intersection in Excel syntaxEike Rathke
2016-04-23simplify the ReplaceToken() offset logic to absolute offsetsEike Rathke
2016-04-23newline shortageEike Rathke
2016-04-23change multiple ifs to switch caseEike Rathke
2016-04-23join two lines that cause an annoying debugger step over experienceEike Rathke
2016-04-18clang-tidy performance-unnecessary-copy-initializationNoel Grandin
2016-04-12Avoid reserved identifierStephan Bergmann
2016-04-11clang-tidy performance-unnecessary-value-param in formulaNoel Grandin
2016-04-04get rid of a TODO commentWinfried Donkers
2016-03-31use SAL_N_ELEMENTS more widelyNoel Grandin
2016-03-23missing nullptr check, tdf#98427Markus Mohrhard
2016-03-18Resolves: tdf#96915 implement other-sheet-local named expressionsEike Rathke
2016-03-18loplugin:constantparam in formulaNoel Grandin
2016-03-14prefix domain namespace to FORECAST.* functions for ODFF, tdf#94635 follow-upEike Rathke
2016-03-10loplugin:constantparam in formulaNoel Grandin