X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftest-actor-utils.cpp;h=bf62bb8b4fd9e4157fe77754e558a632261c4d5f;hb=6a219d0bbcfd016e24b5466d5fb1a666c92feae5;hp=38eb0b22c0b1feb77253abb66a1cfae5797b2c88;hpb=8e7cfd0c114bf778287cc6e67d0f42f3c866e205;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-actor-utils.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-actor-utils.cpp index 38eb0b22..bf62bb8 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-actor-utils.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-actor-utils.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 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. @@ -20,78 +20,115 @@ // EXTERNAL INCLUDES #include -#include // INTERNAL INCLUDES #include "mesh-builder.h" namespace Dali { - namespace { - const char* VERTEX_SHADER = DALI_COMPOSE_SHADER( - attribute mediump vec2 aPosition;\n - uniform mediump mat4 uMvpMatrix;\n - uniform mediump vec3 uSize;\n - \n - void main()\n - {\n - mediump vec4 vertexPosition = vec4(aPosition, 0.0, 1.0);\n - vertexPosition.xyz *= uSize;\n - gl_Position = uMvpMatrix * vertexPosition;\n - }\n -); + attribute mediump vec2 aPosition;\n + uniform mediump mat4 uMvpMatrix;\n + uniform mediump vec3 uSize;\n + \n void main()\n { + \n + mediump vec4 vertexPosition = vec4(aPosition, 0.0, 1.0); + \n + vertexPosition.xyz *= uSize; + \n + gl_Position = uMvpMatrix * vertexPosition; + \n + }\n); const char* FRAGMENT_SHADER = DALI_COMPOSE_SHADER( uniform lowp vec4 uColor;\n - \n - void main()\n - {\n - gl_FragColor = uColor;\n - }\n -); + \n void main()\n { + \n + gl_FragColor = uColor; + \n + }\n); } // unnamed namespace Actor CreateRenderableActor() { - return CreateRenderableActor( Image(), VERTEX_SHADER, FRAGMENT_SHADER ); + return CreateRenderableActor(Texture(), VERTEX_SHADER, FRAGMENT_SHADER); } -Actor CreateRenderableActor( Image texture ) +Actor CreateRenderableActor(Texture texture) { - return CreateRenderableActor( texture, VERTEX_SHADER, FRAGMENT_SHADER ); + return CreateRenderableActor(texture, VERTEX_SHADER, FRAGMENT_SHADER); } -Actor CreateRenderableActor( Image texture, const std::string& vertexShader, const std::string& fragmentShader ) +Actor CreateRenderableActor(Texture texture, const std::string& vertexShader, const std::string& fragmentShader) { // Create the geometry Geometry geometry = CreateQuadGeometry(); // Create Shader - Shader shader = Shader::New( vertexShader, fragmentShader ); + Shader shader = Shader::New(vertexShader, fragmentShader); // Create renderer from geometry and material - Renderer renderer = Renderer::New( geometry, shader ); + Renderer renderer = Renderer::New(geometry, shader); // Create actor and set renderer Actor actor = Actor::New(); - actor.AddRenderer( renderer ); + actor.AddRenderer(renderer); // If we a texture, then create a texture-set and add to renderer - if( texture ) + if(texture) { TextureSet textureSet = TextureSet::New(); - TextureSetImage( textureSet, 0u, texture ); - renderer.SetTextures( textureSet ); + textureSet.SetTexture(0u, texture); + renderer.SetTextures(textureSet); // Set actor to the size of the texture if set - actor.SetSize( texture.GetWidth(), texture.GetHeight() ); + actor.SetProperty(Actor::Property::SIZE, Vector2(texture.GetWidth(), texture.GetHeight())); } return actor; } +Actor CreateRenderableActor2(TextureSet textures, const std::string& vertexShader, const std::string& fragmentShader) +{ + // Create the geometry + Geometry geometry = CreateQuadGeometry(); + + // Create Shader + Shader shader = Shader::New(vertexShader, fragmentShader); + + // Create renderer from geometry and material + Renderer renderer = Renderer::New(geometry, shader); + + // Create actor and set renderer + Actor actor = Actor::New(); + actor.AddRenderer(renderer); + + // If we a texture, then create a texture-set and add to renderer + if(textures) + { + renderer.SetTextures(textures); + + auto texture = textures.GetTexture(0); + + // Set actor to the size of the texture if set + actor.SetProperty(Actor::Property::SIZE, Vector2(texture.GetWidth(), texture.GetHeight())); + } + + return actor; +} + +Texture CreateTexture(TextureType::Type type, Pixel::Format format, int width, int height) +{ + Texture texture = Texture::New(type, format, width, height); + + int bufferSize = width * height * 2; + uint8_t* buffer = reinterpret_cast(malloc(bufferSize)); + PixelData pixelData = PixelData::New(buffer, bufferSize, width, height, format, PixelData::FREE); + texture.Upload(pixelData, 0u, 0u, 0u, 0u, width, height); + return texture; +} + } // namespace Dali