Example #1
1
void Windows9::Execute(){
	
	SDL_Event *currentEvent = myGraphic->getEvent();
	
	UpdateCaption();
	myGraphic->activeInputText();
	myText = "NewFolder";
	myNewFolder->setMessageChanged(true);
					
	while(termination == false){
		
		displayBasics();

		while(SDL_PollEvent(currentEvent)){
			
			if(currentEvent->type == SDL_QUIT){
				termination = true;
			}
			else if(currentEvent->type == SDL_MOUSEMOTION){
				xPosOfMouse = currentEvent->button.x;
				yPosOfMouse = currentEvent->button.y;
				//cout << "x: " << xPosOfMouse << " y: " << yPosOfMouse << endl;
				checkMouseState(xPosOfMouse, yPosOfMouse);
			}
			else if(currentEvent->type == SDL_MOUSEBUTTONDOWN){
				xPosOfMouse = currentEvent->button.x;
				yPosOfMouse = currentEvent->button.y;
				cout << "x: " << xPosOfMouse << " y: " << yPosOfMouse << endl;
				checkMouseClicked(xPosOfMouse, yPosOfMouse);
			}
			else if(currentEvent->type == SDL_KEYDOWN && myNewFolder->getActivation()){
				
				if( currentEvent->key.keysym.sym == SDLK_BACKSPACE && myText.length() > 0 ){
					myNewFolder->setMessageChanged(true);
					myText.pop_back();
				}
			}
			if(currentEvent->type == SDL_TEXTINPUT && myNewFolder->getActivation()){
				myNewFolder->setMessageChanged(true);
				myText += currentEvent->text.text;
			}
		}
		
		if(myNewFolder->getActivation() && myNewFolder->getMessageChanged() == true){
			myNewFolder->setName(myText);
			cout << "text: " << myNewFolder->getName() << endl;
		}
		myGraphic->display();
		UpdateCaption();
	}
	myGraphic->deactiveInputText();
	
}
Example #2
0
void lookPadState()
{
	KeyState		oldState = keyState;
	float			oldDeg = keyState.deg;

	int			i,j;
	BOOL		bMove,bUseKeyMove = FALSE;
	HRESULT		hr;
	static float		sThumbLX = 0,sThumbLY=0,leng;

	point = sysInf.msPoint;
	GetCursorPos(&sysInf.msPoint);
	ScreenToClient(sysInf.hWnd,&sysInf.msPoint);
	if(sysInf.full_screen){
		if(!sysInf.bShowMenu){
			if(sysInf.msPoint.y<GetSystemMetrics(SM_CYMENUSIZE)){
				ShowWindow(sysInf.hMenuWnd,SW_SHOW);
				UpdateWindow(sysInf.hMenuWnd);
				sysInf.bShowMenu = on;
			}
		}else{
			if(sysInf.msPoint.y>GetSystemMetrics(SM_CYMENUSIZE)){
				ShowWindow(sysInf.hMenuWnd, SW_HIDE);
				sysInf.bShowMenu = off;
				return;
			}
		}
	}
	if(sysInf.bShowMenu)return;
	clearAllPushData();
	for(i=0;i<g_iDIDeviceNum; i++)
	{
		DIDEVICEOBJECTDATA od[100];
		DWORD dwItems = 100;
		hr = g_pDIDevice[i]->Poll(); 
		if (FAILED(hr)){
			hr = g_pDIDevice[i]->Acquire();
			while (hr==DIERR_INPUTLOST)
				hr = g_pDIDevice[i]->Acquire();
		}
		hr = g_pDIDevice[i]->GetDeviceData(sizeof(DIDEVICEOBJECTDATA), od, &dwItems, 0);
		if(DI_OK!=hr && DI_BUFFEROVERFLOW!=hr)
			continue;
		bMove = FALSE;
		for (j=0;j<dwItems;j++){
			BOOL bState = (od[j].dwData != 0 ) ? TRUE : FALSE;
			switch(od[j].uAppData){
			  case INPUT_LEFTRIGHT:
				bMove = TRUE;
				sThumbLX = float(int(od[j].dwData));
				break;
			  case INPUT_UPDOWN:
				bMove = TRUE;
				sThumbLY = float(-int(od[j].dwData));
				break;
			  case INPUT_LEFT:
				bUseKeyMove = TRUE;
				keyState.data_kLeft = bState;
				break;
			  case INPUT_RIGHT:
				bUseKeyMove = TRUE;
				keyState.data_kRight = bState;
				break;
			  case INPUT_UP:
				bUseKeyMove = TRUE;
				keyState.data_kUp = bState;
				break;
			  case INPUT_DOWN:
				bUseKeyMove = TRUE;
				keyState.data_kDown = bState;
				break;
			  case INPUT_LEFTUP:
				bUseKeyMove = TRUE;
				keyState.data_kLeftUp = bState;
				break;
			  case INPUT_RIGHTUP:
				bUseKeyMove = TRUE;
				keyState.data_kRightUp = bState;
				break;
			  case INPUT_LEFTDOWN:
				bUseKeyMove = TRUE;
				keyState.data_kLeftDown = bState;
				break;
			  case INPUT_RIGHTDOWN:
				bUseKeyMove = TRUE;
				keyState.data_kRightDown = bState;
				break;
			  case INPUT_ACTION:
				keyState.push_action = bState;
				if(keyState.push_action){
					keyState.data_action = TRUE;
				}else{
					keyState.data_action = FALSE;
				}
				break;
			  case INPUT_MOUSEA:
				keyState.push_mouse_a = bState;
				keyState.push_action = bState;
				if(keyState.push_mouse_a){
					keyState.data_action = TRUE;
				}else{
					keyState.data_action = FALSE;
				}
				break;
			  case INPUT_MOUSEB:
				keyState.push_mouse_b = bState;
				keyState.push_cancel = bState;
				if(keyState.push_mouse_b){
					keyState.data_cancel = TRUE;
				}else{
					keyState.data_cancel = FALSE;
				}
				break;
			  case INPUT_MOUSEC:
				keyState.push_mouse_c = bState;
				keyState.push_cancel = bState;
				if(keyState.push_mouse_c){
					keyState.data_cancel = TRUE;
				}else{
					keyState.data_cancel = FALSE;
				}
				break;
			  case INPUT_CANCEL:
				keyState.push_cancel = bState;
				if(keyState.push_cancel){
					keyState.data_cancel = TRUE;
				}else{
					keyState.data_cancel = FALSE;
				}
				break;
			  case INPUT_SKIP:
				keyState.push_skip = bState;
				if(sysInf.bAllSkip){
					if(keyState.push_skip){
						keyState.data_skip = TRUE;
					}else{
						keyState.data_skip = FALSE;
					}
				}else{
					keyState.data_skip = FALSE;
				}
				break;
			  case INPUT_FAIRY:
				keyState.push_fairyAttack = bState;
				break;
			  case INPUT_CAMP:
				keyState.push_camp = bState;
				break;
			  case INPUT_LEFTTRIGGER:
				keyState.push_leftTrigger = bState;
				break;
			  case INPUT_RIGHTTRIGGER:
				keyState.push_rightTrigger = bState;
				break;
			  case INPUT_DEBUG:
				keyState.push_start = bState;
				break;
			  case INPUT_END:
				if(bState){
				}
				break;
			}
		}
		if(bUseKeyMove){
			bMove = TRUE;
			if(keyState.data_kLeft || keyState.data_kLeftUp || keyState.data_kLeftDown){
				sThumbLX = -32767;
			}else if(keyState.data_kRight || keyState.data_kRightUp || keyState.data_kRightDown){
				sThumbLX = 32767;
			}else{
				sThumbLX = 0;
			}
			if(keyState.data_kUp || keyState.data_kLeftUp || keyState.data_kRightUp){
				sThumbLY = 32767;
			}else if(keyState.data_kDown || keyState.data_kLeftDown || keyState.data_kRightDown){
				sThumbLY = -32767;
			}else{
				sThumbLY = 0;
			}
		}
		if(bMove){
			keyState.data_left = keyState.data_right = keyState.data_up = keyState.data_down = 0;
			leng = sqrtf(square(sThumbLX) +square(sThumbLY));
			if(leng > 32768)leng = 32768;
			if(leng > 20000){
				keyState.data_move = 1;
				keyState.moveLeng = leng;
			}else{
				keyState.data_move = 0;
				keyState.moveLeng = 0;
			}
			if(0==keyState.data_mouse_b){
				if(sThumbLX >20000){
					if(oldState.data_right==0){
						keyState.push_right = 1;
						keyState.repeatCntR = timeGetTime() +1000;
					}
					keyState.data_right = 1;
				}else if(sThumbLX < -20000){
					if(oldState.data_left==0){
						keyState.push_left = 1;
						keyState.repeatCntL = timeGetTime() +1000;
					}
					keyState.data_left = 1;
				}
				if(sThumbLY >20000){
					if(oldState.data_up==0){
						keyState.push_up = 1;
						keyState.repeatCntU = timeGetTime() +1000;
					}
					keyState.data_up = 1;
				}else if(sThumbLY < -20000){
					if(oldState.data_down==0){
						keyState.push_down = 1;
						keyState.repeatCntD = timeGetTime() +1000;
					}
					keyState.data_down = 1;
				}
			}
		}
	}
	checkMouseState();
	if(keyState.push_up){
		switch(sysInf.execMode){
			case event_exec_mode:
			backLog.DispInit();
			break;
		}
	}
	if(keyState.push_action && sysInf.bReadSkip){
		sysInf.bReadSkip = FALSE;
		CheckMenuItem( sysInf.hMenu, ID_READSKIP,   MF_UNCHECKED );
	}
} // lookPadState