void ModuleWorldPage::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
	setMouseButton(MOUSE_BUTTON_LEFT);
	mousex = point.x; mousey = point.y;
	
	CPropertyPage::OnLButtonDown(nFlags, point);
}
Exemplo n.º 2
0
//get any new input
void WindowSFML::updateInput()
{
	if (!windowIsOpen)
	{
		return;
	}
	else if (!windowObj.isOpen())
	{
		windowIsOpen=0;
		return;
	}
	
	sf::Event event;
	
	keyPressListPos=0;
	keyPressNum=0;
	
	bool lDwn=0, rDwn=0, mDwn=0;
	double scroll=0;
	
	while (windowObj.pollEvent(event))
	{
		switch (event.type)
		{
		// window closed
		case sf::Event::Closed:
			windowObj.close();
			break;
		
		// key pressed
		case sf::Event::KeyPressed:
			if (keyPressNum<MAX_KEY_PRESSES)
			{
				keyPresses[keyPressNum]=key2char[event.key.code];
				++keyPressNum;
			}
			else
			{
				err << "key press overflow" << err;
			}
			break;
		
		case sf::Event::MouseButtonPressed:
			switch (event.mouseButton.button)
			{
			case sf::Mouse::Left:
				lDwn=1;
				break;
				
			case sf::Mouse::Right:
				rDwn=1;
				break;
				
			case sf::Mouse::Middle:
				mDwn=1;
				break;
			
			default:
				break;
			}
			break;
		
		case sf::Event::MouseWheelMoved:
			scroll+=event.mouseWheel.delta;
			break;
			
		case sf::Event::Resized:
			hasBeenResized();
			break;
			
		case sf::Event::GainedFocus:
			windowHasFocus=1;
			break;
		
		case sf::Event::LostFocus:
			windowHasFocus=0;
			break;
		
		// we don't process other types of events
		default:
			break;
		}
	}
	
	auto mouseVctr=sf::Mouse::getPosition(windowObj);
	
	shiftDwnBool=sf::Keyboard::isKeyPressed(sf::Keyboard::LShift) || sf::Keyboard::isKeyPressed(sf::Keyboard::RShift);
	ctrlDwnBool=sf::Keyboard::isKeyPressed(sf::Keyboard::LControl) || sf::Keyboard::isKeyPressed(sf::Keyboard::RControl);
	altDwnBool=sf::Keyboard::isKeyPressed(sf::Keyboard::LAlt) || sf::Keyboard::isKeyPressed(sf::Keyboard::RAlt);
	superDwnBool=sf::Keyboard::isKeyPressed(sf::Keyboard::RSystem) || sf::Keyboard::isKeyPressed(sf::Keyboard::RSystem);
	
	if (sf::Mouse::isButtonPressed(sf::Mouse::Left))
		lDwn=true;
	
	if (sf::Mouse::isButtonPressed(sf::Mouse::Right))
		rDwn=true;
		
	if (sf::Mouse::isButtonPressed(sf::Mouse::Middle))
		mDwn=true;
	
	setMouseButton(&mouse.left, lDwn);
	setMouseButton(&mouse.right, rDwn);
	setMouseButton(&mouse.middle, mDwn);
	
	setMousePos(V2d(mouseVctr.x, dim.y-mouseVctr.y));
	
	setMouseScroll(scroll);
	
	dltaTime=dltaTimer.get();
	dltaTimer.reset();
}