| OLD | NEW |
| 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 "content/browser/renderer_host/render_widget_host_view_win.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_win.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <map> | 8 #include <map> |
| 9 #include <peninputpanel_i.c> | 9 #include <peninputpanel_i.c> |
| 10 #include <stack> | 10 #include <stack> |
| (...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 758 | 758 |
| 759 void RenderWidgetHostViewWin::SelectionBoundsChanged( | 759 void RenderWidgetHostViewWin::SelectionBoundsChanged( |
| 760 const gfx::Rect& start_rect, | 760 const gfx::Rect& start_rect, |
| 761 WebKit::WebTextDirection start_direction, | 761 WebKit::WebTextDirection start_direction, |
| 762 const gfx::Rect& end_rect, | 762 const gfx::Rect& end_rect, |
| 763 WebKit::WebTextDirection end_direction) { | 763 WebKit::WebTextDirection end_direction) { |
| 764 bool is_enabled = (text_input_type_ != ui::TEXT_INPUT_TYPE_NONE && | 764 bool is_enabled = (text_input_type_ != ui::TEXT_INPUT_TYPE_NONE && |
| 765 text_input_type_ != ui::TEXT_INPUT_TYPE_PASSWORD); | 765 text_input_type_ != ui::TEXT_INPUT_TYPE_PASSWORD); |
| 766 // Only update caret position if the input method is enabled. | 766 // Only update caret position if the input method is enabled. |
| 767 if (is_enabled) { | 767 if (is_enabled) { |
| 768 caret_rect_ = start_rect.Union(end_rect); | 768 caret_rect_ = start_rect; |
| 769 caret_rect_.Union(end_rect); |
| 769 ime_input_.UpdateCaretRect(m_hWnd, caret_rect_); | 770 ime_input_.UpdateCaretRect(m_hWnd, caret_rect_); |
| 770 } | 771 } |
| 771 } | 772 } |
| 772 | 773 |
| 773 void RenderWidgetHostViewWin::ImeCancelComposition() { | 774 void RenderWidgetHostViewWin::ImeCancelComposition() { |
| 774 ime_input_.CancelIME(m_hWnd); | 775 ime_input_.CancelIME(m_hWnd); |
| 775 } | 776 } |
| 776 | 777 |
| 777 void RenderWidgetHostViewWin::ImeCompositionRangeChanged( | 778 void RenderWidgetHostViewWin::ImeCompositionRangeChanged( |
| 778 const ui::Range& range, | 779 const ui::Range& range, |
| (...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1344 // Grabbing the damaged regions failed, fake with the whole rect. | 1345 // Grabbing the damaged regions failed, fake with the whole rect. |
| 1345 data_size = sizeof(RGNDATAHEADER) + sizeof(RECT); | 1346 data_size = sizeof(RGNDATAHEADER) + sizeof(RECT); |
| 1346 region_data_buf.reset(new char[data_size]); | 1347 region_data_buf.reset(new char[data_size]); |
| 1347 region_data = reinterpret_cast<RGNDATA*>(region_data_buf.get()); | 1348 region_data = reinterpret_cast<RGNDATA*>(region_data_buf.get()); |
| 1348 region_rects = reinterpret_cast<RECT*>(region_data->Buffer); | 1349 region_rects = reinterpret_cast<RECT*>(region_data->Buffer); |
| 1349 region_data->rdh.nCount = 1; | 1350 region_data->rdh.nCount = 1; |
| 1350 region_rects[0] = damaged_rect.ToRECT(); | 1351 region_rects[0] = damaged_rect.ToRECT(); |
| 1351 } | 1352 } |
| 1352 | 1353 |
| 1353 for (DWORD i = 0; i < region_data->rdh.nCount; ++i) { | 1354 for (DWORD i = 0; i < region_data->rdh.nCount; ++i) { |
| 1354 gfx::Rect paint_rect = bitmap_rect.Intersect(gfx::Rect(region_rects[i])); | 1355 gfx::Rect paint_rect = bitmap_rect; |
| 1356 paint_rect.Intersect(gfx::Rect(region_rects[i])); |
| 1355 if (!paint_rect.IsEmpty()) { | 1357 if (!paint_rect.IsEmpty()) { |
| 1356 BitBlt(paint_dc.m_hDC, | 1358 BitBlt(paint_dc.m_hDC, |
| 1357 paint_rect.x(), | 1359 paint_rect.x(), |
| 1358 paint_rect.y(), | 1360 paint_rect.y(), |
| 1359 paint_rect.width(), | 1361 paint_rect.width(), |
| 1360 paint_rect.height(), | 1362 paint_rect.height(), |
| 1361 backing_store->hdc(), | 1363 backing_store->hdc(), |
| 1362 paint_rect.x(), | 1364 paint_rect.x(), |
| 1363 paint_rect.y(), | 1365 paint_rect.y(), |
| 1364 SRCCOPY); | 1366 SRCCOPY); |
| (...skipping 1726 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3091 // receive a focus change in the context of a pointer down message, it means | 3093 // receive a focus change in the context of a pointer down message, it means |
| 3092 // that the pointer down message occurred on the edit field and we should | 3094 // that the pointer down message occurred on the edit field and we should |
| 3093 // display the on screen keyboard | 3095 // display the on screen keyboard |
| 3094 if (!received_focus_change_after_pointer_down_ && virtual_keyboard_) | 3096 if (!received_focus_change_after_pointer_down_ && virtual_keyboard_) |
| 3095 DisplayOnScreenKeyboardIfNeeded(); | 3097 DisplayOnScreenKeyboardIfNeeded(); |
| 3096 received_focus_change_after_pointer_down_ = false; | 3098 received_focus_change_after_pointer_down_ = false; |
| 3097 pointer_down_context_ = false; | 3099 pointer_down_context_ = false; |
| 3098 } | 3100 } |
| 3099 | 3101 |
| 3100 } // namespace content | 3102 } // namespace content |
| OLD | NEW |