1 // 2 // Copyright (c) 2013 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 // QueryImpl.h: Defines the abstract rx::QueryImpl class. 8 9 #ifndef LIBGLESV2_RENDERER_QUERYIMPL_H_ 10 #define LIBGLESV2_RENDERER_QUERYIMPL_H_ 11 12 #include "common/angleutils.h" 13 14 namespace rx 15 { 16 17 class QueryImpl 18 { 19 public: 20 explicit QueryImpl(GLenum type) : mType(type), mStatus(GL_FALSE), mResult(0) { } 21 virtual ~QueryImpl() { } 22 23 virtual void begin() = 0; 24 virtual void end() = 0; 25 virtual GLuint getResult() = 0; 26 virtual GLboolean isResultAvailable() = 0; 27 28 GLenum getType() const { return mType; } 29 30 protected: 31 GLuint mResult; 32 GLboolean mStatus; 33 34 private: 35 DISALLOW_COPY_AND_ASSIGN(QueryImpl); 36 37 GLenum mType; 38 }; 39 40 } 41 42 #endif // LIBGLESV2_RENDERER_QUERYIMPL_H_ 43