using System.Collections.Generic;
using System.Drawing;

namespace WebManager
{
    public interface IImageProcessByWeb
    {
        string WebServer_IP { set; }
        string WebServer_Port { set; }

        void EDS_Param_Areas(string imagePath, int num, int imageType, string firm, out Point pt_left_top, out int width, out int height, out int state);
        void EDS_Param_Lines(string imagePath, int num, int imageType, string firm, out List<Point> list_pt, out List<int> height, out int state);
        void EDS_Param_Points(string imagePath, int num, int imageType, string firm, out List<Point> listPoints, out int state);
        string Img_Auto_Focus(List<string> imagePath);
        string Img_Auto_Stigmatic(List<string> imagePath);
        void Img_Center_Position_OffsetAngle_Direction(string imagePath, int imageType, string firm, out float degree, out int direction, out int state);
        void Img_Cut_Position(string imagePath, int imageType, string firm, out float offsetx1, out float offsety1, out float offsetx2, out float offsety2, out int state);
        void Img_Cut_Success(string imageBefore, string imageAfter, out int state);
        void Img_DDIC_Cut_Position(string imagePath, int imageType, string firm, out float offsetx, out float offsety, out int state);
        void Img_DDIC_Measure_Location(string imagePath, out List<Point> measure_points, out int state);
        void Img_DDIC_Measure_Size(string imagePath1, string imagePath2, string imagePath3, string imagePath4, string imagePath5, string resultPath, out int state);
        void Img_DDIC_OffsetAngle_Direction(string imagePath, out float degree, out int direction, out int state);
        void Img_DDIC_Trapezoid_Top_Center_Position(string imagePath, out float offsetx, out float offsety, out int state);
        void Img_Measure_Height(List<string> imagePath, List<float> size, string resultPath, int imageType, string firm, out int state);
        void Img_Measure_Region_Position(string imagePath, int imageType, string firm, out List<Point> center, out List<float> mag, out Point center0, out int state);
        void Img_Measure_Size(string imagePath1, string imagePath2, float size1, float size2, string resultPath, int imageType, string firm, out int state);
        void Img_OffsetAngle_Direction(string imagePath, int imageType, string firm, out float degree, out int direction, out int state);
        void Img_Trapezoid_Top_Center_Position(string imagePath, int imageType, string firm, out float offsetx, out float offsety, out int state);
        void Img_Two_Region_Position(string imagePath, int imageType, string firm, out Point center1, out float mag1, out Point center2, out float mag2, out Point center3, out int state);
    }
}