blob: c59edea51ca0d7e5243118fb97baffb870864791 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ASH_ROUNDED_DISPLAY_ROUNDED_DISPLAY_GUTTER_FACTORY_H_
#define ASH_ROUNDED_DISPLAY_ROUNDED_DISPLAY_GUTTER_FACTORY_H_
#include <memory>
#include <vector>
#include "ash/ash_export.h"
namespace gfx {
class Size;
class RoundedCornersF;
} // namespace gfx
namespace ash {
class RoundedDisplayGutter;
class ASH_EXPORT RoundedDisplayGutterFactory {
public:
RoundedDisplayGutterFactory() = default;
RoundedDisplayGutterFactory(const RoundedDisplayGutterFactory&) = delete;
RoundedDisplayGutterFactory& operator=(const RoundedDisplayGutterFactory&) =
delete;
~RoundedDisplayGutterFactory() = default;
// Creates drawable overlay gutters. An overlay gutter is considered drawable
// if it has at least one RoundedDisplayCorners with non-zero radius.
std::vector<std::unique_ptr<RoundedDisplayGutter>> CreateOverlayGutters(
const gfx::Size& panel_size,
const gfx::RoundedCornersF& panel_radii,
bool create_vertical_gutters);
};
} // namespace ash
#endif // ASH_ROUNDED_DISPLAY_ROUNDED_DISPLAY_GUTTER_FACTORY_H_