Class: MotionImager

Inherits:
Object
  • Object
show all
Defined in:
lib/motion-imager/motion-imager.rb

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ MotionImager

Returns a new instance of MotionImager.



3
4
5
# File 'lib/motion-imager/motion-imager.rb', line 3

def initialize(args={})
  @args = args
end

Instance Method Details

#backgroundsObject



59
60
61
62
63
64
65
66
# File 'lib/motion-imager/motion-imager.rb', line 59

def backgrounds
  {
    none: JTSImageViewControllerBackgroundOption_None,
    scaled: JTSImageViewControllerBackgroundOption_Scaled,
    blurred: JTSImageViewControllerBackgroundOption_Blurred,
    scaled_blurred: JTSImageViewControllerBackgroundOption_Scaled | JTSImageViewControllerBackgroundOption_Blurred
  }
end

#controllerObject



19
20
21
22
23
24
# File 'lib/motion-imager/motion-imager.rb', line 19

def controller
  @jts_controller ||= JTSImageViewController.alloc.initWithImageInfo(image_info,
               mode: modes[@args[:mode]] || JTSImageViewControllerMode_Image,
    backgroundStyle: backgrounds[@args[:background]] || JTSImageViewControllerBackgroundOption_Scaled
  )
end

#hide(animated = true) ⇒ Object Also known as: dismiss



14
15
16
# File 'lib/motion-imager/motion-imager.rb', line 14

def hide(animated = true)
  @c.dismiss(animated) if @c
end

#image_infoObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/motion-imager/motion-imager.rb', line 26

def image_info
  JTSImageInfo.new.tap do |i|
    if @args[:image]
      @args[:image] = UIImage.imageNamed(@args[:image]) if @args[:image].is_a?(String)
      i.image = @args[:image]
    elsif @args[:url]
      @args[:url] = NSURL.URLWithString(@args[:url]) if @args[:url].is_a?(String)
      if @args[:placeholder]
        @args[:placeholder] = UIImage.imageNamed(@args[:placeholder]) if @args[:placeholder].is_a?(String)
        i.placeholderImage = @args[:placeholder]
      end
      i.imageURL = @args[:url]
    end
    i.altText = @args[:text] if @args[:text]
    i.referenceRect = @args[:rect] if @args[:rect]
    i.referenceView = @args[:view] if @args[:view]
  end
end

#modesObject



52
53
54
55
56
57
# File 'lib/motion-imager/motion-imager.rb', line 52

def modes
  {
    image: JTSImageViewControllerMode_Image,
    alt_text: JTSImageViewControllerMode_AltText
  }
end

#showObject



7
8
9
10
11
12
# File 'lib/motion-imager/motion-imager.rb', line 7

def show
  @c = controller
  @c.showFromViewController(@args[:presenting_from],
    transition: transitions[@args[:transition]] || JTSImageViewControllerTransition_FromOriginalPosition
  )
end

#transitionsObject



45
46
47
48
49
50
# File 'lib/motion-imager/motion-imager.rb', line 45

def transitions
  {
    original: JTSImageViewControllerTransition_FromOriginalPosition,
    off_screen: JTSImageViewControllerTransition_FromOffscreen
  }
end