@@ -86,24 +86,24 @@ impl<'self> Shader<'self> {
86
86
* Load both the vertex and fragment shaders from files
87
87
*
88
88
* This function can load both the vertex and the fragment
89
- * shaders, or only one of them: pass NULL if you don't want to load
89
+ * shaders, or only one of them: pass None if you don't want to load
90
90
* either the vertex shader or the fragment shader.
91
91
* The sources must be text files containing valid shaders
92
92
* in GLSL language. GLSL is a C-like language dedicated to
93
93
* OpenGL shaders; you'll probably need to read a good documentation
94
94
* for it before writing your own shaders.
95
95
*
96
96
* # Arguments
97
- * * vertexShaderFilename - Path of the vertex shader file to load, or NULL to skip this shader
98
- * * fragmentShaderFilename - Path of the fragment shader file to load, or NULL to skip this shader
97
+ * * vertexShaderFilename - Some( Path) of the vertex shader file to load, or None to skip this shader
98
+ * * fragmentShaderFilename - Some( Path) of the fragment shader file to load, or None to skip this shader
99
99
*
100
100
* Return a new Shader object
101
101
*/
102
102
#[ fixed_stack_segment] #[ inline( never) ]
103
- pub fn new_from_file ( vertex_shader_filename : ~str , fragment_shader_filename : ~str ) -> Option < Shader < ' self > > {
103
+ pub fn new_from_file ( vertex_shader_filename : Option < ~str > , fragment_shader_filename : Option < ~str > ) -> Option < Shader < ' self > > {
104
104
let shader = unsafe {
105
- let c_vertex_shader_filename = vertex_shader_filename. to_c_str ( ) . unwrap ( ) ;
106
- let c_fragment_shader_filename = fragment_shader_filename. to_c_str ( ) . unwrap ( ) ;
105
+ let c_vertex_shader_filename = if vertex_shader_filename. is_none ( ) { ptr :: null ( ) } else { vertex_shader_filename . unwrap ( ) . to_c_str ( ) . unwrap ( ) } ;
106
+ let c_fragment_shader_filename = if fragment_shader_filename. is_none ( ) { ptr :: null ( ) } else { fragment_shader_filename . unwrap ( ) . to_c_str ( ) . unwrap ( ) } ;
107
107
ffi:: sfShader_createFromFile ( c_vertex_shader_filename, c_fragment_shader_filename)
108
108
} ;
109
109
if ptr:: is_null ( shader) {
@@ -129,16 +129,16 @@ impl<'self> Shader<'self> {
129
129
* writing your own shaders.
130
130
*
131
131
* # Arguments
132
- * * vertexShader - String containing the source code of the vertex shader, or NULL to skip this shader
133
- * * fragmentShader - String containing the source code of the fragment shader, or NULL to skip this shader
132
+ * * vertexShader - Some( String) containing the source code of the vertex shader, or None to skip this shader
133
+ * * fragmentShader - Some( String) containing the source code of the fragment shader, or None to skip this shader
134
134
*
135
135
* Return a new Shader object
136
136
*/
137
137
#[ fixed_stack_segment] #[ inline( never) ]
138
- pub fn new_from_memory ( vertex_shader : ~str , fragment_shader : ~str ) -> Option < Shader < ' self > > {
138
+ pub fn new_from_memory ( vertex_shader : Option < ~str > , fragment_shader : Option < ~str > ) -> Option < Shader < ' self > > {
139
139
let shader = unsafe {
140
- let c_vertex_shader = vertex_shader. to_c_str ( ) . unwrap ( ) ;
141
- let c_fragment_shader = fragment_shader. to_c_str ( ) . unwrap ( ) ;
140
+ let c_vertex_shader = if vertex_shader. is_none ( ) { ptr :: null ( ) } else { vertex_shader . unwrap ( ) . to_c_str ( ) . unwrap ( ) } ;
141
+ let c_fragment_shader = if fragment_shader. is_none ( ) { ptr :: null ( ) } else { fragment_shader . unwrap ( ) . to_c_str ( ) . unwrap ( ) } ;
142
142
ffi:: sfShader_createFromFile ( c_vertex_shader, c_fragment_shader)
143
143
} ;
144
144
if ptr:: is_null ( shader) {
0 commit comments