toplevel_window.h revision 558790d6acca3451cf3a6b497803a5f07d0bec58
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef ASH_SHELL_TOPLEVEL_WINDOW_H_ 6#define ASH_SHELL_TOPLEVEL_WINDOW_H_ 7 8#include "ui/views/widget/widget_delegate.h" 9 10namespace ash { 11namespace shell { 12 13class ToplevelWindow : public views::WidgetDelegateView { 14 public: 15 struct CreateParams { 16 CreateParams(); 17 18 bool can_resize; 19 bool can_maximize; 20 }; 21 static void CreateToplevelWindow(const CreateParams& params); 22 23 private: 24 explicit ToplevelWindow(const CreateParams& params); 25 virtual ~ToplevelWindow(); 26 27 // Overridden from views::View: 28 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; 29 30 // Overridden from views::WidgetDelegate: 31 virtual base::string16 GetWindowTitle() const OVERRIDE; 32 virtual View* GetContentsView() OVERRIDE; 33 virtual bool CanResize() const OVERRIDE; 34 virtual bool CanMaximize() const OVERRIDE; 35 36 const CreateParams params_; 37 38 DISALLOW_COPY_AND_ASSIGN(ToplevelWindow); 39}; 40 41} // namespace shell 42} // namespace ash 43 44#endif // ASH_SHELL_TOPLEVEL_WINDOW_H_ 45