I haven’t had such luck as @jrlanglois.
I put a breakpoint at line 97 of juce_ComponentPeer.cpp:
void ComponentPeer::handleMagnifyGesture (MouseInputSource::InputSourceType type, Point<float> pos, int64 time, float scaleFactor, int touchIndex)
if (auto* mouse = Desktop::getInstance().mouseSources->getOrCreateMouseInputSource (type, touchIndex))
MouseInputSource (*mouse).handleMagnifyGesture (*this, pos, time, scaleFactor);
But it never breaks when I pinch-zoom on my trackpad.
Then I followed the call hierarchy all the way back to line 3395 in juce_win32_Windowing.cpp:
static LRESULT CALLBACK windowProc (HWND h, UINT message, WPARAM wParam, LPARAM lParam)
// Ensure that non-client areas are scaled for per-monitor DPI awareness v1 - can't
// do this in peerWindowProc as we have no window at this point
if (message == WM_NCCREATE && enableNonClientDPIScaling != nullptr)
if (auto* peer = getOwnerOfWindow (h))
jassert (isValidPeer (peer));
return peer->peerWindowProc (h, message, wParam, lParam);
return DefWindowProcW (h, message, wParam, lParam);
I put a breakpoint here, with condition “message == 0x119”. (
windowProc() breaks all the time, but as far as I can tell, “message == 0x119” is the condition that should lead to
handleMagnifyGesture () being called). But this breakpoint is also never reached. Visual Studio can’t find any higher results than
windowProc() on the call hierarchy, so I’m stuck.