gx_circular_gauge.h 5.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /**************************************************************************/
  2. /* */
  3. /* Copyright (c) Microsoft Corporation. All rights reserved. */
  4. /* */
  5. /* This software is licensed under the Microsoft Software License */
  6. /* Terms for Microsoft Azure RTOS. Full text of the license can be */
  7. /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
  8. /* and in the root directory of this software. */
  9. /* */
  10. /**************************************************************************/
  11. /**************************************************************************/
  12. /**************************************************************************/
  13. /** */
  14. /** GUIX Component */
  15. /** */
  16. /** Circular Gauge Management (Circular Gauge) */
  17. /** */
  18. /**************************************************************************/
  19. /**************************************************************************/
  20. /**************************************************************************/
  21. /* */
  22. /* COMPONENT DEFINITION RELEASE */
  23. /* */
  24. /* gx_circular_gauge.h PORTABLE C */
  25. /* 6.0 */
  26. /* AUTHOR */
  27. /* */
  28. /* Kenneth Maxwell, Microsoft Corporation */
  29. /* */
  30. /* DESCRIPTION */
  31. /* */
  32. /* This file defines the GUIX circular gauge widget, */
  33. /* including all data types and external references. It is assumed */
  34. /* that gx_api.h and gx_port.h have already been included. */
  35. /* */
  36. /* RELEASE HISTORY */
  37. /* */
  38. /* DATE NAME DESCRIPTION */
  39. /* */
  40. /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
  41. /* */
  42. /**************************************************************************/
  43. #ifndef GX_CIRCULAR_GAUGE_H
  44. #define GX_CIRCULAR_GAUGE_H
  45. /* Define prompt management function prototypes. */
  46. UINT _gx_circular_gauge_angle_get(GX_CIRCULAR_GAUGE *circular_gauge, INT *angle);
  47. UINT _gx_circular_gauge_angle_set(GX_CIRCULAR_GAUGE *circular_gauge, INT angle);
  48. UINT _gx_circular_gauge_animation_set(GX_CIRCULAR_GAUGE *circular_gauge, INT steps, INT delay);
  49. VOID _gx_circular_gauge_background_draw(GX_CIRCULAR_GAUGE *gauge);
  50. UINT _gx_circular_gauge_create(GX_CIRCULAR_GAUGE *circular_gauge,
  51. GX_CONST GX_CHAR *name,
  52. GX_WIDGET *parent,
  53. GX_CIRCULAR_GAUGE_INFO *circular_gauge_info,
  54. GX_RESOURCE_ID background,
  55. ULONG style,
  56. USHORT circular_gauge_id,
  57. GX_VALUE xpos, GX_VALUE ypos);
  58. VOID _gx_circular_gauge_draw(GX_CIRCULAR_GAUGE *circular_gauge);
  59. UINT _gx_circular_gauge_event_process(GX_CIRCULAR_GAUGE *circular_gauge, GX_EVENT *event_ptr);
  60. UINT _gx_circular_gauge_needle_rectangle_calculate(GX_CIRCULAR_GAUGE *gauge, INT angle, GX_RECTANGLE *rect);
  61. UINT _gx_circular_gauge_needle_rotate(GX_CIRCULAR_GAUGE *circular_gauge);
  62. UINT _gx_circular_gauge_needle_rotate_callback(VOID *gauge);
  63. UINT _gx_circular_gauge_angle_increment_calculate(GX_CIRCULAR_GAUGE *circular_gauge);
  64. UINT _gx_circular_gauge_needle_dirty_mark(GX_CIRCULAR_GAUGE *circular_gauge);
  65. /* Define error checking shells for API services. These are only referenced by the
  66. application. */
  67. UINT _gxe_circular_gauge_angle_get(GX_CIRCULAR_GAUGE *circular_gauge, INT *angle);
  68. UINT _gxe_circular_gauge_angle_set(GX_CIRCULAR_GAUGE *circular_gauge, INT angle);
  69. UINT _gxe_circular_gauge_animation_set(GX_CIRCULAR_GAUGE *circular_gauge, INT steps, INT delay);
  70. UINT _gxe_circular_gauge_create(GX_CIRCULAR_GAUGE *circular_gauge,
  71. GX_CONST GX_CHAR *name,
  72. GX_WIDGET *parent,
  73. GX_CIRCULAR_GAUGE_INFO *circular_gauge_info,
  74. GX_RESOURCE_ID background,
  75. ULONG style,
  76. USHORT circular_gauge_id,
  77. GX_VALUE xpos, GX_VALUE ypos, UINT checkbox_control_block_size);
  78. UINT _gxe_circular_gauge_event_process(GX_CIRCULAR_GAUGE *circular_gauge, GX_EVENT *event_ptr);
  79. #endif