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 #ifndef UI_EVENTS_IPC_LATENCY_INFO_PARAM_TRAITS_H_ 6 #define UI_EVENTS_IPC_LATENCY_INFO_PARAM_TRAITS_H_ 7 8 #include "ipc/ipc_message_macros.h" 9 #include "ui/events/events_export.h" 10 #include "ui/events/latency_info.h" 11 12 #undef IPC_MESSAGE_EXPORT 13 #define IPC_MESSAGE_EXPORT EVENTS_EXPORT 14 15 IPC_ENUM_TRAITS_MAX_VALUE(ui::LatencyComponentType, 16 ui::LATENCY_COMPONENT_TYPE_LAST) 17 18 IPC_STRUCT_TRAITS_BEGIN(ui::LatencyInfo::LatencyComponent) 19 IPC_STRUCT_TRAITS_MEMBER(sequence_number) 20 IPC_STRUCT_TRAITS_MEMBER(event_time) 21 IPC_STRUCT_TRAITS_MEMBER(event_count) 22 IPC_STRUCT_TRAITS_END() 23 24 IPC_STRUCT_TRAITS_BEGIN(ui::LatencyInfo::InputCoordinate) 25 IPC_STRUCT_TRAITS_MEMBER(x) 26 IPC_STRUCT_TRAITS_MEMBER(y) 27 IPC_STRUCT_TRAITS_END() 28 29 IPC_STRUCT_TRAITS_BEGIN(ui::LatencyInfo) 30 IPC_STRUCT_TRAITS_MEMBER(latency_components) 31 IPC_STRUCT_TRAITS_MEMBER(trace_id) 32 IPC_STRUCT_TRAITS_MEMBER(terminated) 33 IPC_STRUCT_TRAITS_MEMBER(input_coordinates_size) 34 IPC_STRUCT_TRAITS_MEMBER(input_coordinates[0]) 35 IPC_STRUCT_TRAITS_MEMBER(input_coordinates[1]) 36 IPC_STRUCT_TRAITS_END() 37 38 #endif // UI_EVENTS_IPC_LATENCY_INFO_PARAM_TRAITS_H_ 39