2 * Copyright (c) 2015 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 #include <dali/public-api/shader-effects/sampler.h> // Dali::Sampler
22 #include <dali/internal/event/effects/sampler-impl.h> // Dali::Internal::Sampler
27 Sampler Sampler::New( Image& image, const std::string& textureUnitUniformName )
29 Internal::SamplerPtr sampler = Internal::Sampler::New(textureUnitUniformName);
30 Internal::ImagePtr imagePtr = &GetImplementation( image );
31 sampler->SetImage( imagePtr );
32 return Sampler( sampler.Get() );
43 Sampler::Sampler( const Sampler& handle )
48 Sampler Sampler::DownCast( BaseHandle handle )
50 return Sampler( dynamic_cast<Dali::Internal::Sampler*>(handle.GetObjectPtr()));
53 Sampler& Sampler::operator=( const Sampler& handle )
55 BaseHandle::operator=( handle );
59 void Sampler::SetUniformName( const std::string& name )
61 GetImplementation(*this).SetTextureUnitUniformName( name );
64 void Sampler::SetImage( Image& image )
66 Internal::ImagePtr imagePtr = &GetImplementation( image );
67 GetImplementation(*this).SetImage( imagePtr );
70 Image Sampler::GetImage() const
72 Internal::ImagePtr imagePtr( GetImplementation(*this).GetImage() );
73 return Dali::Image( imagePtr.Get() );
76 void Sampler::SetFilterMode( FilterMode minFilter, FilterMode magFilter )
78 GetImplementation(*this).SetFilterMode( minFilter, magFilter );
81 void Sampler::SetWrapMode( WrapMode uWrap, WrapMode vWrap )
83 GetImplementation(*this).SetWrapMode( uWrap, vWrap );
86 void Sampler::SetAffectsTransparency( bool affectsTransparency )
88 GetImplementation(*this).SetAffectsTransparency( affectsTransparency );
91 Sampler::Sampler(Internal::Sampler* pointer)