1 // 2 // Copyright (c) 2012 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 // Query.h: Defines the gl::Query class 8 9 #ifndef LIBGLESV2_QUERY_H_ 10 #define LIBGLESV2_QUERY_H_ 11 12 #include <GLES3/gl3.h> 13 #include <GLES2/gl2.h> 14 15 #include "common/angleutils.h" 16 #include "common/RefCountObject.h" 17 18 namespace rx 19 { 20 class Renderer; 21 class QueryImpl; 22 } 23 24 namespace gl 25 { 26 27 class Query : public RefCountObject 28 { 29 public: 30 Query(rx::Renderer *renderer, GLenum type, GLuint id); 31 virtual ~Query(); 32 33 void begin(); 34 void end(); 35 36 GLuint getResult(); 37 GLboolean isResultAvailable(); 38 39 GLenum getType() const; 40 bool isStarted() const; 41 42 private: 43 DISALLOW_COPY_AND_ASSIGN(Query); 44 45 rx::QueryImpl *mQuery; 46 }; 47 48 } 49 50 #endif // LIBGLESV2_QUERY_H_ 51