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