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 24 #ifndef _SDR_CONTACT_VIEWOBJECTCONTACTREDIRECTOR_HXX 25 #define _SDR_CONTACT_VIEWOBJECTCONTACTREDIRECTOR_HXX 26 27 #include "svx/svxdllapi.h" 28 #include <drawinglayer/primitive2d/baseprimitive2d.hxx> 29 30 ////////////////////////////////////////////////////////////////////////////// 31 // predeclarations 32 33 namespace sdr { namespace contact { 34 class DisplayInfo; 35 class ViewObjectContact; 36 }} 37 38 ////////////////////////////////////////////////////////////////////////////// 39 40 namespace sdr 41 { 42 namespace contact 43 { 44 // This class provides a mechanism to redirect the paint mechanism for all or 45 // single ViewObjectContacts. An own derivation may be set at single ViewContacts 46 // or at the ObjectContact for redirecting all. If both is used, the one at single 47 // objects will have priority. 48 class SVX_DLLPUBLIC ViewObjectContactRedirector 49 { 50 public: 51 // basic constructor. 52 ViewObjectContactRedirector(); 53 54 // The destructor. 55 virtual ~ViewObjectContactRedirector(); 56 57 // all default implementations just call the same methods at the original. To do something 58 // different, overload the method and at least do what the method does. 59 virtual drawinglayer::primitive2d::Primitive2DSequence createRedirectedPrimitive2DSequence( 60 const sdr::contact::ViewObjectContact& rOriginal, 61 const sdr::contact::DisplayInfo& rDisplayInfo); 62 }; 63 } // end of namespace contact 64 } // end of namespace sdr 65 66 ////////////////////////////////////////////////////////////////////////////// 67 68 #endif //_SDR_CONTACT_VIEWOBJECTCONTACTREDIRECTOR_HXX 69 70 // eof 71