1*3334a7e6SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*3334a7e6SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*3334a7e6SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*3334a7e6SAndrew Rist * distributed with this work for additional information 6*3334a7e6SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*3334a7e6SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*3334a7e6SAndrew Rist * "License"); you may not use this file except in compliance 9*3334a7e6SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*3334a7e6SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*3334a7e6SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*3334a7e6SAndrew Rist * software distributed under the License is distributed on an 15*3334a7e6SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*3334a7e6SAndrew Rist * KIND, either express or implied. See the License for the 17*3334a7e6SAndrew Rist * specific language governing permissions and limitations 18*3334a7e6SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*3334a7e6SAndrew Rist *************************************************************/ 21*3334a7e6SAndrew Rist 22*3334a7e6SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef INCLUDED_SDR_PRIMITIVE2D_SDROLECONTENTPRIMITIVE2D_HXX 25cdf0e10cSrcweir #define INCLUDED_SDR_PRIMITIVE2D_SDROLECONTENTPRIMITIVE2D_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <drawinglayer/primitive2d/baseprimitive2d.hxx> 28cdf0e10cSrcweir #include <basegfx/matrix/b2dhommatrix.hxx> 29cdf0e10cSrcweir #include <svx/svdobj.hxx> 30cdf0e10cSrcweir 31cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 32cdf0e10cSrcweir // predefinitions 33cdf0e10cSrcweir 34cdf0e10cSrcweir class SdrOle2Obj; 35cdf0e10cSrcweir 36cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 37cdf0e10cSrcweir 38cdf0e10cSrcweir namespace drawinglayer 39cdf0e10cSrcweir { 40cdf0e10cSrcweir namespace primitive2d 41cdf0e10cSrcweir { 42cdf0e10cSrcweir class SdrOleContentPrimitive2D : public BufferedDecompositionPrimitive2D 43cdf0e10cSrcweir { 44cdf0e10cSrcweir private: 45cdf0e10cSrcweir SdrObjectWeakRef mpSdrOle2Obj; 46cdf0e10cSrcweir basegfx::B2DHomMatrix maObjectTransform; 47cdf0e10cSrcweir 48cdf0e10cSrcweir // #i104867# The GraphicVersion number to identify in operator== if 49cdf0e10cSrcweir // the graphic has changed, but without fetching it (which may 50cdf0e10cSrcweir // be expensive, e.g. triggering chart creation) 51cdf0e10cSrcweir sal_uInt32 mnGraphicVersion; 52cdf0e10cSrcweir 53cdf0e10cSrcweir // bitfield 54cdf0e10cSrcweir unsigned mbHighContrast : 1; 55cdf0e10cSrcweir 56cdf0e10cSrcweir protected: 57cdf0e10cSrcweir // local decomposition. 58cdf0e10cSrcweir virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const; 59cdf0e10cSrcweir 60cdf0e10cSrcweir public: 61cdf0e10cSrcweir SdrOleContentPrimitive2D( 62cdf0e10cSrcweir const SdrOle2Obj& rSdrOle2Obj, 63cdf0e10cSrcweir const basegfx::B2DHomMatrix& rObjectTransform, 64cdf0e10cSrcweir sal_uInt32 nGraphicVersion, 65cdf0e10cSrcweir bool bHighContrast); 66cdf0e10cSrcweir 67cdf0e10cSrcweir // compare operator 68cdf0e10cSrcweir virtual bool operator==(const BasePrimitive2D& rPrimitive) const; 69cdf0e10cSrcweir 70cdf0e10cSrcweir // The default implementation will use getDecomposition results to create the range 71cdf0e10cSrcweir virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const; 72cdf0e10cSrcweir 73cdf0e10cSrcweir // data access getObjectTransform() const74cdf0e10cSrcweir const basegfx::B2DHomMatrix& getObjectTransform() const { return maObjectTransform; } getGraphicVersion() const75cdf0e10cSrcweir sal_uInt32 getGraphicVersion() const { return mnGraphicVersion; } getHighContrast() const76cdf0e10cSrcweir bool getHighContrast() const { return mbHighContrast; } 77cdf0e10cSrcweir 78cdf0e10cSrcweir // provide unique ID 79cdf0e10cSrcweir DeclPrimitrive2DIDBlock() 80cdf0e10cSrcweir }; 81cdf0e10cSrcweir } // end of namespace primitive2d 82cdf0e10cSrcweir } // end of namespace drawinglayer 83cdf0e10cSrcweir 84cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 85cdf0e10cSrcweir 86cdf0e10cSrcweir #endif //INCLUDED_SDR_PRIMITIVE2D_SDROLECONTENTPRIMITIVE2D_HXX 87cdf0e10cSrcweir 88cdf0e10cSrcweir // eof 89