xref: /aoo41x/main/sw/source/ui/docvw/OverlayRanges.hxx (revision dec99bbd)
1*dec99bbdSOliver-Rainer Wittmann /**************************************************************
2*dec99bbdSOliver-Rainer Wittmann  *
3*dec99bbdSOliver-Rainer Wittmann  * Licensed to the Apache Software Foundation (ASF) under one
4*dec99bbdSOliver-Rainer Wittmann  * or more contributor license agreements.  See the NOTICE file
5*dec99bbdSOliver-Rainer Wittmann  * distributed with this work for additional information
6*dec99bbdSOliver-Rainer Wittmann  * regarding copyright ownership.  The ASF licenses this file
7*dec99bbdSOliver-Rainer Wittmann  * to you under the Apache License, Version 2.0 (the
8*dec99bbdSOliver-Rainer Wittmann  * "License"); you may not use this file except in compliance
9*dec99bbdSOliver-Rainer Wittmann  * with the License.  You may obtain a copy of the License at
10*dec99bbdSOliver-Rainer Wittmann  *
11*dec99bbdSOliver-Rainer Wittmann  *   http://www.apache.org/licenses/LICENSE-2.0
12*dec99bbdSOliver-Rainer Wittmann  *
13*dec99bbdSOliver-Rainer Wittmann  * Unless required by applicable law or agreed to in writing,
14*dec99bbdSOliver-Rainer Wittmann  * software distributed under the License is distributed on an
15*dec99bbdSOliver-Rainer Wittmann  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*dec99bbdSOliver-Rainer Wittmann  * KIND, either express or implied.  See the License for the
17*dec99bbdSOliver-Rainer Wittmann  * specific language governing permissions and limitations
18*dec99bbdSOliver-Rainer Wittmann  * under the License.
19*dec99bbdSOliver-Rainer Wittmann  *
20*dec99bbdSOliver-Rainer Wittmann  *************************************************************/
21*dec99bbdSOliver-Rainer Wittmann 
22*dec99bbdSOliver-Rainer Wittmann 
23*dec99bbdSOliver-Rainer Wittmann 
24*dec99bbdSOliver-Rainer Wittmann #ifndef _SW_OVERLAY_OVERLAYRANGES_HXX
25*dec99bbdSOliver-Rainer Wittmann #define _SW_OVERLAY_OVERLAYRANGES_HXX
26*dec99bbdSOliver-Rainer Wittmann 
27*dec99bbdSOliver-Rainer Wittmann #include <svx/sdr/overlay/overlayobject.hxx>
28*dec99bbdSOliver-Rainer Wittmann #include <basegfx/range/b2drange.hxx>
29*dec99bbdSOliver-Rainer Wittmann 
30*dec99bbdSOliver-Rainer Wittmann #include <vector>
31*dec99bbdSOliver-Rainer Wittmann 
32*dec99bbdSOliver-Rainer Wittmann class SwView;
33*dec99bbdSOliver-Rainer Wittmann 
34*dec99bbdSOliver-Rainer Wittmann //////////////////////////////////////////////////////////////////////////////
35*dec99bbdSOliver-Rainer Wittmann 
36*dec99bbdSOliver-Rainer Wittmann namespace sw
37*dec99bbdSOliver-Rainer Wittmann {
38*dec99bbdSOliver-Rainer Wittmann     namespace overlay
39*dec99bbdSOliver-Rainer Wittmann     {
40*dec99bbdSOliver-Rainer Wittmann         class OverlayRanges : public sdr::overlay::OverlayObject
41*dec99bbdSOliver-Rainer Wittmann         {
42*dec99bbdSOliver-Rainer Wittmann         protected:
43*dec99bbdSOliver-Rainer Wittmann             // geometry of overlay
44*dec99bbdSOliver-Rainer Wittmann             std::vector< basegfx::B2DRange > maRanges;
45*dec99bbdSOliver-Rainer Wittmann 
46*dec99bbdSOliver-Rainer Wittmann             bool mbShowSolidBorder;
47*dec99bbdSOliver-Rainer Wittmann 
48*dec99bbdSOliver-Rainer Wittmann             // geometry creation for OverlayObject
49*dec99bbdSOliver-Rainer Wittmann             virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence();
50*dec99bbdSOliver-Rainer Wittmann 
51*dec99bbdSOliver-Rainer Wittmann         public:
52*dec99bbdSOliver-Rainer Wittmann             static OverlayRanges* CreateOverlayRange(
53*dec99bbdSOliver-Rainer Wittmann                 SwView& rDocView,
54*dec99bbdSOliver-Rainer Wittmann                 const Color& rColor,
55*dec99bbdSOliver-Rainer Wittmann                 const std::vector< basegfx::B2DRange >& rRanges,
56*dec99bbdSOliver-Rainer Wittmann                 const bool bShowSolidBorder );
57*dec99bbdSOliver-Rainer Wittmann 
58*dec99bbdSOliver-Rainer Wittmann             virtual ~OverlayRanges();
59*dec99bbdSOliver-Rainer Wittmann 
60*dec99bbdSOliver-Rainer Wittmann             // data read access
getRanges() const61*dec99bbdSOliver-Rainer Wittmann             inline const std::vector< basegfx::B2DRange >& getRanges() const
62*dec99bbdSOliver-Rainer Wittmann             {
63*dec99bbdSOliver-Rainer Wittmann                 return maRanges;
64*dec99bbdSOliver-Rainer Wittmann             }
65*dec99bbdSOliver-Rainer Wittmann 
66*dec99bbdSOliver-Rainer Wittmann             // data write access
67*dec99bbdSOliver-Rainer Wittmann             void setRanges(const std::vector< basegfx::B2DRange >& rNew);
68*dec99bbdSOliver-Rainer Wittmann 
69*dec99bbdSOliver-Rainer Wittmann             void ShowSolidBorder();
70*dec99bbdSOliver-Rainer Wittmann             void HideSolidBorder();
71*dec99bbdSOliver-Rainer Wittmann 
72*dec99bbdSOliver-Rainer Wittmann         private:
73*dec99bbdSOliver-Rainer Wittmann             OverlayRanges(
74*dec99bbdSOliver-Rainer Wittmann                 const Color& rColor,
75*dec99bbdSOliver-Rainer Wittmann                 const std::vector< basegfx::B2DRange >& rRanges,
76*dec99bbdSOliver-Rainer Wittmann                 const bool bShowSolidBorder );
77*dec99bbdSOliver-Rainer Wittmann 
78*dec99bbdSOliver-Rainer Wittmann         };
79*dec99bbdSOliver-Rainer Wittmann     } // end of namespace overlay
80*dec99bbdSOliver-Rainer Wittmann } // end of namespace sw
81*dec99bbdSOliver-Rainer Wittmann 
82*dec99bbdSOliver-Rainer Wittmann //////////////////////////////////////////////////////////////////////////////
83*dec99bbdSOliver-Rainer Wittmann 
84*dec99bbdSOliver-Rainer Wittmann #endif //_SW_OVERLAY_OVERLAYRANGES_HXX
85*dec99bbdSOliver-Rainer Wittmann 
86*dec99bbdSOliver-Rainer Wittmann // eof
87