blob: b6c8be5aacd47e8b7d7611b2ab7100c7528b39cd [file] [log] [blame]
// Copyright 2019 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_CONTROLS_COMBOBOX_COMBOBOX_UTIL_H_
#define UI_VIEWS_CONTROLS_COMBOBOX_COMBOBOX_UTIL_H_
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/geometry/size.h"
// Constants and functions common to combobox-like controls so we can reuse code
// and keep the same visual style.
namespace gfx {
class Canvas;
class Rect;
} // namespace gfx
namespace views {
class Button;
// Constants for the size of the combobox arrow.
inline constexpr gfx::Size ComboboxArrowSize() {
return gfx::Size(/*width=*/8, /*height=*/4);
}
inline constexpr int kComboboxArrowPaddingWidth = 4;
int GetComboboxArrowContainerWidthAndMargins();
int GetComboboxArrowContainerWidth();
// Paints the arrow for a combobox.
void PaintComboboxArrow(SkColor color,
const gfx::Rect& bounds,
gfx::Canvas* canvas);
void ConfigureComboboxButtonInkDrop(Button* host_view);
} // namespace views
#endif // UI_VIEWS_CONTROLS_COMBOBOX_COMBOBOX_UTIL_H_