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

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

Issue 8400063: Move maximize/fullscreen/restore to shell (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove OVERRIDE from .cc Created 9 years, 1 month 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 | « ui/aura_shell/workspace/workspace_manager_unittest.cc ('k') | no next file » | 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_aura.h" 5 #include "views/widget/native_widget_aura.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "ui/aura/aura_constants.h"
8 #include "ui/aura/desktop.h" 9 #include "ui/aura/desktop.h"
9 #include "ui/aura/desktop_observer.h" 10 #include "ui/aura/desktop_observer.h"
10 #include "ui/aura/event.h" 11 #include "ui/aura/event.h"
11 #include "ui/aura/window.h" 12 #include "ui/aura/window.h"
12 #include "ui/aura/window_types.h" 13 #include "ui/aura/window_types.h"
13 #include "ui/base/ui_base_types.h" 14 #include "ui/base/ui_base_types.h"
14 #include "ui/gfx/canvas.h" 15 #include "ui/gfx/canvas.h"
15 #include "ui/gfx/compositor/layer.h" 16 #include "ui/gfx/compositor/layer.h"
16 #include "ui/gfx/font.h" 17 #include "ui/gfx/font.h"
17 #include "ui/gfx/screen.h" 18 #include "ui/gfx/screen.h"
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 117
117 //////////////////////////////////////////////////////////////////////////////// 118 ////////////////////////////////////////////////////////////////////////////////
118 // NativeWidgetAura, internal::NativeWidgetPrivate implementation: 119 // NativeWidgetAura, internal::NativeWidgetPrivate implementation:
119 120
120 void NativeWidgetAura::InitNativeWidget(const Widget::InitParams& params) { 121 void NativeWidgetAura::InitNativeWidget(const Widget::InitParams& params) {
121 ownership_ = params.ownership; 122 ownership_ = params.ownership;
122 window_->set_user_data(this); 123 window_->set_user_data(this);
123 Widget::InitParams::Type window_type = 124 Widget::InitParams::Type window_type =
124 params.child ? Widget::InitParams::TYPE_CONTROL : params.type; 125 params.child ? Widget::InitParams::TYPE_CONTROL : params.type;
125 window_->SetType(GetAuraWindowTypeForWidgetType(window_type)); 126 window_->SetType(GetAuraWindowTypeForWidgetType(window_type));
127 window_->SetIntProperty(aura::kShowStateKey, ui::SHOW_STATE_NORMAL);
126 window_->Init(params.create_texture_for_layer ? 128 window_->Init(params.create_texture_for_layer ?
127 ui::Layer::LAYER_HAS_TEXTURE : 129 ui::Layer::LAYER_HAS_TEXTURE :
128 ui::Layer::LAYER_HAS_NO_TEXTURE); 130 ui::Layer::LAYER_HAS_NO_TEXTURE);
129 if (window_type == Widget::InitParams::TYPE_CONTROL) 131 if (window_type == Widget::InitParams::TYPE_CONTROL)
130 window_->Show(); 132 window_->Show();
131 133
132 // TODO(beng): respect |params| authoritah wrt transparency. 134 // TODO(beng): respect |params| authoritah wrt transparency.
133 window_->layer()->SetFillsBoundsOpaquely(false); 135 window_->layer()->SetFillsBoundsOpaquely(false);
134 delegate_->OnNativeWidgetCreated(); 136 delegate_->OnNativeWidgetCreated();
135 window_->set_minimum_size(delegate_->GetMinimumSize()); 137 window_->set_minimum_size(delegate_->GetMinimumSize());
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 const gfx::Rect parent_bounds = window_->parent()->bounds(); 272 const gfx::Rect parent_bounds = window_->parent()->bounds();
271 window_->SetBounds(gfx::Rect((parent_bounds.width() - size.width())/2, 273 window_->SetBounds(gfx::Rect((parent_bounds.width() - size.width())/2,
272 (parent_bounds.height() - size.height())/2, 274 (parent_bounds.height() - size.height())/2,
273 size.width(), 275 size.width(),
274 size.height())); 276 size.height()));
275 } 277 }
276 278
277 void NativeWidgetAura::GetWindowPlacement( 279 void NativeWidgetAura::GetWindowPlacement(
278 gfx::Rect* bounds, 280 gfx::Rect* bounds,
279 ui::WindowShowState* maximized) const { 281 ui::WindowShowState* maximized) const {
280 *maximized = window_->show_state(); 282 *maximized = static_cast<ui::WindowShowState>(
283 window_->GetIntProperty(aura::kShowStateKey));
281 } 284 }
282 285
283 void NativeWidgetAura::SetWindowTitle(const string16& title) { 286 void NativeWidgetAura::SetWindowTitle(const string16& title) {
284 // Aura doesn't have native window frames. 287 // Aura doesn't have native window frames.
285 } 288 }
286 289
287 void NativeWidgetAura::SetWindowIcons(const SkBitmap& window_icon, 290 void NativeWidgetAura::SetWindowIcons(const SkBitmap& window_icon,
288 const SkBitmap& app_icon) { 291 const SkBitmap& app_icon) {
289 // Aura doesn't have window icons. 292 // Aura doesn't have window icons.
290 } 293 }
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 window_->Hide(); 373 window_->Hide();
371 } 374 }
372 375
373 void NativeWidgetAura::ShowMaximizedWithBounds( 376 void NativeWidgetAura::ShowMaximizedWithBounds(
374 const gfx::Rect& restored_bounds) { 377 const gfx::Rect& restored_bounds) {
375 window_->SetBounds(restored_bounds); 378 window_->SetBounds(restored_bounds);
376 ShowWithWindowState(ui::SHOW_STATE_MAXIMIZED); 379 ShowWithWindowState(ui::SHOW_STATE_MAXIMIZED);
377 } 380 }
378 381
379 void NativeWidgetAura::ShowWithWindowState(ui::WindowShowState state) { 382 void NativeWidgetAura::ShowWithWindowState(ui::WindowShowState state) {
380 switch (state) { 383 if (state == ui::SHOW_STATE_MAXIMIZED ||
381 case ui::SHOW_STATE_MAXIMIZED: 384 state == ui::SHOW_STATE_FULLSCREEN) {
382 window_->Maximize(); 385 window_->SetIntProperty(aura::kShowStateKey, state);
383 break;
384 case ui::SHOW_STATE_FULLSCREEN:
385 window_->Fullscreen();
386 break;
387 default:
388 break;
389 } 386 }
390 window_->Show(); 387 window_->Show();
391 if (can_activate_ && (state != ui::SHOW_STATE_INACTIVE || 388 if (can_activate_ && (state != ui::SHOW_STATE_INACTIVE ||
392 !GetWidget()->SetInitialFocus())) { 389 !GetWidget()->SetInitialFocus())) {
393 window_->Activate(); 390 window_->Activate();
394 } 391 }
395 } 392 }
396 393
397 bool NativeWidgetAura::IsVisible() const { 394 bool NativeWidgetAura::IsVisible() const {
398 return window_->IsVisible(); 395 return window_->IsVisible();
399 } 396 }
400 397
401 void NativeWidgetAura::Activate() { 398 void NativeWidgetAura::Activate() {
402 window_->Activate(); 399 window_->Activate();
403 } 400 }
404 401
405 void NativeWidgetAura::Deactivate() { 402 void NativeWidgetAura::Deactivate() {
406 window_->Deactivate(); 403 window_->Deactivate();
407 } 404 }
408 405
409 bool NativeWidgetAura::IsActive() const { 406 bool NativeWidgetAura::IsActive() const {
410 return aura::Desktop::GetInstance()->active_window() == window_; 407 return aura::Desktop::GetInstance()->active_window() == window_;
411 } 408 }
412 409
413 void NativeWidgetAura::SetAlwaysOnTop(bool on_top) { 410 void NativeWidgetAura::SetAlwaysOnTop(bool on_top) {
414 NOTIMPLEMENTED(); 411 NOTIMPLEMENTED();
415 } 412 }
416 413
417 void NativeWidgetAura::Maximize() { 414 void NativeWidgetAura::Maximize() {
418 window_->Maximize(); 415 window_->SetIntProperty(aura::kShowStateKey, ui::SHOW_STATE_MAXIMIZED);
419 } 416 }
420 417
421 void NativeWidgetAura::Minimize() { 418 void NativeWidgetAura::Minimize() {
422 NOTIMPLEMENTED(); 419 NOTIMPLEMENTED();
423 } 420 }
424 421
425 bool NativeWidgetAura::IsMaximized() const { 422 bool NativeWidgetAura::IsMaximized() const {
426 return window_->show_state() == ui::SHOW_STATE_MAXIMIZED; 423 return window_->GetIntProperty(aura::kShowStateKey) ==
424 ui::SHOW_STATE_MAXIMIZED;
427 } 425 }
428 426
429 bool NativeWidgetAura::IsMinimized() const { 427 bool NativeWidgetAura::IsMinimized() const {
430 return window_->show_state() == ui::SHOW_STATE_MINIMIZED; 428 return window_->GetIntProperty(aura::kShowStateKey) ==
429 ui::SHOW_STATE_MINIMIZED;
431 } 430 }
432 431
433 void NativeWidgetAura::Restore() { 432 void NativeWidgetAura::Restore() {
434 window_->Restore(); 433 window_->SetIntProperty(aura::kShowStateKey, ui::SHOW_STATE_NORMAL);
435 } 434 }
436 435
437 void NativeWidgetAura::SetFullscreen(bool fullscreen) { 436 void NativeWidgetAura::SetFullscreen(bool fullscreen) {
438 fullscreen ? window_->Fullscreen() : window_->Restore(); 437 window_->SetIntProperty(
438 aura::kShowStateKey,
439 fullscreen ? ui::SHOW_STATE_FULLSCREEN : ui::SHOW_STATE_NORMAL);
439 } 440 }
440 441
441 bool NativeWidgetAura::IsFullscreen() const { 442 bool NativeWidgetAura::IsFullscreen() const {
442 return window_->show_state() == ui::SHOW_STATE_FULLSCREEN; 443 return window_->GetIntProperty(aura::kShowStateKey) ==
444 ui::SHOW_STATE_FULLSCREEN;
443 } 445 }
444 446
445 void NativeWidgetAura::SetOpacity(unsigned char opacity) { 447 void NativeWidgetAura::SetOpacity(unsigned char opacity) {
446 window_->layer()->SetOpacity(opacity / 255.0); 448 window_->layer()->SetOpacity(opacity / 255.0);
447 } 449 }
448 450
449 void NativeWidgetAura::SetUseDragFrame(bool use_drag_frame) { 451 void NativeWidgetAura::SetUseDragFrame(bool use_drag_frame) {
450 NOTIMPLEMENTED(); 452 NOTIMPLEMENTED();
451 } 453 }
452 454
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 } 711 }
710 712
711 // static 713 // static
712 bool NativeWidgetPrivate::IsMouseButtonDown() { 714 bool NativeWidgetPrivate::IsMouseButtonDown() {
713 NOTIMPLEMENTED(); 715 NOTIMPLEMENTED();
714 return false; 716 return false;
715 } 717 }
716 718
717 } // namespace internal 719 } // namespace internal
718 } // namespace views 720 } // namespace views
OLDNEW
« no previous file with comments | « ui/aura_shell/workspace/workspace_manager_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698