webgl: Make bind* calls more spec-compliant

This commit is contained in:
ecoal95 2015-06-15 00:22:15 +02:00
parent b1765c6882
commit 42bd43a696
8 changed files with 72 additions and 37 deletions

View file

@ -37,6 +37,14 @@ pub enum CanvasMsg {
WebGL(CanvasWebGLMsg),
}
#[derive(Clone)]
pub enum CanvasCommonMsg {
Close,
Recreate(Size2D<i32>),
SendPixelContents(Sender<Vec<u8>>),
SendNativeSurface(Sender<NativeSurface>),
}
#[derive(Clone)]
pub enum Canvas2dMsg {
Arc(Point2D<f32>, f32, f32, f32, bool),
@ -102,7 +110,7 @@ pub enum CanvasWebGLMsg {
DeleteProgram(u32),
DeleteShader(u32),
BindBuffer(u32, u32),
BindFramebuffer(u32, u32),
BindFramebuffer(u32, WebGLFramebufferBindingRequest),
BindRenderbuffer(u32, u32),
BindTexture(u32, u32),
DrawArrays(u32, i32, i32),
@ -132,6 +140,12 @@ pub enum WebGLError {
pub type WebGLResult<T> = Result<T, WebGLError>;
#[derive(Clone)]
pub enum WebGLFramebufferBindingRequest {
Explicit(u32),
Default,
}
#[derive(Clone)]
pub enum WebGLShaderParameter {
Int(i32),
@ -139,15 +153,6 @@ pub enum WebGLShaderParameter {
Invalid,
}
#[derive(Clone)]
pub enum CanvasCommonMsg {
Close,
Recreate(Size2D<i32>),
SendPixelContents(Sender<Vec<u8>>),
SendNativeSurface(Sender<NativeSurface>),
}
#[derive(Clone)]
pub struct CanvasGradientStop {
pub offset: f64,