xref: /AOO41X/main/drawinglayer/inc/drawinglayer/processor2d/processor2dtools.hxx (revision 47148b3bc50811ceb41802e4cc50a5db21535900)
1*a7185797SArmin Le Grand /**************************************************************
2*a7185797SArmin Le Grand  *
3*a7185797SArmin Le Grand  * Licensed to the Apache Software Foundation (ASF) under one
4*a7185797SArmin Le Grand  * or more contributor license agreements.  See the NOTICE file
5*a7185797SArmin Le Grand  * distributed with this work for additional information
6*a7185797SArmin Le Grand  * regarding copyright ownership.  The ASF licenses this file
7*a7185797SArmin Le Grand  * to you under the Apache License, Version 2.0 (the
8*a7185797SArmin Le Grand  * "License"); you may not use this file except in compliance
9*a7185797SArmin Le Grand  * with the License.  You may obtain a copy of the License at
10*a7185797SArmin Le Grand  *
11*a7185797SArmin Le Grand  *   http://www.apache.org/licenses/LICENSE-2.0
12*a7185797SArmin Le Grand  *
13*a7185797SArmin Le Grand  * Unless required by applicable law or agreed to in writing,
14*a7185797SArmin Le Grand  * software distributed under the License is distributed on an
15*a7185797SArmin Le Grand  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*a7185797SArmin Le Grand  * KIND, either express or implied.  See the License for the
17*a7185797SArmin Le Grand  * specific language governing permissions and limitations
18*a7185797SArmin Le Grand  * under the License.
19*a7185797SArmin Le Grand  *
20*a7185797SArmin Le Grand  *************************************************************/
21*a7185797SArmin Le Grand 
22*a7185797SArmin Le Grand #ifndef INCLUDED_DRAWINGLAYER_PROCESSOR2D_PROCESSOR2DTOOLS_HXX
23*a7185797SArmin Le Grand #define INCLUDED_DRAWINGLAYER_PROCESSOR2D_PROCESSOR2DTOOLS_HXX
24*a7185797SArmin Le Grand 
25*a7185797SArmin Le Grand #include <drawinglayer/drawinglayerdllapi.h>
26*a7185797SArmin Le Grand #include <drawinglayer/processor2d/baseprocessor2d.hxx>
27*a7185797SArmin Le Grand #include <drawinglayer/geometry/viewinformation2d.hxx>
28*a7185797SArmin Le Grand 
29*a7185797SArmin Le Grand //////////////////////////////////////////////////////////////////////////////
30*a7185797SArmin Le Grand // predefines
31*a7185797SArmin Le Grand 
32*a7185797SArmin Le Grand class OutputDevice;
33*a7185797SArmin Le Grand 
34*a7185797SArmin Le Grand //////////////////////////////////////////////////////////////////////////////
35*a7185797SArmin Le Grand 
36*a7185797SArmin Le Grand namespace drawinglayer
37*a7185797SArmin Le Grand {
38*a7185797SArmin Le Grand     namespace processor2d
39*a7185797SArmin Le Grand     {
40*a7185797SArmin Le Grand         /** create the best available pixel based BaseProcessor2D
41*a7185797SArmin Le Grand             (which may be system-dependent)
42*a7185797SArmin Le Grand 
43*a7185797SArmin Le Grand             @param rTargetOutDev
44*a7185797SArmin Le Grand             The target OutputDevice
45*a7185797SArmin Le Grand 
46*a7185797SArmin Le Grand             @param rViewInformation2D
47*a7185797SArmin Le Grand             The ViewInformation to use
48*a7185797SArmin Le Grand 
49*a7185797SArmin Le Grand             @return
50*a7185797SArmin Le Grand             the created BaseProcessor2D (ownership change) or null if
51*a7185797SArmin Le Grand             something went wrong
52*a7185797SArmin Le Grand         */
53*a7185797SArmin Le Grand         DRAWINGLAYER_DLLPUBLIC BaseProcessor2D* createPixelProcessor2DFromOutputDevice(
54*a7185797SArmin Le Grand             OutputDevice& rTargetOutDev,
55*a7185797SArmin Le Grand             const drawinglayer::geometry::ViewInformation2D& rViewInformation2D);
56*a7185797SArmin Le Grand 
57*a7185797SArmin Le Grand         /** create a BaseProcessor2D dependent on some states of the
58*a7185797SArmin Le Grand             given OutputDevice. If metafile is recorded, the needed
59*a7185797SArmin Le Grand             VclMetafileProcessor2D will be created. If a pixel renderer
60*a7185797SArmin Le Grand             is requested, the best one is incarnated
61*a7185797SArmin Le Grand 
62*a7185797SArmin Le Grand             @param rTargetOutDev
63*a7185797SArmin Le Grand             The target OutputDevice
64*a7185797SArmin Le Grand 
65*a7185797SArmin Le Grand             @param rViewInformation2D
66*a7185797SArmin Le Grand             The ViewInformation to use
67*a7185797SArmin Le Grand 
68*a7185797SArmin Le Grand             @return
69*a7185797SArmin Le Grand             the created BaseProcessor2D (ownership change) or null if
70*a7185797SArmin Le Grand             something went wrong
71*a7185797SArmin Le Grand         */
72*a7185797SArmin Le Grand         DRAWINGLAYER_DLLPUBLIC BaseProcessor2D* createProcessor2DFromOutputDevice(
73*a7185797SArmin Le Grand             OutputDevice& rTargetOutDev,
74*a7185797SArmin Le Grand             const drawinglayer::geometry::ViewInformation2D& rViewInformation2D);
75*a7185797SArmin Le Grand 
76*a7185797SArmin Le Grand     } // end of namespace processor2d
77*a7185797SArmin Le Grand } // end of namespace drawinglayer
78*a7185797SArmin Le Grand 
79*a7185797SArmin Le Grand //////////////////////////////////////////////////////////////////////////////
80*a7185797SArmin Le Grand 
81*a7185797SArmin Le Grand #endif //INCLUDED_DRAWINGLAYER_PROCESSOR2D_PROCESSOR2DTOOLS_HXX
82*a7185797SArmin Le Grand 
83*a7185797SArmin Le Grand // eof
84