/*
- * 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.
// Test pixel area property
ToolkitTestApplication application;
+ static std::vector<UniformData> customUniforms =
+ {
+ UniformData("pixelArea", Property::Type::VECTOR4),
+ };
+
+ TestGraphicsController& graphics = application.GetGraphicsController();
+ graphics.AddCustomUniforms(customUniforms);
+
// Gif image, use AnimatedImageVisual internally
// Atlasing is applied to pack multiple frames, use custom wrap mode
ImageView gifView = ImageView::New();
callStack.Enable(false);
TraceCallStack::NamedParams params;
- params["width"] = ToString(34);
- params["height"] = ToString(34);
- DALI_TEST_EQUALS( callStack.FindMethodAndParams( "TexSubImage2D", params ), true, TEST_LOCATION );
+ params["width"] << 34;
+ params["height"] << 34;
+DALI_TEST_EQUALS( callStack.FindMethodAndParams( "TexSubImage2D", params ), true, TEST_LOCATION );
END_TEST;
}
callStack.Enable(false);
TraceCallStack::NamedParams params;
- params["width"] = ToString(34);
- params["height"] = ToString(34);
+ params["width"] << 34;
+ params["height"] << 34;
DALI_TEST_EQUALS( callStack.FindMethodAndParams( "TexSubImage2D", params ), true, TEST_LOCATION );
END_TEST;
application.Render(16);
TraceCallStack::NamedParams params;
- params["width"] = ToString(34);
- params["height"] = ToString(34);
+ params["width"] << 34;
+ params["height"] << 34;
DALI_TEST_EQUALS( callStack.FindMethodAndParams( "TexSubImage2D", params ),
true, TEST_LOCATION );
}
application.Render(16);
TraceCallStack::NamedParams params;
- params["width"] = ToString(34);
- params["height"] = ToString(34);
+ params["width"] << 34;
+ params["height"] << 34;
DALI_TEST_EQUALS( callStack.FindMethodAndParams( "TexSubImage2D", params ),
true, TEST_LOCATION );
}
application.GetScene().Add( imageView );
application.SendNotification();
-
- // loading started, this waits for the loader thread
- DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
-
- application.SendNotification();
application.Render(16);
DALI_TEST_EQUALS( gResourceReadySignalFired, true, TEST_LOCATION );
application.GetScene().Add( imageView );
application.SendNotification();
-
- // loading started, this waits for the loader thread
- DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
-
- application.SendNotification();
application.Render(16);
DALI_TEST_EQUALS( gResourceReadySignalFired, true, TEST_LOCATION );
}
}
+void OnResourceReadySignal01( Control control )
+{
+ if(++gResourceReadySignalCounter == 1)
+ {
+ // It makes the first new visual be deleted immediately
+ // The first image will not be loaded.
+ control[ImageView::Property::IMAGE] = Property::Map().Add(ImageVisual::Property::URL, gImage_600_RGB)
+ .Add(ImageVisual::Property::RELEASE_POLICY, ImageVisual::ReleasePolicy::NEVER);
+ control[ImageView::Property::IMAGE] = TEST_IMAGE_1;
+ }
}
-int UtcDaliImageViewSetImageOnResourceReadySignal(void)
+}
+
+int UtcDaliImageViewSetImageOnResourceReadySignal01(void)
{
tet_infoline("Test setting image from within signal handler.");
END_TEST;
}
+
+int UtcDaliImageViewSetImageOnResourceReadySignal02(void)
+{
+ tet_infoline("Test setting image from within signal handler.");
+
+ ToolkitTestApplication application;
+
+ gResourceReadySignalCounter = 0;
+
+ ImageView imageView = ImageView::New( gImage_34_RGBA );
+ imageView.ResourceReadySignal().Connect( &OnResourceReadySignal01 );
+
+ application.GetScene().Add( imageView );
+
+ DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
+
+ application.SendNotification();
+ application.Render();
+
+ // Wait for loading an image
+ DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
+
+ DALI_TEST_EQUALS( gResourceReadySignalCounter, 2, TEST_LOCATION );
+
+ DALI_TEST_EQUALS( imageView.IsResourceReady(), true, TEST_LOCATION );
+
+ END_TEST;
+}