| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Apple Inc. All Rights Reserved. | 2 * Copyright (C) 2009 Apple Inc. All Rights Reserved. |
| 3 * Copyright (C) 2009 Google Inc. All Rights Reserved. | 3 * Copyright (C) 2009 Google Inc. All Rights Reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 #include "wtf/text/WTFString.h" | 42 #include "wtf/text/WTFString.h" |
| 43 | 43 |
| 44 namespace WebCore { | 44 namespace WebCore { |
| 45 | 45 |
| 46 // A tagged union representing the result of get queries like | 46 // A tagged union representing the result of get queries like |
| 47 // getParameter (encompassing getBooleanv, getIntegerv, getFloatv) and | 47 // getParameter (encompassing getBooleanv, getIntegerv, getFloatv) and |
| 48 // similar variants. For reference counted types, increments and | 48 // similar variants. For reference counted types, increments and |
| 49 // decrements the reference count of the target object. | 49 // decrements the reference count of the target object. |
| 50 | 50 |
| 51 class WebGLGetInfo FINAL { | 51 class WebGLGetInfo FINAL { |
| 52 STACK_ALLOCATED(); |
| 52 public: | 53 public: |
| 53 enum Type { | 54 enum Type { |
| 54 kTypeBool, | 55 kTypeBool, |
| 55 kTypeBoolArray, | 56 kTypeBoolArray, |
| 56 kTypeFloat, | 57 kTypeFloat, |
| 57 kTypeInt, | 58 kTypeInt, |
| 58 kTypeNull, | 59 kTypeNull, |
| 59 kTypeString, | 60 kTypeString, |
| 60 kTypeUnsignedInt, | 61 kTypeUnsignedInt, |
| 61 kTypeWebGLBuffer, | 62 kTypeWebGLBuffer, |
| (...skipping 10 matching lines...) Expand all Loading... |
| 72 }; | 73 }; |
| 73 | 74 |
| 74 explicit WebGLGetInfo(bool value); | 75 explicit WebGLGetInfo(bool value); |
| 75 WebGLGetInfo(const bool* value, int size); | 76 WebGLGetInfo(const bool* value, int size); |
| 76 explicit WebGLGetInfo(float value); | 77 explicit WebGLGetInfo(float value); |
| 77 explicit WebGLGetInfo(int value); | 78 explicit WebGLGetInfo(int value); |
| 78 // Represents the null value and type. | 79 // Represents the null value and type. |
| 79 WebGLGetInfo(); | 80 WebGLGetInfo(); |
| 80 explicit WebGLGetInfo(const String& value); | 81 explicit WebGLGetInfo(const String& value); |
| 81 explicit WebGLGetInfo(unsigned value); | 82 explicit WebGLGetInfo(unsigned value); |
| 82 explicit WebGLGetInfo(PassRefPtr<WebGLBuffer> value); | 83 explicit WebGLGetInfo(PassRefPtrWillBeRawPtr<WebGLBuffer> value); |
| 83 explicit WebGLGetInfo(PassRefPtr<Float32Array> value); | 84 explicit WebGLGetInfo(PassRefPtr<Float32Array> value); |
| 84 explicit WebGLGetInfo(PassRefPtr<WebGLFramebuffer> value); | 85 explicit WebGLGetInfo(PassRefPtrWillBeRawPtr<WebGLFramebuffer> value); |
| 85 explicit WebGLGetInfo(PassRefPtr<Int32Array> value); | 86 explicit WebGLGetInfo(PassRefPtr<Int32Array> value); |
| 86 // FIXME: implement WebGLObjectArray | 87 // FIXME: implement WebGLObjectArray |
| 87 // WebGLGetInfo(PassRefPtr<WebGLObjectArray> value); | 88 // WebGLGetInfo(PassRefPtrWillBeRawPtr<WebGLObjectArray> value); |
| 88 explicit WebGLGetInfo(PassRefPtr<WebGLProgram> value); | 89 explicit WebGLGetInfo(PassRefPtrWillBeRawPtr<WebGLProgram> value); |
| 89 explicit WebGLGetInfo(PassRefPtr<WebGLRenderbuffer> value); | 90 explicit WebGLGetInfo(PassRefPtrWillBeRawPtr<WebGLRenderbuffer> value); |
| 90 explicit WebGLGetInfo(PassRefPtr<WebGLTexture> value); | 91 explicit WebGLGetInfo(PassRefPtrWillBeRawPtr<WebGLTexture> value); |
| 91 explicit WebGLGetInfo(PassRefPtr<Uint8Array> value); | 92 explicit WebGLGetInfo(PassRefPtr<Uint8Array> value); |
| 92 explicit WebGLGetInfo(PassRefPtr<Uint32Array> value); | 93 explicit WebGLGetInfo(PassRefPtr<Uint32Array> value); |
| 93 explicit WebGLGetInfo(PassRefPtr<WebGLVertexArrayObjectOES> value); | 94 explicit WebGLGetInfo(PassRefPtrWillBeRawPtr<WebGLVertexArrayObjectOES> valu
e); |
| 94 | 95 |
| 95 Type getType() const; | 96 Type getType() const; |
| 96 | 97 |
| 97 bool getBool() const; | 98 bool getBool() const; |
| 98 const Vector<bool>& getBoolArray() const; | 99 const Vector<bool>& getBoolArray() const; |
| 99 float getFloat() const; | 100 float getFloat() const; |
| 100 int getInt() const; | 101 int getInt() const; |
| 101 const String& getString() const; | 102 const String& getString() const; |
| 102 unsigned getUnsignedInt() const; | 103 unsigned getUnsignedInt() const; |
| 103 PassRefPtr<WebGLBuffer> getWebGLBuffer() const; | 104 PassRefPtrWillBeRawPtr<WebGLBuffer> getWebGLBuffer() const; |
| 104 PassRefPtr<Float32Array> getWebGLFloatArray() const; | 105 PassRefPtr<Float32Array> getWebGLFloatArray() const; |
| 105 PassRefPtr<WebGLFramebuffer> getWebGLFramebuffer() const; | 106 PassRefPtrWillBeRawPtr<WebGLFramebuffer> getWebGLFramebuffer() const; |
| 106 PassRefPtr<Int32Array> getWebGLIntArray() const; | 107 PassRefPtr<Int32Array> getWebGLIntArray() const; |
| 107 // FIXME: implement WebGLObjectArray | 108 // FIXME: implement WebGLObjectArray |
| 108 // PassRefPtr<WebGLObjectArray> getWebGLObjectArray() const; | 109 // PassRefPtr<WebGLObjectArray> getWebGLObjectArray() const; |
| 109 PassRefPtr<WebGLProgram> getWebGLProgram() const; | 110 PassRefPtrWillBeRawPtr<WebGLProgram> getWebGLProgram() const; |
| 110 PassRefPtr<WebGLRenderbuffer> getWebGLRenderbuffer() const; | 111 PassRefPtrWillBeRawPtr<WebGLRenderbuffer> getWebGLRenderbuffer() const; |
| 111 PassRefPtr<WebGLTexture> getWebGLTexture() const; | 112 PassRefPtrWillBeRawPtr<WebGLTexture> getWebGLTexture() const; |
| 112 PassRefPtr<Uint8Array> getWebGLUnsignedByteArray() const; | 113 PassRefPtr<Uint8Array> getWebGLUnsignedByteArray() const; |
| 113 PassRefPtr<Uint32Array> getWebGLUnsignedIntArray() const; | 114 PassRefPtr<Uint32Array> getWebGLUnsignedIntArray() const; |
| 114 PassRefPtr<WebGLVertexArrayObjectOES> getWebGLVertexArrayObjectOES() const; | 115 PassRefPtrWillBeRawPtr<WebGLVertexArrayObjectOES> getWebGLVertexArrayObjectO
ES() const; |
| 115 | 116 |
| 116 private: | 117 private: |
| 117 Type m_type; | 118 Type m_type; |
| 118 bool m_bool; | 119 bool m_bool; |
| 119 Vector<bool> m_boolArray; | 120 Vector<bool> m_boolArray; |
| 120 float m_float; | 121 float m_float; |
| 121 int m_int; | 122 int m_int; |
| 122 String m_string; | 123 String m_string; |
| 123 unsigned m_unsignedInt; | 124 unsigned m_unsignedInt; |
| 124 RefPtr<WebGLBuffer> m_webglBuffer; | 125 RefPtrWillBeMember<WebGLBuffer> m_webglBuffer; |
| 125 RefPtr<Float32Array> m_webglFloatArray; | 126 RefPtr<Float32Array> m_webglFloatArray; |
| 126 RefPtr<WebGLFramebuffer> m_webglFramebuffer; | 127 RefPtrWillBeMember<WebGLFramebuffer> m_webglFramebuffer; |
| 127 RefPtr<Int32Array> m_webglIntArray; | 128 RefPtr<Int32Array> m_webglIntArray; |
| 128 // FIXME: implement WebGLObjectArray | 129 // FIXME: implement WebGLObjectArray |
| 129 // RefPtr<WebGLObjectArray> m_webglObjectArray; | 130 // RefPtr<WebGLObjectArray> m_webglObjectArray; |
| 130 RefPtr<WebGLProgram> m_webglProgram; | 131 RefPtrWillBeMember<WebGLProgram> m_webglProgram; |
| 131 RefPtr<WebGLRenderbuffer> m_webglRenderbuffer; | 132 RefPtrWillBeMember<WebGLRenderbuffer> m_webglRenderbuffer; |
| 132 RefPtr<WebGLTexture> m_webglTexture; | 133 RefPtrWillBeMember<WebGLTexture> m_webglTexture; |
| 133 RefPtr<Uint8Array> m_webglUnsignedByteArray; | 134 RefPtr<Uint8Array> m_webglUnsignedByteArray; |
| 134 RefPtr<Uint32Array> m_webglUnsignedIntArray; | 135 RefPtr<Uint32Array> m_webglUnsignedIntArray; |
| 135 RefPtr<WebGLVertexArrayObjectOES> m_webglVertexArrayObject; | 136 RefPtrWillBeMember<WebGLVertexArrayObjectOES> m_webglVertexArrayObject; |
| 136 }; | 137 }; |
| 137 | 138 |
| 138 } // namespace WebCore | 139 } // namespace WebCore |
| 139 | 140 |
| 140 #endif // WebGLGetInfo_h | 141 #endif // WebGLGetInfo_h |
| OLD | NEW |