38 lines
1.1 KiB
C++
38 lines
1.1 KiB
C++
// 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_
|