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

Side by Side Diff: Source/core/html/canvas/WebGLRenderingContextBase.h

Issue 795833004: Use dictionaries for context creation attributes. Eliminate custom bindings. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased. Created 6 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 15 matching lines...) Expand all
26 #ifndef WebGLRenderingContextBase_h 26 #ifndef WebGLRenderingContextBase_h
27 #define WebGLRenderingContextBase_h 27 #define WebGLRenderingContextBase_h
28 28
29 #include "bindings/core/v8/Nullable.h" 29 #include "bindings/core/v8/Nullable.h"
30 #include "bindings/core/v8/ScriptState.h" 30 #include "bindings/core/v8/ScriptState.h"
31 #include "bindings/core/v8/ScriptValue.h" 31 #include "bindings/core/v8/ScriptValue.h"
32 #include "bindings/core/v8/ScriptWrappable.h" 32 #include "bindings/core/v8/ScriptWrappable.h"
33 #include "core/dom/ActiveDOMObject.h" 33 #include "core/dom/ActiveDOMObject.h"
34 #include "core/dom/DOMTypedArray.h" 34 #include "core/dom/DOMTypedArray.h"
35 #include "core/html/canvas/CanvasRenderingContext.h" 35 #include "core/html/canvas/CanvasRenderingContext.h"
36 #include "core/html/canvas/WebGLContextAttributes.h"
36 #include "core/html/canvas/WebGLExtensionName.h" 37 #include "core/html/canvas/WebGLExtensionName.h"
37 #include "core/html/canvas/WebGLVertexArrayObjectOES.h" 38 #include "core/html/canvas/WebGLVertexArrayObjectOES.h"
38 #include "core/page/Page.h" 39 #include "core/page/Page.h"
39 #include "core/rendering/RenderBoxModelObject.h" 40 #include "core/rendering/RenderBoxModelObject.h"
40 #include "platform/Timer.h" 41 #include "platform/Timer.h"
41 #include "platform/graphics/GraphicsTypes3D.h" 42 #include "platform/graphics/GraphicsTypes3D.h"
42 #include "platform/graphics/ImageBuffer.h" 43 #include "platform/graphics/ImageBuffer.h"
43 #include "platform/graphics/gpu/DrawingBuffer.h" 44 #include "platform/graphics/gpu/DrawingBuffer.h"
44 #include "platform/graphics/gpu/Extensions3DUtil.h" 45 #include "platform/graphics/gpu/Extensions3DUtil.h"
45 #include "platform/graphics/gpu/WebGLImageConversion.h" 46 #include "platform/graphics/gpu/WebGLImageConversion.h"
(...skipping 27 matching lines...) Expand all
73 class OESTextureFloatLinear; 74 class OESTextureFloatLinear;
74 class OESTextureHalfFloat; 75 class OESTextureHalfFloat;
75 class OESTextureHalfFloatLinear; 76 class OESTextureHalfFloatLinear;
76 class OESVertexArrayObject; 77 class OESVertexArrayObject;
77 class WebGLActiveInfo; 78 class WebGLActiveInfo;
78 class WebGLBuffer; 79 class WebGLBuffer;
79 class WebGLCompressedTextureATC; 80 class WebGLCompressedTextureATC;
80 class WebGLCompressedTextureETC1; 81 class WebGLCompressedTextureETC1;
81 class WebGLCompressedTexturePVRTC; 82 class WebGLCompressedTexturePVRTC;
82 class WebGLCompressedTextureS3TC; 83 class WebGLCompressedTextureS3TC;
83 class WebGLContextAttributes;
84 class WebGLContextGroup; 84 class WebGLContextGroup;
85 class WebGLContextObject; 85 class WebGLContextObject;
86 class WebGLDebugRendererInfo; 86 class WebGLDebugRendererInfo;
87 class WebGLDebugShaders; 87 class WebGLDebugShaders;
88 class WebGLDepthTexture; 88 class WebGLDepthTexture;
89 class WebGLDrawBuffers; 89 class WebGLDrawBuffers;
90 class WebGLExtension; 90 class WebGLExtension;
91 class WebGLFramebuffer; 91 class WebGLFramebuffer;
92 class WebGLLoseContext; 92 class WebGLLoseContext;
93 class WebGLObject; 93 class WebGLObject;
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 void framebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget , WebGLTexture*, GLint level); 187 void framebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget , WebGLTexture*, GLint level);
188 void frontFace(GLenum mode); 188 void frontFace(GLenum mode);
189 void generateMipmap(GLenum target); 189 void generateMipmap(GLenum target);
190 190
191 PassRefPtrWillBeRawPtr<WebGLActiveInfo> getActiveAttrib(WebGLProgram*, GLuin t index); 191 PassRefPtrWillBeRawPtr<WebGLActiveInfo> getActiveAttrib(WebGLProgram*, GLuin t index);
192 PassRefPtrWillBeRawPtr<WebGLActiveInfo> getActiveUniform(WebGLProgram*, GLui nt index); 192 PassRefPtrWillBeRawPtr<WebGLActiveInfo> getActiveUniform(WebGLProgram*, GLui nt index);
193 bool getAttachedShaders(WebGLProgram*, WillBeHeapVector<RefPtrWillBeMember<W ebGLShader>>&); 193 bool getAttachedShaders(WebGLProgram*, WillBeHeapVector<RefPtrWillBeMember<W ebGLShader>>&);
194 Nullable<WillBeHeapVector<RefPtrWillBeMember<WebGLShader>>> getAttachedShade rs(WebGLProgram*); 194 Nullable<WillBeHeapVector<RefPtrWillBeMember<WebGLShader>>> getAttachedShade rs(WebGLProgram*);
195 GLint getAttribLocation(WebGLProgram*, const String& name); 195 GLint getAttribLocation(WebGLProgram*, const String& name);
196 ScriptValue getBufferParameter(ScriptState*, GLenum target, GLenum pname); 196 ScriptValue getBufferParameter(ScriptState*, GLenum target, GLenum pname);
197 PassRefPtrWillBeRawPtr<WebGLContextAttributes> getContextAttributes(); 197 void getContextAttributes(Nullable<WebGLContextAttributes>&);
198 GLenum getError(); 198 GLenum getError();
199 PassRefPtrWillBeRawPtr<WebGLExtension> getExtension(const String& name); 199 PassRefPtrWillBeRawPtr<WebGLExtension> getExtension(const String& name);
200 ScriptValue getFramebufferAttachmentParameter(ScriptState*, GLenum target, G Lenum attachment, GLenum pname); 200 ScriptValue getFramebufferAttachmentParameter(ScriptState*, GLenum target, G Lenum attachment, GLenum pname);
201 ScriptValue getParameter(ScriptState*, GLenum pname); 201 ScriptValue getParameter(ScriptState*, GLenum pname);
202 ScriptValue getProgramParameter(ScriptState*, WebGLProgram*, GLenum pname); 202 ScriptValue getProgramParameter(ScriptState*, WebGLProgram*, GLenum pname);
203 String getProgramInfoLog(WebGLProgram*); 203 String getProgramInfoLog(WebGLProgram*);
204 ScriptValue getRenderbufferParameter(ScriptState*, GLenum target, GLenum pna me); 204 ScriptValue getRenderbufferParameter(ScriptState*, GLenum target, GLenum pna me);
205 ScriptValue getShaderParameter(ScriptState*, WebGLShader*, GLenum pname); 205 ScriptValue getShaderParameter(ScriptState*, WebGLShader*, GLenum pname);
206 String getShaderInfoLog(WebGLShader*); 206 String getShaderInfoLog(WebGLShader*);
207 PassRefPtrWillBeRawPtr<WebGLShaderPrecisionFormat> getShaderPrecisionFormat( GLenum shaderType, GLenum precisionType); 207 PassRefPtrWillBeRawPtr<WebGLShaderPrecisionFormat> getShaderPrecisionFormat( GLenum shaderType, GLenum precisionType);
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 friend class OESVertexArrayObject; 392 friend class OESVertexArrayObject;
393 friend class WebGLDebugShaders; 393 friend class WebGLDebugShaders;
394 friend class WebGLCompressedTextureATC; 394 friend class WebGLCompressedTextureATC;
395 friend class WebGLCompressedTextureETC1; 395 friend class WebGLCompressedTextureETC1;
396 friend class WebGLCompressedTexturePVRTC; 396 friend class WebGLCompressedTexturePVRTC;
397 friend class WebGLCompressedTextureS3TC; 397 friend class WebGLCompressedTextureS3TC;
398 friend class WebGLRenderingContextErrorMessageCallback; 398 friend class WebGLRenderingContextErrorMessageCallback;
399 friend class WebGLVertexArrayObjectOES; 399 friend class WebGLVertexArrayObjectOES;
400 friend class ScopedTexture2DRestorer; 400 friend class ScopedTexture2DRestorer;
401 401
402 WebGLRenderingContextBase(HTMLCanvasElement*, PassOwnPtr<blink::WebGraphicsC ontext3D>, WebGLContextAttributes*); 402 WebGLRenderingContextBase(HTMLCanvasElement*, PassOwnPtr<blink::WebGraphicsC ontext3D>, const WebGLContextAttributes&);
403 PassRefPtr<DrawingBuffer> createDrawingBuffer(PassOwnPtr<blink::WebGraphicsC ontext3D>); 403 PassRefPtr<DrawingBuffer> createDrawingBuffer(PassOwnPtr<blink::WebGraphicsC ontext3D>);
404 void initializeNewContext(); 404 void initializeNewContext();
405 void setupFlags(); 405 void setupFlags();
406 406
407 #if ENABLE(OILPAN) 407 #if ENABLE(OILPAN)
408 PassRefPtr<WebGLSharedWebGraphicsContext3D> sharedWebGraphicsContext3D() con st; 408 PassRefPtr<WebGLSharedWebGraphicsContext3D> sharedWebGraphicsContext3D() con st;
409 #endif 409 #endif
410 410
411 // CanvasRenderingContext implementation. 411 // CanvasRenderingContext implementation.
412 virtual bool is3d() const override { return true; } 412 virtual bool is3d() const override { return true; }
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 GLint m_maxColorAttachments; 549 GLint m_maxColorAttachments;
550 GLenum m_backDrawBuffer; 550 GLenum m_backDrawBuffer;
551 bool m_drawBuffersWebGLRequirementsChecked; 551 bool m_drawBuffersWebGLRequirementsChecked;
552 bool m_drawBuffersSupported; 552 bool m_drawBuffersSupported;
553 553
554 GLint m_packAlignment; 554 GLint m_packAlignment;
555 GLint m_unpackAlignment; 555 GLint m_unpackAlignment;
556 bool m_unpackFlipY; 556 bool m_unpackFlipY;
557 bool m_unpackPremultiplyAlpha; 557 bool m_unpackPremultiplyAlpha;
558 GLenum m_unpackColorspaceConversion; 558 GLenum m_unpackColorspaceConversion;
559 RefPtrWillBeMember<WebGLContextAttributes> m_requestedAttributes; 559 WebGLContextAttributes m_requestedAttributes;
560 560
561 GLfloat m_clearColor[4]; 561 GLfloat m_clearColor[4];
562 bool m_scissorEnabled; 562 bool m_scissorEnabled;
563 GLfloat m_clearDepth; 563 GLfloat m_clearDepth;
564 GLint m_clearStencil; 564 GLint m_clearStencil;
565 GLboolean m_colorMask[4]; 565 GLboolean m_colorMask[4];
566 GLboolean m_depthMask; 566 GLboolean m_depthMask;
567 567
568 bool m_stencilEnabled; 568 bool m_stencilEnabled;
569 GLuint m_stencilMask, m_stencilMaskBack; 569 GLuint m_stencilMask, m_stencilMaskBack;
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
975 static IntSize oldestContextSize(); 975 static IntSize oldestContextSize();
976 }; 976 };
977 977
978 DEFINE_TYPE_CASTS(WebGLRenderingContextBase, CanvasRenderingContext, context, co ntext->is3d(), context.is3d()); 978 DEFINE_TYPE_CASTS(WebGLRenderingContextBase, CanvasRenderingContext, context, co ntext->is3d(), context.is3d());
979 979
980 } // namespace blink 980 } // namespace blink
981 981
982 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::WebGLRenderingContextB ase::TextureUnitState); 982 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::WebGLRenderingContextB ase::TextureUnitState);
983 983
984 #endif // WebGLRenderingContextBase_h 984 #endif // WebGLRenderingContextBase_h
OLDNEW
« no previous file with comments | « Source/core/html/canvas/WebGLRenderingContext.cpp ('k') | Source/core/html/canvas/WebGLRenderingContextBase.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698