Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: chrome/browser/chromeos/input_method/candidate_window.cc

Issue 11030017: Add context to gfx::Screen calls in support of simultaneous desktop+ash (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix some new gfx::Screen additions Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/input_method/candidate_window.h" 5 #include "chrome/browser/chromeos/input_method/candidate_window.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "ash/shell.h"
11 #include "base/logging.h" 12 #include "base/logging.h"
12 #include "base/memory/scoped_ptr.h" 13 #include "base/memory/scoped_ptr.h"
13 #include "base/message_loop.h" 14 #include "base/message_loop.h"
14 #include "base/observer_list.h" 15 #include "base/observer_list.h"
15 #include "base/string_util.h" 16 #include "base/string_util.h"
16 #include "base/stringprintf.h" 17 #include "base/stringprintf.h"
17 #include "base/timer.h" 18 #include "base/timer.h"
18 #include "base/utf_string_conversions.h" 19 #include "base/utf_string_conversions.h"
19 #include "chrome/browser/chromeos/input_method/candidate_view.h" 20 #include "chrome/browser/chromeos/input_method/candidate_view.h"
20 #include "chrome/browser/chromeos/input_method/candidate_window_view.h" 21 #include "chrome/browser/chromeos/input_method/candidate_window_view.h"
(...skipping 1188 matching lines...) Expand 10 before | Expand all | Expand 10 after
1209 // To avoid lookup-table overlapping, uses maximum y-position of mozc specific 1210 // To avoid lookup-table overlapping, uses maximum y-position of mozc specific
1210 // location and cursor location, because mozc-engine does not consider about 1211 // location and cursor location, because mozc-engine does not consider about
1211 // multi-line composition. 1212 // multi-line composition.
1212 const int y = should_show_at_composition_head_? 1213 const int y = should_show_at_composition_head_?
1213 std::max(composition_head_location_.y(), cursor_location_.y()) : 1214 std::max(composition_head_location_.y(), cursor_location_.y()) :
1214 cursor_location_.y(); 1215 cursor_location_.y();
1215 const int height = cursor_location_.height(); 1216 const int height = cursor_location_.height();
1216 const int horizontal_offset = GetHorizontalOffset(); 1217 const int horizontal_offset = GetHorizontalOffset();
1217 1218
1218 gfx::Rect old_bounds = parent_frame_->GetClientAreaBoundsInScreen(); 1219 gfx::Rect old_bounds = parent_frame_->GetClientAreaBoundsInScreen();
1219 gfx::Rect screen_bounds = 1220 gfx::Rect screen_bounds = ash::Shell::GetAshScreen()->GetDisplayMatching(
1220 gfx::Screen::GetDisplayMatching(cursor_location_).work_area(); 1221 cursor_location_).work_area();
1221 // The size. 1222 // The size.
1222 gfx::Rect frame_bounds = old_bounds; 1223 gfx::Rect frame_bounds = old_bounds;
1223 frame_bounds.set_size(GetPreferredSize()); 1224 frame_bounds.set_size(GetPreferredSize());
1224 1225
1225 // The default position. 1226 // The default position.
1226 frame_bounds.set_x(x + horizontal_offset); 1227 frame_bounds.set_x(x + horizontal_offset);
1227 frame_bounds.set_y(y + height); 1228 frame_bounds.set_y(y + height);
1228 1229
1229 // Handle overflow at the left and the top. 1230 // Handle overflow at the left and the top.
1230 frame_bounds.set_x(std::max(frame_bounds.x(), screen_bounds.x())); 1231 frame_bounds.set_x(std::max(frame_bounds.x(), screen_bounds.x()));
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
1504 infolist_row->Select(); 1505 infolist_row->Select();
1505 } else { 1506 } else {
1506 infolist_row->Unselect(); 1507 infolist_row->Unselect();
1507 } 1508 }
1508 } 1509 }
1509 } 1510 }
1510 1511
1511 void InfolistWindowView::ResizeAndMoveParentFrame() { 1512 void InfolistWindowView::ResizeAndMoveParentFrame() {
1512 int x, y; 1513 int x, y;
1513 gfx::Rect old_bounds = parent_frame_->GetClientAreaBoundsInScreen(); 1514 gfx::Rect old_bounds = parent_frame_->GetClientAreaBoundsInScreen();
1514 gfx::Rect screen_bounds = gfx::Screen::GetDisplayNearestWindow( 1515 gfx::Rect screen_bounds = ash::Shell::GetAshScreen()->GetDisplayNearestWindow(
1515 parent_frame_->GetNativeView()).work_area(); 1516 parent_frame_->GetNativeView()).work_area();
1516 // The size. 1517 // The size.
1517 gfx::Rect frame_bounds = old_bounds; 1518 gfx::Rect frame_bounds = old_bounds;
1518 gfx::Size size = GetPreferredSize(); 1519 gfx::Size size = GetPreferredSize();
1519 frame_bounds.set_size(size); 1520 frame_bounds.set_size(size);
1520 1521
1521 gfx::Rect candidatewindow_bounds; 1522 gfx::Rect candidatewindow_bounds;
1522 if (candidate_window_frame_ != NULL) { 1523 if (candidate_window_frame_ != NULL) {
1523 candidatewindow_bounds = 1524 candidatewindow_bounds =
1524 candidate_window_frame_->GetClientAreaBoundsInScreen(); 1525 candidate_window_frame_->GetClientAreaBoundsInScreen();
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
1769 } 1770 }
1770 1771
1771 // static 1772 // static
1772 CandidateWindowController* 1773 CandidateWindowController*
1773 CandidateWindowController::CreateCandidateWindowController() { 1774 CandidateWindowController::CreateCandidateWindowController() {
1774 return new CandidateWindowControllerImpl; 1775 return new CandidateWindowControllerImpl;
1775 } 1776 }
1776 1777
1777 } // namespace input_method 1778 } // namespace input_method
1778 } // namespace chromeos 1779 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698