xref: /AOO41X/main/reportdesign/source/ui/inc/ColorChanger.hxx (revision 9ee13d1351a4b51ae8bed78e67629c7bd5f4481e)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef RPTUI_COLORCHANGER_HXX
24 #define RPTUI_COLORCHANGER_HXX
25 
26 namespace rptui
27 {
28     //=====================================================================
29     //= ColorChanger
30     //=====================================================================
31     class ColorChanger
32     {
33     protected:
34         OutputDevice*   m_pDev;
35 
36     public:
ColorChanger(OutputDevice * _pDev,const Color & _rNewLineColor)37         ColorChanger( OutputDevice* _pDev, const Color& _rNewLineColor)
38             :m_pDev( _pDev )
39         {
40             m_pDev->Push( PUSH_LINECOLOR );
41             m_pDev->SetLineColor( _rNewLineColor );
42         }
ColorChanger(OutputDevice * _pDev,const Color & _rNewLineColor,const Color & _rNewFillColor)43         ColorChanger( OutputDevice* _pDev, const Color& _rNewLineColor, const Color& _rNewFillColor )
44             :m_pDev( _pDev )
45         {
46             m_pDev->Push( PUSH_LINECOLOR | PUSH_FILLCOLOR );
47             m_pDev->SetLineColor( _rNewLineColor );
48             m_pDev->SetFillColor( _rNewFillColor );
49         }
ColorChanger(OutputDevice * _pDev,const Color & _rNewLineColor,const Color & _rNewFillColor,const Color & _rNewTextColor)50         ColorChanger( OutputDevice* _pDev, const Color& _rNewLineColor, const Color& _rNewFillColor, const Color& _rNewTextColor )
51             :m_pDev( _pDev )
52         {
53             m_pDev->Push( PUSH_LINECOLOR | PUSH_FILLCOLOR | PUSH_TEXTCOLOR);
54             m_pDev->SetLineColor( _rNewLineColor );
55             m_pDev->SetFillColor( _rNewFillColor );
56             m_pDev->SetTextColor( _rNewTextColor );
57         }
58 
~ColorChanger()59         ~ColorChanger()
60         {
61             m_pDev->Pop();
62         }
63     };
64 }
65 #endif //RPTUI_COLORCHANGER_HXX
66 
67