Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / ui / ozone / common / gpu / ozone_gpu_messages.h
1 // Copyright 2014 The Chromium Authors. 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.
4
5 // Multiply-included message file, hence no include guard here, but see below
6 // for a much smaller-than-usual include guard section.
7
8 #include <vector>
9
10 #include "ipc/ipc_message_macros.h"
11 #include "third_party/skia/include/core/SkBitmap.h"
12 #include "ui/gfx/geometry/point.h"
13 #include "ui/gfx/ipc/gfx_param_traits.h"
14 #include "ui/gfx/native_widget_types.h"
15 #include "ui/ozone/common/gpu/ozone_gpu_message_params.h"
16 #include "ui/ozone/ozone_export.h"
17
18 #undef IPC_MESSAGE_EXPORT
19 #define IPC_MESSAGE_EXPORT OZONE_EXPORT
20
21 #define IPC_MESSAGE_START OzoneGpuMsgStart
22
23 IPC_ENUM_TRAITS_MAX_VALUE(ui::DisplayConnectionType,
24                           ui::DISPLAY_CONNECTION_TYPE_LAST)
25
26 IPC_STRUCT_TRAITS_BEGIN(ui::DisplayMode_Params)
27   IPC_STRUCT_TRAITS_MEMBER(size)
28   IPC_STRUCT_TRAITS_MEMBER(is_interlaced)
29   IPC_STRUCT_TRAITS_MEMBER(refresh_rate)
30 IPC_STRUCT_TRAITS_END()
31
32 IPC_STRUCT_TRAITS_BEGIN(ui::DisplaySnapshot_Params)
33   IPC_STRUCT_TRAITS_MEMBER(display_id)
34   IPC_STRUCT_TRAITS_MEMBER(has_proper_display_id)
35   IPC_STRUCT_TRAITS_MEMBER(origin)
36   IPC_STRUCT_TRAITS_MEMBER(physical_size)
37   IPC_STRUCT_TRAITS_MEMBER(type)
38   IPC_STRUCT_TRAITS_MEMBER(is_aspect_preserving_scaling)
39   IPC_STRUCT_TRAITS_MEMBER(has_overscan)
40   IPC_STRUCT_TRAITS_MEMBER(display_name)
41   IPC_STRUCT_TRAITS_MEMBER(modes)
42   IPC_STRUCT_TRAITS_MEMBER(has_current_mode)
43   IPC_STRUCT_TRAITS_MEMBER(current_mode)
44   IPC_STRUCT_TRAITS_MEMBER(has_native_mode)
45   IPC_STRUCT_TRAITS_MEMBER(native_mode)
46   IPC_STRUCT_TRAITS_MEMBER(string_representation)
47 IPC_STRUCT_TRAITS_END()
48
49 //------------------------------------------------------------------------------
50 // GPU Messages
51 // These are messages from the browser to the GPU process.
52
53 // Update the HW cursor bitmap & move to specified location.
54 IPC_MESSAGE_CONTROL3(OzoneGpuMsg_CursorSet,
55                      gfx::AcceleratedWidget, SkBitmap, gfx::Point)
56
57 // Move the HW cursor to the specified location.
58 IPC_MESSAGE_CONTROL2(OzoneGpuMsg_CursorMove,
59                      gfx::AcceleratedWidget, gfx::Point)
60
61 #if defined(OS_CHROMEOS)
62 // Force the DPMS state of the display to on.
63 IPC_MESSAGE_CONTROL0(OzoneGpuMsg_ForceDPMSOn)
64
65 // Trigger a display reconfiguration. OzoneHostMsg_UpdateNativeDisplays will be
66 // sent as a response.
67 IPC_MESSAGE_CONTROL0(OzoneGpuMsg_RefreshNativeDisplays)
68
69 // Configure a display with the specified mode at the specified location.
70 IPC_MESSAGE_CONTROL3(OzoneGpuMsg_ConfigureNativeDisplay,
71                      int64_t,  // display ID
72                      ui::DisplayMode_Params,  // display mode
73                      gfx::Point)  // origin for the display
74
75 IPC_MESSAGE_CONTROL1(OzoneGpuMsg_DisableNativeDisplay,
76                      int64_t)  // display ID
77
78 //------------------------------------------------------------------------------
79 // Browser Messages
80 // These messages are from the GPU to the browser process.
81
82 // Updates the list of active displays.
83 IPC_MESSAGE_CONTROL1(OzoneHostMsg_UpdateNativeDisplays,
84                      std::vector<ui::DisplaySnapshot_Params>)
85 #endif