xref: /AOO41X/main/sfx2/source/sidebar/DrawHelper.hxx (revision ff12d5371ccd0665a2657b70c8b54ff323af1080)
1*ff12d537SAndre Fischer /**************************************************************
2*ff12d537SAndre Fischer  *
3*ff12d537SAndre Fischer  * Licensed to the Apache Software Foundation (ASF) under one
4*ff12d537SAndre Fischer  * or more contributor license agreements.  See the NOTICE file
5*ff12d537SAndre Fischer  * distributed with this work for additional information
6*ff12d537SAndre Fischer  * regarding copyright ownership.  The ASF licenses this file
7*ff12d537SAndre Fischer  * to you under the Apache License, Version 2.0 (the
8*ff12d537SAndre Fischer  * "License"); you may not use this file except in compliance
9*ff12d537SAndre Fischer  * with the License.  You may obtain a copy of the License at
10*ff12d537SAndre Fischer  *
11*ff12d537SAndre Fischer  *   http://www.apache.org/licenses/LICENSE-2.0
12*ff12d537SAndre Fischer  *
13*ff12d537SAndre Fischer  * Unless required by applicable law or agreed to in writing,
14*ff12d537SAndre Fischer  * software distributed under the License is distributed on an
15*ff12d537SAndre Fischer  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*ff12d537SAndre Fischer  * KIND, either express or implied.  See the License for the
17*ff12d537SAndre Fischer  * specific language governing permissions and limitations
18*ff12d537SAndre Fischer  * under the License.
19*ff12d537SAndre Fischer  *
20*ff12d537SAndre Fischer  *************************************************************/
21*ff12d537SAndre Fischer 
22*ff12d537SAndre Fischer #ifndef SFX_SIDEBAR_DRAW_HELPER_HXX
23*ff12d537SAndre Fischer #define SFX_SIDEBAR_DRAW_HELPER_HXX
24*ff12d537SAndre Fischer 
25*ff12d537SAndre Fischer #include "vcl/window.hxx"
26*ff12d537SAndre Fischer 
27*ff12d537SAndre Fischer #include <tools/SvBorder.hxx>
28*ff12d537SAndre Fischer 
29*ff12d537SAndre Fischer 
30*ff12d537SAndre Fischer class Color;
31*ff12d537SAndre Fischer 
32*ff12d537SAndre Fischer namespace sfx2 { namespace sidebar {
33*ff12d537SAndre Fischer 
34*ff12d537SAndre Fischer class Paint;
35*ff12d537SAndre Fischer 
36*ff12d537SAndre Fischer /** Some convenience functions for painting backgrounds and borders.
37*ff12d537SAndre Fischer */
38*ff12d537SAndre Fischer class DrawHelper
39*ff12d537SAndre Fischer {
40*ff12d537SAndre Fischer public:
41*ff12d537SAndre Fischer     static void DrawBorder (
42*ff12d537SAndre Fischer         OutputDevice& rDevice,
43*ff12d537SAndre Fischer         const Rectangle rBox,
44*ff12d537SAndre Fischer         const SvBorder aBorderSize,
45*ff12d537SAndre Fischer         const Paint& rHorizontalPaint,
46*ff12d537SAndre Fischer         const Paint& rVerticalPaint);
47*ff12d537SAndre Fischer     static void DrawHorizontalLine(
48*ff12d537SAndre Fischer         OutputDevice& rDevice,
49*ff12d537SAndre Fischer         const int nLeft,
50*ff12d537SAndre Fischer         const int nRight,
51*ff12d537SAndre Fischer         const int nY,
52*ff12d537SAndre Fischer         const int nHeight,
53*ff12d537SAndre Fischer         const Paint& rPaint);
54*ff12d537SAndre Fischer     static void DrawVerticalLine(
55*ff12d537SAndre Fischer         OutputDevice& rDevice,
56*ff12d537SAndre Fischer         const int nTop,
57*ff12d537SAndre Fischer         const int nBottom,
58*ff12d537SAndre Fischer         const int nX,
59*ff12d537SAndre Fischer         const int nWidth,
60*ff12d537SAndre Fischer         const Paint& rPaint);
61*ff12d537SAndre Fischer     static void DrawRoundedRectangle (
62*ff12d537SAndre Fischer         OutputDevice& rDevice,
63*ff12d537SAndre Fischer         const Rectangle& rBox,
64*ff12d537SAndre Fischer         const int nCornerRadius,
65*ff12d537SAndre Fischer         const Color& rBorderColor,
66*ff12d537SAndre Fischer         const Paint& rFillPaint);
67*ff12d537SAndre Fischer };
68*ff12d537SAndre Fischer 
69*ff12d537SAndre Fischer 
70*ff12d537SAndre Fischer } } // end of namespace sfx2::sidebar
71*ff12d537SAndre Fischer 
72*ff12d537SAndre Fischer #endif
73