void TVolumenob::MessageReceived(BMessage* message){ switch ( message->what ) { case 'mada': HandleMouse(); break; } }
//-----------------Callbacks--------------------- LRESULT CMapView::MsgProc(UINT msg,WPARAM wParam,LPARAM lParam) { switch(msg) { case WM_LBUTTONDOWN: bMouseleft =true; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_LBUTTONUP: bMouseleft =false; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_RBUTTONDOWN: bMouseright=true; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_RBUTTONUP: bMouseright=false; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_MBUTTONDOWN: bMousemid =true; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_MBUTTONUP: bMousemid =false; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_MOUSEMOVE: HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_VSCROLL: switch (LOWORD(wParam)) { case SB_BOTTOM: ScrollWin(xwin,pMap->Height()*pVsp->Height()); return 0; case SB_TOP: ScrollWin(xwin,0); return 0; case SB_LINEDOWN: ScrollWin(xwin,ywin+1); return 0; case SB_LINEUP: ScrollWin(xwin,ywin-1); return 0; case SB_PAGEDOWN: ScrollWin(xwin,ywin+clientrect.bottom); return 0; case SB_PAGEUP: ScrollWin(xwin,ywin-clientrect.bottom); return 0; case SB_THUMBTRACK: case SB_THUMBPOSITION: ScrollWin(xwin,HIWORD(wParam)); return 0; } break; case WM_HSCROLL: switch (LOWORD(wParam)) { case SB_BOTTOM: ScrollWin(pMap->Width()*pVsp->Width(),ywin); return 0; case SB_TOP: ScrollWin(0,ywin); return 0; case SB_LINEDOWN: ScrollWin(xwin+1,ywin); return 0; case SB_LINEUP: ScrollWin(xwin-1,ywin); return 0; case SB_PAGEDOWN: ScrollWin(xwin+clientrect.right,ywin); return 0; case SB_PAGEUP: ScrollWin(xwin-clientrect.right,ywin); return 0; case SB_THUMBTRACK: case SB_THUMBPOSITION: ScrollWin(HIWORD(wParam),ywin); return 0; } break; case WM_PAINT: { PAINTSTRUCT ps; BeginPaint(hWnd,&ps); pGraph->ForceShowPage(); EndPaint(hWnd,&ps); return 0; } case WM_CLOSE: return 0; case WM_DESTROY: return 0; } return DefWindowProc(hWnd,msg,wParam,lParam); }
bool GboxInstance::HandleInputEvent(const pp::InputEvent &event) { bool ret = false; // handled? switch (event.GetType()) { case PP_INPUTEVENT_TYPE_KEYDOWN: case PP_INPUTEVENT_TYPE_KEYUP: case PP_INPUTEVENT_TYPE_CHAR: case PP_INPUTEVENT_TYPE_CONTEXTMENU: { pp::KeyboardInputEvent key_event(event); ret = HandleKeyboard(key_event); } break; case PP_INPUTEVENT_TYPE_MOUSEDOWN: case PP_INPUTEVENT_TYPE_MOUSEMOVE: case PP_INPUTEVENT_TYPE_MOUSEUP: case PP_INPUTEVENT_TYPE_MOUSEENTER: case PP_INPUTEVENT_TYPE_MOUSELEAVE: case PP_INPUTEVENT_TYPE_WHEEL: { pp::MouseInputEvent mouse_event(event); ret = HandleMouse(mouse_event); } break; case PP_INPUTEVENT_TYPE_UNDEFINED: case PP_INPUTEVENT_TYPE_RAWKEYDOWN: ret = false; default: break; } #if 1 if (!ret && sca() == 0x3) theLog.info("_Input Event: (%s a) et:%d handled:%d count:%d", kVersion, event.GetType(), ret, ++m_mc); #endif return ret; }
bool CGUIHorizontalScrollBar::WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ){ if(!m_bEnabled) return false; if(!m_bButtonDown && (m_pLeft->WndProc(hWnd, uMsg, wParam, lParam) || m_pRight->WndProc(hWnd, uMsg, wParam, lParam))){ OnMouseLeave(); return true; } switch(uMsg){ // Keyboard messages case WM_KEYDOWN: case WM_SYSKEYDOWN: case WM_KEYUP: case WM_SYSKEYUP: return HandleKeyboard( uMsg, wParam, lParam ); //Mouse Messages case WM_MOUSEMOVE: case WM_LBUTTONDOWN: case WM_LBUTTONUP: case WM_MBUTTONDOWN: case WM_MBUTTONUP: case WM_RBUTTONDOWN: case WM_RBUTTONUP: case WM_XBUTTONDOWN: case WM_XBUTTONUP: case WM_LBUTTONDBLCLK: case WM_MBUTTONDBLCLK: case WM_RBUTTONDBLCLK: case WM_XBUTTONDBLCLK: case WM_MOUSEWHEEL: return HandleMouse( uMsg, wParam, lParam ); default: return false; } }
bool CGUITextBox::WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ){ if(!m_bEnabled) return false; if(!m_bButtonDown && ((m_pVSB && m_pVSB->WndProc(hWnd, uMsg, wParam, lParam)) || (m_pHSB && m_pHSB->WndProc(hWnd, uMsg, wParam, lParam)))) return true; switch(uMsg){ // Keyboard messages case WM_KEYDOWN: case WM_CHAR: case WM_SYSKEYDOWN: case WM_KEYUP: case WM_SYSKEYUP: return HandleKeyboard( uMsg, wParam, lParam ); //Mouse Messages case WM_MOUSEMOVE: case WM_LBUTTONDOWN: case WM_LBUTTONUP: case WM_MBUTTONDOWN: case WM_MBUTTONUP: case WM_RBUTTONDOWN: case WM_RBUTTONUP: case WM_XBUTTONDOWN: case WM_XBUTTONUP: case WM_LBUTTONDBLCLK: case WM_MBUTTONDBLCLK: case WM_RBUTTONDBLCLK: case WM_XBUTTONDBLCLK: case WM_MOUSEWHEEL: return HandleMouse( uMsg, wParam, lParam ); default: return false; } }
int CEdit::MsgProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) { switch (msg) { case WM_INITDIALOG: break; case WM_PAINT: { PAINTSTRUCT ps; BeginPaint(hWnd,&ps); Redraw(); EndPaint(hWnd,&ps); } break; case WM_LBUTTONUP: lbutton=false; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); PostMessage(hWnd,WM_PAINT,0,0); break; case WM_LBUTTONDOWN: lbutton=true; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); PostMessage(hWnd,WM_PAINT,0,0); break; case WM_RBUTTONUP: rbutton=false; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); PostMessage(hWnd,WM_PAINT,0,0); break; case WM_RBUTTONDOWN: rbutton=true; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); PostMessage(hWnd,WM_PAINT,0,0); break; case WM_MOUSEMOVE: HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); break; case WM_VSCROLL: if((HWND)lParam == GetDlgItem(hWnd, IDC_LUMINABAR)) { switch(LOWORD(wParam)) { case SB_TOP: nLumina=0; break; case SB_BOTTOM: nLumina=255; break; case SB_LINEUP: if (nLumina) nLumina--; break; case SB_LINEDOWN: if (nLumina<255) nLumina++; break; case SB_PAGEUP: nLumina-=10; if (nLumina<0) nLumina=0; break; case SB_PAGEDOWN: nLumina+=10; if (nLumina>255) nLumina=255; break; case SB_THUMBPOSITION: case SB_THUMBTRACK: nLumina=HIWORD(wParam); break; } UpdateLumina((HWND)lParam); } else if ((HWND)lParam == GetDlgItem(hWnd, IDC_ALPHABAR)) { switch(LOWORD(wParam)) { case SB_TOP: nAlpha=0; break; case SB_BOTTOM: nAlpha=255; break; case SB_LINEUP: if (nAlpha) nAlpha--; break; case SB_LINEDOWN: if (nAlpha<255) nAlpha++; break; case SB_PAGEUP: nAlpha-=10; if (nAlpha<0) nAlpha=0; break; case SB_PAGEDOWN: nAlpha+=10; if (nAlpha>255) nAlpha=255; break; case SB_THUMBPOSITION: case SB_THUMBTRACK: nAlpha=HIWORD(wParam); break; } UpdateAlpha((HWND)lParam); } PostMessage(hWnd,WM_PAINT,0,0); break; case WM_COMMAND: switch(LOWORD(wParam)) { case ID_TILEED_NEXT: GoNext(); break; case ID_TILEED_PREV: GoPrev(); break; case ID_TILEED_UNDO: Undo(); break; case ID_TILEED_REDO: Redo(); break; case ID_TILEED_CLEAR: curimage.Clear(nCurcolour[1]); break; case ID_TILEED_ROTATE: curimage.Rotate(); break; case ID_TILEED_FLIP: curimage.Flip(); break; case ID_TILEED_MIRROR: curimage.Mirror(); break; case ID_TILEED_EXIT: PostMessage(hWnd, WM_CLOSE, 0, 0); break; default: return HandleCommand(hWnd,wParam); // unknown message? Pass it down to the derived class } PostMessage(hWnd,WM_PAINT,0,0); break; case WM_CLOSE: EndDialog(hWnd,0); break; } return 0; }
void main() { int x,y,x0,y0; int flag=0; int flag1=1; struct node * head; struct node * head2; int m[1]={0}; int r[21]; int po1[378]={0}; char po[24]={0}; beijing1(); beijing2(); choose(po); mukuai(); suiji(r,po1); head=creat(po1); // print(head); while(1) { HANDLE hOut,hIn; DWORD Result; INPUT_RECORD Buf; hOut=GetStdHandle(STD_OUTPUT_HANDLE); hIn=GetStdHandle(STD_INPUT_HANDLE); int a[2]; do { ReadConsoleInput(hIn,&Buf,1,&Result); if(Buf.EventType==MOUSE_EVENT) { HandleMouse(Buf.Event.MouseEvent,a); x=a[0]; y=a[1]; } } while(!(Buf.EventType==MOUSE_EVENT&&Buf.Event.MouseEvent.dwEventFlags==DOUBLE_CLICK)); HANDLE hOut1,hIn1; DWORD Result1; INPUT_RECORD Buf1; hOut1=GetStdHandle(STD_OUTPUT_HANDLE); hIn1=GetStdHandle(STD_INPUT_HANDLE); int a0[2]; do { ReadConsoleInput(hIn1,&Buf1,1,&Result1); if(Buf1.EventType==MOUSE_EVENT) { HandleMouse1(Buf1.Event.MouseEvent,a0); x0=a0[0]; y0=a0[1]; } } while(!(Buf1.EventType==MOUSE_EVENT&&Buf1.Event.MouseEvent.dwEventFlags==DOUBLE_CLICK)); // 清屏的按钮 /* if(x0>=86&&x0<=100&&y0>=8&&y0<=10) { clear(r,po1,po); free(head); continue; }*/ if(x0>=74&&x0<=82&&y0>=25&&y0<=27) flag=save(head); // if(x0>=85&&x0<=93&&y0>=25&&y0<=27) // open(); if(x0>=96&&x0<=104&&y0>=25&&y0<=27) { ////// 上次运行的结果 if(flag1==1) { flag1=0; //print(head); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|BACKGROUND_GREEN|BACKGROUND_INTENSITY); COORD pos1; pos1.X=0; pos1.Y=60; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos1); } if(flag==1) { flag=0; print(head); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|BACKGROUND_GREEN|BACKGROUND_INTENSITY); COORD pos1; pos1.X=0; pos1.Y=60; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos1); break; } else if(flag==0) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|BACKGROUND_GREEN|BACKGROUND_INTENSITY); COORD pos0; pos0.X=10; pos0.Y=32; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos0); printf(" 请您先保存 ! "); } // 保存 } if(x0>=10&&x0<=51&&y0>=7&&y0<=28) { x0=x0/2*2; // 取偶数点 if(x>=68&&x<=69&&y>=8&&y<=10) { mu1(x0,y0-2,po,1); head2=insert(po,head); // print(head2); } else if(x>=76&&x<=81&&y==9) { mu2(x0-4,y0,po,1); head2=insert(po,head); // print(head2); } else if(x>=68&&x<=73&&y>=14&&y<=16) { mu3(x0-2,y0-1,po,1); head2=insert(po,head); // print(head2); } else if(x>=76&&x<=81&&y>=14&&y<=16) { mu4(x0-2,y0-1,po,1); head2=insert(po,head); // print(head2); } else if(x>=86&&x<=91&&y>=14&&y<=16) { mu5(x0-2,y0+1,po,1); head2=insert(po,head); // print(head2); } else if(x>=98&&x<=103&&y>=14&&y<=16) { mu6(x0-5,y0,po,1); head2=insert(po,head); // print(head2); } else if(x>=68&&x<=73&&y>=20&&y<=22) { mu7(x0,y0-2,po,1); head2=insert(po,head); // print(head2); } else if(x>=76&&x<=81&&y>=20&&y<=22) { mu8(x0-4,y0-1,po,1); head2=insert(po,head); // print(head2); } else if(x>=86&&x<=91&&y>=20&&y<=22) { mu9(x0,y0-2,po,1); head2=insert(po,head); // print(head2); } else if(x>=99&&x<=104&&y>=20&&y<=22) { mu10(x0,y0,po,1); head2=insert(po,head); // print(head2); } else if(x>=68&&x<=71&&y>=26&&y<=28) { mu11(x0-2,y0-1,po,1); head2=insert(po,head); // print(head2); } } } }
void CColumnTreeCtrl::OnLButtonDblClk(UINT nFlags, CPoint point) { HandleMouse(WM_LBUTTONDBLCLK, nFlags, point); }
void CColumnTreeCtrl::OnLButtonDown(UINT nFlags, CPoint point) { // mask left click if outside the real item's label HandleMouse(WM_LBUTTONDOWN, nFlags, point); }
void InputManager::Update() { HandleKeyboard(); HandleMouse(); }
//Called to update the display. //You should call glutSwapBuffers after all of your rendering to display what you rendered. //If you need continuous updates of the screen, call glutPostRedisplay() at the end of the function. void display() { glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClearDepth(1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); if(g_pConeMesh && g_pCylinderMesh && g_pCubeTintMesh && g_pCubeColorMesh && g_pPlaneMesh) { g_camMatrix.SetMatrix(mainCharacter.AcquireCamera().CalcLookAtMatrix()); glutil::MatrixStack modelMatrix; //Render the ground plane. { glutil::PushStack push(modelMatrix); modelMatrix.ApplyMatrix(g_camMatrix.Top()); modelMatrix.Scale(glm::vec3(100.0f, 1.0f, 100.0f)); glUseProgram(UniformColor.theProgram); glUniformMatrix4fv(UniformColor.modelToCameraMatrixUnif, 1, GL_FALSE, glm::value_ptr(modelMatrix.Top())); glUniform4f(UniformColor.baseColorUnif, 0.302f, 0.416f, 0.0589f, 1.0f); g_pPlaneMesh->Render(); glUseProgram(0); } //Draw the trees DrawForest(UniformColorTint, modelMatrix, g_camMatrix); //Draw the building. { glutil::PushStack push(modelMatrix); modelMatrix.ApplyMatrix(g_camMatrix.Top()); modelMatrix.Translate(glm::vec3(20.0f, 0.0f, -10.0f)); DrawParthenon(UniformColorTint, ObjectColor, modelMatrix); } //Draw the treasure for(int i = 0; i < COUNT; i++) { if(littleTreasures[i].IsRemoved() == false) { glutil::PushStack push(modelMatrix); modelMatrix.ApplyMatrix(g_camMatrix.Top()); littleTreasures[i].Update(); littleTreasures[i].Render(UniformColorTint, modelMatrix); } else { littleTreasures[i].Spawn(g_parthenonBaseVolume, g_treeVolumes, ARRAY_COUNT(g_forest), mainCharacter.GetCollisionVolume()); } } } HandleMouse(); glutPostRedisplay(); glutSwapBuffers(); userMouse.OverrideLastPosition(userMouse.GetCurrentPosition()); }
void TVolumenob::MouseDown(BPoint point){ HandleMouse(); }
void EListPort::HandleEvent(TEvent &Event) { int W = 1; int H = 1; EViewPort::HandleEvent(Event); if (View && View->MView && View->MView->Win) { View->MView->ConQuerySize(&W, &H); H--; } switch (Event.What) { case evCommand: switch (Event.Msg.Command) { case cmVScrollUp: List->ScrollDown(Event.Msg.Param1); Event.What = evNone; break; case cmVScrollDown: List->ScrollUp(Event.Msg.Param1); Event.What = evNone; break; case cmVScrollPgUp: List->MovePageUp(); Event.What = evNone; break; case cmVScrollPgDn: List->MovePageDown(); Event.What = evNone; break; case cmVScrollMove: { int ypos; ypos = List->Row - List->TopRow; List->TopRow = Event.Msg.Param1; List->Row = List->TopRow + ypos; } Event.What = evNone; break; case cmHScrollLeft: List->ScrollRight(Event.Msg.Param1); Event.What = evNone; break; case cmHScrollRight: List->ScrollLeft(Event.Msg.Param1); Event.What = evNone; break; case cmHScrollPgLt: List->ScrollRight(W); Event.What = evNone; break; case cmHScrollPgRt: List->ScrollLeft(W); Event.What = evNone; break; case cmHScrollMove: List->LeftCol = Event.Msg.Param1; Event.What = evNone; break; } break; case evMouseDown: case evMouseUp: case evMouseMove: case evMouseAuto: HandleMouse(Event); break; } }