xref: /trunk/main/drawinglayer/source/primitive2d/groupprimitive2d.cxx (revision a3cdc23e488c57f3433f22cd4458e65c27aa499c)
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 // MARKER(update_precomp.py): autogen include statement, do not remove
23 #include "precompiled_drawinglayer.hxx"
24 
25 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
26 #include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx>
27 
28 using namespace com::sun::star;
29 
30 namespace drawinglayer
31 {
32     namespace primitive2d
33     {
34         GroupPrimitive2D::GroupPrimitive2D( const Primitive2DSequence& rChildren )
35         :   BasePrimitive2D(),
36             maChildren(rChildren)
37         {
38         }
39 
40         /** The compare operator uses the Sequence::==operator, so only checking if
41             the references are equal. All non-equal references are interpreted as
42             non-equal.
43          */
44         bool GroupPrimitive2D::operator==( const BasePrimitive2D& rPrimitive ) const
45         {
46             if(BasePrimitive2D::operator==(rPrimitive))
47             {
48                 const GroupPrimitive2D& rCompare = static_cast< const GroupPrimitive2D& >(rPrimitive);
49 
50                 return (arePrimitive2DSequencesEqual(getChildren(), rCompare.getChildren()));
51             }
52 
53             return false;
54         }
55 
56         // default: just return children, so all renderers not supporting group will use its content
57         Primitive2DSequence GroupPrimitive2D::get2DDecomposition(const geometry::ViewInformation2D& /*rViewInformation*/) const
58         {
59             return getChildren();
60         }
61 
62         // provide unique ID
63         ImplPrimitrive2DIDBlock(GroupPrimitive2D, PRIMITIVE2D_ID_GROUPPRIMITIVE2D)
64 
65     } // end of namespace primitive2d
66 } // end of namespace drawinglayer
67 
68 /* vim: set noet sw=4 ts=4: */
69