// Copyright 2019-2022 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT import { invoke } from '@tauri-apps/api/tauri' export enum Source { Prompt = 'PROMPT', Camera = 'CAMERA', Photos = 'PHOTOS' } export enum ResultType { Uri = 'uri', Base64 = 'base64', DataUrl = 'dataUrl' } export enum CameraDirection { Rear = 'REAR', Front = 'FRONT' } export interface ImageOptions { quality?: number allowEditing?: boolean resultType?: ResultType saveToGallery?: boolean width?: number height?: number correctOrientation?: boolean source?: Source direction?: CameraDirection presentationStyle?: 'fullscreen' | 'popover' promptLabelHeader?: string promptLabelCancel?: string promptLabelPhoto?: string promptLabelPicture?: string } export interface Image { data: string assetUrl?: string format: string saved: boolean exif: unknown } export async function getPhoto(options?: ImageOptions): Promise { return await invoke('plugin:camera|getPhoto', { ...options }) }