1 // Copyright 2014 Intel Corporation. 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.
5 #ifndef OZONE_WAYLAND_SHELL_XDG_SURFACE_H_
6 #define OZONE_WAYLAND_SHELL_XDG_SURFACE_H_
8 #include "ozone/wayland/shell/shell_surface.h"
13 namespace ozonewayland {
18 class XDGShellSurface : public WaylandShellSurface {
21 virtual ~XDGShellSurface();
23 virtual void InitializeShellSurface(WaylandWindow* window) OVERRIDE;
24 virtual void UpdateShellSurface(WaylandWindow::ShellType type,
25 WaylandShellSurface* shell_parent,
28 virtual void SetWindowTitle(const base::string16& title) OVERRIDE;
29 virtual void Maximize() OVERRIDE;
30 virtual void Minimize() OVERRIDE;
32 static void HandleConfigure(void* data,
33 struct xdg_surface* xdg_surface,
36 static void HandleChangeState(void* data,
37 struct xdg_surface* xdg_surface,
41 static void HandleActivate(void* data,
42 struct xdg_surface* xdg_surface);
43 static void HandleDeactivate(void* data,
44 struct xdg_surface* xdg_surface);
45 static void HandleDelete(void* data,
46 struct xdg_surface* xdg_surface);
48 static void HandlePopupPopupDone(void* data,
49 struct xdg_popup* xdg_popup,
53 xdg_surface* xdg_surface_;
54 xdg_popup* xdg_popup_;
56 DISALLOW_COPY_AND_ASSIGN(XDGShellSurface);
60 } // namespace ozonewayland
62 #endif // OZONE_WAYLAND_SHELL_XDG_SURFACE_H_