From fc45b97d6503cf7fc72cdacd4611055c5554e77c Mon Sep 17 00:00:00 2001 From: dscho Date: Mon, 7 Jun 2004 11:21:51 +0000 Subject: [PATCH] add mouse button handling --- client_examples/SDLvncviewer.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/client_examples/SDLvncviewer.c b/client_examples/SDLvncviewer.c index 58884cf..e1fe3ff 100644 --- a/client_examples/SDLvncviewer.c +++ b/client_examples/SDLvncviewer.c @@ -208,9 +208,20 @@ int main(int argc,char** argv) { case SDL_VIDEOEXPOSE: SendFramebufferUpdateRequest(cl,0,0,cl->width,cl->height,FALSE); break; + case SDL_MOUSEBUTTONUP: case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEMOTION: { int x,y; - SDL_GetMouseState(&x,&y); + int state=SDL_GetMouseState(&x,&y); + struct { int sdl; int rfb; } buttonMapping[]={ + {SDL_BUTTON_LEFT, rfbButton1Mask}, + {SDL_BUTTON_RIGHT, rfbButton2Mask}, + {SDL_BUTTON_MIDDLE, rfbButton3Mask}, + {0,0} + }; + int i; + for(buttonMask=0,i=0;buttonMapping[i].sdl;i++) + if(state&SDL_BUTTON(buttonMapping[i].sdl)) + buttonMask|=buttonMapping[i].rfb; SendPointerEvent(cl,x,y,buttonMask); } break;