20#include <officecfg/Office/Common.hxx>
43#include <osl/diagnose.h>
55 pFEShell->HideChainMarker();
65 pFEShell->SetChainMarker();
92 const Color* _pPageBackgrdColor,
93 const bool _bIsPageRightToLeft,
106 pOutDev->
SetDrawMode( nOldDrawMode | DrawModeFlags::SettingsLine | DrawModeFlags::SettingsFill |
107 DrawModeFlags::SettingsText | DrawModeFlags::SettingsGradient );
114 Color aOldOutlinerBackgroundColor;
119 if ( (_nLayerID == rIDDMA.
GetHellId()) ||
122 OSL_ENSURE( _pPageBackgrdColor,
123 "incorrect usage of SwViewShellImp::PaintLayer: pPageBackgrdColor have to be set for painting layer <hell> or <heaven>");
124 if ( _pPageBackgrdColor )
126 aOldOutlinerBackgroundColor =
134 _bIsPageRightToLeft ? EEHorizontalTextDirection::R2L : EEHorizontalTextDirection::L2R;
150 if ( (_nLayerID == rIDDMA.
GetHellId()) ||
161#define FUZZY_EDGE 400
203 bool bCheckDrawObjs =
false;
204 if ( aDocRect != rOldWork )
207 bCheckDrawObjs =
true;
210 if ( !bCheckDrawObjs )
216 for(
size_t nObj = 0; nObj < nObjs; ++nObj )
228 auto pDrawContact =
dynamic_cast<const SwDrawContact*
>( pCont);
232 const SwFrame *pAnchor = pDrawContact->GetAnchorFrame();
245 if (!pPageFrame || pPageFrame->
IsInvalid() ) {
246 SAL_WARN(
"sw.core",
"Trying to move anchor from invalid page - fix layouting!" );
258 if ( !aDocRect.
Contains( aObjBound ) )
261 if ( aObjBound.
Left() > aDocRect.
Right() )
263 if ( aObjBound.
Top() > aDocRect.
Bottom() )
271 if ( aObjBound.
Right() < aDocRect.
Left() )
273 if ( aObjBound.
Bottom() < aDocRect.
Top() )
static const AllSettings & GetSettings()
virtual SdrLayerID GetHellId() const =0
virtual SdrLayerID GetHeavenId() const =0
virtual const SwDrawModel * GetDrawModel() const =0
Draw Model and id accessors.
void Push(vcl::PushFlags nFlags=vcl::PushFlags::ALL)
void SetDrawMode(DrawModeFlags nDrawMode)
DrawModeFlags GetDrawMode() const
const tools::Rectangle & GetWorkArea() const
void SetWorkArea(const tools::Rectangle &rRect)
size_t GetMarkCount() const
SdrMark * GetMark(size_t nNum) const
const SdrMarkList & GetMarkedObjectList() const
bool areMarkHandlesHidden() const
SdrObject * GetMarkedSdrObj() const
SdrOutliner & GetDrawOutliner(const SdrTextObj *pObj=nullptr) const
const SdrPage * GetPage(sal_uInt16 nPgNum) const
SdrObject * GetObj(size_t nNum) const
size_t GetObjCount() const
virtual void Move(const Size &rSiz)
virtual const tools::Rectangle & GetCurrentBoundRect() const
void DrawLayer(SdrLayerID nID, OutputDevice *pGivenTarget, sdr::contact::ViewObjectContactRedirector *pRedirector=nullptr, const tools::Rectangle &rRect=tools::Rectangle(), basegfx::B2IRectangle const *pPageFrame=nullptr)
SdrPage * GetPage() const
virtual void SetSize(const Size &aSiz)
void setHideDraw(bool bNew)
SdrModel & GetModel() const
constexpr tools::Long Height() const
void setWidth(tools::Long nWidth)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
const SwRect & getFrameArea() const
bool isFrameAreaDefinitionValid() const
Base class of the Writer layout elements.
SwLayoutFrame * GetUpper()
SwPageFrame * FindPageFrame()
SwFrame * FindFooterOrHeader()
A page of the document layout.
Of course Writer needs its own rectangles.
SwRect & Union(const SwRect &rRect)
void AddLeft(const tools::Long nAdd)
bool Contains(const Point &rPOINT) const
void AddBottom(const tools::Long nAdd)
void AddRight(const tools::Long nAdd)
void AddTop(const tools::Long nAdd)
tools::Rectangle SVRect() const
bool m_bResetHdlHiddenPaint
bool HasDrawView() const
New Interface for StarView Drawing.
bool IsDragPossible(const Point &rPoint)
Is passed to the DrawEngine as a Link and decides what is painted or not and in what way.
SwDrawView * GetDrawView()
SdrPageView * GetPageView()
const SwViewShell * GetShell() const
Only for SwViewShell::Init()
void PaintLayer(const SdrLayerID _nLayerID, SwPrintData const *const pPrintData, SwPageFrame const &rPageFrame, const SwRect &_rRect, const Color *_pPageBackgrdColor, const bool _bIsPageRightToLeft, sdr::contact::ViewObjectContactRedirector *pRedirector)
void NotifySizeChg(const Size &rNewSz)
vcl::RenderContext * GetOut() const
SwRootFrame * GetLayout() const
const IDocumentDrawModelAccess & getIDocumentDrawModelAccess() const
Provides access to the document draw model interface.
EEHorizontalTextDirection
bool CalcClipRect(const SdrObject *pSdrObj, SwRect &rRect, bool bMove=true)
calculate rectangle in that the object can be moved or rather be resized
#define SAL_WARN(area, stream)
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
constexpr SwTwips DOCUMENTBORDER