OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/renderer_host/render_widget_host_view_win.h" | 5 #include "chrome/browser/renderer_host/render_widget_host_view_win.h" |
6 | 6 |
7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
8 #include "app/l10n_util_win.h" | 8 #include "app/l10n_util_win.h" |
9 #include "app/resource_bundle.h" | 9 #include "app/resource_bundle.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 #include "chrome/browser/renderer_host/gpu_view_host.h" | 24 #include "chrome/browser/renderer_host/gpu_view_host.h" |
25 #include "chrome/browser/renderer_host/render_process_host.h" | 25 #include "chrome/browser/renderer_host/render_process_host.h" |
26 #include "chrome/browser/renderer_host/render_widget_host.h" | 26 #include "chrome/browser/renderer_host/render_widget_host.h" |
27 #include "chrome/common/chrome_constants.h" | 27 #include "chrome/common/chrome_constants.h" |
28 #include "chrome/common/chrome_switches.h" | 28 #include "chrome/common/chrome_switches.h" |
29 #include "chrome/common/native_web_keyboard_event.h" | 29 #include "chrome/common/native_web_keyboard_event.h" |
30 #include "chrome/common/notification_service.h" | 30 #include "chrome/common/notification_service.h" |
31 #include "chrome/common/plugin_messages.h" | 31 #include "chrome/common/plugin_messages.h" |
32 #include "chrome/common/render_messages.h" | 32 #include "chrome/common/render_messages.h" |
33 #include "gfx/canvas.h" | 33 #include "gfx/canvas.h" |
| 34 #include "gfx/canvas_skia.h" |
34 #include "gfx/gdi_util.h" | 35 #include "gfx/gdi_util.h" |
35 #include "gfx/rect.h" | 36 #include "gfx/rect.h" |
36 #include "grit/webkit_resources.h" | 37 #include "grit/webkit_resources.h" |
37 #include "skia/ext/skia_utils_win.h" | 38 #include "skia/ext/skia_utils_win.h" |
38 #include "third_party/WebKit/WebKit/chromium/public/WebInputEvent.h" | 39 #include "third_party/WebKit/WebKit/chromium/public/WebInputEvent.h" |
39 #include "third_party/WebKit/WebKit/chromium/public/win/WebInputEventFactory.h" | 40 #include "third_party/WebKit/WebKit/chromium/public/win/WebInputEventFactory.h" |
40 #include "views/accessibility/view_accessibility.h" | 41 #include "views/accessibility/view_accessibility.h" |
41 #include "views/focus/focus_manager.h" | 42 #include "views/focus/focus_manager.h" |
42 #include "views/focus/focus_util_win.h" | 43 #include "views/focus/focus_util_win.h" |
43 // Included for views::kReflectedMessage - TODO(beng): move this to win_util.h! | 44 // Included for views::kReflectedMessage - TODO(beng): move this to win_util.h! |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 SetParent(window, NULL); | 229 SetParent(window, NULL); |
229 } | 230 } |
230 return TRUE; | 231 return TRUE; |
231 } | 232 } |
232 | 233 |
233 // Draw the contents of |backing_store_dc| onto |paint_rect| with a 70% grey | 234 // Draw the contents of |backing_store_dc| onto |paint_rect| with a 70% grey |
234 // filter. | 235 // filter. |
235 void DrawDeemphasized(const gfx::Rect& paint_rect, | 236 void DrawDeemphasized(const gfx::Rect& paint_rect, |
236 HDC backing_store_dc, | 237 HDC backing_store_dc, |
237 HDC paint_dc) { | 238 HDC paint_dc) { |
238 gfx::Canvas canvas(paint_rect.width(), paint_rect.height(), true); | 239 gfx::CanvasSkia canvas(paint_rect.width(), paint_rect.height(), true); |
239 HDC dc = canvas.beginPlatformPaint(); | 240 HDC dc = canvas.beginPlatformPaint(); |
240 BitBlt(dc, | 241 BitBlt(dc, |
241 0, | 242 0, |
242 0, | 243 0, |
243 paint_rect.width(), | 244 paint_rect.width(), |
244 paint_rect.height(), | 245 paint_rect.height(), |
245 backing_store_dc, | 246 backing_store_dc, |
246 paint_rect.x(), | 247 paint_rect.x(), |
247 paint_rect.y(), | 248 paint_rect.y(), |
248 SRCCOPY); | 249 SRCCOPY); |
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
669 EnumChildWindows(m_hWnd, EnumChildProc, lparam); | 670 EnumChildWindows(m_hWnd, EnumChildProc, lparam); |
670 } | 671 } |
671 | 672 |
672 void RenderWidgetHostViewWin::DrawResizeCorner(const gfx::Rect& paint_rect, | 673 void RenderWidgetHostViewWin::DrawResizeCorner(const gfx::Rect& paint_rect, |
673 HDC dc) { | 674 HDC dc) { |
674 gfx::Rect resize_corner_rect = | 675 gfx::Rect resize_corner_rect = |
675 render_widget_host_->GetRootWindowResizerRect(); | 676 render_widget_host_->GetRootWindowResizerRect(); |
676 if (!paint_rect.Intersect(resize_corner_rect).IsEmpty()) { | 677 if (!paint_rect.Intersect(resize_corner_rect).IsEmpty()) { |
677 SkBitmap* bitmap = ResourceBundle::GetSharedInstance(). | 678 SkBitmap* bitmap = ResourceBundle::GetSharedInstance(). |
678 GetBitmapNamed(IDR_TEXTAREA_RESIZER); | 679 GetBitmapNamed(IDR_TEXTAREA_RESIZER); |
679 gfx::Canvas canvas(bitmap->width(), bitmap->height(), false); | 680 gfx::CanvasSkia canvas(bitmap->width(), bitmap->height(), false); |
680 canvas.getDevice()->accessBitmap(true).eraseARGB(0, 0, 0, 0); | 681 canvas.getDevice()->accessBitmap(true).eraseARGB(0, 0, 0, 0); |
681 int x = resize_corner_rect.x() + resize_corner_rect.width() - | 682 int x = resize_corner_rect.x() + resize_corner_rect.width() - |
682 bitmap->width(); | 683 bitmap->width(); |
683 bool rtl_dir = base::i18n::IsRTL(); | 684 bool rtl_dir = base::i18n::IsRTL(); |
684 if (rtl_dir) { | 685 if (rtl_dir) { |
685 canvas.TranslateInt(bitmap->width(), 0); | 686 canvas.TranslateInt(bitmap->width(), 0); |
686 canvas.ScaleInt(-1, 1); | 687 canvas.ScaleInt(-1, 1); |
687 canvas.save(); | 688 canvas.save(); |
688 x = 0; | 689 x = 0; |
689 } | 690 } |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
983 } else { | 984 } else { |
984 DrawBackground(paint_dc.m_ps.rcPaint, &paint_dc); | 985 DrawBackground(paint_dc.m_ps.rcPaint, &paint_dc); |
985 if (whiteout_start_time_.is_null()) | 986 if (whiteout_start_time_.is_null()) |
986 whiteout_start_time_ = TimeTicks::Now(); | 987 whiteout_start_time_ = TimeTicks::Now(); |
987 } | 988 } |
988 } | 989 } |
989 | 990 |
990 void RenderWidgetHostViewWin::DrawBackground(const RECT& dirty_rect, | 991 void RenderWidgetHostViewWin::DrawBackground(const RECT& dirty_rect, |
991 CPaintDC* dc) { | 992 CPaintDC* dc) { |
992 if (!background_.empty()) { | 993 if (!background_.empty()) { |
993 gfx::Canvas canvas(dirty_rect.right - dirty_rect.left, | 994 gfx::CanvasSkia canvas(dirty_rect.right - dirty_rect.left, |
994 dirty_rect.bottom - dirty_rect.top, | 995 dirty_rect.bottom - dirty_rect.top, |
995 true); // opaque | 996 true); // opaque |
996 canvas.TranslateInt(-dirty_rect.left, -dirty_rect.top); | 997 canvas.TranslateInt(-dirty_rect.left, -dirty_rect.top); |
997 | 998 |
998 const RECT& dc_rect = dc->m_ps.rcPaint; | 999 const RECT& dc_rect = dc->m_ps.rcPaint; |
999 canvas.TileImageInt(background_, 0, 0, | 1000 canvas.TileImageInt(background_, 0, 0, |
1000 dc_rect.right - dc_rect.left, | 1001 dc_rect.right - dc_rect.left, |
1001 dc_rect.bottom - dc_rect.top); | 1002 dc_rect.bottom - dc_rect.top); |
1002 | 1003 |
1003 canvas.getTopPlatformDevice().drawToHDC(*dc, dirty_rect.left, | 1004 canvas.getTopPlatformDevice().drawToHDC(*dc, dirty_rect.left, |
1004 dirty_rect.top, NULL); | 1005 dirty_rect.top, NULL); |
1005 } else { | 1006 } else { |
(...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1713 RenderWidgetHostView::GetRenderWidgetHostViewFromNativeView( | 1714 RenderWidgetHostView::GetRenderWidgetHostViewFromNativeView( |
1714 gfx::NativeView native_view) { | 1715 gfx::NativeView native_view) { |
1715 if (::IsWindow(native_view)) { | 1716 if (::IsWindow(native_view)) { |
1716 HANDLE raw_render_host_view = ::GetProp(native_view, | 1717 HANDLE raw_render_host_view = ::GetProp(native_view, |
1717 kRenderWidgetHostViewKey); | 1718 kRenderWidgetHostViewKey); |
1718 if (raw_render_host_view) | 1719 if (raw_render_host_view) |
1719 return reinterpret_cast<RenderWidgetHostView*>(raw_render_host_view); | 1720 return reinterpret_cast<RenderWidgetHostView*>(raw_render_host_view); |
1720 } | 1721 } |
1721 return NULL; | 1722 return NULL; |
1722 } | 1723 } |
OLD | NEW |