blob: 297009d90845b95185bf94207eaa3b56915e0979 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "impeller/entity/entity_playground.h"
#include "impeller/entity/contents/content_context.h"
namespace impeller {
EntityPlayground::EntityPlayground() = default;
EntityPlayground::~EntityPlayground() = default;
bool EntityPlayground::OpenPlaygroundHere(Entity entity) {
if (!Playground::is_enabled()) {
return true;
}
ContentContext content_context(GetContext());
if (!content_context.IsValid()) {
return false;
}
SinglePassCallback callback = [&](RenderPass& pass) -> bool {
return entity.Render(content_context, pass);
};
return Playground::OpenPlaygroundHere(callback);
}
bool EntityPlayground::OpenPlaygroundHere(EntityPlaygroundCallback callback) {
if (!Playground::is_enabled()) {
return true;
}
ContentContext content_context(GetContext());
if (!content_context.IsValid()) {
return false;
}
SinglePassCallback pass_callback = [&](RenderPass& pass) -> bool {
return callback(content_context, pass);
};
return Playground::OpenPlaygroundHere(pass_callback);
}
} // namespace impeller