mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
40 lines
1.5 KiB
Plaintext
40 lines
1.5 KiB
Plaintext
// 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.
|
|
|
|
[DartPackage="mojo_services"]
|
|
module mojo;
|
|
|
|
struct Photo {
|
|
// A string to uniquely identify an instance of a |Photo|. This can be used
|
|
// to de-duplicate photos over multiple runs on the camera roll.
|
|
string unique_id;
|
|
|
|
// Stream to read contents of the photo from.
|
|
handle<data_pipe_consumer> content;
|
|
};
|
|
|
|
// |CameraRollService| provides access to the device's camera roll.
|
|
// The camera roll is exposed as a snapshot of all photos available as a list.
|
|
// The head of the list (element with index 0) is a photo with the latest
|
|
// timestamp and subsequent elements are in decreasing order of timestamp.
|
|
[ServiceName="mojo::CameraRollService"]
|
|
interface CameraRollService {
|
|
// Updates the snapshot of all photos available. Photos might have been added
|
|
// or removed after the service was started or |Update| was called.
|
|
Update();
|
|
// Get the number of photos available in the current snapshot.
|
|
GetCount() => (uint32 num_photos);
|
|
// Get the photo from the current snapshot at |index|. null will be returned
|
|
// if such an index is out-of-bounds.
|
|
GetPhoto(uint32 index) => (Photo? photo);
|
|
};
|
|
|
|
// |CameraService| provides access to the device's camera video stream.
|
|
[ServiceName="mojo::CameraService"]
|
|
interface CameraService {
|
|
// Returns the most recent frame captured by the device's camera
|
|
// in preview mode.
|
|
GetLatestFrame() => (handle<data_pipe_consumer>? content);
|
|
};
|