#ifndef UI_DISPLAY_SCREEN_H_
#define UI_DISPLAY_SCREEN_H_
#include <memory>
#include <optional>
#include <set>
#include <vector>
#include "base/location.h"
#include "base/memory/raw_ptr.h"
#include "base/values.h"
#include "build/build_config.h"
#include "ui/display/display.h"
#include "ui/display/display_export.h"
#include "ui/display/screen_infos.h"
#include "ui/gfx/gpu_extra_info.h"
#include "ui/gfx/native_widget_types.h"
namespace base {
class TimeDelta;
}
namespace gfx {
class Point;
class Rect;
}
namespace display {
class DisplayObserver;
enum class TabletState;
class DISPLAY_EXPORT Screen { … };
#if BUILDFLAG(IS_APPLE)
DISPLAY_EXPORT Screen* CreateNativeScreen();
class DISPLAY_EXPORT ScopedNativeScreen final {
public:
explicit ScopedNativeScreen(const base::Location& location = FROM_HERE);
ScopedNativeScreen(const ScopedNativeScreen&) = delete;
ScopedNativeScreen& operator=(const ScopedNativeScreen&) = delete;
~ScopedNativeScreen();
private:
std::unique_ptr<Screen> screen_;
};
#endif
}
#endif