summaryrefslogtreecommitdiffstats
path: root/chrome/views/table_view.h
diff options
context:
space:
mode:
authorsky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-24 17:18:26 +0000
committersky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-24 17:18:26 +0000
commit9052745343f2a8a231150977cfad3afec687daf1 (patch)
tree976b3b816ee908c68f65eb39ca883151abdba79e /chrome/views/table_view.h
parent2d507dc02c5b70fe241ac353de7cd57635e28bc5 (diff)
downloadchromium_src-9052745343f2a8a231150977cfad3afec687daf1.zip
chromium_src-9052745343f2a8a231150977cfad3afec687daf1.tar.gz
chromium_src-9052745343f2a8a231150977cfad3afec687daf1.tar.bz2
Makes our tables (task manager, keywords ...) not flicker when
resizing by doing nothing when we get erase background. BUG=804753 TEST=make sure you don't get any painting artifacts in the task manager and keyword editor. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1292 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/views/table_view.h')
-rw-r--r--chrome/views/table_view.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/chrome/views/table_view.h b/chrome/views/table_view.h
index bcc74d3..0668120 100644
--- a/chrome/views/table_view.h
+++ b/chrome/views/table_view.h
@@ -416,6 +416,13 @@ class TableView : public NativeControl,
// The TableColumn visible at position pos.
const TableColumn& GetColumnAtPosition(int pos);
+ // Window procedure of the list view class. We subclass the list view to
+ // ignore WM_ERASEBKGND, which gives smoother painting during resizing.
+ static LRESULT CALLBACK TableWndProc(HWND window,
+ UINT message,
+ WPARAM w_param,
+ LPARAM l_param);
+
// Window procedure of the header class. We subclass the header of the table
// to disable resizing of columns.
static LRESULT CALLBACK TableHeaderWndProc(HWND window, UINT message,
@@ -468,14 +475,13 @@ class TableView : public NativeControl,
// a wrapper around the List-View window.
HWND list_view_;
- // The list view original proc handler. It is required when subclassing the
- // list view.
- WNDPROC list_view_original_handler_;
-
// The list view's header original proc handler. It is required when
// subclassing.
WNDPROC header_original_handler_;
+ // Window procedure of the listview before we subclassed it.
+ WNDPROC original_handler_;
+
// A wrapper around 'this' used when "subclassing" the list view and header.
TableViewWrapper table_view_wrapper_;