1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QQMLPROFILERDEFINITIONS_P_H
5#define QQMLPROFILERDEFINITIONS_P_H
6
7#include <private/qtqmlglobal_p.h>
8#include <private/qv4profiling_p.h>
9
10QT_REQUIRE_CONFIG(qml_debug);
11
12//
13// W A R N I N G
14// -------------
15//
16// This file is not part of the Qt API. It exists purely as an
17// implementation detail. This header file may change from version to
18// version without notice, or even be removed.
19//
20// We mean it.
21//
22
23QT_BEGIN_NAMESPACE
24
25struct QQmlProfilerDefinitions {
26 enum Message {
27 Event,
28 RangeStart,
29 RangeData,
30 RangeLocation,
31 RangeEnd,
32 Complete, // end of transmission
33 PixmapCacheEvent,
34 SceneGraphFrame,
35 MemoryAllocation,
36 DebugMessage,
37 Quick3DFrame,
38
39 MaximumMessage
40 };
41
42 enum EventType {
43 FramePaint,
44 Mouse,
45 Key,
46 AnimationFrame,
47 EndTrace,
48 StartTrace,
49
50 MaximumEventType
51 };
52
53 enum RangeType {
54 Painting,
55 Compiling,
56 Creating,
57 Binding, //running a binding
58 HandlingSignal, //running a signal handler
59 Javascript,
60
61 MaximumRangeType
62 };
63
64 enum PixmapEventType {
65 PixmapSizeKnown,
66 PixmapReferenceCountChanged,
67 PixmapCacheCountChanged,
68 PixmapLoadingStarted,
69 PixmapLoadingFinished,
70 PixmapLoadingError,
71
72 MaximumPixmapEventType
73 };
74
75 enum SceneGraphFrameType {
76 SceneGraphRendererFrame, // Render Thread
77 SceneGraphAdaptationLayerFrame, // Render Thread
78 SceneGraphContextFrame, // Render Thread
79 SceneGraphRenderLoopFrame, // Render Thread
80 SceneGraphTexturePrepare, // Render Thread
81 SceneGraphTextureDeletion, // Render Thread
82 SceneGraphPolishAndSync, // GUI Thread
83 SceneGraphWindowsRenderShow, // Unused
84 SceneGraphWindowsAnimations, // GUI Thread
85 SceneGraphPolishFrame, // GUI Thread
86
87 MaximumSceneGraphFrameType,
88 NumRenderThreadFrameTypes = SceneGraphPolishAndSync,
89 NumGUIThreadFrameTypes = MaximumSceneGraphFrameType - NumRenderThreadFrameTypes
90 };
91
92 enum Quick3DFrameType {
93 Quick3DRenderFrame, // Render Thread
94 Quick3DSynchronizeFrame,
95 Quick3DPrepareFrame,
96 Quick3DMeshLoad,
97 Quick3DCustomMeshLoad,
98 Quick3DTextureLoad,
99 Quick3DGenerateShader,
100 Quick3DLoadShader,
101 Quick3DParticleUpdate, // GUI Thread
102 Quick3DRenderCall, // Render Thread
103 Quick3DRenderPass, // Render Thread
104 Quick3DEventData, // N/A
105 MaximumQuick3DFrameType,
106 };
107
108 enum ProfileFeature {
109 ProfileJavaScript,
110 ProfileMemory,
111 ProfilePixmapCache,
112 ProfileSceneGraph,
113 ProfileAnimations,
114 ProfilePainting,
115 ProfileCompiling,
116 ProfileCreating,
117 ProfileBinding,
118 ProfileHandlingSignal,
119 ProfileInputEvents,
120 ProfileDebugMessages,
121 ProfileQuick3D,
122
123 MaximumProfileFeature
124 };
125
126 enum InputEventType {
127 InputKeyPress,
128 InputKeyRelease,
129 InputKeyUnknown,
130
131 InputMousePress,
132 InputMouseRelease,
133 InputMouseMove,
134 InputMouseDoubleClick,
135 InputMouseWheel,
136 InputMouseUnknown,
137
138 MaximumInputEventType
139 };
140};
141
142QT_END_NAMESPACE
143
144#endif
145

source code of qtdeclarative/src/qml/debugger/qqmlprofilerdefinitions_p.h