diff options
Diffstat (limited to 'chromium/mojo/examples/sample_app/gles2_client_impl.h')
-rw-r--r-- | chromium/mojo/examples/sample_app/gles2_client_impl.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/chromium/mojo/examples/sample_app/gles2_client_impl.h b/chromium/mojo/examples/sample_app/gles2_client_impl.h new file mode 100644 index 00000000000..6791504fbc1 --- /dev/null +++ b/chromium/mojo/examples/sample_app/gles2_client_impl.h @@ -0,0 +1,50 @@ +// Copyright 2013 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 MOJO_EXAMPLES_SAMPLE_APP_GLES2_CLIENT_IMPL_H_ +#define MOJO_EXAMPLES_SAMPLE_APP_GLES2_CLIENT_IMPL_H_ + +#include "mojo/examples/sample_app/spinning_cube.h" +#include "mojo/public/c/gles2/gles2.h" +#include "mojo/services/public/interfaces/native_viewport/native_viewport.mojom.h" +#include "ui/gfx/point_f.h" +#include "ui/gfx/size.h" + +namespace mojo { +namespace examples { + +class GLES2ClientImpl { + public: + explicit GLES2ClientImpl(CommandBufferPtr command_buffer); + virtual ~GLES2ClientImpl(); + + void SetSize(const Size& size); + void HandleInputEvent(const Event& event); + + private: + void ContextLost(); + static void ContextLostThunk(void* closure); + void DrawAnimationFrame(); + static void DrawAnimationFrameThunk(void* closure); + + void RequestAnimationFrames(); + void CancelAnimationFrames(); + + MojoTimeTicks last_time_; + gfx::Size size_; + SpinningCube cube_; + gfx::PointF capture_point_; + gfx::PointF last_drag_point_; + MojoTimeTicks drag_start_time_; + bool getting_animation_frames_; + + MojoGLES2Context context_; + + MOJO_DISALLOW_COPY_AND_ASSIGN(GLES2ClientImpl); +}; + +} // namespace examples +} // namespace mojo + +#endif // MOJO_EXAMPLES_SAMPLE_APP_GLES2_CLIENT_IMPL_H_ |