blob: 56ed4f5658b9c63a5c1303639bcb62fd2d6d6cd3 [file] [log] [blame]
// Copyright 2015 The Chromium 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 "services/gfx/compositor/compositor_impl.h"
#include <utility>
#include "services/gfx/compositor/scene_impl.h"
namespace compositor {
CompositorImpl::CompositorImpl(CompositorEngine* engine) : engine_(engine) {}
CompositorImpl::~CompositorImpl() {}
void CompositorImpl::CreateScene(
mojo::InterfaceRequest<mojo::gfx::composition::Scene> scene_request,
const mojo::String& label,
const CreateSceneCallback& callback) {
mojo::gfx::composition::SceneTokenPtr scene_token =
engine_->CreateScene(scene_request.Pass(), label);
callback.Run(scene_token.Pass());
}
void CompositorImpl::CreateRenderer(
mojo::InterfaceHandle<mojo::ContextProvider> context_provider,
mojo::InterfaceRequest<mojo::gfx::composition::Renderer> renderer_request,
const mojo::String& label) {
engine_->CreateRenderer(std::move(context_provider), renderer_request.Pass(),
label);
}
} // namespace compositor