1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 11 * Licensed to the Apache Software Foundation (ASF) under one or more 12 * contributor license agreements. See the NOTICE file distributed 13 * with this work for additional information regarding copyright 14 * ownership. The ASF licenses this file to you under the Apache 15 * License, Version 2.0 (the "License"); you may not use this file 16 * except in compliance with the License. You may obtain a copy of 17 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 18 */ 19 20 #include <drawinglayer/primitive2d/transformprimitive2d.hxx> 21 #include <basegfx/utils/canvastools.hxx> 22 #include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx> 23 24 25 using namespace com::sun::star; 26 27 28 namespace drawinglayer 29 { 30 namespace primitive2d 31 { TransformPrimitive2D(const basegfx::B2DHomMatrix & rTransformation,const Primitive2DContainer & rChildren)32 TransformPrimitive2D::TransformPrimitive2D( 33 const basegfx::B2DHomMatrix& rTransformation, 34 const Primitive2DContainer& rChildren) 35 : GroupPrimitive2D(rChildren), 36 maTransformation(rTransformation) 37 { 38 } 39 operator ==(const BasePrimitive2D & rPrimitive) const40 bool TransformPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const 41 { 42 if(GroupPrimitive2D::operator==(rPrimitive)) 43 { 44 const TransformPrimitive2D& rCompare = static_cast< const TransformPrimitive2D& >(rPrimitive); 45 46 return (getTransformation() == rCompare.getTransformation()); 47 } 48 49 return false; 50 } 51 getB2DRange(const geometry::ViewInformation2D & rViewInformation) const52 basegfx::B2DRange TransformPrimitive2D::getB2DRange(const geometry::ViewInformation2D& rViewInformation) const 53 { 54 basegfx::B2DRange aRetval(getChildren().getB2DRange(rViewInformation)); 55 aRetval.transform(getTransformation()); 56 return aRetval; 57 } 58 59 // provide unique ID 60 ImplPrimitive2DIDBlock(TransformPrimitive2D, PRIMITIVE2D_ID_TRANSFORMPRIMITIVE2D) 61 62 } // end of namespace primitive2d 63 } // end of namespace drawinglayer 64 65 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 66