Chromium Code Reviews| Index: ui/aura/display_util.cc |
| diff --git a/ui/aura/display_util.cc b/ui/aura/display_util.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..07f6965c5697c12f82f7c51ee3562f8ded445404 |
| --- /dev/null |
| +++ b/ui/aura/display_util.cc |
| @@ -0,0 +1,52 @@ |
| +// Copyright (c) 2012 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. |
| + |
| +#include "ui/aura/display_util.h" |
| + |
| +#include "ui/aura/root_window_host.h" |
| +#include "ui/gfx/display.h" |
| +#include "base/logging.h" |
| +#include "base/string_number_conversions.h" |
| + |
| +namespace aura { |
| +namespace { |
| + |
| +bool use_fullscreen_host_window = false; |
|
ananta
2012/11/09 18:39:51
Should this be prefixed with g_?
oshima
2012/11/09 18:53:49
g_ is for global that can be accessed from other f
|
| + |
| +// Default bounds for a display. |
| +const int kDefaultHostWindowX = 200; |
| +const int kDefaultHostWindowY = 200; |
| +const int kDefaultHostWindowWidth = 1280; |
| +const int kDefaultHostWindowHeight = 1024; |
| + |
| +} // namespace |
| + |
| +void SetUseFullscreenHostWindow(bool value) { |
| + use_fullscreen_host_window = value; |
| +} |
| + |
| +bool UseFullscreenHostWindow() { |
| + return use_fullscreen_host_window; |
| +} |
| + |
| +gfx::Display CreateDisplayFromSpec(const std::string& spec) { |
| + static int64 synthesized_display_id = 1000; |
| + gfx::Rect bounds(kDefaultHostWindowX, kDefaultHostWindowY, |
| + kDefaultHostWindowWidth, kDefaultHostWindowHeight); |
| + int x = 0, y = 0, width, height; |
| + float scale = 1.0f; |
| + if (sscanf(spec.c_str(), "%dx%d*%f", &width, &height, &scale) >= 2 || |
| + sscanf(spec.c_str(), "%d+%d-%dx%d*%f", &x, &y, &width, &height, |
| + &scale) >= 4) { |
| + bounds.SetRect(x, y, width, height); |
| + } else if (use_fullscreen_host_window) { |
| + bounds = gfx::Rect(aura::RootWindowHost::GetNativeScreenSize()); |
| + } |
| + gfx::Display display(synthesized_display_id++); |
| + display.SetScaleAndBounds(scale, bounds); |
| + DVLOG(1) << "Display bounds=" << bounds.ToString() << ", scale=" << scale; |
| + return display; |
| +} |
| + |
| +} // namespace aura |