using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using GriauleFingerprintLibrary;

namespace Embarque
{
    public partial class Form2 : Form
    {
        GriauleFingerprintLibrary.FingerprintCore core = new GriauleFingerprintLibrary.FingerprintCore();
      

        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            core.onStatus += new GriauleFingerprintLibrary.StatusEventHandler(core_onStatus);
            core.onImage += new GriauleFingerprintLibrary.ImageEventHandler(core_onImage);
            core.Initialize();
            core.CaptureInitialize();
        }

        void core_onStatus(object source, GriauleFingerprintLibrary.Events.StatusEventArgs se)
        {
        if (se.StatusEventType == GriauleFingerprintLibrary.Events.StatusEventType.SENSOR_PLUG)
        {
        core.StartCapture(source);
        }
        }

        void core_onImage(object source, GriauleFingerprintLibrary.Events.ImageEventArgs ie)
        {
            buttonOK.Enabled = groupBox1.Enabled = false;

            //try
            //{
            //    imagenHuella = ie.RawImage;
            //    core.Extract(imagenHuella, ref templateHuella); //  extraemos la informacion de la huella y almacenamos esa informacion en templateHuella (se tiene que pasar como referencia a la funcion)
               
            //    switch(templateHuella.Quality)
            //    {
            //        case 0:     // en caso de que la huella sea de mala calidad, se tiene que volver a extraer la huella
            //            labelCalidad.Text = "La huella es de mala calidad, vuelva a intentar";
            //            return;
                   
            //        case 1:     // si la huella es de calidad media, preguntamos si desean volver a extraerla
            //            labelCalidad.Text = "Calidad media";
            //            if (MessageBox.Show("la huella es de una calidad media, desea continuar?", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
            //                break;
            //            return;                    

            //        case 2:     // si la huella es de buena calidá, se procede con el programa
            //            labelCalidad.Text = "Huella con buena calidad";
            //            break;
            //    }

            //    buttonOK.Enabled = groupBox1.Enabled = true;
               
            //}
            //catch (System.Exception exc)
            //{
            //    MessageBox.Show(exc.Message);
            //}
        }

        //GriauleFingerprintLibrary.DataTypes.FingerprintRawImage imagenHuella;
        //imagenHuella = ie.RawImage;
        //core.Extract(imagenHuella, ref templateHuella);

        private void button1_Click(object sender, EventArgs e)
        {

        }
    }
}
