1*f580d42cSArmin Le Grand /************************************************************** 2*f580d42cSArmin Le Grand * 3*f580d42cSArmin Le Grand * Licensed to the Apache Software Foundation (ASF) under one 4*f580d42cSArmin Le Grand * or more contributor license agreements. See the NOTICE file 5*f580d42cSArmin Le Grand * distributed with this work for additional information 6*f580d42cSArmin Le Grand * regarding copyright ownership. The ASF licenses this file 7*f580d42cSArmin Le Grand * to you under the Apache License, Version 2.0 (the 8*f580d42cSArmin Le Grand * "License"); you may not use this file except in compliance 9*f580d42cSArmin Le Grand * with the License. You may obtain a copy of the License at 10*f580d42cSArmin Le Grand * 11*f580d42cSArmin Le Grand * http://www.apache.org/licenses/LICENSE-2.0 12*f580d42cSArmin Le Grand * 13*f580d42cSArmin Le Grand * Unless required by applicable law or agreed to in writing, 14*f580d42cSArmin Le Grand * software distributed under the License is distributed on an 15*f580d42cSArmin Le Grand * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*f580d42cSArmin Le Grand * KIND, either express or implied. See the License for the 17*f580d42cSArmin Le Grand * specific language governing permissions and limitations 18*f580d42cSArmin Le Grand * under the License. 19*f580d42cSArmin Le Grand * 20*f580d42cSArmin Le Grand *************************************************************/ 21*f580d42cSArmin Le Grand 22*f580d42cSArmin Le Grand 23*f580d42cSArmin Le Grand 24*f580d42cSArmin Le Grand #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INFOHIERARCHYPRIMITIVE2D_HXX 25*f580d42cSArmin Le Grand #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INFOHIERARCHYPRIMITIVE2D_HXX 26*f580d42cSArmin Le Grand 27*f580d42cSArmin Le Grand #include <drawinglayer/drawinglayerdllapi.h> 28*f580d42cSArmin Le Grand #include <drawinglayer/primitive2d/groupprimitive2d.hxx> 29*f580d42cSArmin Le Grand #include <tools/string.hxx> 30*f580d42cSArmin Le Grand 31*f580d42cSArmin Le Grand ////////////////////////////////////////////////////////////////////////////// 32*f580d42cSArmin Le Grand 33*f580d42cSArmin Le Grand namespace drawinglayer 34*f580d42cSArmin Le Grand { 35*f580d42cSArmin Le Grand namespace primitive2d 36*f580d42cSArmin Le Grand { 37*f580d42cSArmin Le Grand /** ObjectInfoPrimitive2D class 38*f580d42cSArmin Le Grand 39*f580d42cSArmin Le Grand Info hierarchy helper class to hold contents like Name, Title and 40*f580d42cSArmin Le Grand Description which are valid for the child content, e.g. created for 41*f580d42cSArmin Le Grand primitives based on DrawingLayer objects or SVG parts. It decomposes 42*f580d42cSArmin Le Grand to it's content, so all direct renderers may ignore it. May e.g. 43*f580d42cSArmin Le Grand be used when re-creating graphical content from a sequence of primitives 44*f580d42cSArmin Le Grand */ 45*f580d42cSArmin Le Grand class DRAWINGLAYER_DLLPUBLIC ObjectInfoPrimitive2D : public GroupPrimitive2D 46*f580d42cSArmin Le Grand { 47*f580d42cSArmin Le Grand private: 48*f580d42cSArmin Le Grand rtl::OUString maName; 49*f580d42cSArmin Le Grand rtl::OUString maTitle; 50*f580d42cSArmin Le Grand rtl::OUString maDesc; 51*f580d42cSArmin Le Grand 52*f580d42cSArmin Le Grand public: 53*f580d42cSArmin Le Grand /// constructor 54*f580d42cSArmin Le Grand ObjectInfoPrimitive2D( 55*f580d42cSArmin Le Grand const Primitive2DSequence& rChildren, 56*f580d42cSArmin Le Grand const rtl::OUString& rName, 57*f580d42cSArmin Le Grand const rtl::OUString& rTitle, 58*f580d42cSArmin Le Grand const rtl::OUString& rDesc); 59*f580d42cSArmin Le Grand 60*f580d42cSArmin Le Grand /// data read access getName() const61*f580d42cSArmin Le Grand const rtl::OUString& getName() const { return maName; } getTitle() const62*f580d42cSArmin Le Grand const rtl::OUString& getTitle() const { return maTitle; } getDesc() const63*f580d42cSArmin Le Grand const rtl::OUString& getDesc() const { return maDesc; } 64*f580d42cSArmin Le Grand 65*f580d42cSArmin Le Grand /// compare operator 66*f580d42cSArmin Le Grand virtual bool operator==(const BasePrimitive2D& rPrimitive) const; 67*f580d42cSArmin Le Grand 68*f580d42cSArmin Le Grand /// provide unique ID 69*f580d42cSArmin Le Grand DeclPrimitrive2DIDBlock() 70*f580d42cSArmin Le Grand }; 71*f580d42cSArmin Le Grand } // end of namespace primitive2d 72*f580d42cSArmin Le Grand } // end of namespace drawinglayer 73*f580d42cSArmin Le Grand 74*f580d42cSArmin Le Grand ////////////////////////////////////////////////////////////////////////////// 75*f580d42cSArmin Le Grand 76*f580d42cSArmin Le Grand #endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INFOHIERARCHYPRIMITIVE2D_HXX 77*f580d42cSArmin Le Grand 78*f580d42cSArmin Le Grand ////////////////////////////////////////////////////////////////////////////// 79*f580d42cSArmin Le Grand // eof 80