void WindowWorld::OnMouseButtonDown(const InputMouse& args) { Window::OnMouseButtonDown(args); if (!m_world) { return; } const Vector2i position = m_world->GetCamera()->Project(GetBounds(), args.position); for (ListenerList::iterator iter = m_listeners.begin(); iter != m_listeners.end(); ++iter) { (*iter)->OnWorldMouseButtonDown(InputMouse(args.button, args.buttonState, position, Vector2i(0, 0), args.wheel, args.modifier)); } #ifdef DEVELOPER if (args.modifier & KMOD_SHIFT && args.button == SDL_BUTTON_LEFT) { boost::shared_ptr<Actor> actor = PickActor(position).lock(); if (actor) { TRACE_INFO(boost::format("Actor:\n\tAlias = %s\n\tId = %d\n\tName = %s\n\tLayer = %d\n\tPosition = (%.1f, %.1f)") % actor->GetAlias() % actor->GetId() % actor->GetName() % actor->GetLayer() % actor->GetPosition().x % actor->GetPosition().y); } } #endif }
/** * Process eyes changes * * @param regime 1 - keyboard, 2 - mouse * @return */ int InputControl::process(int regime) { int result = 0; if (regime == 1) { result = InputKey(); } else { result = InputMouse(); } return result; }
void WindowWorld::OnMouseWheel(const InputMouse& args) { Window::OnMouseWheel(args); if (!m_world) { return; } const Vector2i position = m_world->GetCamera()->Project(GetBounds(), args.position); for (ListenerList::iterator iter = m_listeners.begin(); iter != m_listeners.end(); ++iter) { (*iter)->OnWorldMouseWheel(InputMouse(args.button, args.buttonState, position, Vector2i(0, 0), args.wheel, args.modifier)); } }