@@ -19,12 +19,10 @@ Canvas* canvas_new_raster(
1919 Arena * arena ,
2020 uint32_t width ,
2121 uint32_t height ,
22- uint32_t rgba ,
23- double coordinate_scale
22+ Rgba rgba
2423) {
2524 Canvas * canvas = arena_alloc (arena , sizeof (Canvas ));
26- canvas -> data .raster =
27- raster_canvas_new (arena , width , height , rgba , coordinate_scale );
25+ canvas -> data .raster = raster_canvas_new (arena , width , height , rgba );
2826 canvas -> type = CANVAS_TYPE_RASTER ;
2927
3028 return canvas ;
@@ -42,7 +40,7 @@ Canvas* canvas_new_scalable(
4240 Arena * arena ,
4341 uint32_t width ,
4442 uint32_t height ,
45- uint32_t rgba ,
43+ Rgba rgba ,
4644 double raster_res
4745) {
4846 Canvas * canvas = arena_alloc (arena , sizeof (Canvas ));
@@ -61,7 +59,7 @@ bool canvas_is_raster(Canvas* canvas) {
6159double canvas_raster_res (Canvas * canvas ) {
6260 RELEASE_ASSERT (canvas );
6361 if (canvas -> type == CANVAS_TYPE_RASTER ) {
64- return 1.0 ;
62+ return raster_canvas_raster_res ( canvas -> data . raster ) ;
6563 } else {
6664 return scalable_canvas_raster_res (canvas -> data .scalable );
6765 }
@@ -72,7 +70,7 @@ void canvas_draw_circle(
7270 double x ,
7371 double y ,
7472 double radius ,
75- uint32_t rgba
73+ Rgba rgba
7674) {
7775 switch (canvas -> type ) {
7876 case CANVAS_TYPE_RASTER : {
@@ -102,7 +100,7 @@ void canvas_draw_line(
102100 double x2 ,
103101 double y2 ,
104102 double radius ,
105- uint32_t rgba
103+ Rgba rgba
106104) {
107105 switch (canvas -> type ) {
108106 case CANVAS_TYPE_RASTER : {
@@ -145,7 +143,7 @@ void canvas_draw_bezier(
145143 double cy ,
146144 double flatness ,
147145 double radius ,
148- uint32_t rgba
146+ Rgba rgba
149147) {
150148 switch (canvas -> type ) {
151149 case CANVAS_TYPE_RASTER : {
@@ -255,12 +253,13 @@ void canvas_pop_clip_paths(Canvas* canvas, size_t count) {
255253 }
256254}
257255
258- void canvas_draw_pixel (Canvas * canvas , GeomVec2 position , uint32_t rgba ) {
256+ void canvas_draw_pixel (Canvas * canvas , GeomVec2 position , Rgba rgba ) {
259257 RELEASE_ASSERT (canvas );
260258
261259 switch (canvas -> type ) {
262260 case CANVAS_TYPE_RASTER : {
263- LOG_TODO ();
261+ raster_canvas_draw_pixel (canvas -> data .raster , position , rgba );
262+ break ;
264263 }
265264 case CANVAS_TYPE_SCALABLE : {
266265 scalable_canvas_draw_pixel (canvas -> data .scalable , position , rgba );
0 commit comments