70 |
70 |
71 AscSceneNode *asc_rectangle_create(struct asc_rectangle_create_args args); |
71 AscSceneNode *asc_rectangle_create(struct asc_rectangle_create_args args); |
72 |
72 |
73 #define asc_rectangle(...) asc_rectangle_create((struct asc_rectangle_create_args) { __VA_ARGS__ }) |
73 #define asc_rectangle(...) asc_rectangle_create((struct asc_rectangle_create_args) { __VA_ARGS__ }) |
74 |
74 |
|
75 typedef struct asc_ellipsis_s { |
|
76 AscSceneNode node; |
|
77 AscMesh mesh; |
|
78 asc_col4f color; |
|
79 asc_col4f border_color; |
|
80 asc_vec2f radii; |
|
81 float thickness; |
|
82 bool filled; |
|
83 } AscEllipsis; |
75 |
84 |
76 struct asc_ellipsis_create_args { |
85 struct asc_ellipsis_create_args { |
|
86 /** |
|
87 * The bounds of the ellipsis. |
|
88 * Preferred over all other settings. |
|
89 * When you specify bounds, you cannot specify a center and radiuses. |
|
90 */ |
|
91 asc_recti bounds; |
|
92 /** |
|
93 * The center point of the ellipsis. |
|
94 * Preferred over x and y. |
|
95 */ |
77 asc_vec2i center; |
96 asc_vec2i center; |
|
97 /** |
|
98 * The x coordinate of the center, if center is not specified. |
|
99 */ |
78 int x; |
100 int x; |
|
101 /** |
|
102 * The y coordinate of the center, if center is not specified. |
|
103 */ |
79 int y; |
104 int y; |
|
105 /** |
|
106 * The radius in both directions (use for circles). |
|
107 */ |
|
108 unsigned int radius; |
|
109 /** |
|
110 * The radius in x-direction. |
|
111 */ |
80 unsigned int radius_x; |
112 unsigned int radius_x; |
|
113 /** |
|
114 * The radius in y-direction. |
|
115 */ |
81 unsigned int radius_y; |
116 unsigned int radius_y; |
82 /** |
117 /** |
83 * Border thickness |
118 * Border thickness |
84 */ |
119 */ |
85 unsigned int thickness; |
120 unsigned int thickness; |