mirror of
https://github.com/servo/servo.git
synced 2025-06-21 07:38:59 +01:00
webgl: Add an interface for getting the size of renderbuffers.
We need this for framebuffer status checking.
This commit is contained in:
parent
f7875dad1a
commit
08938499a0
1 changed files with 8 additions and 0 deletions
|
@ -20,6 +20,7 @@ pub struct WebGLRenderbuffer {
|
||||||
id: WebGLRenderbufferId,
|
id: WebGLRenderbufferId,
|
||||||
ever_bound: Cell<bool>,
|
ever_bound: Cell<bool>,
|
||||||
is_deleted: Cell<bool>,
|
is_deleted: Cell<bool>,
|
||||||
|
size: Cell<Option<(i32, i32)>>,
|
||||||
internal_format: Cell<Option<u32>>,
|
internal_format: Cell<Option<u32>>,
|
||||||
#[ignore_heap_size_of = "Defined in ipc-channel"]
|
#[ignore_heap_size_of = "Defined in ipc-channel"]
|
||||||
renderer: IpcSender<CanvasMsg>,
|
renderer: IpcSender<CanvasMsg>,
|
||||||
|
@ -36,6 +37,7 @@ impl WebGLRenderbuffer {
|
||||||
is_deleted: Cell::new(false),
|
is_deleted: Cell::new(false),
|
||||||
renderer: renderer,
|
renderer: renderer,
|
||||||
internal_format: Cell::new(None),
|
internal_format: Cell::new(None),
|
||||||
|
size: Cell::new(None),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,6 +66,10 @@ impl WebGLRenderbuffer {
|
||||||
self.id
|
self.id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn size(&self) -> Option<(i32, i32)> {
|
||||||
|
self.size.get()
|
||||||
|
}
|
||||||
|
|
||||||
pub fn bind(&self, target: u32) {
|
pub fn bind(&self, target: u32) {
|
||||||
self.ever_bound.set(true);
|
self.ever_bound.set(true);
|
||||||
let msg = CanvasMsg::WebGL(WebGLCommand::BindRenderbuffer(target, Some(self.id)));
|
let msg = CanvasMsg::WebGL(WebGLCommand::BindRenderbuffer(target, Some(self.id)));
|
||||||
|
@ -106,6 +112,8 @@ impl WebGLRenderbuffer {
|
||||||
internal_format, width, height));
|
internal_format, width, height));
|
||||||
self.renderer.send(msg).unwrap();
|
self.renderer.send(msg).unwrap();
|
||||||
|
|
||||||
|
self.size.set(Some((width, height)));
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue