diff options
author | mukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-11 22:54:00 +0000 |
---|---|---|
committer | mukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-11 22:54:00 +0000 |
commit | 9eada9010083d4eddbe43d04dd64e26bc2ea5bc5 (patch) | |
tree | 068b284912fbd7360043fe465c1898be254960a8 /ui/base | |
parent | 6aceb50b3f213cce921e06de64c74f5c63193d91 (diff) | |
download | chromium_src-9eada9010083d4eddbe43d04dd64e26bc2ea5bc5.zip chromium_src-9eada9010083d4eddbe43d04dd64e26bc2ea5bc5.tar.gz chromium_src-9eada9010083d4eddbe43d04dd64e26bc2ea5bc5.tar.bz2 |
Add "Display" item in the uber tray.
Previously I submitted a CL for this, but it was reverted due to
build break of win_aura. To prevent the error again, I splitted
it into two, and this is the second CL to add the actual UI.
BUG=141394
TBR=sky@chromium.org, oshima@chromium.org, jennyz@chromium.org, sadrul@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10918180
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156156 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/base')
-rw-r--r-- | ui/base/x/x11_util.cc | 14 | ||||
-rw-r--r-- | ui/base/x/x11_util.h | 7 |
2 files changed, 18 insertions, 3 deletions
diff --git a/ui/base/x/x11_util.cc b/ui/base/x/x11_util.cc index 05f50ec..5b073b8 100644 --- a/ui/base/x/x11_util.cc +++ b/ui/base/x/x11_util.cc @@ -1189,13 +1189,23 @@ bool GetOutputDeviceData(XID output, return true; } -std::vector<std::string> GetOutputNames(std::vector<XID> output_ids) { +std::vector<std::string> GetDisplayNames(const std::vector<XID>& output_ids) { + std::vector<std::string> names; + for (size_t i = 0; i < output_ids.size(); ++i) { + std::string display_name; + if (GetOutputDeviceData(output_ids[i], NULL, NULL, &display_name)) + names.push_back(display_name); + } + return names; +} + +std::vector<std::string> GetOutputNames(const std::vector<XID>& output_ids) { std::vector<std::string> names; Display* display = GetXDisplay(); Window root_window = DefaultRootWindow(display); XRRScreenResources* screen_resources = XRRGetScreenResources(display, root_window); - for (std::vector<XID>::iterator iter = output_ids.begin(); + for (std::vector<XID>::const_iterator iter = output_ids.begin(); iter != output_ids.end(); ++iter) { XRROutputInfo* output = XRRGetOutputInfo(display, screen_resources, *iter); diff --git a/ui/base/x/x11_util.h b/ui/base/x/x11_util.h index d6dc0c3..169ba92 100644 --- a/ui/base/x/x11_util.h +++ b/ui/base/x/x11_util.h @@ -262,8 +262,13 @@ UI_EXPORT bool GetOutputDeviceData(XID output, uint32* serial_number, std::string* human_readable_name); +// Gets the names of the all displays physically connected to the system. +UI_EXPORT std::vector<std::string> GetDisplayNames( + const std::vector<XID>& output_id); + // Gets the name of outputs given by |output_id|. -UI_EXPORT std::vector<std::string> GetOutputNames(std::vector<XID> output_id); +UI_EXPORT std::vector<std::string> GetOutputNames( + const std::vector<XID>& output_id); enum WindowManagerName { WM_UNKNOWN, |