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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INFOHIERARCHYPRIMITIVE2D_HXX 25 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INFOHIERARCHYPRIMITIVE2D_HXX 26 27 #include <drawinglayer/drawinglayerdllapi.h> 28 #include <drawinglayer/primitive2d/groupprimitive2d.hxx> 29 #include <tools/string.hxx> 30 31 ////////////////////////////////////////////////////////////////////////////// 32 33 namespace drawinglayer 34 { 35 namespace primitive2d 36 { 37 /** ObjectInfoPrimitive2D class 38 39 Info hierarchy helper class to hold contents like Name, Title and 40 Description which are valid for the child content, e.g. created for 41 primitives based on DrawingLayer objects or SVG parts. It decomposes 42 to it's content, so all direct renderers may ignore it. May e.g. 43 be used when re-creating graphical content from a sequence of primitives 44 */ 45 class DRAWINGLAYER_DLLPUBLIC ObjectInfoPrimitive2D : public GroupPrimitive2D 46 { 47 private: 48 rtl::OUString maName; 49 rtl::OUString maTitle; 50 rtl::OUString maDesc; 51 52 public: 53 /// constructor 54 ObjectInfoPrimitive2D( 55 const Primitive2DSequence& rChildren, 56 const rtl::OUString& rName, 57 const rtl::OUString& rTitle, 58 const rtl::OUString& rDesc); 59 60 /// data read access 61 const rtl::OUString& getName() const { return maName; } 62 const rtl::OUString& getTitle() const { return maTitle; } 63 const rtl::OUString& getDesc() const { return maDesc; } 64 65 /// compare operator 66 virtual bool operator==(const BasePrimitive2D& rPrimitive) const; 67 68 /// provide unique ID 69 DeclPrimitrive2DIDBlock() 70 }; 71 } // end of namespace primitive2d 72 } // end of namespace drawinglayer 73 74 ////////////////////////////////////////////////////////////////////////////// 75 76 #endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INFOHIERARCHYPRIMITIVE2D_HXX 77 78 ////////////////////////////////////////////////////////////////////////////// 79 // eof 80