using System;
using TQLComm;
namespace XHWK.WKTool
{
public class PenEvents : PenEvent
{
//int SA = 0;
//int SB = 0;
//int SC = 0;
//int SD = 0;
//int Sindex = 0;
//int S = 0;
//int O = 0;
//int B = 0;
//int P = 0;
public static bool ConnectPen = false;
public bool ShowPointLog = false;
public static bool DrawIngend = true;
public PenCommManager Manager;
public int InToType = 0;
///
/// TQL事件初始化,进入类型1录制2录屏
///
/// 进入类型1录制2录屏
public PenEvents(int type)//(Form1 form)
{
InToType = type;
//this.form = form;
Manager = new PenCommManager(this);
Manager.Init();
////获取离线数据量
//Manager.GetOfflineDataNo();
////开始下载离线数据
//Manager.StartDownloadOfflineData();
////继续
//Manager.ContinueDownloadOfflineData();
////暂停下载
//Manager.PauseDownloadOfflineData();
//删除离线数据
Manager.RemoveOfflineData();
}
public void StartRecvDataTimer1()
{
DrawIngend = false;
System.Timers.Timer t = new System.Timers.Timer(1000);
t.Elapsed += new System.Timers.ElapsedEventHandler(timerCall);
t.AutoReset = false;//设置是执行一次(false)还是一直执行(true);
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;
}
//委托执行的方法
private void timerCall(object source, System.Timers.ElapsedEventArgs e)
{
DrawIngend = true;
//MessageBox.Show("ni");
}
public void OnGetOIDType(uint oType)
{
}
public void OnSetOIDType(bool bSuccess)
{
}
public void onConfirmReceiveOfflineData(bool bSuccess)
{
}
///
/// 智能笔连接状态
///
///
public void onConnectionStatus(bool bConnected)
{
ConnectPen = bConnected;
try
{
if (bConnected)
{
APP.TQLPenStatus = true;
//form.AddLog("智能笔已连接!");
if (APP.W_XHMicroLessonSystemWindow != null)
APP.W_XHMicroLessonSystemWindow.UpdateDevStatus();
}
else
{
APP.TQLPenStatus = false;
//form.DisConnect();
//form.AddLog("智能笔已断开连接!");
if (APP.W_XHMicroLessonSystemWindow != null)
APP.W_XHMicroLessonSystemWindow.UpdateDevStatus();
}
}
catch (Exception)
{
}
}
public void onContinueOfflineData(bool bSuccess)
{
}
///
/// 下载离线数据
///
///
public void onEndOfDownloadOfflineData(bool bEnd)
{
if (bEnd)
{
////继续
//Manager.ContinueDownloadOfflineData();
////暂停下载
//Manager.PauseDownloadOfflineData();
//下载离线数据成功!
//删除离线数据
Manager.RemoveOfflineData();
}
else
{
//下载离线数据失败!
//删除离线数据
Manager.RemoveOfflineData();
}
}
public void onGetAutoPowerOffTime(short Data)
{
//if (form.PenAttribute != null) form.PenAttribute.SetoffTextString(Data.ToString());
//form.AddLog("当前自动休眠时间:" + Data.ToString() + "!");
}
public void onGetAutoPowerOnMode(bool bSetOn)
{
//if (form.PenAttribute != null) form.PenAttribute.SetSevseepComBox(bSetOn);
//form.AddLog("当前唤醒模式笔尖压力是否唤醒:" + bSetOn.ToString() + "!");
}
public void onGetBatteryPower(short Data)
{
//if (form.PenAttribute != null) form.PenAttribute.SetBatteryTextString(Data.ToString() + "%");
//form.AddLog("当前剩余电量:" + Data.ToString() + "%!");
}
public void onGetBeepStatus(bool bSetOn)
{
//if (form.PenAttribute != null) form.PenAttribute.SetBeetComBox(bSetOn);
//form.AddLog("当前蜂鸣器模式是否响动:" + bSetOn.ToString() + "!");
}
public void onGetCustomerID(uint ID1, uint ID2)
{
}
public void onGetElementCode(uint OID, uint SID, int Size)
{
}
public void onGetFWVersion(string strData)
{
//if (form.PenAttribute != null) form.PenAttribute.SetBTTextString(strData);
//form.AddLog("当前蓝牙版本号:" + strData + "!");
}
public void onGetMCUFWVersion(string strData)
{
//if (form.PenAttribute != null) form.PenAttribute.SetMCUTextString(strData);
//form.AddLog("当前MCU版本号:" + strData + "!");
}
public void onGetMacAddress(string macAddress)
{
//if (form.PenAttribute != null) form.PenAttribute.SetMAcTextString(macAddress);
//form.AddLog("当前MAC:" + macAddress + "!");
}
public void onGetOID4ElementCode(int SA, int SB, int SC, int SD, int index)
{
//if (this.SA != SA || this.SB != SB || this.SC != SC || this.SD != SD || this.Sindex != index)
//{
// this.SA = SA; this.SB = SB; this.SC = SC; this.SD = SD; this.Sindex = index;
// form.AddLog("SA:" + SA.ToString() + "," + "SB:" + SB.ToString() + "," + "SC:" + SC.ToString() + "," + "SD:" + SD.ToString() + "," + "index:" + index.ToString());
//}
}
public void onGetOfflineDataNo(int Data)
{
ConnectPen = true;
if (Data > 0)
{
//开始下载离线数据
Manager.StartDownloadOfflineData();
}
//form.AddLog("当前离线数据量:" + Data.ToString() + "!");
//if (Data == 0 && form.StartDownload == true)
//{
// form.StartDownload = false;
// form.StartOrStop(form.StartDownload);
// form.AddLog("下载离线数据成功!");
//}
}
public void onGetPenColor(short Data)
{
//if (form.PenAttribute != null) form.PenAttribute.SetLEDComBox(Data);
//switch (Data)
//{
// case 1:
// form.timing.SetPenColor(Color.Blue);
// break;
// case 2:
// form.timing.SetPenColor(Color.Green);
// break;
// case 3:
// form.timing.SetPenColor(Color.Cyan);
// break;
// case 4:
// form.timing.SetPenColor(Color.Red);
// break;
// case 5:
// form.timing.SetPenColor(Color.Magenta);
// break;
// case 6:
// form.timing.SetPenColor(Color.Yellow);
// break;
// case 7:
// form.timing.SetPenColor(Color.Black);
// break;
// default:
// break;
//}
}
///
/// 获取笔名
///
///
public void onGetPenLocalName(string localName)
{
//if (form.PenAttribute != null) form.PenAttribute.SetNameTextString(localName);
//form.AddLog("当前笔名:" + localName + "!");
}
public void onGetPressureCalibrationData(uint LData, uint HData)
{
}
private DateTime ConvertLongToDateTime(long d)
{
DateTime dtStart = Convert.ToDateTime("1970-1-1");
long lTime = long.Parse(d.ToString());
TimeSpan toNow = new TimeSpan(lTime);
DateTime dtResult = dtStart.AddSeconds(lTime);
return dtResult;
// return dtResult;
}
public void onGetRTC(long Data)
{
//DateTime time = ConvertLongToDateTime(Data);
//if (form.PenAttribute != null) form.PenAttribute.SetRTCTextString(time.ToString("yyyy-MM-dd HH:mm:ss"));
//form.AddLog("当前RTC:" + time.ToString("yyyy-MM-dd HH:mm:ss") + "!");
}
public void onGetSensitivityLevel(short Data)
{
//ConnectPen = true;
//if (form.PenAttribute != null) form.PenAttribute.SetSevComBox(Data);
//form.AddLog("当前压力敏感度:" + Data.ToString() + "!");
}
///
/// 内存使用量
///
///
public void onGetUsedMemory(short Data)
{
//if (form.PenAttribute != null) form.PenAttribute.SetmemTextString(Data.ToString());
//form.AddLog("当前使用内存为:" + Data.ToString() + "!");
}
///
/// 获取蓝牙适配器连接状态
///
///
public void onHIDGetReady(bool bReady)
{
//if (bReady)
//{
// form.AddLog("蓝牙适配器已连接!");
//}
//else
//{
// form.AddLog("蓝牙适配器已断开连接!");
//}
}
public void onPauseOfflineData(bool bSuccess)
{
}
///
/// 书写点
///
///
///
public void onReceiveDot(Dot dot, int count)
{
if (InToType == 1)
{
//录制模式
if (dot.type == DotType.PEN_HOVER)
{
return;
}
else if (dot.type == DotType.PEN_DOWN)
{
APP.W_XHMicroLessonSystemWindow.TQLDown();
}
else if (dot.type == DotType.PEN_UP)
{
APP.W_XHMicroLessonSystemWindow.TQLUp();
}
else if (dot.type == DotType.PEN_MOVE)
{
double CX = (double)dot.x + (double)dot.fx / 100.00;
double CY = (double)dot.y + (double)dot.fy / 100.00;
APP.W_XHMicroLessonSystemWindow.TQLPenWrite(CX, CY, dot.force);
//form.AddLog("x:" + (dot.x + dot.fx / 100f).ToString() + ", " + "y:" + (dot.y + dot.fy / 100f).ToString());
}
}
else if (InToType == 2)
{
//录屏模式
if (dot.type == DotType.PEN_HOVER)
{
return;
}
else if (dot.type == DotType.PEN_DOWN)
{
APP.W_PracticeWindow.TQLDown();
}
else if (dot.type == DotType.PEN_UP)
{
APP.W_PracticeWindow.TQLUp();
}
else if (dot.type == DotType.PEN_MOVE)
{
double CX = (double)dot.x + (double)dot.fx / 100.00;
double CY = (double)dot.y + (double)dot.fy / 100.00;
APP.W_PracticeWindow.TQLPenWrite(CX, CY, dot.force);
//form.AddLog("x:" + (dot.x + dot.fx / 100f).ToString() + ", " + "y:" + (dot.y + dot.fy / 100f).ToString());
}
}
////可用于分页使用
//if (this.S != dot.sectionId || this.O != dot.ownerId || this.B != dot.noteId || this.P != dot.pageId)
//{
// this.S = dot.sectionId; this.O = dot.ownerId; this.B = dot.noteId; this.P = dot.pageId;
// //form.AddLog("Dot_S:" + this.S.ToString() + ", " + "Dot_O:" + this.O.ToString() + ", " + "Dot_B:" + this.B.ToString() + ", " + "Dot_P:" + this.P.ToString());
//}
//if (dot.type == DotType.PEN_HOVER) return;
//if (this.S != dot.sectionId || this.O != dot.ownerId || this.B != dot.noteId || this.P != dot.pageId)
//{
// this.S = dot.sectionId; this.O = dot.ownerId; this.B = dot.noteId; this.P = dot.pageId;
// //form.AddLog("Dot_S:" + this.S.ToString() + ", " + "Dot_O:" + this.O.ToString() + ", " + "Dot_B:" + this.B.ToString() + ", " + "Dot_P:" + this.P.ToString());
//}
//if (ShowPointLog == true)
//{
// //form.AddLog("x:" + (dot.x + dot.fx / 100f).ToString() + ", " + "y:" + (dot.y + dot.fy / 100f).ToString());
//}
///* if (dot.type == DotType.PEN_DOWN || dot.type == DotType.PEN_MOVE || dot.type == DotType.PEN_UP)
// {
// form.AddLog("Dot_type:" + dot.type.ToString() + ", " + "Dot_force:" + dot.force.ToString());
// } */
////if (DrawingBox.DrawType != 2) DrawingBox.DrawType = 1;
////form.Drawing(dot);
//if (DrawIngend == true)
//{
// StartRecvDataTimer1();
//}
///* long unixTimeStamp = (long)(dot.timeLong - 28800000);//1478162177;
// System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(2010, 1, 1)); // 当地时区
// DateTime dt = startTime.AddMilliseconds(unixTimeStamp);
// form.AddLog("ON:" + dt.ToString("MM/dd HH:mm:ss.fff"));*/
}
///
/// 接收脱机数据
///
///
///
public void onReceiveOfflineData(Dot dot, int count)
{
//if (form.StartDownload == false)
//{
// Manager.StopDownloadOfflineData();
// return;
//}
//if (this.S != dot.sectionId || this.O != dot.ownerId || this.B != dot.noteId || this.P != dot.pageId)
//{
// this.S = dot.sectionId; this.O = dot.ownerId; this.B = dot.noteId; this.P = dot.pageId;
// form.AddLog("Dot_S:" + this.S.ToString() + ", " + "Dot_O:" + this.O.ToString() + ", " + "Dot_B:" + this.B.ToString() + ", " + "Dot_P:" + this.P.ToString());
//}
///*long unixTimeStamp = (long)(dot.timeLong - 28800000);//1478162177;
//System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(2010, 1, 1)); // 当地时区
//DateTime dt = startTime.AddMilliseconds(unixTimeStamp);
//form.AddLog("OFF:" + dt.ToString("MM/dd HH:mm:ss.fff"));
//*/
///* DateTime tmp = new System.DateTime(2010, 1, 1);
// tmp.AddMilliseconds(dot.timeLong);
// form.AddLog("TIME:" + tmp.ToString("MM/dd HH:mm:ss"));*/
//// form.AddLog("TIME:" + dot.timeLong.ToString());
//if (DrawingBox.DrawType != 2) DrawingBox.DrawType = 3;
//form.Drawing(dot);
}
public void onReceiveOriginalDot(Dot dot, int count)
{
//form.Drawing(dot);
}
public void onRemoveOfflineData(bool bRemoved)
{
//if (bRemoved)
//{
// form.AddLog("删除离线数据成功!");
// form.StartDownload = false;
// form.ContinueDownload = true;
// form.DrawOffType = -1;
//}
//else form.AddLog("删除离线数据失败!");
}
public void onSetAutoPowerOffTime(bool bsuccess)
{
//if (bsuccess) form.AddLog("设置自动休眠时间成功!");
//else form.AddLog("设置自动休眠时间失败!");
}
public void onSetAutoPowerOnMode(bool bsuccess)
{
//if (bsuccess) form.AddLog("设置笔的唤醒模式成功!");
//else form.AddLog("设置笔的唤醒模式失败!");
}
public void onSetBeepStatus(bool bsuccess)
{
//if (bsuccess) form.AddLog("设置蜂鸣器成功!");
//else form.AddLog("设置蜂鸣器失败!");
}
public void onSetCustomerID(bool bsuccess)
{
}
public void onSetElementCode(bool bSuccess)
{
}
public void onSetPenColor(bool bsuccess)
{
//if (Form1.SetColor == false) return;
//Form1.SetColor = false;
//if (bsuccess) form.AddLog("设置笔LED灯颜色成功!");
//else form.AddLog("设置笔LED灯颜色失败!");
}
public void onSetPenLocalName(bool bsuccess)
{
//if (bsuccess) form.AddLog("设置笔名成功!");
//else form.AddLog("设置笔名失败!");
}
public void onSetSensitivityLevel(bool bsuccess)
{
//if (bsuccess) form.AddLog("设置压力敏感度成功!");
//else form.AddLog("设置压力敏感度失败!");
}
public void onStartDownloadOfflineData(bool bStart)
{
}
public void onStopDownloadOfflineData(bool bStart)
{
}
public void onWriteRTC(bool bsuccess)
{
//if (bsuccess)
//{
// form.AddLog("设置RTC成功!");
// Manager.GetRTC();
//}
//else form.AddLog("设置RTC失败!");
}
public void DownloadOfflineDataRate(float Rate)
{
//form.SetProGress(Rate);
}
public void onGetMCUFCode(string strData)
{
//if (form.PenAttribute != null) form.PenAttribute.SetMcuCodeTextString(strData);
//form.AddLog("MCU序列号:" + strData + "!");
}
public void OnGetPenCodeType(uint oType)
{
}
public void onSetPenHover(byte type)
{
//if (type == 1)
//{
// form.AddLog("设置悬浮打开!");
// form.PenAttribute.SetHoverComBox(0);
//}
//else if (type == 0)
//{
// form.AddLog("设置悬浮关闭!");
// form.PenAttribute.SetHoverComBox(1);
//}
}
}
}