Many updates, see CHANGLOG diff
[rokon:rokon.git] / src / com / stickycoding / rokon / Rokon.java
1 package com.stickycoding.rokon;\r
2 \r
3 import com.stickycoding.rokon.vbo.ArrayVBO;\r
4 import com.stickycoding.rokon.vbo.ElementVBO;\r
5 \r
6 /**\r
7  * Rokon.java\r
8  * Various static methods and fields, used by the engine\r
9  * \r
10  * @author Richard\r
11  */\r
12 \r
13 public class Rokon {\r
14 \r
15         protected static MotionEventWrapper5 motionEvent5;\r
16         protected static MotionEventWrapper8 motionEvent8;\r
17         \r
18         protected static BlendFunction blendFunction;\r
19         protected static BufferObject triangleStripBoxBuffer;\r
20         public static BufferObject lineLoopBoxBuffer;\r
21         protected static BufferObject lineVertexBuffer;\r
22         \r
23         protected static RokonActivity currentActivity;\r
24         protected static ElementVBO elementVBO;\r
25         protected static ArrayVBO arrayVBO;\r
26         protected static ArrayVBO boxArrayVBO;\r
27         protected static boolean verbose = false;\r
28         \r
29         public static Polygon rectangle;\r
30         public static Polygon circle;\r
31         \r
32         /**\r
33          * Fetches the current Activity associated with Rokon\r
34          * \r
35          * @return RokonActivity object, NULL if unset\r
36          */\r
37         public static RokonActivity getActivity() {\r
38                 return currentActivity;\r
39         }\r
40         \r
41         /**\r
42          * Fetches a default straight line BufferObject\r
43          * \r
44          * @return valid BufferObject\r
45          */\r
46         public static BufferObject lineVertexBuffer() {\r
47                 return lineVertexBuffer;\r
48         }\r
49         \r
50         /**\r
51          * Returns the default element (index array) VBO\r
52          * \r
53          * @return ElementVBO\r
54          */\r
55         public static ElementVBO defaultElementVBO() {\r
56                 return elementVBO;\r
57         }\r
58         \r
59         /**\r
60          * Returns the default (1x1 square) VBO object\r
61          * \r
62          * @return ArrayVBO\r
63          */\r
64         public static ArrayVBO defaultVBO() {\r
65                 return arrayVBO;\r
66         }\r
67         \r
68         /**\r
69          * Returns the default (1x1 square) Buffer object for normal/VBO drawing\r
70          * \r
71          * @return Buffer\r
72          */\r
73         public static BufferObject defaultVertexBuffer() {\r
74                 return triangleStripBoxBuffer;\r
75         }\r
76         \r
77         /**\r
78          * Sets the default BlendFunction to be used when rendering\r
79          * \r
80          * @param blendFunction valid BlendFunction object\r
81          */\r
82         public static void setBlendFunction(BlendFunction blendFunction) {\r
83                 Rokon.blendFunction = blendFunction;\r
84         }\r
85         \r
86         /**\r
87          * Returns the default BlendFunction to be used when rendering\r
88          * When no specific BlendFunction is attached to a DrawableObject, this will be used\r
89          * A default will be used here if setBlendFunction is not used\r
90          * \r
91          * @return the current BlendFunction\r
92          */\r
93         public static BlendFunction getBlendFunction() {\r
94                 return blendFunction;\r
95         }\r
96 \r
97 }\r