/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2021 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.
#include <cstring>
// INTERNAL INCLUDES
-#include "shared/utility.h"
-#include "generated/native-image-source-texture-vert.h"
#include "generated/native-image-source-texture-frag.h"
+#include "generated/native-image-source-texture-vert.h"
+#include "shared/utility.h"
using namespace Dali;
using namespace Toolkit;
*/
Shader CreateShader(NativeImageInterface& nativeImage)
{
- static const char* DEFAULT_SAMPLER_TYPENAME = "sampler2D";
-
std::string fragmentShader;
//Get custom fragment shader prefix
- const char* fragmentPrefix = nativeImage.GetCustomFragmentPrefix();
- if(fragmentPrefix)
- {
- fragmentShader = fragmentPrefix;
- fragmentShader += SHADER_NATIVE_IMAGE_SOURCE_TEXTURE_FRAG.data();
- }
- else
- {
- fragmentShader = SHADER_NATIVE_IMAGE_SOURCE_TEXTURE_FRAG.data();
- }
-
- //Get custom sampler type name
- const char* customSamplerTypename = nativeImage.GetCustomSamplerTypename();
- if(customSamplerTypename)
- {
- fragmentShader.replace(fragmentShader.find(DEFAULT_SAMPLER_TYPENAME), strlen(DEFAULT_SAMPLER_TYPENAME), customSamplerTypename);
- }
+ fragmentShader = SHADER_NATIVE_IMAGE_SOURCE_TEXTURE_FRAG.data();
+ nativeImage.ApplyNativeFragmentShader(fragmentShader);
return Shader::New(SHADER_NATIVE_IMAGE_SOURCE_TEXTURE_VERT, fragmentShader);
}