1 /*
2  * DSFML - The Simple and Fast Multimedia Library for D
3  *
4  * Copyright (c) 2013 - 2018 Jeremy DeHaan (dehaan.jeremiah@gmail.com)
5  *
6  * This software is provided 'as-is', without any express or implied warranty.
7  * In no event will the authors be held liable for any damages arising from the
8  * use of this software.
9  *
10  * Permission is granted to anyone to use this software for any purpose,
11  * including commercial applications, and to alter it and redistribute it
12  * freely, subject to the following restrictions:
13  *
14  * 1. The origin of this software must not be misrepresented; you must not claim
15  * that you wrote the original software. If you use this software in a product,
16  * an acknowledgment in the product documentation would be appreciated but is
17  * not required.
18  *
19  * 2. Altered source versions must be plainly marked as such, and must not be
20  * misrepresented as being the original software.
21  *
22  * 3. This notice may not be removed or altered from any source distribution
23  *
24  *
25  * DSFML is based on SFML (Copyright Laurent Gomila)
26  */
27 
28 /// The module containing the list of usable primitives for drawing.
29 module dsfml.graphics.primitivetype;
30 
31 /**
32  * Types of primitives that a $(VERTEXARRAY_LINK VertexArray) can render.
33  *
34  * Points and lines have no area, therefore their thickness will always be 1
35  * pixel, regarldess the current transform and view.
36  */
37 enum PrimitiveType
38 {
39     /// List of individual points.
40     Points,
41     /// List of individual lines.
42     Lines,
43     /// List of connected lines; a point uses the previous point to form a line.
44     LineStrip,
45     /// List of individual triangles.
46     Triangles,
47     /**
48      * List of connected triangles; a point uses the two previous points to form
49      * a triangle.
50      */
51     TriangleStrip,
52     /**
53      * List of connected triangles; a point uses the common center and the
54      * previous point to form a triangle.
55      */
56     TriangleFan,
57     /// List of individual quads.
58     Quads,
59 
60     /// Deprecated: List of individual triangles.
61     LinesStrip = LineStrip,
62     /// Deprecated: List of connected triangles.
63     TrianglesStrip = TriangleStrip,
64     /// Deprecated: List of connected triangles.
65     TrianglesFan   = TriangleFan
66 }