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