DrawListWrapper.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #pragma once
  2. #include "imguiWrapperTypes.h"
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. extern int iggDrawListGetCommandCount(IggDrawList handle);
  7. extern IggDrawCmd iggDrawListGetCommand(IggDrawList handle, int index);
  8. extern void iggDrawListGetRawIndexBuffer(IggDrawList handle, void **data,
  9. int *byteSize);
  10. extern void iggDrawListGetRawVertexBuffer(IggDrawList handle, void **data,
  11. int *byteSize);
  12. extern void iggGetIndexBufferLayout(size_t *entrySize);
  13. extern void iggGetVertexBufferLayout(size_t *entrySize, size_t *posOffset,
  14. size_t *uvOffset, size_t *colOffset);
  15. extern void iggDrawListAddLine(IggDrawList handle, IggVec2 *p1, IggVec2 *p2,
  16. unsigned int col, float thickness);
  17. extern void iggDrawListAddRect(IggDrawList handle, IggVec2 *p_min,
  18. IggVec2 *p_max, unsigned int col, float rounding,
  19. int rounding_corners, float thickness);
  20. extern void iggDrawListAddRectFilled(IggDrawList handle, IggVec2 *p_min,
  21. IggVec2 *p_max, unsigned int col,
  22. float rounding, int rounding_corners);
  23. extern void iggDrawListAddText(IggDrawList handle, IggVec2 *pos,
  24. unsigned int col, const char *text);
  25. extern void iggDrawListAddBezierCubic(IggDrawList handle, IggVec2 *pos0,
  26. IggVec2 *cp0, IggVec2 *cp1, IggVec2 *pos1,
  27. unsigned int col, float thickness,
  28. int num_segments);
  29. extern void iggDrawListAddTriangle(IggDrawList handle, IggVec2 *p1, IggVec2 *p2,
  30. IggVec2 *p3, unsigned int col,
  31. float thickness);
  32. extern void iggDrawListAddTriangleFilled(IggDrawList handle, IggVec2 *p1,
  33. IggVec2 *p2, IggVec2 *p3,
  34. unsigned int col);
  35. extern void iggDrawListAddCircle(IggDrawList handle, IggVec2 *center,
  36. float radius, unsigned int col,
  37. int num_segments, float thickness);
  38. extern void iggDrawListAddCircleFilled(IggDrawList handle, IggVec2 *center,
  39. float radius, unsigned int col,
  40. int num_segments);
  41. extern void iggDrawListAddQuad(IggDrawList handle, IggVec2 *p1, IggVec2 *p2,
  42. IggVec2 *p3, IggVec2 *p4, unsigned int col,
  43. float thickness);
  44. extern void iggDrawListAddQuadFilled(IggDrawList handle, IggVec2 *p1,
  45. IggVec2 *p2, IggVec2 *p3, IggVec2 *p4,
  46. unsigned int col);
  47. extern void iggDrawListPathClear(IggDrawList handle);
  48. extern void iggDrawListPathLineTo(IggDrawList handle, IggVec2 *pos);
  49. extern void iggDrawListPathLineToMergeDuplicate(IggDrawList handle,
  50. IggVec2 *pos);
  51. extern void iggDrawListPathFillConvex(IggDrawList handle, unsigned int col);
  52. extern void iggDrawListPathStroke(IggDrawList handle, unsigned int col,
  53. IggBool closed, float thickness);
  54. extern void iggDrawListPathArcTo(IggDrawList handle, IggVec2 *center,
  55. float radius, float a_min, float a_max,
  56. int num_segments);
  57. extern void iggDrawListPathArcToFast(IggDrawList handle, IggVec2 *center,
  58. float radius, int a_min_of_12,
  59. int a_max_of_12);
  60. extern void iggDrawListPathBezierCubicCurveTo(IggDrawList handle, IggVec2 *p1,
  61. IggVec2 *p2, IggVec2 *p3,
  62. int num_segments);
  63. extern void iggDrawListAddImage(IggDrawList handle, IggTextureID id,
  64. IggVec2 *p_min, IggVec2 *p_max);
  65. extern void iggDrawListAddImageV(IggDrawList handle, IggTextureID id,
  66. IggVec2 *p_min, IggVec2 *p_max,
  67. IggVec2 *uv_min, IggVec2 *uv_max,
  68. unsigned int color);
  69. #ifdef __cplusplus
  70. }
  71. #endif