Add tracing metadata to QEvent and QImageFormat

Modify qtcore and qtwidgets to use the new tracing metadata features.
This allows showing the event types and image formats used in traces
as text instead of just numbers.

Task-number: QTBUG-106399
Pick-to: 6.5
Change-Id: I267d03a696dc95e8b1d36657d7339dd09d92de3b
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
This commit is contained in:
Antti Määttä 2022-12-13 09:10:11 +02:00
parent a2bcb7d8ad
commit a37a59eea8
4 changed files with 412 additions and 14 deletions

View File

@ -264,7 +264,7 @@ QEvent::QEvent(Type type)
: t(type), m_reserved(0),
m_inputEvent(false), m_pointerEvent(false), m_singlePointEvent(false)
{
Q_TRACE(QEvent_ctor, this, t);
Q_TRACE(QEvent_ctor, this, type);
}
/*!

View File

@ -4,6 +4,182 @@ class QEvent;
QT_END_NAMESPACE
}
ENUM {
None = 0,
Timer = 1,
MouseButtonPress = 2,
MouseButtonRelease = 3,
MouseButtonDblClick = 4,
MouseMove = 5,
KeyPress = 6,
KeyRelease = 7,
FocusIn = 8,
FocusOut = 9,
FocusAboutToChange = 23,
Enter = 10,
Leave = 11,
Paint = 12,
Move = 13,
Resize = 14,
Create = 15,
Destroy = 16,
Show = 17,
Hide = 18,
Close = 19,
Quit = 20,
ParentChange = 21,
ParentAboutToChange = 131,
ThreadChange = 22,
WindowActivate = 24,
WindowDeactivate = 25,
ShowToParent = 26,
HideToParent = 27,
Wheel = 31,
WindowTitleChange = 33,
WindowIconChange = 34,
ApplicationWindowIconChange = 35,
ApplicationFontChange = 36,
ApplicationLayoutDirectionChange = 37,
ApplicationPaletteChange = 38,
PaletteChange = 39,
Clipboard = 40,
Speech = 42,
MetaCall = 43,
SockAct = 50,
WinEventAct = 132,
DeferredDelete = 52,
DragEnter = 60,
DragMove = 61,
DragLeave = 62,
Drop = 63,
DragResponse = 64,
ChildAdded = 68,
ChildPolished = 69,
ChildRemoved = 71,
ShowWindowRequest = 73,
PolishRequest = 74,
Polish = 75,
LayoutRequest = 76,
UpdateRequest = 77,
UpdateLater = 78,
EmbeddingControl = 79,
ActivateControl = 80,
DeactivateControl = 81,
ContextMenu = 82,
InputMethod = 83,
TabletMove = 87,
LocaleChange = 88,
LanguageChange = 89,
LayoutDirectionChange = 90,
Style = 91,
TabletPress = 92,
TabletRelease = 93,
OkRequest = 94,
HelpRequest = 95,
IconDrag = 96,
FontChange = 97,
EnabledChange = 98,
ActivationChange = 99,
StyleChange = 100,
IconTextChange = 101,
ModifiedChange = 102,
MouseTrackingChange = 109,
WindowBlocked = 103,
WindowUnblocked = 104,
WindowStateChange = 105,
ReadOnlyChange = 106,
ToolTip = 110,
WhatsThis = 111,
StatusTip = 112,
ActionChanged = 113,
ActionAdded = 114,
ActionRemoved = 115,
FileOpen = 116,
Shortcut = 117,
ShortcutOverride = 51,
WhatsThisClicked = 118,
ToolBarChange = 120,
ApplicationActivate = 121,
ApplicationDeactivate = 122,
QueryWhatsThis = 123,
EnterWhatsThisMode = 124,
LeaveWhatsThisMode = 125,
ZOrderChange = 126,
HoverEnter = 127,
HoverLeave = 128,
HoverMove = 129,
EnterEditFocus = 150,
LeaveEditFocus = 151,
AcceptDropsChange = 152,
ZeroTimerEvent = 154,
GraphicsSceneMouseMove = 155,
GraphicsSceneMousePress = 156,
GraphicsSceneMouseRelease = 157,
GraphicsSceneMouseDoubleClick = 158,
GraphicsSceneContextMenu = 159,
GraphicsSceneHoverEnter = 160,
GraphicsSceneHoverMove = 161,
GraphicsSceneHoverLeave = 162,
GraphicsSceneHelp = 163,
GraphicsSceneDragEnter = 164,
GraphicsSceneDragMove = 165,
GraphicsSceneDragLeave = 166,
GraphicsSceneDrop = 167,
GraphicsSceneWheel = 168,
GraphicsSceneLeave = 220,
KeyboardLayoutChange = 169,
DynamicPropertyChange = 170,
TabletEnterProximity = 171,
TabletLeaveProximity = 172,
NonClientAreaMouseMove = 173,
NonClientAreaMouseButtonPress = 174,
NonClientAreaMouseButtonRelease = 175,
NonClientAreaMouseButtonDblClick = 176,
MacSizeChange = 177,
ContentsRectChange = 178,
MacGLWindowChange = 179,
FutureCallOut = 180,
GraphicsSceneResize = 181,
GraphicsSceneMove = 182,
CursorChange = 183,
ToolTipChange = 184,
NetworkReplyUpdated = 185,
GrabMouse = 186,
UngrabMouse = 187,
GrabKeyboard = 188,
UngrabKeyboard = 189,
StateMachineSignal = 192,
StateMachineWrapped = 193,
TouchBegin = 194,
TouchUpdate = 195,
TouchEnd = 196,
NativeGesture = 197,
RequestSoftwareInputPanel = 199,
CloseSoftwareInputPanel = 200,
WinIdChange = 203,
Gesture = 198,
GestureOverride = 202,
ScrollPrepare = 204,
Scroll = 205,
Expose = 206,
InputMethodQuery = 207,
OrientationChange = 208,
TouchCancel = 209,
ThemeChange = 210,
SockClose = 211,
PlatformPanel = 212,
StyleAnimationUpdate = 213,
ApplicationStateChange = 214,
WindowChangeInternal = 215,
ScreenChangeInternal = 216,
PlatformSurface = 217,
Pointer = 218,
TabletTrackingChange = 219,
WindowAboutToChangeInternal = 221,
RANGE(User, 1000 ... 65535),
MaxUser = 65535,
} QEvent::Type;
QCoreApplicationPrivate_init_entry()
QCoreApplicationPrivate_init_exit()
@ -12,18 +188,18 @@ QFactoryLoader_update(const QString &fileName)
QLibraryPrivate_load_entry(const QString &fileName)
QLibraryPrivate_load_exit(bool success)
QEvent_ctor(QEvent *event, int type)
QEvent_dtor(QEvent *event, int type)
QEvent_ctor(QEvent *event, QEvent::Type type)
QEvent_dtor(QEvent *event, QEvent::Type type)
QCoreApplication_postEvent_entry(QObject *receiver, QEvent *event, int type)
QCoreApplication_postEvent_entry(QObject *receiver, QEvent *event, QEvent::Type type)
QCoreApplication_postEvent_exit()
QCoreApplication_postEvent_event_compressed(QObject *receiver, QEvent *event)
QCoreApplication_postEvent_event_posted(QObject *receiver, QEvent *event, int type)
QCoreApplication_postEvent_event_posted(QObject *receiver, QEvent *event, QEvent::Type type)
QCoreApplication_sendEvent(QObject *receiver, QEvent *event, int type)
QCoreApplication_sendSpontaneousEvent(QObject *receiver, QEvent *event, int type)
QCoreApplication_sendEvent(QObject *receiver, QEvent *event, QEvent::Type type)
QCoreApplication_sendSpontaneousEvent(QObject *receiver, QEvent *event, QEvent::Type type)
QCoreApplication_notify_entry(QObject *receiver, QEvent *event, int type)
QCoreApplication_notify_entry(QObject *receiver, QEvent *event, QEvent::Type type)
QCoreApplication_notify_exit(bool consumed, bool filtered)
QObject_ctor(QObject *object)

View File

@ -65,13 +65,60 @@ QT_WARNING_DISABLE_MSVC(4723)
Q_TRACE_PREFIX(qtgui,
"QT_BEGIN_NAMESPACE" \
"class QEvent;" \
"class QEvent;" \
"QT_END_NAMESPACE"
)
);
Q_TRACE_METADATA(qtgui,
"ENUM {" \
"Format_Invalid," \
"Format_Mono," \
"Format_MonoLSB," \
"Format_Indexed8," \
"Format_RGB32," \
"Format_ARGB32," \
"Format_ARGB32_Premultiplied," \
"Format_RGB16," \
"Format_ARGB8565_Premultiplied," \
"Format_RGB666," \
"Format_ARGB6666_Premultiplied," \
"Format_RGB555," \
"Format_ARGB8555_Premultiplied," \
"Format_RGB888," \
"Format_RGB444," \
"Format_ARGB4444_Premultiplied," \
"Format_RGBX8888," \
"Format_RGBA8888," \
"Format_RGBA8888_Premultiplied," \
"Format_BGR30," \
"Format_A2BGR30_Premultiplied," \
"Format_RGB30," \
"Format_A2RGB30_Premultiplied," \
"Format_Alpha8," \
"Format_Grayscale8," \
"Format_RGBX64," \
"Format_RGBA64," \
"Format_RGBA64_Premultiplied," \
"Format_Grayscale16," \
"Format_BGR888," \
"Format_RGBX16FPx4," \
"Format_RGBA16FPx4," \
"Format_RGBA16FPx4_Premultiplied," \
"Format_RGBX32FPx4," \
"Format_RGBA32FPx4," \
"Format_RGBA32FPx4_Premultiplied," \
"} QImage::Format;" \
"FLAGS {" \
"DefaultDither = 0," \
"OrderedAlphaDither = 4," \
"DiffuseAlphaDither = 8," \
"OrderedDither = 16," \
"ThresholdDither = 32," \
"} Qt::ImageConversionFlags;"
);
Q_TRACE_PARAM_REPLACE(Qt::AspectRatioMode, int);
Q_TRACE_PARAM_REPLACE(Qt::TransformationMode, int);
Q_TRACE_PARAM_REPLACE(Qt::ImageConversionFlags, int);
static QImage rotated90(const QImage &src);
static QImage rotated180(const QImage &src);
@ -108,8 +155,7 @@ QImageData * Q_TRACE_INSTRUMENT(qtgui) QImageData::create(const QSize &size, QIm
if (size.isEmpty() || format <= QImage::Format_Invalid || format >= QImage::NImageFormats)
return nullptr; // invalid parameter(s)
Q_TRACE_PARAM_REPLACE(QImage::Format, int);
Q_TRACE_SCOPE(QImageData_create, size, static_cast<int>(format));
Q_TRACE_SCOPE(QImageData_create, size, format);
int width = size.width();
int height = size.height();

View File

@ -4,5 +4,181 @@ class QEvent;
QT_END_NAMESPACE
}
QApplication_notify_entry(QObject *receiver, QEvent *event, int type)
ENUM {
None = 0,
Timer = 1,
MouseButtonPress = 2,
MouseButtonRelease = 3,
MouseButtonDblClick = 4,
MouseMove = 5,
KeyPress = 6,
KeyRelease = 7,
FocusIn = 8,
FocusOut = 9,
FocusAboutToChange = 23,
Enter = 10,
Leave = 11,
Paint = 12,
Move = 13,
Resize = 14,
Create = 15,
Destroy = 16,
Show = 17,
Hide = 18,
Close = 19,
Quit = 20,
ParentChange = 21,
ParentAboutToChange = 131,
ThreadChange = 22,
WindowActivate = 24,
WindowDeactivate = 25,
ShowToParent = 26,
HideToParent = 27,
Wheel = 31,
WindowTitleChange = 33,
WindowIconChange = 34,
ApplicationWindowIconChange = 35,
ApplicationFontChange = 36,
ApplicationLayoutDirectionChange = 37,
ApplicationPaletteChange = 38,
PaletteChange = 39,
Clipboard = 40,
Speech = 42,
MetaCall = 43,
SockAct = 50,
WinEventAct = 132,
DeferredDelete = 52,
DragEnter = 60,
DragMove = 61,
DragLeave = 62,
Drop = 63,
DragResponse = 64,
ChildAdded = 68,
ChildPolished = 69,
ChildRemoved = 71,
ShowWindowRequest = 73,
PolishRequest = 74,
Polish = 75,
LayoutRequest = 76,
UpdateRequest = 77,
UpdateLater = 78,
EmbeddingControl = 79,
ActivateControl = 80,
DeactivateControl = 81,
ContextMenu = 82,
InputMethod = 83,
TabletMove = 87,
LocaleChange = 88,
LanguageChange = 89,
LayoutDirectionChange = 90,
Style = 91,
TabletPress = 92,
TabletRelease = 93,
OkRequest = 94,
HelpRequest = 95,
IconDrag = 96,
FontChange = 97,
EnabledChange = 98,
ActivationChange = 99,
StyleChange = 100,
IconTextChange = 101,
ModifiedChange = 102,
MouseTrackingChange = 109,
WindowBlocked = 103,
WindowUnblocked = 104,
WindowStateChange = 105,
ReadOnlyChange = 106,
ToolTip = 110,
WhatsThis = 111,
StatusTip = 112,
ActionChanged = 113,
ActionAdded = 114,
ActionRemoved = 115,
FileOpen = 116,
Shortcut = 117,
ShortcutOverride = 51,
WhatsThisClicked = 118,
ToolBarChange = 120,
ApplicationActivate = 121,
ApplicationDeactivate = 122,
QueryWhatsThis = 123,
EnterWhatsThisMode = 124,
LeaveWhatsThisMode = 125,
ZOrderChange = 126,
HoverEnter = 127,
HoverLeave = 128,
HoverMove = 129,
EnterEditFocus = 150,
LeaveEditFocus = 151,
AcceptDropsChange = 152,
ZeroTimerEvent = 154,
GraphicsSceneMouseMove = 155,
GraphicsSceneMousePress = 156,
GraphicsSceneMouseRelease = 157,
GraphicsSceneMouseDoubleClick = 158,
GraphicsSceneContextMenu = 159,
GraphicsSceneHoverEnter = 160,
GraphicsSceneHoverMove = 161,
GraphicsSceneHoverLeave = 162,
GraphicsSceneHelp = 163,
GraphicsSceneDragEnter = 164,
GraphicsSceneDragMove = 165,
GraphicsSceneDragLeave = 166,
GraphicsSceneDrop = 167,
GraphicsSceneWheel = 168,
GraphicsSceneLeave = 220,
KeyboardLayoutChange = 169,
DynamicPropertyChange = 170,
TabletEnterProximity = 171,
TabletLeaveProximity = 172,
NonClientAreaMouseMove = 173,
NonClientAreaMouseButtonPress = 174,
NonClientAreaMouseButtonRelease = 175,
NonClientAreaMouseButtonDblClick = 176,
MacSizeChange = 177,
ContentsRectChange = 178,
MacGLWindowChange = 179,
FutureCallOut = 180,
GraphicsSceneResize = 181,
GraphicsSceneMove = 182,
CursorChange = 183,
ToolTipChange = 184,
NetworkReplyUpdated = 185,
GrabMouse = 186,
UngrabMouse = 187,
GrabKeyboard = 188,
UngrabKeyboard = 189,
StateMachineSignal = 192,
StateMachineWrapped = 193,
TouchBegin = 194,
TouchUpdate = 195,
TouchEnd = 196,
NativeGesture = 197,
RequestSoftwareInputPanel = 199,
CloseSoftwareInputPanel = 200,
WinIdChange = 203,
Gesture = 198,
GestureOverride = 202,
ScrollPrepare = 204,
Scroll = 205,
Expose = 206,
InputMethodQuery = 207,
OrientationChange = 208,
TouchCancel = 209,
ThemeChange = 210,
SockClose = 211,
PlatformPanel = 212,
StyleAnimationUpdate = 213,
ApplicationStateChange = 214,
WindowChangeInternal = 215,
ScreenChangeInternal = 216,
PlatformSurface = 217,
Pointer = 218,
TabletTrackingChange = 219,
WindowAboutToChangeInternal = 221,
RANGE(User, 1000 ... 65535),
MaxUser = 65535,
} QEvent::Type;
QApplication_notify_entry(QObject *receiver, QEvent *event, QEvent::Type type)
QApplication_notify_exit(bool consumed, bool filtered)