/* -*- 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_SVX_SDRPAINTWINDOW_HXX #define INCLUDED_SVX_SDRPAINTWINDOW_HXX #include #include #include #include class SdrPaintView; namespace sdr::overlay { class OverlayManager; } #ifdef _MSC_VER // broken msvc template instantiation #include #endif /// paint the transparent children of rWin that overlap rPixelRect /// (for example, transparent form controls like check boxes) void SVXCORE_DLLPUBLIC PaintTransparentChildren(vcl::Window const & rWindow, tools::Rectangle const& rPixelRect); class SdrPreRenderDevice { // The original OutputDevice VclPtr mpOutputDevice; // The VirtualDevice for PreRendering VclPtr mpPreRenderDevice; public: explicit SdrPreRenderDevice(OutputDevice& rOriginal); ~SdrPreRenderDevice(); void PreparePreRenderDevice(); void OutputPreRenderDevice(const vcl::Region& rExpandedRegion); OutputDevice& GetPreRenderDevice() { return *mpPreRenderDevice; } }; class SVXCORE_DLLPUBLIC SdrPaintWindow { private: // the OutputDevice this window represents VclPtr mpOutputDevice; /// In case mrOutputDevice is a buffer for a vcl::Window, this is the window. VclPtr mpWindow; // the SdrPaintView this window belongs to SdrPaintView& mrPaintView; // the new OverlayManager for the new OverlayObjects. Test add here, will // replace the IAOManager as soon as it works. rtl::Reference< sdr::overlay::OverlayManager > mxOverlayManager; // The PreRenderDevice for PreRendering std::unique_ptr mpPreRenderDevice; // The RedrawRegion used for rendering vcl::Region maRedrawRegion; // #i72889# flag if this is only a temporary target for repaint, default is false bool mbTemporaryTarget : 1; bool mbOutputToWindow : 1; // ref to patched SdrPaintWindow* mpPatched; // helpers void impCreateOverlayManager(); public: SdrPaintWindow(SdrPaintView& rNewPaintView, OutputDevice& rOut, vcl::Window* pWindow = nullptr); ~SdrPaintWindow(); // allow reference to patched, see patchPaintWindow/unpatchPaintWindow void setPatched(SdrPaintWindow* pPaintWindow) { mpPatched = pPaintWindow; } SdrPaintWindow* getPatched() const { return mpPatched; } // data read accesses OutputDevice& GetOutputDevice() const { return *mpOutputDevice; } vcl::Window* GetWindow() const { return mpWindow; } // OVERLAYMANAGER rtl::Reference< sdr::overlay::OverlayManager > const & GetOverlayManager() const; // #i73602# add flag if buffer shall be used void DrawOverlay(const vcl::Region& rRegion); // calculate visible area and return tools::Rectangle GetVisibleArea() const; // Is OutDev a printer? bool OutputToPrinter() const { return (OUTDEV_PRINTER == mpOutputDevice->GetOutDevType()); } // Is OutDev a window? bool OutputToWindow() const { return mbOutputToWindow; } void SetOutputToWindow(bool bOutputToWindow) { mbOutputToWindow = bOutputToWindow; } // Is OutDev a recording MetaFile? bool OutputToRecordingMetaFile() const; // prepare PreRendering (evtl.) void PreparePreRenderDevice(); void OutputPreRenderDevice(const vcl::Region& rExpandedRegion); SdrPreRenderDevice* GetPreRenderDevice() const { return mpPreRenderDevice.get(); } // RedrawRegion const vcl::Region& GetRedrawRegion() const { return maRedrawRegion;} void SetRedrawRegion(const vcl::Region& rNew); // #i72889# read/write access to TemporaryTarget bool getTemporaryTarget() const { return mbTemporaryTarget; } void setTemporaryTarget(bool bNew) { mbTemporaryTarget = bNew; } // #i72889# get target output device, take into account output buffering OutputDevice& GetTargetOutputDevice() { if(mpPreRenderDevice) return mpPreRenderDevice->GetPreRenderDevice(); else return *mpOutputDevice; } }; #endif // INCLUDED_SVX_SDRPAINTWINDOW_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ fice-24-2-6 LibreOffice 界面翻译代码仓库文档基金会
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2021-11-16 13:00:53 +0100
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2021-11-16 13:04:20 +0100
commita692f49808bffb7f402cd88cbf48e32b2044d111 (patch)
tree65607b2a988446b75847edb0c68f2f0cfbd5cd49 /source/it/sfx2
parent327c876f4c35127cff03b26303acd4831252ce66 (diff)
update translations for master
and force-fix errors using pocheck Change-Id: I93c02cdd542eb2c42765f65e9e78f2dc8f339005
Diffstat (limited to 'source/it/sfx2')