chromium/chromeos/ui/frame/highlight_border_overlay.h

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

#ifndef CHROMEOS_UI_FRAME_HIGHLIGHT_BORDER_OVERLAY_H_
#define CHROMEOS_UI_FRAME_HIGHLIGHT_BORDER_OVERLAY_H_

#include "ui/aura/window_observer.h"
#include "ui/compositor/layer.h"
#include "ui/display/display_observer.h"
#include "ui/display/tablet_state.h"

namespace gfx {
class Canvas;
}  // namespace gfx

namespace views {
class Widget;
}  // namespace views

// `HighlightBorderOverlay` is mainly used to add highlight border on the
// windows whose client area spans the entire width of the widget. To prevent
// the border from being covered by the client view, the class creates a nine
// patch layer painted with a highlight border and overlay on the widget. The
// inner border covers on the window contents and outer border is outside the
// window. It uses `kHighlightBorder3` as its border type which has low opacity
// of outer border.
class HighlightBorderOverlay : public aura::WindowObserver,
                               public display::DisplayObserver {};

#endif  // CHROMEOS_UI_FRAME_HIGHLIGHT_BORDER_OVERLAY_H_