|  | // Copyright 2014 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 UI_PLATFORM_WINDOW_PLATFORM_WINDOW_DELEGATE_H_ | 
|  | #define UI_PLATFORM_WINDOW_PLATFORM_WINDOW_DELEGATE_H_ | 
|  |  | 
|  | #include "ui/gfx/native_widget_types.h" | 
|  |  | 
|  | namespace gfx { | 
|  | class Rect; | 
|  | } | 
|  |  | 
|  | namespace ui { | 
|  |  | 
|  | class Event; | 
|  |  | 
|  | enum PlatformWindowState { | 
|  | PLATFORM_WINDOW_STATE_UNKNOWN, | 
|  | PLATFORM_WINDOW_STATE_MAXIMIZED, | 
|  | PLATFORM_WINDOW_STATE_MINIMIZED, | 
|  | PLATFORM_WINDOW_STATE_NORMAL, | 
|  | PLATFORM_WINDOW_STATE_FULLSCREEN, | 
|  | }; | 
|  |  | 
|  | class PlatformWindowDelegate { | 
|  | public: | 
|  | virtual ~PlatformWindowDelegate() {} | 
|  |  | 
|  | // Note that |new_bounds| is in physical screen coordinates. | 
|  | virtual void OnBoundsChanged(const gfx::Rect& new_bounds) = 0; | 
|  |  | 
|  | // Note that |damaged_region| is in the platform-window's coordinates, in | 
|  | // physical pixels. | 
|  | virtual void OnDamageRect(const gfx::Rect& damaged_region) = 0; | 
|  |  | 
|  | virtual void DispatchEvent(Event* event) = 0; | 
|  |  | 
|  | virtual void OnCloseRequest() = 0; | 
|  | virtual void OnClosed() = 0; | 
|  |  | 
|  | virtual void OnWindowStateChanged(PlatformWindowState new_state) = 0; | 
|  |  | 
|  | virtual void OnLostCapture() = 0; | 
|  |  | 
|  | virtual void OnAcceleratedWidgetAvailable(gfx::AcceleratedWidget widget, | 
|  | float device_pixel_ratio) = 0; | 
|  |  | 
|  | // Notifies the delegate its the last chance to manipulate the native | 
|  | // widget before destruction. | 
|  | virtual void OnAcceleratedWidgetDestroying() = 0; | 
|  |  | 
|  | // Notifies the delegate that the widget cannot be used anymore until | 
|  | // a new widget is made available through OnAcceleratedWidgetAvailable(). | 
|  | virtual void OnAcceleratedWidgetDestroyed() = 0; | 
|  |  | 
|  | virtual void OnActivationChanged(bool active) = 0; | 
|  | }; | 
|  |  | 
|  | }  // namespace ui | 
|  |  | 
|  | #endif  // UI_PLATFORM_WINDOW_PLATFORM_WINDOW_DELEGATE_H_ |