| Index: views/widget/native_widget_delegate.h
|
| diff --git a/views/widget/native_widget_delegate.h b/views/widget/native_widget_delegate.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3732e97295bea0b901d804a3edb7c0053ee04c59
|
| --- /dev/null
|
| +++ b/views/widget/native_widget_delegate.h
|
| @@ -0,0 +1,116 @@
|
| +// Copyright (c) 2011 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 VIEWS_WIDGET_NATIVE_WIDGET_DELEGATE_H_
|
| +#define VIEWS_WIDGET_NATIVE_WIDGET_DELEGATE_H_
|
| +#pragma once
|
| +
|
| +#include "views/views_export.h"
|
| +#include "ui/base/events.h"
|
| +
|
| +namespace gfx {
|
| +class Canvas;
|
| +class Point;
|
| +class Size;
|
| +}
|
| +
|
| +namespace views {
|
| +class InputMethod;
|
| +class KeyEvent;
|
| +class MouseEvent;
|
| +class TouchEvent;
|
| +
|
| +namespace internal {
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// NativeWidgetDelegate
|
| +//
|
| +// An interface implemented by the object that handles events sent by a
|
| +// NativeWidget implementation.
|
| +//
|
| +class VIEWS_EXPORT NativeWidgetDelegate {
|
| + public:
|
| + virtual ~NativeWidgetDelegate() {}
|
| +
|
| + // Returns true if the window is modal.
|
| + virtual bool IsModal() const = 0;
|
| +
|
| + // Returns true if the window is a dialog box.
|
| + virtual bool IsDialogBox() const = 0;
|
| +
|
| + // Returns true if the window can be activated.
|
| + virtual bool CanActivate() const = 0;
|
| +
|
| + virtual bool IsInactiveRenderingDisabled() const = 0;
|
| + virtual void EnableInactiveRendering() = 0;
|
| +
|
| + // Called when the activation state of a window has changed.
|
| + virtual void OnNativeWidgetActivationChanged(bool active) = 0;
|
| +
|
| + // Called when native focus moves from one native view to another.
|
| + virtual void OnNativeFocus(gfx::NativeView focused_view) = 0;
|
| + virtual void OnNativeBlur(gfx::NativeView focused_view) = 0;
|
| +
|
| + // Called when the window is shown/hidden.
|
| + virtual void OnNativeWidgetVisibilityChanged(bool visible) = 0;
|
| +
|
| + // Called when the native widget is created.
|
| + virtual void OnNativeWidgetCreated() = 0;
|
| +
|
| + // Called just before the native widget is destroyed. This is the delegate's
|
| + // last chance to do anything with the native widget handle.
|
| + virtual void OnNativeWidgetDestroying() = 0;
|
| +
|
| + // Called just after the native widget is destroyed.
|
| + virtual void OnNativeWidgetDestroyed() = 0;
|
| +
|
| + // Returns the smallest size the window can be resized to by the user.
|
| + virtual gfx::Size GetMinimumSize() = 0;
|
| +
|
| + // Called when the NativeWidget changed size to |new_size|.
|
| + virtual void OnNativeWidgetSizeChanged(const gfx::Size& new_size) = 0;
|
| +
|
| + // Called when the user begins/ends to change the bounds of the window.
|
| + virtual void OnNativeWidgetBeginUserBoundsChange() = 0;
|
| + virtual void OnNativeWidgetEndUserBoundsChange() = 0;
|
| +
|
| + // Returns true if the delegate has a FocusManager.
|
| + virtual bool HasFocusManager() const = 0;
|
| +
|
| + // Paints the widget using acceleration. If the widget is not using
|
| + // accelerated painting this returns false and does nothing.
|
| + virtual bool OnNativeWidgetPaintAccelerated(
|
| + const gfx::Rect& dirty_region) = 0;
|
| +
|
| + // Paints the rootview in the canvas. This will also refresh the compositor
|
| + // tree if necessary when accelerated painting is enabled.
|
| + virtual void OnNativeWidgetPaint(gfx::Canvas* canvas) = 0;
|
| +
|
| + // Returns the non-client component (see ui/base/hit_test.h) containing
|
| + // |point|, in client coordinates.
|
| + virtual int GetNonClientComponent(const gfx::Point& point) = 0;
|
| +
|
| + // Mouse and key event handlers.
|
| + virtual bool OnKeyEvent(const KeyEvent& event) = 0;
|
| + virtual bool OnMouseEvent(const MouseEvent& event) = 0;
|
| + virtual void OnMouseCaptureLost() = 0;
|
| + virtual ui::TouchStatus OnTouchEvent(const TouchEvent& event) = 0;
|
| +
|
| + // Runs the specified native command. Returns true if the command is handled.
|
| + virtual bool ExecuteCommand(int command_id) = 0;
|
| +
|
| + // Returns the input method of the widget this delegate is associated with.
|
| + // Note that this does not use the top level widget, so may return NULL
|
| + // if the widget doesn't have input method.
|
| + virtual InputMethod* GetInputMethodDirect() = 0;
|
| +
|
| + //
|
| + virtual Widget* AsWidget() = 0;
|
| + virtual const Widget* AsWidget() const = 0;
|
| +};
|
| +
|
| +} // namespace internal
|
| +} // namespace views
|
| +
|
| +#endif // VIEWS_WIDGET_NATIVE_WIDGET_DELEGATE_H_
|
|
|