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 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDROBJECTATTRIBUTE3D_HXX 23 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDROBJECTATTRIBUTE3D_HXX 24 25 #include <drawinglayer/drawinglayerdllapi.h> 26 #include <com/sun/star/drawing/NormalsKind.hpp> 27 #include <com/sun/star/drawing/TextureProjectionMode.hpp> 28 #include <com/sun/star/drawing/TextureKind2.hpp> 29 #include <com/sun/star/drawing/TextureMode.hpp> 30 31 ////////////////////////////////////////////////////////////////////////////// 32 // predefines 33 34 namespace drawinglayer { namespace attribute { 35 class ImpSdr3DObjectAttribute; 36 class MaterialAttribute3D; 37 }} 38 39 ////////////////////////////////////////////////////////////////////////////// 40 41 namespace drawinglayer 42 { 43 namespace attribute 44 { 45 class DRAWINGLAYER_DLLPUBLIC Sdr3DObjectAttribute 46 { 47 private: 48 ImpSdr3DObjectAttribute* mpSdr3DObjectAttribute; 49 50 public: 51 // constructors/destructor 52 Sdr3DObjectAttribute( 53 ::com::sun::star::drawing::NormalsKind aNormalsKind, 54 ::com::sun::star::drawing::TextureProjectionMode aTextureProjectionX, 55 ::com::sun::star::drawing::TextureProjectionMode aTextureProjectionY, 56 ::com::sun::star::drawing::TextureKind2 aTextureKind, 57 ::com::sun::star::drawing::TextureMode aTextureMode, 58 const MaterialAttribute3D& rMaterial, 59 bool bNormalsInvert, 60 bool bDoubleSided, 61 bool bShadow3D, 62 bool bTextureFilter, 63 bool bReducedLineGeometry); 64 Sdr3DObjectAttribute(); 65 Sdr3DObjectAttribute(const Sdr3DObjectAttribute& rCandidate); 66 ~Sdr3DObjectAttribute(); 67 68 // assignment operator 69 Sdr3DObjectAttribute& operator=(const Sdr3DObjectAttribute& rCandidate); 70 71 // checks if the incarnation is default constructed 72 bool isDefault() const; 73 74 // compare operator 75 bool operator==(const Sdr3DObjectAttribute& rCandidate) const; 76 77 // data read access 78 ::com::sun::star::drawing::NormalsKind getNormalsKind() const; 79 ::com::sun::star::drawing::TextureProjectionMode getTextureProjectionX() const; 80 ::com::sun::star::drawing::TextureProjectionMode getTextureProjectionY() const; 81 ::com::sun::star::drawing::TextureKind2 getTextureKind() const; 82 ::com::sun::star::drawing::TextureMode getTextureMode() const; 83 const MaterialAttribute3D& getMaterial() const; 84 bool getNormalsInvert() const; 85 bool getDoubleSided() const; 86 bool getShadow3D() const; 87 bool getTextureFilter() const; 88 bool getReducedLineGeometry() const; 89 }; 90 } // end of namespace attribute 91 } // end of namespace drawinglayer 92 93 ////////////////////////////////////////////////////////////////////////////// 94 95 #endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDROBJECTATTRIBUTE3D_HXX 96 97 // eof 98