fix baseline build (old cairo) - 'cairo_rectangle_int_t' does not name a type
[LibreOffice.git] / chart2 / opengl / symbolFragmentShader.glsl
blob35cc9106770f7f65aef3f2390e4e01192f619c18
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
10 #version 150 core
12 in vec4 fragmentColor;
13 uniform int shape;
15 void main()
17     vec2 p = gl_PointCoord * 2.0 - vec2(1.0); // (0,0) in the center
18     if(shape == 0)
19     {
20     }
21     else if(shape == 1) //diamon
22     {
23         if (abs(p.x) + abs(p.y) > 1)
24             discard;
25     }
26     else if(shape == 2) // arrow
27     {
28         if(p.y < 0 && (abs(p.x) + abs(p.y)) > 1)
29             discard;
30         else if(p.y > 0 && abs(p.x) > 0.5)
31             discard;
32     }
33     else if(shape == 3) //arrow up
34     {
35         if(p.y > 0 && (abs(p.x) + abs(p.y)) > 1)
36             discard;
37         else if(p.y < 0 && abs(p.x) > 0.5)
38             discard;
39     }
40     else if(shape == 4) // arrow right
41     {
42         if(p.x > 0 && (abs(p.x) + abs(p.y)) > 1)
43             discard;
44         else if(p.x < 0 && abs(p.y) > 0.5)
45             discard;
46     }
47     else if(shape == 5) // arrow left
48     {
49         if(p.x < 0 && (abs(p.x) + abs(p.y)) > 1)
50             discard;
51         else if(p.x > 0 && abs(p.y) > 0.5)
52             discard;
53     }
54     else if(shape == 6) // hour glass
55     {
56         if(abs(p.x) < abs(p.y))
57             discard;
58     }
59     else if(shape == 7) // bow tie
60     {
61         if(abs(p.y) < abs(p.x))
62             discard;
63     }
64     else if(shape == 8) // circle
65     {
66         if(dot(p.x, p.y) > 1)
67             discard;
68     }
69     else if(shape == 9) // star
70     {
71         if(sqrt(abs(p.x))+sqrt(abs(p.y)) > 1)
72             discard;
73     }
74     else if(shape == 10) // X
75     {
76         if(abs(abs(p.x) - abs(p.y)) > 0.2)
77             discard;
78     }
79     else if(shape == 11) // Plus
80     {
81         if(abs(p.x) > 0.2 && abs(p.y) > 0.2)
82             discard;
83     }
84     else if(shape == 12) // asterisk
85     {
86     }
87     else if(shape == 13) // horizontal bar
88     {
89         if(abs(p.y) > 0.2)
90             discard;
91     }
92     else if(shape == 14) // vertical bar
93     {
94         if(abs(p.x) > 0.2)
95             discard;
96     }
97     
98     gl_FragColor = fragmentColor;
101 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */