| // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | // This file contains the ContextState class. | 
 |  | 
 | #ifndef GPU_COMMAND_BUFFER_CLIENT_CLIENT_CONTEXT_STATE_H_ | 
 | #define GPU_COMMAND_BUFFER_CLIENT_CLIENT_CONTEXT_STATE_H_ | 
 |  | 
 | #include <GLES2/gl2.h> | 
 | #include <vector> | 
 | #include "gles2_impl_export.h" | 
 |  | 
 | namespace gpu { | 
 | namespace gles2 { | 
 |  | 
 | struct GLES2_IMPL_EXPORT ClientContextState { | 
 |   ClientContextState(); | 
 |   ~ClientContextState(); | 
 |  | 
 |   // Returns true if state was cached in which case 'enabled' will be set to the | 
 |   // current state. | 
 |   bool GetEnabled(GLenum cap, bool* enabled) const; | 
 |  | 
 |   // Sets the state of a capability. | 
 |   // Returns true if the capability is one that is cached. | 
 |   // 'changed' will be true if the state was different from 'enabled. | 
 |   bool SetCapabilityState(GLenum cap, bool enabled, bool* changed); | 
 |  | 
 |   #include "gpu/command_buffer/client/client_context_state_autogen.h" | 
 |  | 
 |   EnableFlags enable_flags; | 
 | }; | 
 |  | 
 | }  // namespace gles2 | 
 | }  // namespace gpu | 
 |  | 
 | #endif  // GPU_COMMAND_BUFFER_CLIENT_CLIENT_CONTEXT_STATE_H_ | 
 |  |