Branch libreoffice-5-0-4
[LibreOffice.git] / include / svx / swframeexample.hxx
blob13c40fefd980ea9f0f4a2797b60a8fe9dcb15a70
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #ifndef INCLUDED_SVX_SWFRAMEEXAMPLE_HXX
21 #define INCLUDED_SVX_SWFRAMEEXAMPLE_HXX
23 #include <vcl/window.hxx>
24 #include <tools/color.hxx>
25 #include <tools/gen.hxx>
26 #include <svx/svxdllapi.h>
28 // class SwFrmPagePreview -------------------------------------------------------
30 class SVX_DLLPUBLIC SvxSwFrameExample : public vcl::Window
32 Color m_aTransColor; // transparency
33 Color m_aBgCol; // background
34 Color m_aFrameColor; // graphic frame
35 Color m_aAlignColor; // align anchor
36 Color m_aBorderCol; // frame of doc
37 Color m_aPrintAreaCol; // frame of printable area of doc
38 Color m_aTxtCol; // symbolised text
39 Color m_aBlankCol; // area of symbol for blank
40 Color m_aBlankFrameCol; // frame of symbol for blank
42 Rectangle aPage;
43 Rectangle aPagePrtArea;
44 Rectangle aTextLine;
45 Rectangle aPara;
46 Rectangle aParaPrtArea;
47 Rectangle aFrameAtFrame;
48 Rectangle aDrawObj;
49 Rectangle aAutoCharFrame;
50 Size aFrmSize;
52 short nHAlign;
53 short nHRel;
55 short nVAlign;
56 short nVRel;
58 short nWrap;
59 short nAnchor;
60 bool bTrans;
62 Point aRelPos;
64 void InitColors_Impl();
65 void InitAllRects_Impl(vcl::RenderContext& rRenderContext);
66 void CalcBoundRect_Impl(Rectangle &rRect);
67 Rectangle DrawInnerFrame_Impl(vcl::RenderContext& rRenderContext, const Rectangle &rRect, const Color &rFillColor, const Color &rBorderColor);
69 virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle&) SAL_OVERRIDE;
70 virtual Size GetOptimalSize() const SAL_OVERRIDE;
71 protected:
72 virtual void DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE;
73 public:
75 SvxSwFrameExample(vcl::Window* pParent, WinBits nStyle);
77 inline void SetWrap(sal_uInt16 nW) { nWrap = nW; }
79 inline void SetHAlign(short nH) { nHAlign = nH; }
80 inline void SetHoriRel(short nR) { nHRel = nR; }
82 inline void SetVAlign(short nV) { nVAlign = nV; }
83 inline void SetVertRel(short nR) { nVRel = nR; }
85 inline void SetTransparent(bool bT) { bTrans = bT; }
86 inline void SetAnchor(short nA) { nAnchor = nA; }
88 void SetRelPos(const Point& rP);
92 #endif // INCLUDED_SVX_SWFRAMEEXAMPLE_HXX
94 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */