1 // Copyright 2015 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.
5 // Singly or multiply-included shared traits file depending upon circumstances.
6 // This allows the use of IPC serialization macros in more than one IPC message
8 #ifndef UI_GFX_IPC_GFX_PARAM_TRAITS_MACROS_H_
9 #define UI_GFX_IPC_GFX_PARAM_TRAITS_MACROS_H_
11 #include "ui/gfx/buffer_types.h"
12 #include "ui/gfx/ipc/gfx_ipc_export.h"
13 #include "ipc/ipc_message_macros.h"
15 #if defined(USE_OZONE)
16 #include "ui/gfx/native_pixmap_handle_ozone.h"
19 #undef IPC_MESSAGE_EXPORT
20 #define IPC_MESSAGE_EXPORT GFX_IPC_EXPORT
22 IPC_ENUM_TRAITS_MAX_VALUE(gfx::BufferFormat
, gfx::BufferFormat::LAST
)
24 IPC_ENUM_TRAITS_MAX_VALUE(gfx::BufferUsage
, gfx::BufferUsage::LAST
)
26 #if defined(USE_OZONE)
27 IPC_STRUCT_TRAITS_BEGIN(gfx::NativePixmapHandle
)
28 IPC_STRUCT_TRAITS_MEMBER(fd
)
29 IPC_STRUCT_TRAITS_MEMBER(stride
)
30 IPC_STRUCT_TRAITS_END()
33 #undef IPC_MESSAGE_EXPORT
34 #define IPC_MESSAGE_EXPORT
36 #endif // UI_GFX_IPC_GFX_PARAM_TRAITS_MACROS_H_