GUI_TOUCH.c
上传用户:zbk8730
上传日期:2017-08-10
资源大小:12168k
文件大小:3k
源码类别:

uCOS

开发平台:

C/C++

  1. /*********************************************************************
  2. *                SEGGER MICROCONTROLLER SYSTEME GmbH                 *
  3. *        Solutions for real time microcontroller applications        *
  4. **********************************************************************
  5. *                                                                    *
  6. *      (c) 1996-2002    SEGGER Microcontroller Systeme GmbH          *
  7. *                                                                    *
  8. *        Internet: www.segger.com    Support:  support@segger.com    *
  9. *                                                                    *
  10. **********************************************************************
  11. **** emWin/GSC Grafical user interface for embedded applications ****
  12. emWin is protected by international copyright laws. Knowledge of the
  13. source code may not be used to write a similar product. This file may
  14. only be used in accordance with a license and should not be re-
  15. distributed in any way. We appreciate your understanding and fairness.
  16. ----------------------------------------------------------------------
  17. File        : GUITOUCH.C
  18. Purpose     : Touch screen manager
  19. ----------------------------------------------------------------------
  20. This module handles the touch screen. It is configured in the file
  21. GUITouch.conf.h (Should be located in the Config directory).
  22. ----------------------------------------------------------------------
  23. */
  24. #include <stdio.h>
  25. #include <stdlib.h>
  26. #include <string.h>
  27. #include "LCD_Private.H"      /* private modul definitions & config */
  28. #include "GUI_Protected.h"
  29. /*********************************************************************
  30. *
  31. *       static data
  32. *
  33. **********************************************************************
  34. */
  35. static GUI_HID_STATE _State;
  36. /*********************************************************************
  37. *
  38. *              GUI_TOUCH_GetState
  39. *
  40. **********************************************************************
  41. */
  42. int GUI_TOUCH_GetState(GUI_HID_STATE *pState) {
  43.   *pState = _State;
  44.   return (_State.Pressed != 0) ? 1 : 0;
  45. }
  46. void GUI_TOUCH_StoreState(int x, int y) {
  47.   #if GUI_SUPPORT_TOUCH
  48. /*    static int xPrev=-1, yPrev=-1;
  49.     _State.x       = xPrev;
  50.     _State.y       = yPrev;
  51.     _State.Pressed = ((x==-1) | (xPrev==-1))  ? 0 : 1;
  52.     if ((xPrev != x) || (yPrev != y)) {
  53.       GUI_HID_StoreState(&_State);
  54.     }
  55.     xPrev = x;
  56.     yPrev = y;*/
  57.     _State.x       = x;
  58.     _State.y       = y;
  59.     if( (x <= -1) || (y <= -1) )
  60.     {
  61.      _State.Pressed = 0;//((x==-1) | (xPrev==-1))  ? 0 : 1;
  62.     }
  63.     else
  64.     {
  65.      _State.Pressed = 1;
  66.     }
  67.     GUI_HID_StoreState(&_State);
  68.   #else
  69.     GUI_USE_PARA(x);
  70.     GUI_USE_PARA(y);
  71.   #endif
  72. }