[dali_2.3.24] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / camera-view / camera-view-impl.cpp
index 9ca121b..1cc292d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -122,7 +122,7 @@ void CameraView::SetWindowSurfaceTarget()
 
   // For underlay rendering mode, camera display area have to be transparent.
   Geometry geometry = VisualFactoryCache::CreateQuadGeometry();
-  Shader   shader   = Shader::New(SHADER_VIDEO_VIEW_VERT, SHADER_VIDEO_VIEW_FRAG);
+  Shader   shader   = Shader::New(SHADER_VIDEO_VIEW_VERT, SHADER_VIDEO_VIEW_FRAG, Shader::Hint::NONE, "CAMERA_VIEW_OVERLAY");
   mOverlayRenderer  = Renderer::New(geometry, shader);
   mOverlayRenderer.SetProperty(Renderer::Property::BLEND_MODE, BlendMode::OFF);
 
@@ -145,7 +145,7 @@ void CameraView::SetNativeImageTarget()
   mNativeTexture                                  = Dali::Texture::New(*nativeImageSourcePtr);
 
   Dali::Geometry   geometry   = VisualFactoryCache::CreateQuadGeometry();
-  Dali::Shader     shader     = CreateShader(nativeImageSourcePtr->GetCustomFragmentPrefix());
+  Dali::Shader     shader     = CreateShader(nativeImageSourcePtr);
   Dali::TextureSet textureSet = Dali::TextureSet::New();
   textureSet.SetTexture(0u, mNativeTexture);
 
@@ -181,15 +181,14 @@ void CameraView::UpdateDisplayArea(Dali::PropertyNotification& source)
   mCameraPlayer.SetDisplayArea(mDisplayArea);
 }
 
-Dali::Shader CameraView::CreateShader(const char* fragmentPrefix)
+Dali::Shader CameraView::CreateShader(Dali::NativeImageSourcePtr nativeImageSourcePtr)
 {
-  std::string fragmentShader = fragmentPrefix;
-  std::string vertexShader;
+  std::string vertexShader   = SHADER_VIDEO_VIEW_TEXTURE_VERT.data();
+  std::string fragmentShader = SHADER_VIDEO_VIEW_TEXTURE_FRAG.data();
 
-  vertexShader = SHADER_VIDEO_VIEW_TEXTURE_VERT.data();
-  fragmentShader += SHADER_VIDEO_VIEW_TEXTURE_FRAG.data();
+  nativeImageSourcePtr->ApplyNativeFragmentShader(fragmentShader);
 
-  return Dali::Shader::New(vertexShader, fragmentShader);
+  return Dali::Shader::New(vertexShader, fragmentShader, Shader::Hint::NONE, "CAMERA_VIEW");
 }
 
 } // namespace Internal