// Copyright 2014 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. #ifndef PPAPI_EXAMPLES_GLES2_SPINNING_CUBE_SPINNING_CUBE_H_ #define PPAPI_EXAMPLES_GLES2_SPINNING_CUBE_SPINNING_CUBE_H_ #include "ppapi/c/pp_stdint.h" class SpinningCube { public: SpinningCube(); ~SpinningCube(); void Init(uint32_t width, uint32_t height); void set_direction(int direction) { direction_ = direction; } void SetFlingMultiplier(float drag_distance, float drag_time); void UpdateForTimeDelta(float delta_time); void UpdateForDragDistance(float distance); void Draw(); void OnGLContextLost(); private: class GLState; // Disallow copy and assign. SpinningCube(const SpinningCube& other); SpinningCube& operator=(const SpinningCube& other); void Update(); bool initialized_; uint32_t width_; uint32_t height_; // Owned ptr. GLState* state_; float fling_multiplier_; int direction_; }; #endif // PPAPI_EXAMPLES_GLES2_SPINNING_CUBE_SPINNING_CUBE_H_