Esempio n. 1
0
void UI::update(const SDL_Event &event) {
	if (m_windows.empty()) {
		return;
	}

	switch (event.type) {

	case SDL_MOUSEBUTTONDOWN:
		handle_click(event);
		break;
	case SDL_MOUSEBUTTONUP:
		m_dragging = Drag_Status::NOT_DRAGGING;
		handle_click(event);
		break;

	case SDL_MOUSEMOTION:
		handle_motion(event);
		break;
	case SDL_KEYDOWN:
		handle_key_event(event);
		break;
	case SDL_TEXTINPUT:
		handle_text_input(event);
		break;

	default:
		break;
	}
}
Esempio n. 2
0
/////////////////////////////////
// PanZoomTrackerSDLEvent methods
void
PanZoomTrackerSDLEvent::
handle_event(const SDL_Event &ev)
{
  switch(ev.type)
    {
    case SDL_MOUSEBUTTONDOWN:
      if(ev.button.button == 1)
        {
          handle_down(m_scale_event * fastuidraw::vec2(ev.button.x, ev.button.y) + m_translate_event);
        }
      break;

    case SDL_MOUSEBUTTONUP:
      if(ev.button.button == 1)
        {
          handle_up();
        }
      break;

    case SDL_MOUSEMOTION:
      handle_motion(m_scale_event * fastuidraw::vec2(ev.motion.x, ev.motion.y) + m_translate_event,
                    m_scale_event * fastuidraw::vec2(ev.motion.xrel, ev.motion.yrel));
      break;
    }
}