hedgewars/hwengine.pas
changeset 2567 02ff5f9510b5
parent 2428 6800f8aa0184
child 2568 e654cbfb23ba
--- a/hedgewars/hwengine.pas	Tue Oct 20 11:49:10 2009 +0000
+++ b/hedgewars/hwengine.pas	Tue Oct 20 17:55:11 2009 +0000
@@ -163,13 +163,15 @@
 var PrevTime,
     CurrTime: Longword;
     event: TSDL_Event;
+    mouseState, whichMouse: byte;
+    x, y, x_up, y_up, x_down, y_down: LongInt;
+    oldy: LongInt = 240;
 begin
 PrevTime:= SDL_GetTicks;
 repeat
 while SDL_PollEvent(@event) <> 0 do
 	case event.type_ of
 {$IFDEF IPHONEOS}
-		SDL_MOUSEMOTION: WriteLnToConsole('mouse number ' + inttostr(SDL_SelectMouse(event.motion.which)) + ' over ' + inttostr(SDL_GetNumMice()));
                 SDL_WINDOWEVENT:
 {$ELSE}
 		SDL_KEYDOWN: if GameState = gsChat then KeyPressChat(event.key.keysym.unicode);
@@ -178,7 +180,65 @@
                         if (event.active.state and SDL_APPINPUTFOCUS) <> 0 then
 				cHasFocus:= event.active.gain = 1;
 		//SDL_VIDEORESIZE: Resize(max(event.resize.w, 600), max(event.resize.h, 450));
-{$IFNDEF IPHONEOS}
+{$IFDEF IPHONEOS}
+        {*MoveCamera is in uWord.pas -- conflicts with other commands*}
+        {*Keys are in uKeys.pas*}
+                SDL_MOUSEBUTTONDOWN: begin
+                        mouseState:= SDL_GetMouseState(0, @x, @y);
+                        if x <= 50 then 
+                        begin   
+                                AddFileLog('Wheel -- x: ' + inttostr(x) + ' y: ' + inttostr(y));
+                                {* sliding *}
+                                if oldy - y > 0 then uKeys.wheelUp:= true
+                                else uKeys.wheelDown:= true;
+                                {* update value only if movement is consistent *}
+                               // if (y > oldy - 10 ) or (y > oldy + 10 ) then oldy:= y
+                               // oldy:= y;
+                        end;
+
+                        {* keys *}
+             {*           if (x > 50) then
+                        begin
+                                AddFileLog('Arrow Key -- x: ' + inttostr(x) + ' y: ' + inttostr(y));
+
+                                if (y <= 50)  and (x > 135) and (x <= 185) then uKeys.upKey:= true;
+                                if (y > 430)  and (x > 135) and (x <= 185) then uKeys.downKey:= true;
+                                if (x > 270)  and (y > 215) and (y > 265)  then uKeys.rightClick:= true;
+                                if (x <= 100) and (y > 215) and (y > 265)  then uKeys.leftClick:= true;
+                        end;
+                        
+                        if (y > 430) and (x > 50) and (x <= 135) then
+                        begin
+                                AddFileLog('Space -- x: ' + inttostr(x) + ' y: ' + inttostr(y));
+                                uKeys.spaceKey:= true;
+                        end;
+                        if (y > 430) and (x > 185) and (x <= 270) then
+                        begin
+                                AddFileLog('Enter -- x: ' + inttostr(x) + ' y: ' + inttostr(y));
+                                uKeys.enterKey:= true;
+                        end;*}
+                end;
+                SDL_MOUSEBUTTONUP: begin
+                        mouseState:= SDL_GetMouseState(0, @x, @y);
+                        x_up:= x;
+                        y_up:= y;
+
+                        {* open ammo menu *}
+                        if (y > 430) and (x > 270) then
+                        begin   
+                                AddFileLog('Right Click -- x: ' + inttostr(x) + ' y: ' + inttostr(y) );
+                                uKeys.rightClick:= true;
+                        end;
+                        {* reset zoom *}
+                        if (x > 270) and (y <= 50) then
+                        begin
+                                AddFileLog('Middle Click -- x: ' + inttostr(x) + ' y: ' + inttostr(y));
+                                uKeys.middleClick:= true;
+                        end;
+                       
+
+                end;
+{$ELSE}
 		SDL_MOUSEBUTTONDOWN: if event.button.button = SDL_BUTTON_WHEELDOWN then uKeys.wheelDown:= true;
 		SDL_MOUSEBUTTONUP: if event.button.button = SDL_BUTTON_WHEELDUP then uKeys.wheelUp:= true;
 {$ENDIF}