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

Side by Side Diff: views/widget/native_widget_win.cc

Issue 7358005: Makes sure widget is created at right size before showing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 5 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
« no previous file with comments | « views/widget/native_widget_win.h ('k') | views/widget/widget.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "views/widget/native_widget_win.h" 5 #include "views/widget/native_widget_win.h"
6 6
7 #include <dwmapi.h> 7 #include <dwmapi.h>
8 #include <shellapi.h> 8 #include <shellapi.h>
9 9
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 864 matching lines...) Expand 10 before | Expand all | Expand 10 after
875 // NOTE: Be careful not to activate any windows here (for example, calling 875 // NOTE: Be careful not to activate any windows here (for example, calling
876 // ShowWindow(SW_HIDE) will automatically activate another window). This 876 // ShowWindow(SW_HIDE) will automatically activate another window). This
877 // code can be called while a window is being deactivated, and activating 877 // code can be called while a window is being deactivated, and activating
878 // another window will screw up the activation that is already in progress. 878 // another window will screw up the activation that is already in progress.
879 SetWindowPos(NULL, 0, 0, 0, 0, 879 SetWindowPos(NULL, 0, 0, 0, 0,
880 SWP_HIDEWINDOW | SWP_NOACTIVATE | SWP_NOMOVE | 880 SWP_HIDEWINDOW | SWP_NOACTIVATE | SWP_NOMOVE |
881 SWP_NOREPOSITION | SWP_NOSIZE | SWP_NOZORDER); 881 SWP_NOREPOSITION | SWP_NOSIZE | SWP_NOZORDER);
882 } 882 }
883 } 883 }
884 884
885 void NativeWidgetWin::ShowMaximized(const gfx::Rect& restored_bounds) {
886 WINDOWPLACEMENT placement = { 0 };
887 placement.length = sizeof(WINDOWPLACEMENT);
888 placement.showCmd = SW_SHOWMAXIMIZED;
889 placement.rcNormalPosition = restored_bounds.ToRECT();
890 SetWindowPlacement(hwnd(), &placement);
891 }
892
885 void NativeWidgetWin::ShowNativeWidget(ShowState state) { 893 void NativeWidgetWin::ShowNativeWidget(ShowState state) {
Ben Goodger (Google) 2011/07/13 23:53:40 OK let's normalize these names. Show()->Show() Sh
886 DWORD native_show_state; 894 DWORD native_show_state;
887 switch (state) { 895 switch (state) {
888 case SHOW_INACTIVE: 896 case SHOW_INACTIVE:
889 native_show_state = SW_SHOWNOACTIVATE; 897 native_show_state = SW_SHOWNOACTIVATE;
890 break; 898 break;
891 case SHOW_MAXIMIZED: 899 case SHOW_MAXIMIZED:
892 native_show_state = SW_SHOWMAXIMIZED; 900 native_show_state = SW_SHOWMAXIMIZED;
893 break; 901 break;
894 default: 902 default:
895 native_show_state = GetShowState(); 903 native_show_state = GetShowState();
(...skipping 1284 matching lines...) Expand 10 before | Expand all | Expand 10 after
2180 // Set non-style attributes. 2188 // Set non-style attributes.
2181 ownership_ = params.ownership; 2189 ownership_ = params.ownership;
2182 2190
2183 DWORD style = WS_CLIPCHILDREN | WS_CLIPSIBLINGS; 2191 DWORD style = WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
2184 DWORD ex_style = 0; 2192 DWORD ex_style = 0;
2185 DWORD class_style = CS_DBLCLKS; 2193 DWORD class_style = CS_DBLCLKS;
2186 2194
2187 // Set type-independent style attributes. 2195 // Set type-independent style attributes.
2188 if (params.child) 2196 if (params.child)
2189 style |= WS_CHILD | WS_VISIBLE; 2197 style |= WS_CHILD | WS_VISIBLE;
2198 if (params.maximize)
2199 style |= WS_MAXIMIZE;
2190 if (!params.accept_events) 2200 if (!params.accept_events)
2191 ex_style |= WS_EX_TRANSPARENT; 2201 ex_style |= WS_EX_TRANSPARENT;
2192 if (!params.can_activate) 2202 if (!params.can_activate)
2193 ex_style |= WS_EX_NOACTIVATE; 2203 ex_style |= WS_EX_NOACTIVATE;
2194 if (params.keep_on_top) 2204 if (params.keep_on_top)
2195 ex_style |= WS_EX_TOPMOST; 2205 ex_style |= WS_EX_TOPMOST;
2196 if (params.mirror_origin_in_rtl) 2206 if (params.mirror_origin_in_rtl)
2197 ex_style |= l10n_util::GetExtendedTooltipStyles(); 2207 ex_style |= l10n_util::GetExtendedTooltipStyles();
2198 if (params.transparent) 2208 if (params.transparent)
2199 ex_style |= WS_EX_LAYERED; 2209 ex_style |= WS_EX_LAYERED;
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
2528 return (GetKeyState(VK_LBUTTON) & 0x80) || 2538 return (GetKeyState(VK_LBUTTON) & 0x80) ||
2529 (GetKeyState(VK_RBUTTON) & 0x80) || 2539 (GetKeyState(VK_RBUTTON) & 0x80) ||
2530 (GetKeyState(VK_MBUTTON) & 0x80) || 2540 (GetKeyState(VK_MBUTTON) & 0x80) ||
2531 (GetKeyState(VK_XBUTTON1) & 0x80) || 2541 (GetKeyState(VK_XBUTTON1) & 0x80) ||
2532 (GetKeyState(VK_XBUTTON2) & 0x80); 2542 (GetKeyState(VK_XBUTTON2) & 0x80);
2533 } 2543 }
2534 2544
2535 } // namespace internal 2545 } // namespace internal
2536 2546
2537 } // namespace views 2547 } // namespace views
OLDNEW
« no previous file with comments | « views/widget/native_widget_win.h ('k') | views/widget/widget.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698