aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webglbuffer.rs
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2016-06-28 15:18:53 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2016-06-28 20:11:55 +0200
commit89a0b55c61e719aeeb26609b66f0925d684341ce (patch)
tree277deee3de8423672048660391a1c9675c36cb33 /components/script/dom/webglbuffer.rs
parent810735a846c65b2a6a2dd2ef6b7e476931ff55a1 (diff)
downloadservo-89a0b55c61e719aeeb26609b66f0925d684341ce.tar.gz
servo-89a0b55c61e719aeeb26609b66f0925d684341ce.zip
Use wrappers for GL IDs
See https://github.com/servo/webrender_traits/pull/62.
Diffstat (limited to 'components/script/dom/webglbuffer.rs')
-rw-r--r--components/script/dom/webglbuffer.rs23
1 files changed, 15 insertions, 8 deletions
diff --git a/components/script/dom/webglbuffer.rs b/components/script/dom/webglbuffer.rs
index 66b287e347f..3899d417b38 100644
--- a/components/script/dom/webglbuffer.rs
+++ b/components/script/dom/webglbuffer.rs
@@ -11,12 +11,12 @@ use dom::bindings::reflector::reflect_dom_object;
use dom::webglobject::WebGLObject;
use ipc_channel::ipc::{self, IpcSender};
use std::cell::Cell;
-use webrender_traits::{WebGLCommand, WebGLError, WebGLResult};
+use webrender_traits::{WebGLBufferId, WebGLCommand, WebGLError, WebGLResult};
#[dom_struct]
pub struct WebGLBuffer {
webgl_object: WebGLObject,
- id: u32,
+ id: WebGLBufferId,
/// The target to which this buffer was bound the first time
target: Cell<Option<u32>>,
capacity: Cell<usize>,
@@ -26,7 +26,9 @@ pub struct WebGLBuffer {
}
impl WebGLBuffer {
- fn new_inherited(renderer: IpcSender<CanvasMsg>, id: u32) -> WebGLBuffer {
+ fn new_inherited(renderer: IpcSender<CanvasMsg>,
+ id: WebGLBufferId)
+ -> WebGLBuffer {
WebGLBuffer {
webgl_object: WebGLObject::new_inherited(),
id: id,
@@ -43,17 +45,21 @@ impl WebGLBuffer {
renderer.send(CanvasMsg::WebGL(WebGLCommand::CreateBuffer(sender))).unwrap();
let result = receiver.recv().unwrap();
- result.map(|buffer_id| WebGLBuffer::new(global, renderer, *buffer_id))
+ result.map(|buffer_id| WebGLBuffer::new(global, renderer, buffer_id))
}
- pub fn new(global: GlobalRef, renderer: IpcSender<CanvasMsg>, id: u32) -> Root<WebGLBuffer> {
- reflect_dom_object(box WebGLBuffer::new_inherited(renderer, id), global, WebGLBufferBinding::Wrap)
+ pub fn new(global: GlobalRef,
+ renderer: IpcSender<CanvasMsg>,
+ id: WebGLBufferId)
+ -> Root<WebGLBuffer> {
+ reflect_dom_object(box WebGLBuffer::new_inherited(renderer, id),
+ global, WebGLBufferBinding::Wrap)
}
}
impl WebGLBuffer {
- pub fn id(&self) -> u32 {
+ pub fn id(&self) -> WebGLBufferId {
self.id
}
@@ -66,7 +72,8 @@ impl WebGLBuffer {
} else {
self.target.set(Some(target));
}
- self.renderer.send(CanvasMsg::WebGL(WebGLCommand::BindBuffer(target, self.id))).unwrap();
+ let msg = CanvasMsg::WebGL(WebGLCommand::BindBuffer(target, Some(self.id)));
+ self.renderer.send(msg).unwrap();
Ok(())
}