| Index: mojo/examples/pepper_container_app/graphics_3d_resource.h
|
| diff --git a/mojo/examples/pepper_container_app/graphics_3d_resource.h b/mojo/examples/pepper_container_app/graphics_3d_resource.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6359a45130f2742a15f8b54a23f2d40c75c139d9
|
| --- /dev/null
|
| +++ b/mojo/examples/pepper_container_app/graphics_3d_resource.h
|
| @@ -0,0 +1,74 @@
|
| +// 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 MOJO_EXAMPLES_PEPPER_CONTAINER_APP_GRAPHICS_3D_RESOURCE_H_
|
| +#define MOJO_EXAMPLES_PEPPER_CONTAINER_APP_GRAPHICS_3D_RESOURCE_H_
|
| +
|
| +#include "base/compiler_specific.h"
|
| +#include "base/macros.h"
|
| +#include "mojo/public/gles2/gles2_types.h"
|
| +#include "ppapi/shared_impl/resource.h"
|
| +#include "ppapi/shared_impl/tracked_callback.h"
|
| +#include "ppapi/thunk/ppb_graphics_3d_api.h"
|
| +
|
| +namespace mojo {
|
| +namespace examples {
|
| +
|
| +class Graphics3DResource : public ppapi::Resource,
|
| + public ppapi::thunk::PPB_Graphics3D_API {
|
| + public:
|
| + explicit Graphics3DResource(PP_Instance instance);
|
| + virtual ~Graphics3DResource();
|
| +
|
| + bool IsBoundGraphics() const;
|
| + void BindGraphics();
|
| +
|
| + // ppapi::Resource overrides.
|
| + virtual ppapi::thunk::PPB_Graphics3D_API* AsPPB_Graphics3D_API() OVERRIDE;
|
| +
|
| + // ppapi::thunk::PPB_Graphics3D_API implementation.
|
| + virtual int32_t GetAttribs(int32_t attrib_list[]) OVERRIDE;
|
| + virtual int32_t SetAttribs(const int32_t attrib_list[]) OVERRIDE;
|
| + virtual int32_t GetError() OVERRIDE;
|
| + virtual int32_t ResizeBuffers(int32_t width, int32_t height) OVERRIDE;
|
| + virtual int32_t SwapBuffers(
|
| + scoped_refptr<ppapi::TrackedCallback> callback) OVERRIDE;
|
| + virtual int32_t GetAttribMaxValue(int32_t attribute, int32_t* value) OVERRIDE;
|
| + virtual PP_Bool SetGetBuffer(int32_t shm_id) OVERRIDE;
|
| + virtual gpu::CommandBuffer::State GetState() OVERRIDE;
|
| + virtual int32_t CreateTransferBuffer(uint32_t size) OVERRIDE;
|
| + virtual PP_Bool DestroyTransferBuffer(int32_t id) OVERRIDE;
|
| + virtual PP_Bool GetTransferBuffer(int32_t id,
|
| + int* shm_handle,
|
| + uint32_t* shm_size) OVERRIDE;
|
| + virtual PP_Bool Flush(int32_t put_offset) OVERRIDE;
|
| + virtual gpu::CommandBuffer::State WaitForTokenInRange(int32_t start,
|
| + int32_t end) OVERRIDE;
|
| + virtual gpu::CommandBuffer::State WaitForGetOffsetInRange(
|
| + int32_t start, int32_t end) OVERRIDE;
|
| + virtual void* MapTexSubImage2DCHROMIUM(GLenum target,
|
| + GLint level,
|
| + GLint xoffset,
|
| + GLint yoffset,
|
| + GLsizei width,
|
| + GLsizei height,
|
| + GLenum format,
|
| + GLenum type,
|
| + GLenum access) OVERRIDE;
|
| + virtual void UnmapTexSubImage2DCHROMIUM(const void* mem) OVERRIDE;
|
| + virtual uint32_t InsertSyncPoint() OVERRIDE;
|
| +
|
| + private:
|
| + static void ContextLostThunk(void* closure);
|
| + static void DrawAnimationFrameThunk(void* closure);
|
| + void ContextLost();
|
| +
|
| + MojoGLES2Context context_;
|
| + DISALLOW_COPY_AND_ASSIGN(Graphics3DResource);
|
| +};
|
| +
|
| +} // namespace examples
|
| +} // namespace mojo
|
| +
|
| +#endif // MOJO_EXAMPLES_PEPPER_CONTAINER_APP_GRAPHICS_3D_RESOURCE_H_
|
|
|