/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
// INTERNAL INCLUDES
#include <dali/integration-api/debug.h>
#include <dali/integration-api/render-controller.h>
+#include <dali/integration-api/trace.h>
#include <dali/internal/event/actors/actor-impl.h>
#include <dali/internal/event/common/stage-impl.h>
#include <dali/internal/event/common/thread-local-storage.h>
{
namespace
{
+DALI_INIT_TRACE_FILTER(gTraceFilter, DALI_TRACE_PERFORMANCE_MARKER, false);
+
#if defined(DEBUG_ENABLED)
Integration::Log::Filter* gLogFilter(Integration::Log::Filter::New(Debug::NoLogging, false, "LOG_RELAYOUT_CONTROLLER"));
// 2. Iterate through the stack until it's empty.
if(mRelayoutStack->Size() > 0)
{
+ DALI_TRACE_BEGIN(gTraceFilter, "DALI_RELAYOUT");
PRINT_HIERARCHY;
while(mRelayoutStack->Size() > 0)
Actor& actorImpl = GetImplementation(actor);
mRelayoutStack->PopBack();
- if(actorImpl.RelayoutRequired())
+ if(actorImpl.RelayoutRequired() && actorImpl.OnScene())
{
DALI_LOG_INFO(gLogFilter, Debug::General, "[Internal::RelayoutController::Relayout] Negotiating %p %s %s (%.2f, %.2f)\n", &actorImpl, actor.GetTypeName().c_str(), actor.GetProperty<std::string>(Dali::Actor::Property::NAME).c_str(), size.width, size.height);
mRelayoutInfoAllocator.ResetMemoryPool();
PRINT_HIERARCHY;
+ DALI_TRACE_END(gTraceFilter, "DALI_RELAYOUT");
}
mPerformingRelayout = false;
}
}
+uint32_t RelayoutController::GetMemoryPoolCapacity()
+{
+ return mRelayoutInfoAllocator.GetCapacity();
+}
+
} // namespace Internal
} // namespace Dali