src/ascension/2d.h

changeset 173
bd57fe3f6360
parent 172
8178eee19656
equal deleted inserted replaced
172:8178eee19656 173:bd57fe3f6360
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;

mercurial