Sha256: cb345d66bc2a4cebf77f86e9839ebed653a4e099d4973d83914c33ebd4e9b848

Contents?: true

Size: 757 Bytes

Versions: 10

Compression:

Stored size: 757 Bytes

Contents

require File.dirname(__FILE__) + '/scaler'

# This middleware reformats (scales) the track setup to a specific pixel resolution. Very useful for
# applying proxy tracks to full-res images
class Tracksperanto::Middleware::Reformat < Tracksperanto::Middleware::Scaler
  
  # To which format we have to scale
  attr_accessor :width, :height
  cast_to_int :width, :height
  
  private :x_factor=, :y_factor=
  
  # Called on export start
  def start_export( img_width, img_height)
    @width ||= img_width
    @height ||= img_height
    
    self.x_factor, self.y_factor = (@width / img_width.to_f), (@height / img_height.to_f)  
    set_residual_factor
    # Do not call super since it scales by itself :-)
    @exporter.start_export(@width, @height)
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
tracksperanto-1.5.0 lib/middleware/reformat.rb
tracksperanto-1.4.0 lib/middleware/reformat.rb
tracksperanto-1.2.6 lib/middleware/reformat.rb
tracksperanto-1.3.1 lib/middleware/reformat.rb
tracksperanto-1.3.0 lib/middleware/reformat.rb
tracksperanto-1.2.4 lib/middleware/reformat.rb
tracksperanto-1.2.3 lib/middleware/reformat.rb
tracksperanto-1.2.2 lib/middleware/reformat.rb
tracksperanto-1.2.1 lib/middleware/reformat.rb
tracksperanto-1.2.0 lib/middleware/reformat.rb