/* -*- 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 .
*/
class SwFormatAnchor; class SwPageFrame; class SwFormatFrameSize; class SwBorderAttrs; class SwVirtFlyDrawObj; class SwAttrSetChg; namespace tools { class PolyPolygon; } class SwFormat; class SwViewShell; class SwFEShell; class SwWrtShell; class SwFlyAtContentFrame;
/** search an anchor for paragraph bound frames starting from pOldAnch
needed for dragging of objects bound to a paragraph for showing an anchor indicator as well as for changing the anchor.
implemented in layout/flycnt.cxx
*/ const SwContentFrame *FindAnchor( const SwFrame *pOldAnch, const Point &rNew, constbool bBody = false );
/** calculate rectangle in that the object can be moved or rather be resized */ bool CalcClipRect( const SdrObject *pSdrObj, SwRect &rRect, bool bMove = true );
protected: // Predecessor/Successor for chaining with text flow
SwFlyFrame *m_pPrevLink, *m_pNextLink; staticconst SwFormatAnchor* GetAnchorFromPoolItem(const SfxPoolItem& rItem); staticconst SwFormatAnchor* GetAnchorFromPoolItem(const SwAttrSetChg& rItem);
private: // It must be possible to block Content-bound flys so that they will be not // formatted; in this case MakeAll() returns immediately. This is necessary // for page changes during formatting. In addition, it is needed during // the constructor call of the root object since otherwise the anchor will // be formatted before the root is anchored correctly to a shell and // because too much would be formatted as a result. bool m_bLocked :1; // true if the background of NotifyDTor needs to be notified at the end // of a MakeAll() call. bool m_bNotifyBack :1;
protected: // Pos, PrtArea or SSize have been invalidated - they will be evaluated // again immediately because they have to be valid _at all time_. // The invalidation is tracked here so that LayAction knows about it and // can handle it properly. Exceptions prove the rule. bool m_bInvalid :1;
// true if the proposed height of an attribute is a minimal height // (this means that the frame can grow higher if needed) bool m_bMinHeight :1; // true if the fly frame could not format position/size based on its // attributes, e.g. because there was not enough space. bool m_bHeightClipped :1; bool m_bWidthClipped :1; // If true then call only the format after adjusting the width (CheckClip); // but the width will not be re-evaluated based on the attributes. bool m_bFormatHeightOnly :1;
bool m_bInCnt :1; ///< RndStdIds::FLY_AS_CHAR, anchored as character bool m_bAtCnt :1; ///< RndStdIds::FLY_AT_PARA, anchored at paragraph ///< or RndStdIds::FLY_AT_CHAR bool m_bLayout :1; ///< RndStdIds::FLY_AT_PAGE, RndStdIds::FLY_AT_FLY, at page or at frame bool m_bAutoPosition :1; ///< RndStdIds::FLY_AT_CHAR, anchored at character bool m_bDeleted :1; ///< Anchored to a tracked deletion
size_t m_nAuthor; ///< Redline author index for colored crossing out
friendclass SwNoTextFrame; // is allowed to call NotifyBackground
Point m_aContentPos; // content area's position relatively to Frame bool m_bValidContentPos;
// #i26791# - pure virtual methods of base class <SwAnchoredObject> virtualvoid MakeObjPos() override; virtualvoid InvalidateObjPos() override; virtualvoid RegisterAtPage(SwPageFrame&) override;
/** method to determine if a format on the Writer fly frame is possible
#i28701# refine 'IsFormatPossible'-conditions of method <SwAnchoredObject::IsFormatPossible()> by: format isn't possible, if Writer fly frame is locked resp. col-locked.
*/ virtualbool IsFormatPossible() const override; staticvoid GetAnchoredObjects( std::vector<SwAnchoredObject*>&, const SwFormat& rFormat );
// overwriting "SwFrameFormat *SwLayoutFrame::GetFormat" to provide the correct derived return type. // (This is in order to skip on the otherwise necessary casting of the result to // 'SwFlyFrameFormat *' after calls to this function. The casting is now done in this function.) virtualconst SwFlyFrameFormat *GetFormat() const override;
SW_DLLPUBLIC virtual SwFlyFrameFormat *GetFormat() override;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.