1 #ifndef SDK_GL2D_CAPS_INTERFACE_H_
11 #define SDK_GL2D_CAPS_INTERFACE_H_
16 #include <base/inc/sdk_component_base.h>
18 #include <visualizationlayer/inc/vis_const.h>
20 SDK_GL2D_BEGIN_NAMESPACE
35 kGL2DGpuType_Unknown = 0,
36 kGL2DGpuType_Integrated = 1,
37 kGL2DGpuType_Discrete = 2,
44 kGL2DGpuVendor_Unknown = 0,
45 kGL2DGpuVendor_Intel = 1,
46 kGL2DGpuVendor_nVidia = 2,
47 kGL2DGpuVendor_ATI_AMD = 3,
48 kGL2DGpuVendor_Vivante = 4,
49 kGL2DGpuVendor_ARM = 5,
50 kGL2DGpuVendor_Qualcomm = 6,
52 kGL2DGpuVendor_VMWare = 50,
53 kGL2DGpuVendor_Other = 100,
62 kGL2DCanvasOperationType_Clipping = 0,
66 kGL2DCanvasOperationType_DrawMesh = 1,
70 kGL2DCanvasOperationType_DrawMeshWithPerspectiveProj = 2,
74 kGL2DCanvasOperationType_DrawLightedMesh3D = 3,
78 kGL2DCanvasOperationType_DrawTexture = 4,
82 kGL2DCanvasOperationType_DrawTextures = 5,
86 kGL2DCanvasOperationType_DrawSprites = 6,
90 kGL2DCanvasOperationType_DrawSpritesWithPerspProj = 7,
94 kGL2DCanvasOperationType_DrawSimpleLine = 8,
98 kGL2DCanvasOperationType_DrawFastSolidLine = 9,
102 kGL2DCanvasOperationType_DrawFastSolidLineWithPerspProj = 10,
106 kGL2DCanvasOperationType_DrawFastDashLine = 11,
110 kGL2DCanvasOperationType_DrawRougierSolidLine = 12,
115 kGL2DCanvasOperationType_DrawRougierDashLine = 13,
119 kGL2DCanvasOperationType_DrawLineMarks = 14,
123 kGL2DCanvasOperationType_DrawTexturedLine = 15,
127 kGL2DCanvasOperationType_DrawSimpleText = 16,
131 kGL2DCanvasOperationType_DrawBorderedText = 17,
135 kGL2DCanvasOperationType_DrawTextsCollection = 18,
139 kGL2DCanvasOperationType_DrawLatin1Texts = 19,
143 kGL2DCanvasOperationType_DrawLatin1BorderedTexts = 20,
147 kGL2DCanvasOperationType_DrawSimplePattern = 21,
151 kGL2DCanvasOperationType_DrawStaggeredPattern = 22,
155 kGL2DCanvasOperationType_DrawFilledCircles = 23,
159 kGL2DCanvasOperationType_DrawThinSolidPivotPointLine = 24,
163 kGL2DCanvasOperationType_DrawIndexedTexture_256_Colors = 25,
167 kGL2DCanvasOperationType_DrawRadarImage_8_bits = 26,
171 kGL2DCanvasOperationType_DrawRadarImage_Tex_8_bits = 27,
175 kGL2DCanvasOperationType_DrawScalebar = 28,
179 kGL2DCanvasOperationType_DrawTexturesToTexture = 29,
183 kGL2DCanvasOperationType_DrawTextBoxes = 30,
187 kGL2DCanvasOperationType_GetTextureBits_RGBA = 31,
188 kGL2DCanvasOperationType_GetTextureBits_BGRA = 32,
189 kGL2DCanvasOperationType_GetTextureBits_RGB = 33,
190 kGL2DCanvasOperationType_GetTextureBits_RGB16 = 34,
191 kGL2DCanvasOperationType_GetTextureBits_Gray = 35,
195 kGL2DCanvasOperationType_CloneTexture_RGBA = 36,
196 kGL2DCanvasOperationType_CloneTexture_BGRA = 37,
197 kGL2DCanvasOperationType_CloneTexture_RGB = 38,
198 kGL2DCanvasOperationType_CloneTexture_RGB16 = 39,
201 kGL2DCanvasOperationType_CopyTexture_RGBA =
202 kGL2DCanvasOperationType_CloneTexture_RGBA,
203 kGL2DCanvasOperationType_CopyTexture_BGRA =
204 kGL2DCanvasOperationType_CloneTexture_BGRA,
205 kGL2DCanvasOperationType_CopyTexture_RGB =
206 kGL2DCanvasOperationType_CloneTexture_RGB,
207 kGL2DCanvasOperationType_CopyTexture_RGB16 =
208 kGL2DCanvasOperationType_CloneTexture_RGB16,
209 kGL2DCanvasOperationType_CopyTexture_Gray = 40,
212 kGL2DCanvasOperationType_CanCreateR8Texture = 41,
213 kGL2DCanvasOperationType_CanCreateA8Texture = 42,
214 kGL2DCanvasOperationType_CanBindR8TextureToFBO = 43,
215 kGL2DCanvasOperationType_CanBindA8TextureToFBO = 44,
216 kGL2DCanvasOperationType_CanCopyR8ToR8 = 45,
217 kGL2DCanvasOperationType_CanCopyA8ToA8 = 46,
218 kGL2DCanvasOperationType_CopyTexture_R8 =
219 kGL2DCanvasOperationType_CanCopyR8ToR8,
220 kGL2DCanvasOperationType_CopyTexture_A8 =
221 kGL2DCanvasOperationType_CanCopyA8ToA8,
224 kGL2DCanvasOperationType_CanCreateClippingTexture = 47,
225 kGL2DCanvasOperationType_CanUseClippingTexture = 48,
228 kGL2DCanvasOperationType_CanDrawDirectionalShadowsFor3D = 49,
231 kGL2DCanvasOperationType_First = kGL2DCanvasOperationType_Clipping,
232 kGL2DCanvasOperationType_Last = kGL2DCanvasOperationType_CanDrawDirectionalShadowsFor3D,
258 virtual void SDK_CALLTYPE
Dump()
const throw() = 0;
261 virtual IGL2DCanvasSP SDK_CALLTYPE
GetParent()
const throw() = 0;
265 SDKString& vendor_name)
const throw() = 0;
268 SDKString& renderer_name)
const throw() = 0;
271 SDKString& gl_version)
const throw() = 0;
274 SDKUInt32& major, SDKUInt32& minor)
const throw() = 0;
277 SDKString& glsl_version)
const throw() = 0;
280 SDKUInt32& major, SDKUInt32& minor)
const throw() = 0;
308 kGL2DCanvasOperationType_CanCreateR8Texture);
314 kGL2DCanvasOperationType_CanCreateA8Texture);
325 kGL2DCanvasOperationType_CanBindR8TextureToFBO);
332 kGL2DCanvasOperationType_CanBindA8TextureToFBO);
404 virtual SDKUInt32 SDK_CALLTYPE GetGLSLFloatPrecisionInFragmentShader() const throw() = 0;
405 inline SDKUInt32 SDK_CALLTYPE GetGLSLFloatPrecision()
const
408 const SDKUInt32 fragment = GetGLSLFloatPrecisionInFragmentShader();
409 return vertex < fragment ? vertex : fragment;
414 const SDKString& extension_name)
const throw() = 0;
425 SDK_GL2D_END_NAMESPACE
427 #endif // SDK_GL2D_CAPS_INTERFACE_H_