using System;
using System.Linq;
using System.Threading.Tasks;
using ElectronNET.API;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using System.IO;
using Timelapse.Api;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Components;

namespace Timelapse.Data
{
    public class CallbackWrapper : Callbacks
    {
        [Inject]
        public ExtensionProjectService ExtensionProject {get;set;}
        public override void DisableOneX()
        {
            ExtensionProject.DisableOneX();
        }
        public override string GetProjectDirectoryLocation()
        {
            return ExtensionProject.ProjectDirectory;
        }
        public override void EnableOneX()
        {
            ExtensionProject.EnableOneX();
        }

        public override TimelapseProject GetProject()
        {
            return ExtensionProject.Project;
        }

        public override void OpenProject(string path)
        {
            ExtensionProject.LoadProject(path);
        }

        public override bool ProjectLoaded()
        {
           return ExtensionProject.IsProjectLoaded;
        }

        public override void StartRecording()
        {
            ExtensionProject.StartRecording();
        }

        public override void StopRecording()
        {
            ExtensionProject.StopRecording();
        }
    }
}