Krita Source Code Documentation
Loading...
Searching...
No Matches
KisTabletDebugger Class Reference

#include <kis_tablet_debugger.h>

Public Member Functions

bool debugEnabled () const
 
bool debugRawTabletValues () const
 
QString eventToString (const QEvent &ev, const QString &prefix)
 
QString eventToString (const QKeyEvent &ev, const QString &prefix)
 
QString eventToString (const QMouseEvent &ev, const QString &prefix)
 
QString eventToString (const QTabletEvent &ev, const QString &prefix)
 
QString eventToString (const QTouchEvent &ev, const QString &prefix)
 
QString eventToString (const QWheelEvent &ev, const QString &prefix)
 
bool initializationDebugEnabled () const
 
 KisTabletDebugger ()
 
bool shouldEatDriverShortcuts () const
 
void toggleDebugging ()
 

Static Public Member Functions

static QString exTypeToString (QEvent::Type type)
 
static KisTabletDebuggerinstance ()
 
static QString pointerTypeToString (const QTabletEvent &event)
 
static QString tabletDeviceToString (const QTabletEvent &event)
 

Private Attributes

bool m_debugEnabled
 
bool m_shouldEatDriverShortcuts
 

Detailed Description

Definition at line 13 of file kis_tablet_debugger.h.

Constructor & Destructor Documentation

◆ KisTabletDebugger()

KisTabletDebugger::KisTabletDebugger ( )

Definition at line 91 of file kis_tablet_debugger.cpp.

92 : m_debugEnabled(false)
93{
94 KisConfig cfg(true);
95 m_shouldEatDriverShortcuts = cfg.shouldEatDriverShortcuts();
96}

References m_shouldEatDriverShortcuts, and KisConfig::shouldEatDriverShortcuts().

Member Function Documentation

◆ debugEnabled()

bool KisTabletDebugger::debugEnabled ( ) const

Definition at line 117 of file kis_tablet_debugger.cpp.

118{
119 return m_debugEnabled;
120}

References m_debugEnabled.

◆ debugRawTabletValues()

bool KisTabletDebugger::debugRawTabletValues ( ) const

Definition at line 128 of file kis_tablet_debugger.cpp.

129{
130 // FIXME: make configurable!
131 return m_debugEnabled;
132}

References m_debugEnabled.

◆ eventToString() [1/6]

QString KisTabletDebugger::eventToString ( const QEvent & ev,
const QString & prefix )

Definition at line 212 of file kis_tablet_debugger.cpp.

213{
214 QString string;
215 QTextStream s(&string);
217
218 dumpBaseParams(s, ev, prefix);
219
220 return string;
221}
void dumpBaseParams(QTextStream &s, const Event &ev, const QString &prefix)
void setUtf8OnStream(QTextStream &stream)

References dumpBaseParams(), and KisPortingUtils::setUtf8OnStream().

◆ eventToString() [2/6]

QString KisTabletDebugger::eventToString ( const QKeyEvent & ev,
const QString & prefix )

Definition at line 152 of file kis_tablet_debugger.cpp.

153{
154 QString string;
155 QTextStream s(&string);
157
158 dumpBaseParams(s, ev, prefix);
159
160 s << "key: 0x" << Qt::hex << ev.key() << Qt::reset << " ";
161 s << "mod: 0x" << Qt::hex << ev.modifiers() << Qt::reset << " ";
162 s << "text: " << (ev.text().isEmpty() ? "none" : ev.text()) << " ";
163 s << "autorepeat: " << bool(ev.isAutoRepeat());
164
165 return string;
166}

References dumpBaseParams(), and KisPortingUtils::setUtf8OnStream().

◆ eventToString() [3/6]

QString KisTabletDebugger::eventToString ( const QMouseEvent & ev,
const QString & prefix )

Definition at line 139 of file kis_tablet_debugger.cpp.

140{
141 QString string;
142 QTextStream s(&string);
143
144 dumpBaseParams(s, ev, prefix);
146 s << "hires: " << qSetFieldWidth(8) << ev.screenPos().x() << qSetFieldWidth(0) << "," << qSetFieldWidth(8) << ev.screenPos().y() << qSetFieldWidth(0) << " ";
147 s << "Source:" << ev.source();
148
149 return string;
150}
void dumpMouseRelatedParams(QTextStream &s, const Event &ev)

References dumpBaseParams(), and dumpMouseRelatedParams().

◆ eventToString() [4/6]

QString KisTabletDebugger::eventToString ( const QTabletEvent & ev,
const QString & prefix )

Definition at line 251 of file kis_tablet_debugger.cpp.

252{
253 return tabletEventToString(ev, prefix);
254}
QString tabletEventToString(const Event &ev, const QString &prefix)

References tabletEventToString().

◆ eventToString() [5/6]

QString KisTabletDebugger::eventToString ( const QTouchEvent & ev,
const QString & prefix )

Definition at line 182 of file kis_tablet_debugger.cpp.

183{
184 QString string;
185 QTextStream s(&string);
187
188 dumpBaseParams(s, ev, prefix);
189#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
190 s << (ev.device()->type() ? "TouchPad" : "TouchScreen") << " ";
191#else
192 if (ev.deviceType() == QInputDevice::DeviceType::TouchPad) {
193 s << "Touchpad";
194 }
195 else if (ev.deviceType() == QInputDevice::DeviceType::TouchScreen) {
196 s << "TouchScreen";
197 }
198 s << " ";
199#endif
200 for (const auto& touchpoint: ev.touchPoints()) {
201 s << "id: " << touchpoint.id() << " ";
202 s << "hires: " << qSetFieldWidth(8) << touchpoint.screenPos().x() << qSetFieldWidth(0) << "," << qSetFieldWidth(8) << touchpoint.screenPos().y() << qSetFieldWidth(0) << " ";
203 s << "prs: " << touchpoint.pressure() << " ";
204 s << "rot: "<< touchpoint.rotation() << " ";
205 s << "state: 0x" << Qt::hex << touchpoint.state() << "; ";
206 s << Qt::dec;
207 }
208
209 return string;
210}

References dumpBaseParams(), and KisPortingUtils::setUtf8OnStream().

◆ eventToString() [6/6]

QString KisTabletDebugger::eventToString ( const QWheelEvent & ev,
const QString & prefix )

Definition at line 168 of file kis_tablet_debugger.cpp.

169{
170 QString string;
171 QTextStream s(&string);
173
174 dumpBaseParams(s, ev, prefix);
176
177 s << "delta: x: " << ev.angleDelta().x() << " y: " << ev.angleDelta().y() << " ";
178
179 return string;
180}

References dumpBaseParams(), dumpMouseRelatedParams(), and KisPortingUtils::setUtf8OnStream().

◆ exTypeToString()

QString KisTabletDebugger::exTypeToString ( QEvent::Type type)
static

Definition at line 64 of file kis_tablet_debugger.cpp.

64 {
65 return
66 type == QEvent::TabletEnterProximity ? "TabletEnterProximity" :
67 type == QEvent::TabletLeaveProximity ? "TabletLeaveProximity" :
68 type == QEvent::Enter ? "Enter" :
69 type == QEvent::Leave ? "Leave" :
70 type == QEvent::FocusIn ? "FocusIn" :
71 type == QEvent::FocusOut ? "FocusOut" :
72 type == QEvent::Wheel ? "Wheel" :
73 type == QEvent::KeyPress ? "KeyPress" :
74 type == QEvent::KeyRelease ? "KeyRelease" :
75 type == QEvent::ShortcutOverride ? "ShortcutOverride" :
76 type == QMouseEvent::MouseButtonPress ? "MouseButtonPress" :
77 type == QMouseEvent::MouseButtonRelease ? "MouseButtonRelease" :
78 type == QMouseEvent::MouseButtonDblClick ? "MouseButtonDblClick" :
79 type == QMouseEvent::MouseMove ? "MouseMove" :
80 type == QTabletEvent::TabletMove ? "TabletMove" :
81 type == QTabletEvent::TabletPress ? "TabletPress" :
82 type == QTabletEvent::TabletRelease ? "TabletRelease" :
83 type == QTouchEvent::TouchBegin ? "TouchBegin" :
84 type == QTouchEvent::TouchUpdate ? "TouchUpdate" :
85 type == QTouchEvent::TouchEnd ? "TouchEnd" :
86 type == QTouchEvent::TouchCancel ? "TouchCancel" :
87 "unknown";
88}

◆ initializationDebugEnabled()

bool KisTabletDebugger::initializationDebugEnabled ( ) const

Definition at line 122 of file kis_tablet_debugger.cpp.

123{
124 // FIXME: make configurable!
125 return true;
126}

◆ instance()

KisTabletDebugger * KisTabletDebugger::instance ( )
static

Definition at line 98 of file kis_tablet_debugger.cpp.

99{
100 return s_instance;
101}

◆ pointerTypeToString()

QString KisTabletDebugger::pointerTypeToString ( const QTabletEvent & event)
static

Definition at line 279 of file kis_tablet_debugger.cpp.

279 {
280#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
281 return
282 event.pointerType() == QTabletEvent::UnknownPointer ? "UnknownPointer" :
283 event.pointerType() == QTabletEvent::Pen ? "Pen" :
284 event.pointerType() == QTabletEvent::Cursor ? "Cursor" :
285 event.pointerType() == QTabletEvent::Eraser ? "Eraser" :
286 "Unknown";
287#else
288 QPointingDevice::PointerType pointerType = event.pointerType();
289 return
290 pointerType == QPointingDevice::PointerType::Pen ? "Pen" :
291 pointerType == QPointingDevice::PointerType::Cursor ? "Cursor" :
292 pointerType == QPointingDevice::PointerType::Eraser ? "Eraser" :
293 "Unknown";
294#endif
295
296}

◆ shouldEatDriverShortcuts()

bool KisTabletDebugger::shouldEatDriverShortcuts ( ) const

Definition at line 134 of file kis_tablet_debugger.cpp.

135{
137}

References m_shouldEatDriverShortcuts.

◆ tabletDeviceToString()

QString KisTabletDebugger::tabletDeviceToString ( const QTabletEvent & event)
static

Definition at line 256 of file kis_tablet_debugger.cpp.

257{
258#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
259 return
260 event.deviceType() == QTabletEvent::NoDevice ? "NoDevice" :
261 event.deviceType() == QTabletEvent::Puck ? "Puck" :
262 event.deviceType() == QTabletEvent::Stylus ? "Stylus" :
263 event.deviceType() == QTabletEvent::Airbrush ? "Airbrush" :
264 event.deviceType() == QTabletEvent::FourDMouse ? "FourDMouse" :
265 event.deviceType() == QTabletEvent::XFreeEraser ? "XFreeEraser" :
266 event.deviceType() == QTabletEvent::RotationStylus ? "RotationStylus" :
267 "Unknown";
268#else
269 QInputDevice::DeviceType deviceType = event.deviceType();
270
271 return
272 deviceType == QInputDevice::DeviceType::Puck ? "Puck" :
273 deviceType == QInputDevice::DeviceType::Stylus ? "Stylus" :
274 deviceType == QInputDevice::DeviceType::Airbrush ? "Airbrush" :
275 "Unknown";
276#endif
277}

◆ toggleDebugging()

void KisTabletDebugger::toggleDebugging ( )

Definition at line 103 of file kis_tablet_debugger.cpp.

104{
106 QMessageBox::information(qApp->activeWindow(), i18nc("@title:window", "Krita"), m_debugEnabled ?
107 i18n("Tablet Event Logging Enabled") :
108 i18n("Tablet Event Logging Disabled"));
109 if (m_debugEnabled) {
110 dbgTablet << "vvvvvvvvvvvvvvvvvvvvvvv START TABLET EVENT LOG vvvvvvvvvvvvvvvvvvvvvvv";
111 }
112 else {
113 dbgTablet << "^^^^^^^^^^^^^^^^^^^^^^^ END TABLET EVENT LOG ^^^^^^^^^^^^^^^^^^^^^^^";
114 }
115}
#define dbgTablet
Definition kis_debug.h:59

References dbgTablet, and m_debugEnabled.

Member Data Documentation

◆ m_debugEnabled

bool KisTabletDebugger::m_debugEnabled
private

Definition at line 39 of file kis_tablet_debugger.h.

◆ m_shouldEatDriverShortcuts

bool KisTabletDebugger::m_shouldEatDriverShortcuts
private

Definition at line 40 of file kis_tablet_debugger.h.


The documentation for this class was generated from the following files: