В общем нашлись кой-какие ягоды в ягодицах + ультимативный скилл "копипаст" и в результате родился такой шедевр:
// это было:
CRect rc;
m_wndView.GetWindowRect(&rc);
const int percent = 100 * point.x_end / rc.Width();
if (percent <= 10) {
MSG msg;
while (PeekMessage(&msg, m_hWnd, WM_LBUTTONDOWN, WM_LBUTTONDBLCLK, PM_REMOVE));
PostMessage(WM_COMMAND, ID_PLAY_SEEKBACKWARDMED);
} else if (percent >= 90) {
MSG msg;
while (PeekMessage(&msg, m_hWnd, WM_LBUTTONDOWN, WM_LBUTTONDBLCLK, PM_REMOVE));
PostMessage(WM_COMMAND, ID_PLAY_SEEKFORWARDMED);
}
// а это добавил:
// jump back/forward on single touch
const int percentX = 100 * point.x_end / rc.Width();
const int percentY = 100 * point.y_end / rc.Height();
if (percentX >= 15 &&
percentX <= 45 &&
percentY <= 15) {
MSG msg;
while (PeekMessage(&msg, m_hWnd, WM_LBUTTONDOWN, WM_LBUTTONDBLCLK, PM_REMOVE));
PostMessage(WM_COMMAND, ID_NAVIGATE_SKIPBACK);
} else if (percentX >= 55 &&
percentX <= 85 &&
percentY <= 15) {
MSG msg;
while (PeekMessage(&msg, m_hWnd, WM_LBUTTONDOWN, WM_LBUTTONDBLCLK, PM_REMOVE));
PostMessage(WM_COMMAND, ID_NAVIGATE_SKIPFORWARD);
}
Вроде делает то, что я и хотел - переход вперед-назад по тыку вверху. На нереагирование на тач флайбара и панели меня уже не хватило.
Можно добавить это чудо в svn чтобы мне не пересобирать под себя каждый раз? Вроде тем, у кого нет девайсов с тачскрином это никак помешать не сможет.