C++程序  |  44行  |  1.49 KB

// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_CHROMEOS_NATIVE_DIALOG_WINDOW_H_
#define CHROME_BROWSER_CHROMEOS_NATIVE_DIALOG_WINDOW_H_
#pragma once

#include "ui/gfx/native_widget_types.h"

namespace gfx {
class Rect;
class Size;
}  // namespace gfx

namespace chromeos {

// Flags for ShowNativeDialog.
enum NativeDialogFlags {
  DIALOG_FLAG_DEFAULT    = 0x00,  // Default non-resizeable, non-modal dialog.
  DIALOG_FLAG_RESIZEABLE = 0x01,  // For resizeable dialog.
  DIALOG_FLAG_MODAL      = 0x02,  // For modal dialog.
};

// Shows a |native_dialog| hosted in a views::Window. |flags| are combinations
// of the NativeDialogFlags. |size| is a default size. Zero width/height of
// |size| means let gtk choose a proper size for that dimension. |min_size| is
// the minimum size of the final host Window.
void ShowNativeDialog(gfx::NativeWindow parent,
                      gfx::NativeView native_dialog,
                      int flags,
                      const gfx::Size& size,
                      const gfx::Size& min_size);

// Gets the container window of the given |native_dialog|.
gfx::NativeWindow GetNativeDialogWindow(gfx::NativeView native_dialog);

// Gets the bounds of the contained dialog content.
gfx::Rect GetNativeDialogContentsBounds(gfx::NativeView native_dialog);

}  // namespace chromeos

#endif  // CHROME_BROWSER_CHROMEOS_NATIVE_DIALOG_WINDOW_H_