Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / ui / ozone / platform / dri / gpu_platform_support_gbm.h
index ce547e4..2c598f6 100644 (file)
@@ -5,6 +5,7 @@
 #ifndef UI_OZONE_PLATFORM_DRI_GPU_PLATFORM_SUPPORT_GBM_H_
 #define UI_OZONE_PLATFORM_DRI_GPU_PLATFORM_SUPPORT_GBM_H_
 
+#include "base/containers/scoped_ptr_hash_map.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/memory/scoped_vector.h"
 #include "ui/gfx/native_widget_types.h"
@@ -14,15 +15,21 @@ class SkBitmap;
 
 namespace gfx {
 class Point;
+class Rect;
 }
 
 namespace ui {
 
 class DriSurfaceFactory;
+class DriWindowDelegate;
+class DriWindowDelegateManager;
+class ScreenManager;
 
 class GpuPlatformSupportGbm : public GpuPlatformSupport {
  public:
-  GpuPlatformSupportGbm(DriSurfaceFactory* dri);
+  GpuPlatformSupportGbm(DriSurfaceFactory* dri,
+                        DriWindowDelegateManager* window_manager,
+                        ScreenManager* screen_manager);
   virtual ~GpuPlatformSupportGbm();
 
   void AddHandler(scoped_ptr<GpuPlatformSupport> handler);
@@ -34,14 +41,20 @@ class GpuPlatformSupportGbm : public GpuPlatformSupport {
   virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
 
  private:
-  IPC::Sender* sender_;
-
+  void OnCreateWindowDelegate(gfx::AcceleratedWidget widget);
+  void OnDestroyWindowDelegate(gfx::AcceleratedWidget widget);
+  void OnWindowBoundsChanged(gfx::AcceleratedWidget widget,
+                             const gfx::Rect& bounds);
   void OnCursorSet(gfx::AcceleratedWidget widget,
-                   const SkBitmap& bitmap,
-                   const gfx::Point& location);
+                   const std::vector<SkBitmap>& bitmaps,
+                   const gfx::Point& location,
+                   int frame_delay_ms);
   void OnCursorMove(gfx::AcceleratedWidget widget, const gfx::Point& location);
 
+  IPC::Sender* sender_;
   DriSurfaceFactory* dri_;
+  DriWindowDelegateManager* window_manager_;
+  ScreenManager* screen_manager_;
   ScopedVector<GpuPlatformSupport> handlers_;
 };