Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Side by Side Diff: mojo/apps/js/bindings/gl/context.h

Issue 114883003: Implement more of the JavaScript GL API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: asdf Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « mojo/apps/js/bindings/connector.js ('k') | mojo/apps/js/bindings/gl/context.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MOJO_APPS_JS_BINDINGS_GL_CONTEXT_H_ 5 #ifndef MOJO_APPS_JS_BINDINGS_GL_CONTEXT_H_
6 #define MOJO_APPS_JS_BINDINGS_GL_CONTEXT_H_ 6 #define MOJO_APPS_JS_BINDINGS_GL_CONTEXT_H_
7 7
8 #include <GLES2/gl2.h> 8 #include <GLES2/gl2.h>
9 9
10 #include "gin/handle.h" 10 #include "gin/handle.h"
11 #include "gin/public/wrapper_info.h" 11 #include "gin/public/wrapper_info.h"
12 #include "gin/wrappable.h" 12 #include "gin/wrappable.h"
13 #include "mojo/apps/js/bindings/gl/opaque.h"
14 #include "v8/include/v8.h" 13 #include "v8/include/v8.h"
15 14
16 namespace gin { 15 namespace gin {
17 class Arguments; 16 class Arguments;
17 class ArrayBufferView;
18 } 18 }
19 19
20 namespace mojo { 20 namespace mojo {
21 namespace js { 21 namespace js {
22 namespace gl { 22 namespace gl {
23 23
24 typedef Opaque Shader;
25
26 // Context implements WebGLRenderingContext. 24 // Context implements WebGLRenderingContext.
27 class Context : public gin::Wrappable<Context> { 25 class Context : public gin::Wrappable<Context> {
28 public: 26 public:
29 static gin::WrapperInfo kWrapperInfo; 27 static gin::WrapperInfo kWrapperInfo;
30 28
31 static gin::Handle<Context> Create(v8::Isolate* isolate, uint64_t encoded, 29 static gin::Handle<Context> Create(v8::Isolate* isolate, uint64_t encoded,
32 int width, int height); 30 int width, int height);
33 static gin::Handle<Shader> CreateShader(const gin::Arguments& arguments, 31
34 GLenum type); 32 static void BufferData(GLenum target, const gin::ArrayBufferView& buffer,
35 static void ShaderSource(gin::Handle<Shader> shader, 33 GLenum usage);
36 const std::string& source); 34 static void CompileShader(const gin::Arguments& args, GLuint shader);
37 static void CompileShader(const gin::Arguments& arguments, 35 static GLuint CreateBuffer();
38 gin::Handle<Shader> shader); 36 static void DrawElements(GLenum mode, GLsizei count, GLenum type,
37 uint64_t indices);
38 static GLint GetAttribLocation(GLuint program, const std::string& name);
39 static std::string GetProgramInfoLog(GLuint program);
40 static std::string GetShaderInfoLog(GLuint shader);
41 static GLint GetUniformLocation(GLuint program, const std::string& name);
42 static void ShaderSource(GLuint shader, const std::string& source);
43 static void UniformMatrix4fv(GLint location, GLboolean transpose,
44 const gin::ArrayBufferView& buffer);
45 static void VertexAttribPointer(GLuint index, GLint size, GLenum type,
46 GLboolean normalized, GLsizei stride,
47 uint64_t offset);
39 48
40 private: 49 private:
41 virtual gin::ObjectTemplateBuilder GetObjectTemplateBuilder( 50 virtual gin::ObjectTemplateBuilder GetObjectTemplateBuilder(
42 v8::Isolate* isolate) OVERRIDE; 51 v8::Isolate* isolate) OVERRIDE;
43 52
44 Context(uint64_t encoded, int width, int height); 53 Context(uint64_t encoded, int width, int height);
45 54
46 uint64_t encoded_; 55 uint64_t encoded_;
47 }; 56 };
48 57
49 } // namespace gl 58 } // namespace gl
50 } // namespace js 59 } // namespace js
51 } // namespace mojo 60 } // namespace mojo
52 61
53 #endif // MOJO_APPS_JS_BINDINGS_GL_CONTEXT_H_ 62 #endif // MOJO_APPS_JS_BINDINGS_GL_CONTEXT_H_
OLDNEW
« no previous file with comments | « mojo/apps/js/bindings/connector.js ('k') | mojo/apps/js/bindings/gl/context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698