native_dialog_window.h revision 72a454cd3513ac24fbdd0e0cb9ad70b86a99b801
1// Copyright (c) 2010 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 CHROME_BROWSER_CHROMEOS_NATIVE_DIALOG_WINDOW_H_
6#define CHROME_BROWSER_CHROMEOS_NATIVE_DIALOG_WINDOW_H_
7#pragma once
8
9#include "ui/gfx/native_widget_types.h"
10
11namespace gfx {
12class Rect;
13class Size;
14}  // namespace gfx
15
16namespace chromeos {
17
18// Flags for ShowNativeDialog.
19enum NativeDialogFlags {
20  DIALOG_FLAG_DEFAULT    = 0x00,  // Default non-resizeable, non-modal dialog.
21  DIALOG_FLAG_RESIZEABLE = 0x01,  // For resizeable dialog.
22  DIALOG_FLAG_MODAL      = 0x02,  // For modal dialog.
23};
24
25// Shows a |native_dialog| hosted in a views::Window. |flags| are combinations
26// of the NativeDialogFlags. |size| is a default size. Zero width/height of
27// |size| means let gtk choose a proper size for that dimension. |min_size| is
28// the minimum size of the final host Window.
29void ShowNativeDialog(gfx::NativeWindow parent,
30                      gfx::NativeView native_dialog,
31                      int flags,
32                      const gfx::Size& size,
33                      const gfx::Size& min_size);
34
35// Gets the container window of the given |native_dialog|.
36gfx::NativeWindow GetNativeDialogWindow(gfx::NativeView native_dialog);
37
38// Gets the bounds of the contained dialog content.
39gfx::Rect GetNativeDialogContentsBounds(gfx::NativeView native_dialog);
40
41}  // namespace chromeos
42
43#endif  // CHROME_BROWSER_CHROMEOS_NATIVE_DIALOG_WINDOW_H_
44