Module: Shoes::Swt::Common::ImageHandling
- Included in:
- ImagePattern
- Defined in:
- shoes-swt/lib/shoes/swt/common/image_handling.rb
Instance Method Summary collapse
- #cleanup_temporary_files ⇒ Object
-
#load_file_image_data(name) ⇒ Object
Why copy the file to a temporary location just to pass a different name to load? Because SWT doesn’t like us when we’re packaged!.
Instance Method Details
#cleanup_temporary_files ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'shoes-swt/lib/shoes/swt/common/image_handling.rb', line 21 def cleanup_temporary_files return unless cleanup_files.any? cleanup_files.each do |file| begin FileUtils.rm(file) rescue => e Shoes.logger.debug("Error during image temp file cleanup.\n#{e.class}: #{e.}") end end cleanup_files.clear end |
#load_file_image_data(name) ⇒ Object
Why copy the file to a temporary location just to pass a different name to load? Because SWT doesn’t like us when we’re packaged!
Apparently the warbler-style path names we end up with for relative image paths don’t cross nicely to SWT, so we need to resolve the paths in Ruby-land before handing it over.
13 14 15 16 17 18 19 |
# File 'shoes-swt/lib/shoes/swt/common/image_handling.rb', line 13 def load_file_image_data(name) tmpname = File.join(Dir.tmpdir, "__shoes4_#{Time.now.to_i}_#{File.basename(name)}") FileUtils.cp(name, tmpname) cleanup_files << tmpname tmpname end |