examples/shapes.c
 1#include "alba.h"
 2
 3int main()
 4{
 5    AlbaWindowOptions options = {0};
 6    options.clear_color.r = 0.02;
 7    options.clear_color.g = 0.02;
 8    options.clear_color.b = 0.02;
 9    AlbaWindow* window = create_window(&options);
10
11    const AlbaVector tri_vertices[] = {
12        {100, 100},
13        {100, 400},
14        {200, 100},
15        //
16        {300, 150},
17        {150, 300}
18    };
19    const AlbaAttribute attributes[] = {
20        {{1, 0, 0, 1}, {-1, -1}},
21        {{0, 1, 0, 1}, {-1, -1}},
22        {{0, 0, 1, 1}, {-1, -1}},
23        {{1, 1, 1, 0.5}, {-1, -1}},
24        {{1, 1, 1, 0.2}, {-1, -1}},
25    };
26    uint32_t indices[] = {0, 1, 2, 0, 3, 4};
27    draw_triangles_indexed(window, 5, tri_vertices, attributes, 6, indices);
28
29    // const AlbaColor blue = {0.0, 0.4, 1.0, 1.0};
30    // draw_rect_aa(window, 350, 100, 500, 150, blue);
31    //
32    // const float rect_vertices[] = {350, 300, 500, 350, 450, 400, 300, 350};
33    // draw_quad(window, rect_vertices, blue);
34    //
35    // draw_regular_polygon(window, 5, 320, 240, 20, blue);
36    // draw_circle(window, 400, 240, 5, blue);
37    // draw_circle(window, 420, 240, 6, blue);
38    // draw_circle(window, 440, 240, 7, blue);
39    // draw_circle(window, 460, 240, 10, blue);
40    // draw_circle(window, 480, 240, 15, blue);
41    // draw_circle(window, 500, 240, 20, blue);
42    // draw_circle(window, 400, 640, 200, blue);
43    //
44    // draw_rounded_rect_aa(window, 350, 30, 500, 80, 10, blue);
45
46    while (!window_should_close(window))
47    {
48        window_render(window);
49    }
50
51    window_release(window);
52    alba_release();
53}