blob: d23c247f799fc43fb36603df5ad1222464450f3a [file] [log] [blame]
// Copyright 2017 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#pragma once
#include "lib/fidl/cpp/bindings/binding_set.h"
#include "lib/images/fidl/image_pipe.fidl.h"
namespace scene_manager {
class ImagePipe;
class ImagePipeHandler : public scenic::ImagePipe {
public:
ImagePipeHandler(::fidl::InterfaceRequest<scenic::ImagePipe> request,
scene_manager::ImagePipe* image_pipe);
private:
void AddImage(uint32_t image_id,
scenic::ImageInfoPtr image_info,
zx::vmo memory,
scenic::MemoryType memory_type,
uint64_t memory_offset) override;
void RemoveImage(uint32_t image_id) override;
void PresentImage(uint32_t image_id,
uint64_t presentation_time,
::fidl::Array<zx::event> acquire_fences,
::fidl::Array<zx::event> release_fences,
const PresentImageCallback& callback) override;
::fidl::Binding<scenic::ImagePipe> binding_;
scene_manager::ImagePipe* image_pipe_;
};
} // namespace scene_manager