aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglrenderingcontext.rs
diff options
context:
space:
mode:
authorDaniel <ddefisher@gmail.com>2016-05-25 14:57:34 -0400
committerDaniel <ddefisher@gmail.com>2016-05-29 17:08:10 -0400
commitc017438428acdb59d1b3127f0c3e249f2b2658b4 (patch)
treed48c30e2b9ce9e309d797cd2f3edc66091c9f2fd /components/script/dom/webglrenderingcontext.rs
parent2a2b88f42c55614f949f218b0444778e8e2bfc78 (diff)
downloadservo-c017438428acdb59d1b3127f0c3e249f2b2658b4.tar.gz
servo-c017438428acdb59d1b3127f0c3e249f2b2658b4.zip
Implement IsBuffer, IsFramebuffer and IsRenderbuffer for WebGLRenderingContext
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r--components/script/dom/webglrenderingcontext.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs
index 3e57bae5a6e..e4565f2d82a 100644
--- a/components/script/dom/webglrenderingcontext.rs
+++ b/components/script/dom/webglrenderingcontext.rs
@@ -1327,6 +1327,21 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
.unwrap()
}
+ // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.5
+ fn IsBuffer(&self, buffer: Option<&WebGLBuffer>) -> bool {
+ buffer.map_or(false, |buf| buf.target().is_some() && !buf.is_deleted())
+ }
+
+ // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.6
+ fn IsFramebuffer(&self, frame_buffer: Option<&WebGLFramebuffer>) -> bool {
+ frame_buffer.map_or(false, |buf| buf.target().is_some() && !buf.is_deleted())
+ }
+
+ // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.7
+ fn IsRenderbuffer(&self, render_buffer: Option<&WebGLRenderbuffer>) -> bool {
+ render_buffer.map_or(false, |buf| buf.ever_bound() && !buf.is_deleted())
+ }
+
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9
fn IsShader(&self, shader: Option<&WebGLShader>) -> bool {
shader.map_or(false, |s| !s.is_deleted() || s.is_attached())