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_VIEWCONTACTOFSDRMEDIAOBJ_HXX 25 #define _SDR_CONTACT_VIEWCONTACTOFSDRMEDIAOBJ_HXX 26 27 #include <svx/sdr/contact/viewcontactofsdrobj.hxx> 28 #include "svx/svxdllapi.h" 29 30 ////////////////////////////////////////////////////////////////////////////// 31 // predeclarations 32 33 class SdrMediaObj; 34 namespace avmedia { class MediaItem; } 35 36 ////////////////////////////////////////////////////////////////////////////// 37 38 namespace sdr 39 { 40 namespace contact 41 { 42 class SVX_DLLPUBLIC ViewContactOfSdrMediaObj : public ViewContactOfSdrObj 43 { 44 friend class ViewObjectContactOfSdrMediaObj; 45 46 public: 47 48 // basic constructor, used from SdrObject. 49 ViewContactOfSdrMediaObj( SdrMediaObj& rMediaObj ); 50 virtual ~ViewContactOfSdrMediaObj(); 51 52 public: 53 54 // access to SdrMediaObj GetSdrMediaObj() const55 SdrMediaObj& GetSdrMediaObj() const 56 { 57 return (SdrMediaObj&)GetSdrObject(); 58 } 59 60 bool hasPreferredSize() const; 61 Size getPreferredSize() const; 62 63 void updateMediaItem( ::avmedia::MediaItem& rItem ) const; 64 void executeMediaItem( const ::avmedia::MediaItem& rItem ); 65 66 protected: 67 68 // Create a Object-Specific ViewObjectContact, set ViewContact and 69 // ObjectContact. Always needs to return something. 70 virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact); 71 72 // get notified if some properties have changed 73 virtual void mediaPropertiesChanged( const ::avmedia::MediaItem& rNewState ); 74 75 protected: 76 // This method is responsible for creating the graphical visualisation data 77 // ONLY based on model data 78 virtual drawinglayer::primitive2d::Primitive2DSequence createViewIndependentPrimitive2DSequence() const; 79 }; 80 } // end of namespace contact 81 } // end of namespace sdr 82 83 ////////////////////////////////////////////////////////////////////////////// 84 85 #endif //_SDR_CONTACT_VIEWCONTACTOFSDRMEDIAOBJ_HXX 86