gl: updated glxext.h to version 27
[mesa.git] / progs / openvg / trivial / cap.c
1 #include "eglcommon.h"
2
3 #include <VG/openvg.h>
4
5 #include <math.h>
6 #include <stdlib.h>
7 #include <stdio.h>
8
9 static void
10 init(void)
11 {
12
13 }
14
15 /* new window size or exposure */
16 static void
17 reshape(int w, int h)
18 {
19 }
20
21 const int subtest = 0;
22 static void
23 draw(void)
24 {
25 VGPath line;
26 VGPaint fillPaint;
27 VGubyte lineCommands[3] = {VG_MOVE_TO_ABS, VG_LINE_TO_ABS, VG_LINE_TO_ABS};
28 VGfloat lineCoords[] = {-2.0f,-1.0f, 0.0f,0.0f, -1.0f, -2.0f};
29 VGfloat clearColor[] = {0.0f, 0.0f, 0.0f, 1.0f};/* black color */
30 VGfloat fillColor[] = {1.0f, 1.0f, 1.0f, 1.0f};/* white color */
31 //VGfloat testRadius = 60.0f;
32 VGfloat testRadius = 10.0f;
33 int WINDSIZEX = window_width();
34 int WINDSIZEY = window_height();
35
36 line = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,
37 1.0f, 0.0f, 0, 0, VG_PATH_CAPABILITY_ALL);
38 fillPaint = vgCreatePaint();
39
40 vgSetf(VG_STROKE_LINE_WIDTH, 1.0f);
41 //vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_ROUND);
42 vgSeti(VG_STROKE_CAP_STYLE, VG_CAP_BUTT);
43 vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_ROUND);
44 //vgSeti(VG_STROKE_JOIN_STYLE, VG_JOIN_BEVEL);
45
46 vgSeti(VG_RENDERING_QUALITY, VG_RENDERING_QUALITY_BETTER);
47
48 vgSeti(VG_MATRIX_MODE, VG_MATRIX_PATH_USER_TO_SURFACE);
49 vgLoadIdentity();
50 vgTranslate(60, 60);
51 vgScale(testRadius * 2, testRadius * 2);
52
53 vgAppendPathData(line, 3, lineCommands, lineCoords);
54
55 vgSetfv(VG_CLEAR_COLOR, 4, clearColor);
56
57 vgSetPaint(fillPaint, VG_STROKE_PATH);
58
59 vgSetParameterfv(fillPaint, VG_PAINT_COLOR, 4, fillColor);
60 vgSetParameteri( fillPaint, VG_PAINT_TYPE, VG_PAINT_TYPE_COLOR);
61
62 vgClear(0, 0, WINDSIZEX, WINDSIZEY);
63 vgDrawPath(line, VG_STROKE_PATH);
64
65 vgDestroyPath(line);
66 vgDestroyPaint(fillPaint);
67 }
68
69
70 int main(int argc, char **argv)
71 {
72 set_window_size(100, 100);
73 return run(argc, argv, init, reshape,
74 draw, 0);
75 }