1*4bfbcde8SAndrew Rist /************************************************************** 2*4bfbcde8SAndrew Rist * 3*4bfbcde8SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*4bfbcde8SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*4bfbcde8SAndrew Rist * distributed with this work for additional information 6*4bfbcde8SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*4bfbcde8SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*4bfbcde8SAndrew Rist * "License"); you may not use this file except in compliance 9*4bfbcde8SAndrew Rist * with the License. You may obtain a copy of the License at 10*4bfbcde8SAndrew Rist * 11*4bfbcde8SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*4bfbcde8SAndrew Rist * 13*4bfbcde8SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*4bfbcde8SAndrew Rist * software distributed under the License is distributed on an 15*4bfbcde8SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*4bfbcde8SAndrew Rist * KIND, either express or implied. See the License for the 17*4bfbcde8SAndrew Rist * specific language governing permissions and limitations 18*4bfbcde8SAndrew Rist * under the License. 19*4bfbcde8SAndrew Rist * 20*4bfbcde8SAndrew Rist *************************************************************/ 21cdf0e10cSrcweir 22cdf0e10cSrcweir #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTINGATTRIBUTE3D_HXX 23cdf0e10cSrcweir #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTINGATTRIBUTE3D_HXX 24cdf0e10cSrcweir 25090f0eb8SEike Rathke #include <drawinglayer/drawinglayerdllapi.h> 26cdf0e10cSrcweir #include <vector> 27cdf0e10cSrcweir 28cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 29cdf0e10cSrcweir // predefines 30cdf0e10cSrcweir 31cdf0e10cSrcweir namespace basegfx { 32cdf0e10cSrcweir class BColor; 33cdf0e10cSrcweir class B3DVector; 34cdf0e10cSrcweir } 35cdf0e10cSrcweir 36cdf0e10cSrcweir namespace drawinglayer { namespace attribute { 37cdf0e10cSrcweir class ImpSdrLightingAttribute; 38cdf0e10cSrcweir class Sdr3DLightAttribute; 39cdf0e10cSrcweir }} 40cdf0e10cSrcweir 41cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 42cdf0e10cSrcweir 43cdf0e10cSrcweir namespace drawinglayer 44cdf0e10cSrcweir { 45cdf0e10cSrcweir namespace attribute 46cdf0e10cSrcweir { 47090f0eb8SEike Rathke class DRAWINGLAYER_DLLPUBLIC SdrLightingAttribute 48cdf0e10cSrcweir { 49cdf0e10cSrcweir private: 50cdf0e10cSrcweir ImpSdrLightingAttribute* mpSdrLightingAttribute; 51cdf0e10cSrcweir 52cdf0e10cSrcweir public: 53cdf0e10cSrcweir /// constructors/assignmentoperator/destructor 54cdf0e10cSrcweir SdrLightingAttribute( 55cdf0e10cSrcweir const basegfx::BColor& rAmbientLight, 56cdf0e10cSrcweir const ::std::vector< Sdr3DLightAttribute >& rLightVector); 57cdf0e10cSrcweir SdrLightingAttribute(); 58cdf0e10cSrcweir SdrLightingAttribute(const SdrLightingAttribute& rCandidate); 59cdf0e10cSrcweir SdrLightingAttribute& operator=(const SdrLightingAttribute& rCandidate); 60cdf0e10cSrcweir ~SdrLightingAttribute(); 61cdf0e10cSrcweir 62cdf0e10cSrcweir // checks if the incarnation is default constructed 63cdf0e10cSrcweir bool isDefault() const; 64cdf0e10cSrcweir 65cdf0e10cSrcweir // compare operator 66cdf0e10cSrcweir bool operator==(const SdrLightingAttribute& rCandidate) const; 67cdf0e10cSrcweir 68cdf0e10cSrcweir // data read access 69cdf0e10cSrcweir const basegfx::BColor& getAmbientLight() const; 70cdf0e10cSrcweir const ::std::vector< Sdr3DLightAttribute >& getLightVector() const; 71cdf0e10cSrcweir 72cdf0e10cSrcweir // color model solver 73cdf0e10cSrcweir basegfx::BColor solveColorModel( 74cdf0e10cSrcweir const basegfx::B3DVector& rNormalInEyeCoordinates, 75cdf0e10cSrcweir const basegfx::BColor& rColor, const basegfx::BColor& rSpecular, 76cdf0e10cSrcweir const basegfx::BColor& rEmission, sal_uInt16 nSpecularIntensity) const; 77cdf0e10cSrcweir }; 78cdf0e10cSrcweir } // end of namespace attribute 79cdf0e10cSrcweir } // end of namespace drawinglayer 80cdf0e10cSrcweir 81cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////// 82cdf0e10cSrcweir 83cdf0e10cSrcweir #endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTINGATTRIBUTE3D_HXX 84cdf0e10cSrcweir 85cdf0e10cSrcweir // eof 86