mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
all: change optional to result of io (#16075)
This commit is contained in:
@ -39,34 +39,34 @@ mut:
|
||||
cache_size int
|
||||
}
|
||||
|
||||
pub fn ppm_writer_for_fname(fname string, settings ImageSettings) ?&PPMWriter {
|
||||
pub fn ppm_writer_for_fname(fname string, settings ImageSettings) !&PPMWriter {
|
||||
mut writer := &PPMWriter{
|
||||
cache_size: settings.cache_size
|
||||
cache: []u8{cap: settings.cache_size}
|
||||
}
|
||||
writer.start_for_file(fname, settings)?
|
||||
writer.start_for_file(fname, settings)!
|
||||
return writer
|
||||
}
|
||||
|
||||
pub fn (mut writer PPMWriter) start_for_file(fname string, settings ImageSettings) ? {
|
||||
writer.file = os.create(fname)?
|
||||
writer.file.writeln('P6 $settings.width $settings.height 255')?
|
||||
pub fn (mut writer PPMWriter) start_for_file(fname string, settings ImageSettings) ! {
|
||||
writer.file = os.create(fname)!
|
||||
writer.file.writeln('P6 $settings.width $settings.height 255')!
|
||||
}
|
||||
|
||||
pub fn (mut writer PPMWriter) handle_pixel(p gx.Color) ? {
|
||||
pub fn (mut writer PPMWriter) handle_pixel(p gx.Color) ! {
|
||||
if writer.cache.len >= writer.cache_size {
|
||||
writer.write()?
|
||||
writer.flush()?
|
||||
writer.write()!
|
||||
writer.flush()!
|
||||
}
|
||||
writer.cache << [p.r, p.g, p.b]
|
||||
}
|
||||
|
||||
pub fn (mut writer PPMWriter) flush() ? {
|
||||
pub fn (mut writer PPMWriter) flush() ! {
|
||||
writer.cache.clear()
|
||||
}
|
||||
|
||||
pub fn (mut writer PPMWriter) write() ? {
|
||||
writer.file.write(writer.cache)?
|
||||
pub fn (mut writer PPMWriter) write() ! {
|
||||
writer.file.write(writer.cache)!
|
||||
}
|
||||
|
||||
pub fn (mut writer PPMWriter) close() {
|
||||
|
@ -29,7 +29,7 @@ pub fn new_image_writer(mut writer PPMWriter, settings ImageSettings) &ImageWrit
|
||||
}
|
||||
}
|
||||
|
||||
pub fn (mut iw ImageWritter) handle(result sim.SimResult) ?int {
|
||||
pub fn (mut iw ImageWritter) handle(result sim.SimResult) !int {
|
||||
total_pixels := iw.settings.width * iw.settings.height
|
||||
|
||||
// find the closest magnet
|
||||
@ -46,7 +46,7 @@ pub fn (mut iw ImageWritter) handle(result sim.SimResult) ?int {
|
||||
|
||||
if iw.current_index == total_pixels {
|
||||
iw.writer.write() or { panic('Could not write image') }
|
||||
return none
|
||||
return error('none')
|
||||
}
|
||||
|
||||
return iw.current_index
|
||||
|
Reference in New Issue
Block a user