zenilib: zenilib/jni/external/angle/src/common/angleutils.h Source File

zenilib 0.5.3.0

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
angleutils.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6
7 // angleutils.h: Common ANGLE utilities.
8
9 #ifndef COMMON_ANGLEUTILS_H_
10 #define COMMON_ANGLEUTILS_H_
11
12 #include <stddef.h>
13
14 // A macro to disallow the copy constructor and operator= functions
15 // This must be used in the private: declarations for a class
16 #define DISALLOW_COPY_AND_ASSIGN(TypeName) \
17 TypeName(const TypeName&); \
18 void operator=(const TypeName&)
19
20 template <typename T, unsigned int N>
21 inline unsigned int ArraySize(T(&)[N])
22 {
23 return N;
24 }
25
26 template <typename T, unsigned int N>
27 void SafeRelease(T (&resourceBlock)[N])
28 {
29 for (unsigned int i = 0; i < N; i++)
30 {
31 SafeRelease(resourceBlock[i]);
32 }
33 }
34
35 template <typename T>
36 void SafeRelease(T& resource)
37 {
38 if (resource)
39 {
40 resource->Release();
41 resource = NULL;
42 }
43 }
44
45 #if defined(_MSC_VER)
46 #define snprintf _snprintf
47 #endif
48
49 #define VENDOR_ID_AMD 0x1002
50 #define VENDOR_ID_INTEL 0x8086
51 #define VENDOR_ID_NVIDIA 0x10DE
52
53 #define GL_BGRA4_ANGLEX 0x6ABC
54 #define GL_BGR5_A1_ANGLEX 0x6ABD
55
56 #endif // COMMON_ANGLEUTILS_H_
ArraySize
unsigned int ArraySize(T(&)[N])
Definition: angleutils.h:21
NULL
#define NULL
Definition: ftobjs.h:61
SafeRelease
void SafeRelease(T(&resourceBlock)[N])
Definition: angleutils.h:27
i
int i
Definition: pngrutil.c:1377