summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.MacOS/ImageSourceHandlers.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.MacOS/ImageSourceHandlers.cs')
-rw-r--r--Xamarin.Forms.Platform.MacOS/ImageSourceHandlers.cs64
1 files changed, 0 insertions, 64 deletions
diff --git a/Xamarin.Forms.Platform.MacOS/ImageSourceHandlers.cs b/Xamarin.Forms.Platform.MacOS/ImageSourceHandlers.cs
deleted file mode 100644
index 7a73ace4..00000000
--- a/Xamarin.Forms.Platform.MacOS/ImageSourceHandlers.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-using System.IO;
-using System.Threading;
-using System.Threading.Tasks;
-using AppKit;
-
-namespace Xamarin.Forms.Platform.MacOS
-{
- public interface IImageSourceHandler : IRegisterable
- {
- Task<NSImage> LoadImageAsync(ImageSource imagesource, CancellationToken cancelationToken = default(CancellationToken),
- float scale = 1);
- }
-
- public sealed class FileImageSourceHandler : IImageSourceHandler
- {
- public Task<NSImage> LoadImageAsync(ImageSource imagesource,
- CancellationToken cancelationToken = default(CancellationToken), float scale = 1f)
- {
- NSImage image = null;
- var filesource = imagesource as FileImageSource;
- var file = filesource?.File;
- if (!string.IsNullOrEmpty(file))
- image = File.Exists(file) ? new NSImage(file) : null;
- return Task.FromResult(image);
- }
- }
-
- public sealed class StreamImagesourceHandler : IImageSourceHandler
- {
- public async Task<NSImage> LoadImageAsync(ImageSource imagesource,
- CancellationToken cancelationToken = default(CancellationToken), float scale = 1f)
- {
- NSImage image = null;
- var streamsource = imagesource as StreamImageSource;
- if (streamsource?.Stream == null) return null;
- using (
- var streamImage = await ((IStreamImageSource)streamsource).GetStreamAsync(cancelationToken).ConfigureAwait(false))
- {
- if (streamImage != null)
- image = NSImage.FromStream(streamImage);
- }
- return image;
- }
- }
-
- public sealed class ImageLoaderSourceHandler : IImageSourceHandler
- {
- public async Task<NSImage> LoadImageAsync(ImageSource imagesource,
- CancellationToken cancelationToken = default(CancellationToken), float scale = 1f)
- {
- NSImage image = null;
- var imageLoader = imagesource as UriImageSource;
- if (imageLoader != null && imageLoader.Uri != null)
- {
- using (var streamImage = await imageLoader.GetStreamAsync(cancelationToken).ConfigureAwait(false))
- {
- if (streamImage != null)
- image = NSImage.FromStream(streamImage);
- }
- }
- return image;
- }
- }
-} \ No newline at end of file