// Copyright 2018 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.
library fuchsia.ui.policy;

/// Describes the intended usage ofthe display.
@available(deprecated=13, removed=14)
type DisplayUsage = strict enum {
    kUnknown = 0;
    /// Display is held in one or both hands.
    kHandheld = 1;
    /// Display is used well within arm's reach.
    kClose = 2;
    /// Display is used at arm's reach.
    kNear = 3;
    /// Display is used beyond arm's reach.
    kMidrange = 4;
    /// Display is used well beyond arm's reach.
    kFar = 5;
};
