void IFWL_ComboList::ClientToOuter(FX_FLOAT& fx, FX_FLOAT& fy) { fx += m_pProperties->m_rtWidget.left, fy += m_pProperties->m_rtWidget.top; IFWL_Widget* pOwner = GetOwner(); if (!pOwner) return; pOwner->TransformTo(m_pOuter, fx, fy); }
void CFWL_NoteDriver::MouseSecondary(CFWL_MsgMouse* pMsg) { IFWL_Widget* pTarget = pMsg->m_pDstTarget; if (pTarget == m_pHover) { return; } if (m_pHover) { CFWL_MsgMouse msLeave; msLeave.m_pDstTarget = m_pHover; msLeave.m_fx = pMsg->m_fx; msLeave.m_fy = pMsg->m_fy; pTarget->TransformTo(m_pHover, msLeave.m_fx, msLeave.m_fy); msLeave.m_dwFlags = 0; msLeave.m_dwCmd = FWL_MSGMOUSECMD_MouseLeave; DispatchMessage(&msLeave, NULL); } if (pTarget->GetClassID() == FWL_CLASSHASH_Form) { m_pHover = NULL; return; } m_pHover = pTarget; CFWL_MsgMouse msHover; msHover.m_pDstTarget = pTarget; msHover.m_fx = pMsg->m_fx; msHover.m_fy = pMsg->m_fy; msHover.m_dwFlags = 0; msHover.m_dwCmd = FWL_MSGMOUSECMD_MouseHover; DispatchMessage(&msHover, NULL); }