public void OnPrinterSettingChange(SPrinterSetting ss) { _printerSetting = ss; //if (SPrinterProperty.IsSurportCapping()) { WetParam wetParam = new WetParam(); if (EpsonLCD.GetWetParam(ref wetParam)) { // 回保湿位置 checkBoxEnableCappingPosX.Checked = (wetParam.PosMask & 1) != 0; checkBoxEnableCappingPosY.Checked = (wetParam.PosMask & 2) != 0; checkBoxEnableCappingPosZ.Checked = (wetParam.PosMask & 4) != 0; checkBoxsalverPos.Checked = (wetParam.PosMask & 8) != 0; checkBoxEnableAutoCapping.Checked = wetParam.Enable != 0; if (m_sPrinterProperty.fPulsePerInchX > 0) { UIPreference.SetValueAndClampWithMinMax(numCappingPosX, m_CurrentUnit, wetParam.XPos / m_sPrinterProperty.fPulsePerInchX); } if (m_sPrinterProperty.fPulsePerInchY > 0) { UIPreference.SetValueAndClampWithMinMax(numCappingPosY, m_CurrentUnit, wetParam.YPos / m_sPrinterProperty.fPulsePerInchY); } if (m_sPrinterProperty.fPulsePerInchZ > 0) { UIPreference.SetValueAndClampWithMinMax(numCappingPosZ, m_CurrentUnit, wetParam.ZPos / m_sPrinterProperty.fPulsePerInchZ); } numCappingDelayTime.Value = (decimal)(wetParam.WaitTime / 1000f); // 回默认位置 checkBoxXHomePos.Checked = (wetParam.DefaultBackPosMask & 1) != 0; checkBoxYHomePos.Checked = (wetParam.DefaultBackPosMask & 2) != 0; checkBoxEnableHomeDelay.Checked = wetParam.DefaultBackDelayEnable != 0; if (m_sPrinterProperty.fPulsePerInchX > 0) { UIPreference.SetValueAndClampWithMinMax(numHomePosX, m_CurrentUnit, wetParam.DefaultBackXPos / m_sPrinterProperty.fPulsePerInchX); } if (m_sPrinterProperty.fPulsePerInchY > 0) { UIPreference.SetValueAndClampWithMinMax(numHomePosY, m_CurrentUnit, wetParam.DefaultBackYPos / m_sPrinterProperty.fPulsePerInchY); } numAutoHomeDelay.Value = (decimal)(wetParam.BackDefaultPosWaitTime / 1000f); numSalverPos.Value = wetParam.cover4Place; } } this.isDirty = false; }
public void OnGetPrinterSetting(ref SPrinterSetting ss) { //if (SPrinterProperty.IsSurportCapping()) { WetParam wetParam = new WetParam(); wetParam.ActiveLen = 18; // 回保湿位置 wetParam.PosMask = (byte)(checkBoxEnableCappingPosX.Checked ? 1 : 0); // xyz都启用 if (checkBoxEnableCappingPosY.Checked) { wetParam.PosMask |= (1 << 1); } if (checkBoxEnableCappingPosZ.Checked) { wetParam.PosMask |= (1 << 2); } if (checkBoxsalverPos.Checked) { wetParam.PosMask |= (1 << 3); } wetParam.Enable = (byte)(checkBoxEnableAutoCapping.Checked ? 1 : 0); wetParam.XPos = (int)(UIPreference.ToInchLength(m_CurrentUnit, (float)numCappingPosX.Value) * m_sPrinterProperty.fPulsePerInchX); wetParam.YPos = (int)(UIPreference.ToInchLength(m_CurrentUnit, (float)numCappingPosY.Value) * m_sPrinterProperty.fPulsePerInchY); wetParam.ZPos = (int)(UIPreference.ToInchLength(m_CurrentUnit, (float)numCappingPosZ.Value) * m_sPrinterProperty.fPulsePerInchZ); wetParam.WaitTime = (uint)((float)numCappingDelayTime.Value * 1000f); //回缺省位置 wetParam.DefaultBackPosMask = (byte)(checkBoxXHomePos.Checked ? 1 : 0); // xyz都启用 if (checkBoxYHomePos.Checked) { wetParam.DefaultBackPosMask |= (1 << 1); } wetParam.DefaultBackDelayEnable = (byte)(checkBoxEnableHomeDelay.Checked ? 1 : 0); wetParam.DefaultBackXPos = (int)(UIPreference.ToInchLength(m_CurrentUnit, (float)numHomePosX.Value) * m_sPrinterProperty.fPulsePerInchX); wetParam.DefaultBackYPos = (int)(UIPreference.ToInchLength(m_CurrentUnit, (float)numHomePosY.Value) * m_sPrinterProperty.fPulsePerInchY); wetParam.BackDefaultPosWaitTime = (uint)((float)numAutoHomeDelay.Value * 1000f); wetParam.cover4Place = (int)numSalverPos.Value; if (!EpsonLCD.SetWetParam(wetParam)) { MessageBox.Show("Set Capping parametas fail!"); } } }