using Serenegiant.UVC;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using ZIM;
///
/// JC-补充接口
///
public partial class ScreenLocate : MonoBehaviour
{
public bool IsScreenLoateOK()
{
return screenIdentification != null &&
screenIdentification.Screen != null &&
screenIdentification.Screen.Active;
}
public bool IsScreenLocateManualDoing()
{
return mode == Mode.ScreenLocateManual;
}
public Texture2D EnterScreenLocateManual()
{
CreateUVCTexture2DIfNeeded();
Texture2D texture = mUVCTexture2D.zimAutoLight(0);
mode = Mode.ScreenLocateManual;
return texture;
}
public void QuitScreenLocateManual(List points)
{
if (points != null && points.Count == 4)
{
var size = getUVCCameraInfoSize;
screenIdentification?.SetScreenQuad(
new QuadrilateralInCamera(
new o0.Geometry2D.Float.Vector(points[0].x * size.x, points[0].y * size.y),
new o0.Geometry2D.Float.Vector(points[1].x * size.x, points[1].y * size.y),
new o0.Geometry2D.Float.Vector(points[3].x * size.x, points[3].y * size.y),
new o0.Geometry2D.Float.Vector(points[2].x * size.x, points[2].y * size.y),
size.o0Vector()
)
);
}
ToMode(Mode.InfraredLocate);
}
public void EnterScreenLocateManualAuto()
{
BtnScreenLocate();
}
public void SetCapture(int value)
{
Capture = value;
}
public void SetDelay(int value)
{
Delay = value;
}
}