LibreOffice Module sw (master) 1
hffrm.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#ifndef INCLUDED_SW_SOURCE_CORE_INC_HFFRM_HXX
21#define INCLUDED_SW_SOURCE_CORE_INC_HFFRM_HXX
22
23#include "layfrm.hxx"
24
26{
27protected:
28 void FormatSize(SwTwips nUL, const SwBorderAttrs * pAttrs);
29 void FormatPrt(SwTwips & nUL, const SwBorderAttrs * pAttrs);
30 inline bool GetEatSpacing() const; // in hffrm.cxx
31
32public:
34 virtual void Format( vcl::RenderContext* pRenderContext, const SwBorderAttrs *pAttrs = nullptr ) override;
35 virtual SwTwips GrowFrame( SwTwips,
36 bool bTst = false, bool bInfo = false ) override;
38 bool bTst = false, bool bInfo = false ) override;
39 virtual void PaintSubsidiaryLines( const SwPageFrame*, const SwRect& ) const override;
40};
41
43class SwHeaderFrame final : public SwHeadFootFrame
44{
45public:
46 SwHeaderFrame( SwFrameFormat* pFrame, SwFrame* pSib ) : SwHeadFootFrame(pFrame, pSib, SwFrameType::Header) {};
47
48 void dumpAsXml(xmlTextWriterPtr writer = nullptr) const override;
49};
50
52class SwFooterFrame final : public SwHeadFootFrame
53{
54public:
55 SwFooterFrame( SwFrameFormat* pFrame, SwFrame* pSib ) : SwHeadFootFrame(pFrame, pSib, SwFrameType::Footer) {};
56};
57
58#endif
59
60/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Footer in the document layout, inside a page.
Definition: hffrm.hxx:53
SwFooterFrame(SwFrameFormat *pFrame, SwFrame *pSib)
Definition: hffrm.hxx:55
Style of a layout element.
Definition: frmfmt.hxx:62
Base class of the Writer layout elements.
Definition: frame.hxx:315
SwHeadFootFrame(SwFrameFormat *pFrame, SwFrame *, SwFrameType aType)
Definition: hffrm.cxx:96
virtual void PaintSubsidiaryLines(const SwPageFrame *, const SwRect &) const override
Definition: paintfrm.cxx:7022
virtual SwTwips ShrinkFrame(SwTwips, bool bTst=false, bool bInfo=false) override
Definition: hffrm.cxx:540
void FormatPrt(SwTwips &nUL, const SwBorderAttrs *pAttrs)
Definition: hffrm.cxx:114
virtual SwTwips GrowFrame(SwTwips, bool bTst=false, bool bInfo=false) override
Definition: hffrm.cxx:440
virtual void Format(vcl::RenderContext *pRenderContext, const SwBorderAttrs *pAttrs=nullptr) override
"Formats" the Frame; Frame and PrtArea.
Definition: hffrm.cxx:415
bool GetEatSpacing() const
Definition: hffrm.cxx:652
void FormatSize(SwTwips nUL, const SwBorderAttrs *pAttrs)
Definition: hffrm.cxx:220
Header in the document layout, inside a page.
Definition: hffrm.hxx:44
SwHeaderFrame(SwFrameFormat *pFrame, SwFrame *pSib)
Definition: hffrm.hxx:46
void dumpAsXml(xmlTextWriterPtr writer=nullptr) const override
Definition: hffrm.cxx:768
A layout frame is a frame that contains other frames (m_pLower), e.g. SwPageFrame or SwTabFrame.
Definition: layfrm.hxx:36
A page of the document layout.
Definition: pagefrm.hxx:59
Of course Writer needs its own rectangles.
Definition: swrect.hxx:35
struct _xmlTextWriter * xmlTextWriterPtr
SwFrameType
Definition: frame.hxx:75
Header
Footer
tools::Long SwTwips
Definition: swtypes.hxx:51