return false;
}
- Size size;
+ Size size{};
};
+int UtcDaliRendererSetRenderCallbackP(void)
+{
+ tet_infoline("Testing Renderer:LSetRenderCallback()");
+ TestApplication application;
+
+ DrawableObject drawable{};
+
+ auto callback = RenderCallback::New<DrawableObject>(&drawable, &DrawableObject::Render);
+
+ Actor actor = Actor::New();
+ application.GetScene().Add(actor);
+
+ actor.SetProperty(Actor::Property::SIZE, Vector2(100, 100));
+
+ auto renderer = Renderer::New(*callback);
+ actor.AddRenderer(renderer);
+
+ // flush the queue and render once
+ application.SendNotification();
+ application.Render();
+
+ // Check the size (whether callback has been called)
+ auto size(drawable.size);
+ DALI_TEST_EQUALS(drawable.size, Size(100, 100), TEST_LOCATION);
+
+ END_TEST;
+}
+
int UtcDaliDrawableActor1P(void)
{
tet_infoline("Testing DrawableActor");
return Renderer(renderer.Get());
}
+Renderer Renderer::New(RenderCallback& renderCallback)
+{
+ Internal::RendererPtr renderer = Internal::Renderer::New();
+ renderer->SetRenderCallback(&renderCallback);
+ return Renderer(renderer.Get());
+}
+
Renderer::Renderer() = default;
Renderer::~Renderer() = default;
static Renderer New(Geometry& geometry, Shader& shader);
/**
+ * @brief Creates a new Renderer object with RenderCallback.
+ *
+ * @SINCE_2_1.18
+ * @param[in] renderCallback Valid RenderCallback
+ * @return A handle to the Renderer
+ */
+ static Renderer New(RenderCallback& renderCallback);
+
+ /**
* @brief Default constructor, creates an empty handle
*
* @SINCE_1_1.43