chromium/components/eye_dropper/eye_dropper_view.h

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

#ifndef COMPONENTS_EYE_DROPPER_EYE_DROPPER_VIEW_H_
#define COMPONENTS_EYE_DROPPER_EYE_DROPPER_VIEW_H_

#include <memory>
#include <optional>

#include "base/memory/raw_ptr.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "content/public/browser/eye_dropper.h"
#include "content/public/browser/eye_dropper_listener.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_capturer.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/display/screen.h"
#include "ui/gfx/geometry/point.h"
#include "ui/views/widget/widget_delegate.h"

#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "base/scoped_observation.h"
#include "ui/aura/window_observer.h"
#endif

namespace eye_dropper {

// EyeDropperView is used on Aura platforms.
class EyeDropperView : public content::EyeDropper,
#if BUILDFLAG(IS_CHROMEOS_ASH)
                       public aura::WindowObserver,
#endif
                       public views::WidgetDelegateView {};

}  // namespace eye_dropper

#endif  // COMPONENTS_EYE_DROPPER_EYE_DROPPER_VIEW_H_