diff options
author | David Zbarsky <dzbarsky@gmail.com> | 2016-04-02 20:35:04 -0700 |
---|---|---|
committer | David Zbarsky <dzbarsky@gmail.com> | 2016-04-11 23:12:04 -0700 |
commit | 34644401c66b3ea9d8a45491486f4735ebc9c5d8 (patch) | |
tree | 233da802c0bab9dd084df76bd5cac267cb48785d /components/script/dom/webglprogram.rs | |
parent | 150338503dce8f2ba7f2a6850dca253733a636a1 (diff) | |
download | servo-34644401c66b3ea9d8a45491486f4735ebc9c5d8.tar.gz servo-34644401c66b3ea9d8a45491486f4735ebc9c5d8.zip |
Implement GetActiveAttrib
Diffstat (limited to 'components/script/dom/webglprogram.rs')
-rw-r--r-- | components/script/dom/webglprogram.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/components/script/dom/webglprogram.rs b/components/script/dom/webglprogram.rs index 996e6eb4cee..d288e9422c4 100644 --- a/components/script/dom/webglprogram.rs +++ b/components/script/dom/webglprogram.rs @@ -167,6 +167,17 @@ impl WebGLProgram { WebGLActiveInfo::new(self.global().r(), size, ty, DOMString::from(name))) } + /// glGetActiveAttrib + pub fn get_active_attrib(&self, index: u32) -> WebGLResult<Root<WebGLActiveInfo>> { + let (sender, receiver) = ipc::channel().unwrap(); + self.renderer + .send(CanvasMsg::WebGL(WebGLCommand::GetActiveAttrib(self.id, index, sender))) + .unwrap(); + + receiver.recv().unwrap().map(|(size, ty, name)| + WebGLActiveInfo::new(self.global().r(), size, ty, DOMString::from(name))) + } + /// glGetAttribLocation pub fn get_attrib_location(&self, name: DOMString) -> WebGLResult<Option<i32>> { if name.len() > MAX_UNIFORM_AND_ATTRIBUTE_LEN { |