blob: 70758130f40bd17992d9d6948db4d24534824c84 [file] [log] [blame]
// Copyright 2016 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.
module shape_detection.mojom;
import "skia/public/interfaces/bitmap.mojom";
import "ui/gfx/geometry/mojo/geometry.mojom";
enum LandmarkType { MOUTH, EYE, NOSE };
struct Landmark {
array<gfx.mojom.PointF> locations;
LandmarkType type;
// Since "//ui/gfx/geometry/mojo" is not exposed to blink, we need to declare
// a wrapper struct, so that gfx.mojom.RectF will not be directly referenced
// inside Blink, and browser can still use gfx types.
struct FaceDetectionResult {
gfx.mojom.RectF bounding_box;
array<Landmark> landmarks;
struct FaceDetectorOptions {
uint32 max_detected_faces;
bool fast_mode;
interface FaceDetection {
// |bitmap_data| contains tightly packed image pixels in row-major order.
Detect(skia.mojom.Bitmap bitmap_data)
=> (array<FaceDetectionResult> results);