AsShader AsShaderProgram::RemoveShader(GLenum pType, GLuint pIndex) { switch (pType) { case GL_VERTEX_SHADER: return mVertex.RemoveItem(pIndex); break; case GL_TESS_CONTROL_SHADER: return mTessCtrl.RemoveItem(pIndex); break; case GL_TESS_EVALUATION_SHADER: return mTessEval.RemoveItem(pIndex); break; case GL_GEOMETRY_SHADER: return mGeometry.RemoveItem(pIndex); break; case GL_FRAGMENT_SHADER: return mFragment.RemoveItem(pIndex); break; default: return AsShader(); } }
void sk_shader_unref(sk_shader_t* cshader) { SkSafeUnref(AsShader(cshader)); }
void sk_shader_ref(sk_shader_t* cshader) { SkSafeRef(AsShader(cshader)); }
void sk_paint_set_shader(sk_paint_t* cpaint, sk_shader_t* cshader) { AsPaint(cpaint)->setShader(sk_ref_sp(AsShader(cshader))); }