static void do_draw(sk_canvas_t* canvas) { sk_paint_t* paint = sk_paint_new(); sk_paint_set_antialias(paint, true); sk_paint_set_color(paint, 0xFFFFFFFF); sk_canvas_draw_paint(canvas, paint); sk_rect_t r = { 10, 10, W - 10, H - 10 }; sk_paint_set_color(paint, 0xFFFF0000); sk_canvas_draw_rect(canvas, &r, paint); sk_shader_t* shader = make_shader(); sk_paint_set_shader(paint, shader); sk_shader_unref(shader); sk_canvas_draw_oval(canvas, &r, paint); sk_paint_delete(paint); }
void draw(sk_canvas_t* canvas) { sk_paint_t* fill = sk_paint_new(); sk_paint_set_color(fill, sk_color_set_argb(0xFF, 0x00, 0x00, 0xFF)); sk_canvas_draw_paint(canvas, fill); sk_paint_set_color(fill, sk_color_set_argb(0xFF, 0x00, 0xFF, 0xFF)); sk_rect_t rect; rect.left = 100.0f; rect.top = 100.0f; rect.right = 540.0f; rect.bottom = 380.0f; sk_canvas_draw_rect(canvas, &rect, fill); sk_paint_t* stroke = sk_paint_new(); sk_paint_set_color(stroke, sk_color_set_argb(0xFF, 0xFF, 0x00, 0x00)); sk_paint_set_antialias(stroke, true); sk_paint_set_stroke(stroke, true); sk_paint_set_stroke_width(stroke, 5.0f); sk_path_t* path = sk_path_new(); sk_path_move_to(path, 50.0f, 50.0f); sk_path_line_to(path, 590.0f, 50.0f); sk_path_cubic_to(path, -490.0f, 50.0f, 1130.0f, 430.0f, 50.0f, 430.0f); sk_path_line_to(path, 590.0f, 430.0f); sk_canvas_draw_path(canvas, path, stroke); sk_paint_set_color(fill, sk_color_set_argb(0x80, 0x00, 0xFF, 0x00)); sk_rect_t rect2; rect2.left = 120.0f; rect2.top = 120.0f; rect2.right = 520.0f; rect2.bottom = 360.0f; sk_canvas_draw_oval(canvas, &rect2, fill); sk_path_delete(path); sk_paint_delete(stroke); sk_paint_delete(fill); }