GUI_BASIC.H
上传用户:zfj3589
上传日期:2022-07-13
资源大小:635k
文件大小:8k
源码类别:

微处理器开发

开发平台:

C/C++

  1. /****************************************************************************************
  2. * 文件名:GUI_BASIC.H
  3. * 功能:GUI基本画图函数。
  4. * 说明:
  5. ****************************************************************************************/
  6. #ifndef  GUI_BASIC_H
  7. #define  GUI_BASIC_H
  8. /* 定义坐标数据结构 */
  9. typedef  struct
  10.          {  uint32  x; // x坐标变量
  11.             uint32  y; // y坐标变量
  12.          } 
  13.          PointXY;
  14. /****************************************************************************
  15. * 名称:GUI_Rectangle()
  16. * 功能:画矩形。
  17. * 入口参数: x0 矩形左上角的x坐标值
  18. *           y0 矩形左上角的y坐标值
  19. *           x1      矩形右下角的x坐标值
  20. *           y1      矩形右下角的y坐标值
  21. *           color 显示颜色
  22. * 出口参数:无
  23. * 说明:操作失败原因是指定地址超出有效范围。
  24. ****************************************************************************/
  25. extern  void  GUI_Rectangle(uint32 x0, uint32 y0, uint32 x1, uint32 y1, TCOLOR color);
  26. /****************************************************************************
  27. * 名称:GUI_RectangleFill()
  28. * 功能:填充矩形。画一个填充的矩形,填充色与边框色一样。
  29. * 入口参数: x0 矩形左上角的x坐标值
  30. *           y0 矩形左上角的y坐标值
  31. *           x1      矩形右下角的x坐标值
  32. *           y1      矩形右下角的y坐标值
  33. *           color 填充颜色
  34. * 出口参数:无
  35. * 说明:操作失败原因是指定地址超出有效范围。
  36. ****************************************************************************/
  37. extern void  GUI_RectangleFill(uint32 x0, uint32 y0, uint32 x1, uint32 y1, TCOLOR color);
  38. /****************************************************************************
  39. * 名称:GUI_Square()
  40. * 功能:画正方形。
  41. * 入口参数: x0 正方形左上角的x坐标值
  42. *           y0 正方形左上角的y坐标值
  43. *           with    正方形的边长
  44. *           color 显示颜色
  45. * 出口参数:无
  46. * 说明:操作失败原因是指定地址超出有效范围。
  47. ****************************************************************************/
  48. extern void  GUI_Square(uint32 x0, uint32 y0, uint32  with, TCOLOR  color);
  49. /****************************************************************************
  50. * 名称:GUI_Line()
  51. * 功能:画任意两点之间的直线。
  52. * 入口参数: x0 直线起点的x坐标值
  53. *           y0 直线起点的y坐标值
  54. *           x1      直线终点的x坐标值
  55. *           y1      直线终点的y坐标值
  56. *           color 显示颜色
  57. * 出口参数:无
  58. * 说明:操作失败原因是指定地址超出有效范围。
  59. ****************************************************************************/
  60. extern void  GUI_Line(uint32 x0, uint32 y0, uint32 x1, uint32 y1, TCOLOR color);
  61. /****************************************************************************
  62. * 名称:GUI_LineWith()
  63. * 功能:画任意两点之间的直线,并且可设置线的宽度。
  64. * 入口参数: x0 直线起点的x坐标值
  65. *           y0 直线起点的y坐标值
  66. *           x1      直线终点的x坐标值
  67. *           y1      直线终点的y坐标值
  68. *           with    线宽(0-50)
  69. *           color 显示颜色
  70. * 出口参数:无
  71. * 说明:操作失败原因是指定地址超出有效范围。
  72. ****************************************************************************/
  73. extern void  GUI_LineWith(uint32 x0, uint32 y0, uint32 x1, uint32 y1, uint8 with, TCOLOR color);
  74. /****************************************************************************
  75. * 名称:GUI_LineS()
  76. * 功能:多个点之间的连续连线。从第一点连到第二点,再连到第三点...
  77. * 入口参数: points  多个点坐标数据的指针,数据排列为(x0,y0)、(x1,y1)、(x2,y2)...
  78. *           no      点数目,至少要大于1
  79. *           color 显示颜色
  80. * 出口参数:无
  81. * 说明:操作失败原因是指定地址超出有效范围。
  82. ****************************************************************************/
  83. extern void  GUI_LineS(uint32 const *points, uint8 no, TCOLOR color);
  84. /****************************************************************************
  85. * 名称:GUI_Circle()
  86. * 功能:指定圆心位置及半径,画圆。
  87. * 入口参数: x0 圆心的x坐标值
  88. *           y0 圆心的y坐标值
  89. *           r       圆的半径
  90. *           color 显示颜色
  91. * 出口参数:无
  92. * 说明:操作失败原因是指定地址超出有效范围。
  93. ****************************************************************************/
  94. extern void  GUI_Circle(uint32 x0, uint32 y0, uint32 r, TCOLOR color);
  95. /****************************************************************************
  96. * 名称:GUI_CircleFill()
  97. * 功能:指定圆心位置及半径,画圆并填充,填充色与边框色一样。
  98. * 入口参数: x0 圆心的x坐标值
  99. *           y0 圆心的y坐标值
  100. *           r       圆的半径
  101. *           color 填充颜色
  102. * 出口参数:无
  103. * 说明:操作失败原因是指定地址超出有效范围。
  104. ****************************************************************************/
  105. extern void  GUI_CircleFill(uint32 x0, uint32 y0, uint32 r, TCOLOR color);
  106. /****************************************************************************
  107. * 名称:GUI_Ellipse()
  108. * 功能:画正椭圆。给定椭圆的四个点的参数,最左、最右点的x轴坐标值为x0、x1,最上、最下点
  109. *      的y轴坐标为y0、y1。
  110. * 入口参数: x0 最左点的x坐标值
  111. *           x1 最右点的x坐标值
  112. *           y0 最上点的y坐标值
  113. *           y1      最下点的y坐标值
  114. *           color 显示颜色
  115. * 出口参数:无
  116. * 说明:操作失败原因是指定地址超出有效范围。
  117. ****************************************************************************/
  118. extern void  GUI_Ellipse(uint32 x0, uint32 x1, uint32 y0, uint32 y1, TCOLOR color);
  119. /****************************************************************************
  120. * 名称:GUI_EllipseFill()
  121. * 功能:画正椭圆,并填充。给定椭圆的四个点的参数,最左、最右点的x轴坐标值为x0、x1,最上、最下点
  122. *      的y轴坐标为y0、y1。
  123. * 入口参数: x0 最左点的x坐标值
  124. *           x1 最右点的x坐标值
  125. *           y0 最上点的y坐标值
  126. *           y1      最下点的y坐标值
  127. *           color 填充颜色
  128. * 出口参数:无
  129. * 说明:操作失败原因是指定地址超出有效范围。
  130. ****************************************************************************/
  131. extern void  GUI_EllipseFill(uint32 x0, uint32 x1, uint32 y0, uint32 y1, TCOLOR color);
  132. /****************************************************************************
  133. * 名称:GUI_FloodFill()
  134. * 功能:图形填充,将指定点内的封闭图形进行填充。对指定点的颜色区域进行填充,即不是该颜色
  135. *      的像素为边界(如,指定点上的颜色为红色,则其它颜色像素均为边界)。
  136. * 入口参数: x0 指定点的x坐标值
  137. *           y0 指定点的y坐标值
  138. *           color 填充颜色
  139. * 出口参数:无
  140. * 说明:操作失败原因是指定地址超出有效范围、指定点不在封闭图形内。
  141. ****************************************************************************/
  142. extern void  GUI_FloodFill(uint32 x0, uint32 y0, TCOLOR color);
  143. /****************************************************************************
  144. * 名称:GUI_Arc4()
  145. * 功能:画弧。起点及终点只能为0度-90度、90度-180度、180度-270度、270度-0度等。即分别
  146. *      为第1-4像限的90度弧。
  147. * 入口参数: x0 圆心的x坐标值
  148. *           y0 圆心的y坐标值
  149. *           r       圆弧的半径
  150. *           angle 画弧的像限(1-4)
  151. *           color 显示颜色
  152. * 出口参数:无
  153. * 说明:操作失败原因是指定地址超出有效范围。
  154. ****************************************************************************/
  155. extern void  GUI_Arc4(uint32 x, uint32 y, uint32 r, uint8 angle, TCOLOR color);
  156. /****************************************************************************
  157. * 名称:GUI_Arc()
  158. * 功能:指定起点、终点及半径画弧(不能画圆)。使用的是顺时针方向画图。
  159. * 入口参数: x 圆心的x坐标值
  160. *           y 圆心的y坐标值
  161. *           stangle  起始角度(0-359度)
  162. *           endangle 终止角度(0-359度)
  163. *           r   圆的半径终点
  164. *           color 显示颜色
  165. * 出口参数:无
  166. * 说明:操作失败原因是指定地址超出有效范围。
  167. ****************************************************************************/
  168. extern void  GUI_Arc(uint32 x, uint32 y, uint32 r, uint32 stangle, uint32 endangle, TCOLOR color);
  169. /****************************************************************************
  170. * 名称:GUI_Pieslice()
  171. * 功能:指定起点、终点及半径扇形(不能画圆)。使用的是顺时针方向画图。
  172. * 入口参数: x 圆心的x轴坐标值
  173. *           y 圆心的y轴坐标值
  174. *           stangle  起始角度(0-359度)
  175. *           endangle 终止角度(0-359度)
  176. *           r   圆的半径终点
  177. *           color 显示颜色
  178. * 出口参数:无
  179. * 说明:操作失败原因是指定地址超出有效范围。
  180. ****************************************************************************/
  181. extern void  GUI_Pieslice(uint32 x, uint32 y, uint32 r, uint32 stangle, uint32 endangle, TCOLOR color);
  182. #endif