1 #ifndef DALI_INTERNAL_RENDER_TEXTURE_H
2 #define DALI_INTERNAL_RENDER_TEXTURE_H
5 * Copyright (c) 2015 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
24 #include <dali/devel-api/rendering/sampler.h>
25 #include <dali/integration-api/resource-declarations.h>
36 * This class is the mapping between texture id, sampler and sampler uniform name
43 * Enumeration to tell that this sampler does not have a unique index yet
56 mTextureId( Integration::InvalidResourceId ),
57 mUniformUniqueIndex( NOT_INITIALIZED )
63 Texture( const std::string& samplerName, Integration::ResourceId textureId, Render::Sampler* sampler )
64 : mSampler( sampler ),
65 mUniformName( samplerName ),
66 mTextureId( textureId),
67 mUniformUniqueIndex( NOT_INITIALIZED )
77 * Get the Render::Sampler used by the texture
78 * @Return The Render::Sampler being used or 0 if using the default
80 inline const Render::Sampler* GetSampler() const
85 public: // called from RenderThread
88 * Get the texture unit uniform name
89 * @return the name of the texture unit uniform
91 inline const std::string& GetUniformName() const
98 * @return the id of the associated texture
100 inline Integration::ResourceId GetTextureId() const
106 * Get the Uniform unique index
107 * @return the identity of the associated texture
109 inline void SetUniformUniqueIndex( int32_t index )
111 mUniformUniqueIndex = index;
115 * Get the Uniform unique index
116 * @return the identity of the associated texture
118 inline int32_t GetUniformUniqueIndex() const
120 return mUniformUniqueIndex;
125 Render::Sampler* mSampler;
126 std::string mUniformName;
127 Integration::ResourceId mTextureId;
128 int32_t mUniformUniqueIndex;
132 } // namespace Render
134 } // namespace Internal
139 #endif // DALI_INTERNAL_RENDER_TEXTURE_H