aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglrenderbuffer.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/webglrenderbuffer.rs
parent2a2b88f42c55614f949f218b0444778e8e2bfc78 (diff)
downloadservo-c017438428acdb59d1b3127f0c3e249f2b2658b4.tar.gz
servo-c017438428acdb59d1b3127f0c3e249f2b2658b4.zip
Implement IsBuffer, IsFramebuffer and IsRenderbuffer for WebGLRenderingContext
Diffstat (limited to 'components/script/dom/webglrenderbuffer.rs')
-rw-r--r--components/script/dom/webglrenderbuffer.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/components/script/dom/webglrenderbuffer.rs b/components/script/dom/webglrenderbuffer.rs
index a63bd1c975a..dd4ef931661 100644
--- a/components/script/dom/webglrenderbuffer.rs
+++ b/components/script/dom/webglrenderbuffer.rs
@@ -17,6 +17,7 @@ use webrender_traits::WebGLCommand;
pub struct WebGLRenderbuffer {
webgl_object: WebGLObject,
id: u32,
+ ever_bound: Cell<bool>,
is_deleted: Cell<bool>,
#[ignore_heap_size_of = "Defined in ipc-channel"]
renderer: IpcSender<CanvasMsg>,
@@ -27,6 +28,7 @@ impl WebGLRenderbuffer {
WebGLRenderbuffer {
webgl_object: WebGLObject::new_inherited(),
id: id,
+ ever_bound: Cell::new(false),
is_deleted: Cell::new(false),
renderer: renderer,
}
@@ -54,6 +56,7 @@ impl WebGLRenderbuffer {
}
pub fn bind(&self, target: u32) {
+ self.ever_bound.set(true);
self.renderer.send(CanvasMsg::WebGL(WebGLCommand::BindRenderbuffer(target, self.id))).unwrap();
}
@@ -63,4 +66,12 @@ impl WebGLRenderbuffer {
let _ = self.renderer.send(CanvasMsg::WebGL(WebGLCommand::DeleteRenderbuffer(self.id)));
}
}
+
+ pub fn is_deleted(&self) -> bool {
+ self.is_deleted.get()
+ }
+
+ pub fn ever_bound(&self) -> bool {
+ self.ever_bound.get()
+ }
}