(image Image)
| 108 | } |
| 109 | |
| 110 | func (iv *ImageView) SetImage(image Image) error { |
| 111 | if image == iv.image { |
| 112 | return nil |
| 113 | } |
| 114 | |
| 115 | var oldSize, newSize Size // in 1/96" units |
| 116 | if iv.image != nil { |
| 117 | oldSize = iv.image.Size() |
| 118 | } |
| 119 | if image != nil { |
| 120 | newSize = image.Size() |
| 121 | } |
| 122 | |
| 123 | iv.image = image |
| 124 | |
| 125 | _, isMetafile := image.(*Metafile) |
| 126 | iv.SetClearsBackground(isMetafile) |
| 127 | |
| 128 | err := iv.Invalidate() |
| 129 | |
| 130 | if iv.mode == ImageViewModeIdeal && newSize != oldSize { |
| 131 | iv.RequestLayout() |
| 132 | } |
| 133 | |
| 134 | iv.imageChangedPublisher.Publish() |
| 135 | |
| 136 | return err |
| 137 | } |
| 138 | |
| 139 | func (iv *ImageView) ImageChanged() *Event { |
| 140 | return iv.imageChangedPublisher.Event() |
no test coverage detected