chromium/ui/views/layout/layout_provider.h

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_VIEWS_LAYOUT_LAYOUT_PROVIDER_H_
#define UI_VIEWS_LAYOUT_LAYOUT_PROVIDER_H_

#include "ui/gfx/geometry/insets.h"
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/shadow_value.h"
#include "ui/views/style/typography_provider.h"
#include "ui/views/views_export.h"

namespace views {

enum InsetsMetric {};

enum DistanceMetric {};

// The type of a dialog content element. kText should be used for Labels or
// other elements that only show text. Otherwise kControl should be used.
enum class DialogContentType {};

enum class Emphasis {};

// ShapeContextTokens are enums specific to the context of a Views object.
// This includes components such as Buttons, Labels, Textfields, Dropdowns, etc.
// These context tokens are granular to the entire client and will map to
// sys token values (see below).
enum class ShapeContextTokens {};

// ShapeSysTokens are tokens that map to a fixed value that aligns with UX/UI.
// Different from context tokens that will expand, sys tokens are more selective
// and are not used by the client. Context tokens will be mapped to a
// Sys token which then will fetch the corresponding fixed value.
enum class ShapeSysTokens {};

class VIEWS_EXPORT LayoutProvider {};

}  // namespace views

#endif  // UI_VIEWS_LAYOUT_LAYOUT_PROVIDER_H_