implement touch. add one pixel to window X.

This commit is contained in:
Thomas Cherryhomes 2019-01-31 16:51:28 -06:00
parent a7bbae82e0
commit f865bef335
4 changed files with 47 additions and 8 deletions

View File

@ -15,6 +15,7 @@
#include "protocol.h"
#include "io.h"
#include "keyboard.h"
#include "touch.h"
#define true 1
#define false 0
@ -109,7 +110,7 @@ void screen_init(void)
screenRect=qd.screenBits.bounds;
windowRect.left=0;
windowRect.right=511;
windowRect.right=512;
/* Set window size depending on screen size. */
if (screenRect.bottom < 468)
@ -198,6 +199,32 @@ void screen_menu_command(long menu_command)
HiliteMenu(0);
}
/**
* screen_handle_touch(where) - Handle touch events
*/
void screen_handle_touch(Point* where)
{
padPt temp;
SetPort(win);
GlobalToLocal(where);
temp.x = ((long)where->h * PLATOSize.x) / windowWidth;
temp.y = (PLATOSize.y - 1) - (((long)where->v * PLATOSize.y) /
windowHeight);
touch_main(&temp);
}
/**
* screen_show_cursor - Hide mouse cursor
*/
void screen_show_cursor(padBool show)
{
if (show==padT)
ShowCursor();
else if (show==padF)
ObscureCursor();
}
/**
* screen_main(void)
*/
@ -224,7 +251,10 @@ void screen_main(void)
screen_menu_command(MenuSelect(theEvent.where));
break;
case inContent:
SelectWindow(currentWindow);
if (FrontWindow()!=currentWindow)
SelectWindow(currentWindow);
else
screen_handle_touch(&theEvent.where);
break;
case inSysWindow:
SystemClick(&theEvent,currentWindow);
@ -232,6 +262,7 @@ void screen_main(void)
}
case keyDown:
case autoKey:
screen_show_cursor(padF);
keyboard_main(&theEvent);
break;
case updateEvt:

View File

@ -27,6 +27,10 @@ void screen_update_menus(void);
*/
void screen_menu_command(long menu_command);
/**
* screen_show_cursor - Hide mouse cursor
*/
void screen_show_cursor(padBool show);
/**
* screen_main(void)

14
touch.c
View File

@ -21,14 +21,18 @@ void touch_init(void)
*/
void touch_allow(padBool allow)
{
isAllowed=allow;
if (isAllowed==padT)
screen_show_cursor(padT);
else
screen_show_cursor(padF);
}
padBool touch_lmb(void)
{
}
void touch_main(void)
void touch_main(padPt* Coord)
{
if (isAllowed==padF)
return;
Touch(Coord);
}
/**

View File

@ -22,7 +22,7 @@ padBool touch_lmb(void);
/**
* Get mouse position, and if LMB pressed, send touch event.
*/
void touch_main(void);
void touch_main(padPt* coord);
/**
* touch done