DoUpdate(intervalMilliseconds, location);
mCore->PreRender(mRenderStatus, false /*do not force clear*/, false /*do not skip rendering*/);
- mCore->PreRender(mScene, damagedRects);
+ mCore->PreRender(mRenderStatus, mScene, damagedRects);
return mStatus.KeepUpdating() || mRenderStatus.NeedsUpdate();
}
mImpl->PreRender(status, forceClear, uploadOnly);
}
-void Core::PreRender(Integration::Scene& scene, std::vector<Rect<int>>& damagedRects)
+void Core::PreRender(RenderStatus& status, Integration::Scene& scene, std::vector<Rect<int>>& damagedRects)
{
- mImpl->PreRender(scene, damagedRects);
+ mImpl->PreRender(status, scene, damagedRects);
}
void Core::RenderScene(RenderStatus& status, Integration::Scene& scene, bool renderToFbo)
* @param[in] scene The scene to be rendered.
* @param[out] damagedRects containing damaged render items rects for this pass.
*/
- void PreRender(Integration::Scene& scene, std::vector<Rect<int>>& damagedRects);
+ void PreRender(RenderStatus& status, Integration::Scene& scene, std::vector<Rect<int>>& damagedRects);
/**
* Render a scene in the next frame. This method should be preceded by a call up PreRender.
mRenderManager->PreRender(status, forceClear, uploadOnly);
}
-void Core::PreRender(Integration::Scene& scene, std::vector<Rect<int>>& damagedRects)
+void Core::PreRender(RenderStatus& status, Integration::Scene& scene, std::vector<Rect<int>>& damagedRects)
{
- mRenderManager->PreRender(scene, damagedRects);
+ mRenderManager->PreRender(status, scene, damagedRects);
}
void Core::RenderScene(RenderStatus& status, Integration::Scene& scene, bool renderToFbo)
/**
* @copydoc Dali::Integration::Core::PreRender()
*/
- void PreRender(Integration::Scene& scene, std::vector<Rect<int>>& damagedRects);
+ void PreRender(Integration::RenderStatus& status, Integration::Scene& scene, std::vector<Rect<int>>& damagedRects);
/**
* @copydoc Dali::Integration::Core::RenderScene()
}
}
-void RenderManager::PreRender(Integration::Scene& scene, std::vector<Rect<int>>& damagedRects)
+void RenderManager::PreRender(Integration::RenderStatus& status, Integration::Scene& scene, std::vector<Rect<int>>& damagedRects)
{
if(mImpl->partialUpdateAvailable != Integration::PartialUpdateAvailable::TRUE)
{
if(sceneObject->IsRenderingSkipped())
{
// We don't need to calculate dirty rects
+ status.SetNeedsUpdate(false);
return;
}
+ status.SetNeedsUpdate(true);
+
class DamagedRectsCleaner
{
public:
* @param[in] scene The scene to be rendered.
* @param[out] damagedRects The list of damaged rects for the current render pass.
*/
- void PreRender(Integration::Scene& scene, std::vector<Rect<int>>& damagedRects);
+ void PreRender(Integration::RenderStatus& status, Integration::Scene& scene, std::vector<Rect<int>>& damagedRects);
// This method should be called from Core::RenderScene()