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 void InitializeShellSurface(WaylandWindow* window,
24 WaylandWindow::ShellType type) override;
25 void UpdateShellSurface(WaylandWindow::ShellType type,
26 WaylandShellSurface* shell_parent,
29 void SetWindowTitle(const base::string16& title) override;
30 void Maximize() override;
31 void Minimize() override;
32 void Unminimize() override;
33 bool IsMinimized() const override;
35 static void HandleConfigure(void* data,
36 struct xdg_surface* xdg_surface,
39 static void HandleChangeState(void* data,
40 struct xdg_surface* xdg_surface,
44 static void HandleActivate(void* data,
45 struct xdg_surface* xdg_surface);
46 static void HandleDeactivate(void* data,
47 struct xdg_surface* xdg_surface);
48 static void HandleDelete(void* data,
49 struct xdg_surface* xdg_surface);
51 static void HandlePopupPopupDone(void* data,
52 struct xdg_popup* xdg_popup,
56 xdg_surface* xdg_surface_;
57 xdg_popup* xdg_popup_;
60 DISALLOW_COPY_AND_ASSIGN(XDGShellSurface);
64 } // namespace ozonewayland
66 #endif // OZONE_WAYLAND_SHELL_XDG_SURFACE_H_