Method: MotionPrime::ImageDrawElement#load_image

Defined in:
motion-prime/elements/draw/image.rb

#load_imageObject



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'motion-prime/elements/draw/image.rb', line 76

def load_image
  return if @loading || image_data || !computed_options[:url]
  @loading = true

  ref_key = allocate_strong_references
  BW::Reactor.schedule do
    manager = SDWebImageManager.sharedManager
    manager.downloadWithURL(computed_options[:url],
      options: 0,
      progress: lambda{ |r_size, e_size|  },
      completed: lambda{ |image, error, type, finished|
        if !image || allocated_references_released?
          @loading = false
          release_strong_references(ref_key)
          return
        end

        self.image_data = image

        section.cached_draw_image = nil
        if section.respond_to?(:cell_section_name)
          section.pending_display!
        else
          self.view.performSelectorOnMainThread :setNeedsDisplay, withObject: nil, waitUntilDone: false
        end
        @loading = false
        release_strong_references(ref_key)
      }
    )
  end
end