Chromium Code Reviews| Index: chrome/browser/ui/monitor_info_provider.h |
| diff --git a/chrome/browser/ui/monitor_info_provider.h b/chrome/browser/ui/monitor_info_provider.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f28d5c021fafc4e1fe25a954550c420a2bd71df0 |
| --- /dev/null |
| +++ b/chrome/browser/ui/monitor_info_provider.h |
| @@ -0,0 +1,59 @@ |
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHROME_BROWSER_UI_MONITOR_INFO_PROVIDER_H_ |
| +#define CHROME_BROWSER_UI_MONITOR_INFO_PROVIDER_H_ |
| +#pragma once |
| + |
| +#include <stddef.h> |
| + |
| +#include <vector> |
| + |
| +#include "base/basictypes.h" |
| +#include "ui/gfx/rect.h" |
| + |
| +// An interface implemented by an object that can retrieve information about |
| +// the monitors on the system. |
| +class MonitorInfoProvider { |
|
Ben Goodger (Google)
2011/12/02 17:10:32
So, I actually think we can get rid of this class
tfarina
2011/12/02 17:24:43
This is crbug.com/101507
|
| + public: |
| + // Creates an appropriate MonitorInfoProvider for the platform. |
| + // The returned object is owned by the caller. |
| + static MonitorInfoProvider* Create(); |
| + |
| + MonitorInfoProvider(); |
| + virtual ~MonitorInfoProvider(); |
| + |
| + // Returns the bounds of the work area of the primary monitor. |
| + virtual gfx::Rect GetPrimaryMonitorWorkArea() const = 0; |
| + |
| + // Returns the bounds of the primary monitor. |
| + virtual gfx::Rect GetPrimaryMonitorBounds() const = 0; |
| + |
| + // Returns the bounds of the work area of the monitor that most closely |
| + // intersects the provided bounds. |
| + virtual gfx::Rect GetMonitorWorkAreaMatching( |
| + const gfx::Rect& match_rect) const = 0; |
| + |
| + // Ensures number and coordinates of work areas are up-to-date. You must |
| + // call this before calling either of the below functions, as work areas can |
| + // change while the program is running. |
| + virtual void UpdateWorkAreas() = 0; |
|
Ben Goodger (Google)
2011/12/02 17:10:32
As far as I can tell, this function is never calle
tfarina
2011/12/02 17:24:43
Removed.
|
| + |
| + // Returns the number of monitors on the system. |
| + size_t GetMonitorCount() const { return work_areas_.size(); } |
|
Ben Goodger (Google)
2011/12/02 17:10:32
This function is only called from a function in Wi
tfarina
2011/12/02 17:24:43
Removed.
|
| + |
| + // Returns the bounds of the work area of the monitor at the specified |
| + // index. |
| + gfx::Rect GetWorkAreaAt(size_t index) const { |
|
Ben Goodger (Google)
2011/12/02 17:10:32
This function is only called from a function in Wi
tfarina
2011/12/02 17:24:43
Removed.
|
| + return work_areas_[index]; |
| + } |
| + |
| + protected: |
| + std::vector<gfx::Rect> work_areas_; |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(MonitorInfoProvider); |
| +}; |
| + |
| +#endif // CHROME_BROWSER_UI_MONITOR_INFO_PROVIDER_H_ |