summaryrefslogtreecommitdiffstats
path: root/chrome/views/tree_view.cc
diff options
context:
space:
mode:
authorsky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-28 03:01:25 +0000
committersky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-28 03:01:25 +0000
commit500445863ed3986e731bad70eb4f6e28b084f985 (patch)
treed3126a5feeb34004a9fbe1a81385755982010702 /chrome/views/tree_view.cc
parent3466e72ba2dc8ba36de18ce16c8f392b4f194911 (diff)
downloadchromium_src-500445863ed3986e731bad70eb4f6e28b084f985.zip
chromium_src-500445863ed3986e731bad70eb4f6e28b084f985.tar.gz
chromium_src-500445863ed3986e731bad70eb4f6e28b084f985.tar.bz2
Makes tree double duffered so that it doesn't flicker during resize.
BUG=3784 TEST=none Review URL: http://codereview.chromium.org/8819 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4054 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/views/tree_view.cc')
-rw-r--r--chrome/views/tree_view.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/chrome/views/tree_view.cc b/chrome/views/tree_view.cc
index 2719970..a092b9a 100644
--- a/chrome/views/tree_view.cc
+++ b/chrome/views/tree_view.cc
@@ -599,6 +599,20 @@ LRESULT CALLBACK TreeView::TreeWndProc(HWND window,
DCHECK(wrapper);
TreeView* tree = wrapper->tree_view;
switch (message) {
+ case WM_ERASEBKGND:
+ return 1;
+
+ case WM_PAINT: {
+ ChromeCanvasPaint canvas(window);
+ if (canvas.isEmpty())
+ return 0;
+
+ SendMessage(window, WM_PRINTCLIENT,
+ reinterpret_cast<WPARAM>(canvas.beginPlatformPaint()), 0);
+ canvas.endPlatformPaint();
+ return 0;
+ }
+
case WM_RBUTTONDOWN:
if (tree->select_on_right_mouse_down_) {
TVHITTESTINFO hit_info;