{"version":1,"pages":[{"id":"V9qJT7qnakd7gnAjING8","title":"Developer Notes","pathname":"/devnotes","siteSpaceId":"sitesp_ugp7w","description":""},{"id":"mF3gIwJ8KEUXqBaygOs3","title":"Pen input APIs","pathname":"/devnotes/readme/pen-input-apis","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Developer Notes"}]},{"id":"w4pONulpARCV5HhNRStC","title":"Pen input on Windows","pathname":"/devnotes/pen-input-on-windows","siteSpaceId":"sitesp_ugp7w","description":""},{"id":"TGob9y31Rxj3Q8EXZC7v","title":"The pen input pipeline","pathname":"/devnotes/pen-input-on-windows/pipeline","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"}]},{"id":"Mss5GXl0xokaIPfj6NPN","title":"Stage 1: Source","pathname":"/devnotes/pen-input-on-windows/pipeline/1-source","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"The pen input pipeline"}]},{"id":"BHyHADf11Y6XpRQ78F4R","title":"Stage 2: Delivery","pathname":"/devnotes/pen-input-on-windows/pipeline/2-delivery","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"The pen input pipeline"}]},{"id":"fMv57yh4RvqspHGybiXD","title":"Stage 3: Timing","pathname":"/devnotes/pen-input-on-windows/pipeline/3-timing","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"The pen input pipeline"}]},{"id":"G98vsPzURU9FSqolglG5","title":"Stage 4: Device units to desktop pixels","pathname":"/devnotes/pen-input-on-windows/pipeline/4-device-to-desktop","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"The pen input pipeline"}]},{"id":"u6t5edJ5Vo7OkgRIpQt1","title":"Stage 5: Desktop pixels to your canvas","pathname":"/devnotes/pen-input-on-windows/pipeline/5-desktop-to-canvas","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"The pen input pipeline"}]},{"id":"GWdAybSESDaNT4Ic02uG","title":"Stage 6: Values","pathname":"/devnotes/pen-input-on-windows/pipeline/6-values","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"The pen input pipeline"}]},{"id":"r31Lw6JCvjVkwHL8h1dF","title":"Stage 7: The output contract","pathname":"/devnotes/pen-input-on-windows/pipeline/7-output","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"The pen input pipeline"}]},{"id":"m2xu4Ocrzu7a2buPTmEd","title":"Stage 8: Verifying the pipeline","pathname":"/devnotes/pen-input-on-windows/pipeline/8-verifying","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"The pen input pipeline"}]},{"id":"2DWQaRs4q3cNxZseHkU7","title":"API reference card","pathname":"/devnotes/pen-input-on-windows/pipeline/api-reference","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"The pen input pipeline"}]},{"id":"tVhprAIYEgIS7MNe982R","title":"Windows pen behaviors","pathname":"/devnotes/pen-input-on-windows/windows-pen-behaviors","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"}]},{"id":"CsJk07IIrtIaqgoRbA0K","title":"Disabling feedback & gestures","pathname":"/devnotes/pen-input-on-windows/windows-pen-behaviors/disable-shell-pen-feedback","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"Windows pen behaviors"}]},{"id":"LKBJNXKTNEUPEe3OkX3V","title":"Disable pen and touch feedback","pathname":"/devnotes/pen-input-on-windows/windows-pen-behaviors/disable-pen-and-touch-feedback","siteSpaceId":"sitesp_ugp7w","description":"Suppress visual contact feedback for a single window.","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"Windows pen behaviors"}]},{"id":"kehQ9UgCSA0aHcASLvdR","title":"Disable press-and-hold right-click","pathname":"/devnotes/pen-input-on-windows/windows-pen-behaviors/disable-press-and-hold-right-click","siteSpaceId":"sitesp_ugp7w","description":"Prevent the Windows press-and-hold gesture and the pen feedback rings for a single window.","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"Windows pen behaviors"}]},{"id":"6ZWyfAxWQx0ZHEFG25q7","title":"Hide the cursor during a pen hold","pathname":"/devnotes/pen-input-on-windows/windows-pen-behaviors/disable-press-and-hold-right-click/hide-the-cursor-during-a-pen-hold","siteSpaceId":"sitesp_ugp7w","description":"Keep the cursor hidden while a pen or touch contact remains stationary.","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"Windows pen behaviors"},{"label":"Disable press-and-hold right-click"}]},{"id":"2REtIfNSKtMQbYQ2vRcN","title":"Windows pen & touch settings","pathname":"/devnotes/pen-input-on-windows/windows-pen-behaviors/windows-pen-touch-settings","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Pen input on Windows"},{"label":"Windows pen behaviors"}]},{"id":"7E7XnJ2FH37t0gT5pdVU","title":"Build a Scribble app","pathname":"/devnotes/build-a-scribble-app","siteSpaceId":"sitesp_ugp7w","description":""},{"id":"QYchqax71rjCe0tDbD55","title":"Native / C++","pathname":"/devnotes/build-a-scribble-app/canonical-native","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Build a Scribble app"}]},{"id":"TcPmRoOPYCvjfYl5kPNr","title":"WinForms","pathname":"/devnotes/build-a-scribble-app/canonical-winforms","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Build a Scribble app"}]},{"id":"fOcPzM3DsL4nRRAIQ4lf","title":"WPF","pathname":"/devnotes/build-a-scribble-app/hard-mode-wpf","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Build a Scribble app"}]},{"id":"DAC1BkMUlbkM8tBIuXyD","title":"Framework deltas","pathname":"/devnotes/build-a-scribble-app/framework-deltas","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Build a Scribble app"}]},{"id":"AoaVCoPVDGO68RoTHDmO","title":"Pen feedback, gestures and the pointer","pathname":"/devnotes/build-a-scribble-app/pen-feedback-and-the-pointer","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Build a Scribble app"}]},{"id":"muGjiB6eTBDQP3HNQp39","title":"Diagnosing a bad stroke","pathname":"/devnotes/build-a-scribble-app/diagnosing-a-bad-stroke","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Build a Scribble app"}]},{"id":"IFikpIsJWcJ3b49o8yEY","title":"Generating the symptom images","pathname":"/devnotes/build-a-scribble-app/generating-symptom-images","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Build a Scribble app"}]},{"id":"MEyMDbU7pdzmHw8Aueo1","title":"Processing pen data","pathname":"/devnotes/processing-pen-data","siteSpaceId":"sitesp_ugp7w","description":""},{"id":"yUhKhaFChWJr99kboOYd","title":"Pressure Quantization","pathname":"/devnotes/processing-pen-data/pressure-quantization","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Processing pen data"}]},{"id":"5E83GJ78q45Jcq1zr0wp","title":"Position Smoothing","pathname":"/devnotes/processing-pen-data/position-smoothing","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Processing pen data"}]},{"id":"P0iNqtGyNTI8LyrozjPK","title":"Rendering options for paint apps","pathname":"/devnotes/rendering-for-pen-apps","siteSpaceId":"sitesp_ugp7w","description":""},{"id":"uxyoamk0KF1Jbt0FLilO","title":"Misc","pathname":"/devnotes/misc","siteSpaceId":"sitesp_ugp7w"},{"id":"qZBl9FWVMicicwVwDDXg","title":"How Krita & Qt handles pen input","pathname":"/devnotes/misc/krita-and-qt","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Misc"}]},{"id":"9MtnJ6ZBwDlM5EFEtw1J","title":"Krita pen api implementation notes","pathname":"/devnotes/misc/krita-and-qt/krita-pen-api-implementation-notes","siteSpaceId":"sitesp_ugp7w","breadcrumbs":[{"label":"Misc"},{"label":"How Krita & Qt handles pen input"}]},{"id":"QbEMpp4kW6vaMGyd1tQn","title":"Qt pen api implementation notes","pathname":"/devnotes/misc/krita-and-qt/qt-pen-api-implementation-notes","siteSpaceId":"sitesp_ugp7w","description":"","breadcrumbs":[{"label":"Misc"},{"label":"How Krita & Qt handles pen input"}]},{"id":"yTPzds0Kmtsm6VSrdaJ0","title":"QTabletEvent","pathname":"/devnotes/misc/krita-and-qt/qtabletevent","siteSpaceId":"sitesp_ugp7w","breadcrumbs":[{"label":"Misc"},{"label":"How Krita & Qt handles pen input"}]},{"id":"LppElL3viQu5Xt4SYYnz","title":"Thoughts on WinTab vs WM_POINTER","pathname":"/devnotes/misc/thoughts-on-wintab-vs-wm_pointer","siteSpaceId":"sitesp_ugp7w","breadcrumbs":[{"label":"Misc"}]},{"id":"o2wyymDYo3fTZRo7KbML","title":"WinTab resouces","pathname":"/devnotes/misc/wintab-resouces","siteSpaceId":"sitesp_ugp7w","breadcrumbs":[{"label":"Misc"}]},{"id":"PCe9zPIPFap76Rj8wUiD","title":"HTML pointer events","pathname":"/devnotes/misc/html-pointer-events","siteSpaceId":"sitesp_ugp7w","breadcrumbs":[{"label":"Misc"}]},{"id":"VJUA4f0dhNdhoJgwMSQo","title":"Tools and libraries","pathname":"/devnotes/misc/tools-and-libraries","siteSpaceId":"sitesp_ugp7w","breadcrumbs":[{"label":"Misc"}]},{"id":"C2mq6xK7d2Ozq0xM2ncK","title":"SDKs","pathname":"/devnotes/misc/sdks","siteSpaceId":"sitesp_ugp7w","breadcrumbs":[{"label":"Misc"}]},{"id":"aPDNNrEs1iq9ORDPlJ5z","title":"Hardware projects","pathname":"/devnotes/misc/hardware-projects","siteSpaceId":"sitesp_ugp7w","breadcrumbs":[{"label":"Misc"}]},{"id":"E6DUFYFhqL96uDIxEC0j","title":"References","pathname":"/devnotes/references","siteSpaceId":"sitesp_ugp7w"}]}