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

uCOS

开发平台:

C/C++

  1. /*
  2. *********************************************************************************************************
  3. *                                                uC/GUI
  4. *                        Universal graphic software for embedded applications
  5. *
  6. *                       (c) Copyright 2002, Micrium Inc., Weston, FL
  7. *                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
  8. *
  9. *              礐/GUI is protected by international copyright laws. Knowledge of the
  10. *              source code may not be used to write a similar product. This file may
  11. *              only be used in accordance with a license and should not be redistributed
  12. *              in any way. We appreciate your understanding and fairness.
  13. *
  14. ----------------------------------------------------------------------
  15. File        : EDIT_Private.h
  16. Purpose     : Internal header file
  17. ---------------------------END-OF-HEADER------------------------------
  18. */
  19. #if GUI_WINSUPPORT
  20. #include "WIDGET.h"
  21. /*********************************************************************
  22. *
  23. *             Types
  24. *
  25. **********************************************************************
  26. */
  27. typedef struct EDIT_Obj_struct EDIT_Obj;
  28. typedef void EDIT_ADDKEY_EX(EDIT_Obj* pObj, EDIT_Handle hObj, int Key);
  29. typedef void EDIT_UPDATE_BUFFER(EDIT_Obj* pObj);
  30. struct EDIT_Obj_struct {
  31.   WIDGET Widget;
  32.   WM_HMEM hpText;
  33.   I16 MaxLen;
  34.   GUI_COLOR aTextColor[2];
  35.   GUI_COLOR aBkColor[2];
  36.   I16 Border;              /* Left and right border */
  37.   I32 Min, Max;            /* Min max values as normalized floats (integers) */
  38.   U8 NumDecs;              /* Number of decimals */
  39.   U32 CurrentValue;        /* Current value */
  40.   int CursorPos;           /* Cursor position. 0 means left most */
  41.   U8 EditMode;             /* Insert or overwrite mode */
  42.   U8 XSizeCursor;          /* Size of cursor when working in insert mode */
  43.   U8 Flags;
  44.   EDIT_ADDKEY_EX     * pfAddKeyEx;     /* Handle key input */
  45.   EDIT_UPDATE_BUFFER * pfUpdateBufer;  /* Update textbuffer */
  46.   U8 Align;
  47.   const GUI_FONT* pFont;
  48.   #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
  49.     int DebugId;
  50.   #endif  
  51. };
  52. #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
  53.   EDIT_Obj* EDIT_h2p(EDIT_Handle h);
  54.   #define EDIT_H2P(h) EDIT_h2p(h)
  55. #else
  56.   #define EDIT_H2P(h) ((EDIT_Obj*)WM_HMEM2Ptr(h))
  57. #endif
  58. #endif /* GUI_WINSUPPORT */