using Avalonia.Controls;
using Microsoft.Maui.ApplicationModel;
using Microsoft.Maui.Storage;
using InABox.Avalonia.Platform;

namespace InABox.Avalonia
{
    public class MobileDocumentCameraSource : MobileImageSource<MobileDocumentCameraSource, MobileDocumentCameraOptions>
    {
        public MobileDocumentCameraSource(MobileDocumentCameraOptions options) : base(options)
        {
        }
        
        protected override async Task<bool> IsEnabled() 
            => await IsEnabled<Permissions.Camera>();
        
        protected override async Task<ImageFile> Capture(TopLevel window) 
            => await PlatformTools.ImageTools.CapturePhotoAsync(window, Options.Compression, Options.Constraints);


    }
}