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

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        : BUTTON.H
  16. Purpose     : BUTTON public header file (API)
  17. --------------------END-OF-HEADER-------------------------------------
  18. */
  19. #ifndef BUTTON_H
  20. #define BUTTON_H
  21. #include "WM.H"
  22. #include "Dialog.h"      /* Req. for Create indirect data structure */
  23. #if GUI_WINSUPPORT
  24. /************************************************************
  25. *
  26. *       Defaults for configuration switches
  27. *
  28. *************************************************************
  29. The following are defaults for config switches which affect the
  30. interface specified in this module
  31. */
  32. #ifndef BUTTON_SUPPORT_BITMAP_OFFSET
  33.   #define BUTTON_SUPPORT_BITMAP_OFFSET 1
  34. #endif
  35. #ifndef BUTTON_SUPPORT_STREAMED_BITMAP
  36.   #define BUTTON_SUPPORT_STREAMED_BITMAP 0
  37. #endif
  38. /************************************************************
  39. *
  40. *       Create flags
  41. */
  42. /* For compatibility only ! */
  43. #define BUTTON_CF_HIDE   WM_CF_HIDE
  44. #define BUTTON_CF_SHOW   WM_CF_SHOW
  45. #define BUTTON_CF_MEMDEV WM_CF_MEMDEV
  46. /************************************************************
  47. *
  48. *       Messages
  49. */
  50. /************************************************************
  51. *
  52. *       States
  53. */
  54. #define BUTTON_STATE_FOCUS   (1<<0)
  55. #define BUTTON_STATE_PRESSED (1<<1)
  56. #define BUTTON_STATE_ACTIVE  (1<<2)
  57. #define BUTTON_STATE_INACTIVE            0
  58. /************************************************************
  59. *
  60. *       Types
  61. *
  62. *************************************************************
  63. */
  64. typedef WM_HMEM BUTTON_Handle;
  65. /************************************************************
  66. *
  67. *       Create function(s)
  68.   Note: the parameters to a create function may vary.
  69.          Some widgets may have multiple create functions
  70. */
  71. BUTTON_Handle BUTTON_Create        (int x0, int y0, int xsize, int ysize, int ID, int Flags);
  72. BUTTON_Handle BUTTON_CreateAsChild (int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags);
  73. BUTTON_Handle BUTTON_CreateIndirect(const GUI_WIDGET_CREATE_INFO* pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK* pCallback);
  74. /*********************************************************************
  75. *
  76. *       Standard member functions
  77. *
  78. **********************************************************************
  79. */
  80. #define BUTTON_EnableMemdev(hObj)  WM_EnableMemdev(hObj)
  81. #define BUTTON_DisableMemdev(hObj) WM_DisableMemdev(hObj)
  82. #define BUTTON_Delete(hObj)        WM_DeleteWindow(hObj)
  83. #define BUTTON_Paint(hObj)         WM_Paint(hObj)
  84. #define BUTTON_Invalidate(hObj)    WM_InvalidateWindow(hObj)
  85. /*********************************************************************
  86. *
  87. *                 Member functions, unconditional
  88. *
  89. **********************************************************************
  90. */
  91. /* Methods changing properties */
  92. void BUTTON_SetBitmap(BUTTON_Handle hObj, int Index, const GUI_BITMAP* pBitmap);
  93. void BUTTON_SetBkColor(BUTTON_Handle hObj, int Index, GUI_COLOR color);
  94. void BUTTON_SetFont(BUTTON_Handle hObj, const GUI_FONT* pfont);
  95. void BUTTON_SetState(BUTTON_Handle hObj, int State);
  96. void BUTTON_SetText     (BUTTON_Handle hObj, const char* s);
  97. void BUTTON_SetTextColor(BUTTON_Handle hObj, int Index, GUI_COLOR color);
  98. /*********************************************************************
  99. *
  100. *                 Member functions, conditional
  101. *
  102. **********************************************************************
  103. */
  104. #if BUTTON_SUPPORT_BITMAP_OFFSET
  105.   void BUTTON_SetBitmapEx(BUTTON_Handle hObj, int Index, const GUI_BITMAP* pBitmap, int x, int y);
  106. #endif
  107. #if BUTTON_SUPPORT_STREAMED_BITMAP
  108.   void BUTTON_SetStreamedBitmap(BUTTON_Handle hObj, int Index, const GUI_BITMAP_STREAM* pBitmap);
  109. #endif
  110. /************************************************************
  111. *
  112. *       States
  113. */
  114. #define BUTTON_STATE_HASFOCUS 0
  115. #endif   /* BUTTON_H */
  116. #endif   /* BUTTON_H */