Exemplo n.º 1
0
LRESULT CAnimMixer::OnFrameChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	if (m_flags & 8) // follow mode
	{
		RECT rc;
		sInt mapped = mapTime(m_curFrame);

		GetClientRect(&rc);

		if (mapped >= rc.right * 7 / 8) // need to scroll right
			processScroll(mapped - rc.right / 8, sTRUE);
		else if (mapped < 0) // need to scroll left
			processScroll(mapped - rc.right * 7 / 8, sTRUE);
	}

	m_curFrame = lParam;
	drawBar();
  
  return 0;
}
Exemplo n.º 2
0
LRESULT CAnimMixer::OnRuleMouseInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
  sInt buttons, dx, dy;

  ruleMousePoll(buttons, dx, dy);

  m_ruleMouseCoord.x += dx;
  m_ruleMouseCoord.y += dy;

  if (m_mbDown)
    processScroll(m_ruleMouseCoord.x);

  return 0;
}
Exemplo n.º 3
0
LRESULT CAnimMixer::OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
  CPoint ptCursor(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));

  if (::GetCapture() != m_hWnd)
  {
    m_oldFocusWin = ::GetFocus();
    
    SetCapture();
    SetFocus();

    m_useRuleMouse = ruleMouseSetTarget(m_hWnd);
    sInt buttons, dx, dy;
    ruleMousePoll(buttons, dx, dy); // to clear accumulated deltas

    m_ruleMouseCoord = ptCursor;
  }
  else
  {
    CRect rc;
    GetClientRect(&rc);
    rc.top += 40;
    
    if (!::PtInRect(&rc, ptCursor) && !m_lbDown && !m_mbDown)
    {
      ::ReleaseCapture();
      ::SetFocus(m_oldFocusWin);
      if (ruleMouseGetTarget() == (void *) m_hWnd)
        ruleMouseSetTarget(0);
    }
  }
  
  if (m_lbDown) // Move
    processMove(ptCursor.x, ptCursor.y);

  if (m_mbDown && !m_useRuleMouse) // Scroll
    processScroll(ptCursor.x);

  return 0;
}
Exemplo n.º 4
0
void Camera::update(bool keys[1024], glm::vec2 mouse, glm::vec2 scroll, GLfloat deltaTime) {
	processKeyboard(keys, deltaTime);
	processMouse(mouse);
	processScroll(scroll);
}