// Send the Printer Wide Settings private bool LoadPrinterSettings(IJPMessage m, XmlNode pr) { bool success = true; foreach (XmlNode c in pr.ChildNodes) { if (c is XmlWhitespace) { continue; } switch (c.Name) { case "PrintHead": m.CharacterOrientation = ParseEnum <IJPCharacterOrientation>(GetXmlAttr(c, "Orientation")); break; case "ContinuousPrinting": m.RepeatIntervals = (uint)GetXmlAttrN(c, "RepeatInterval"); m.RepeatCount = (ushort)GetXmlAttrN(c, "PrintsPerTrigger"); break; case "TargetSensor": m.TargetSensorFilter = ParseEnum <IJPSensorFilter>(GetXmlAttr(c, "Filter")); m.TimeSetup = (ushort)GetXmlAttrN(c, "SetupValue"); m.TargetSensorTimer = (ushort)GetXmlAttrN(c, "Timer"); break; case "CharacterSize": m.CharacterWidth = (ushort)GetXmlAttrN(c, "Width"); m.CharacterHeight = (byte)GetXmlAttrN(c, "Height"); break; case "PrintStartDelay": m.PrintStartDelayForward = (ushort)GetXmlAttrN(c, "Forward"); m.PrintStartDelayReverse = (ushort)GetXmlAttrN(c, "Reverse"); break; case "EncoderSettings": m.HiSpeedPrint = ParseEnum <IJPHiSpeedPrintType>(GetXmlAttr(c, "HighSpeedPrinting")); m.PulseRateDivisionFactor = (ushort)GetXmlAttrN(c, "Divisor"); m.ProductSpeedMatching = ParseEnum <IJPProductSpeedMatching>(GetXmlAttr(c, "ExternalEncoder")); break; case "InkStream": m.InkDropUse = (byte)GetXmlAttrN(c, "InkDropUse"); m.InkDropChargeRule = ParseEnum <IJPInkDropChargeRule>(GetXmlAttr(c, "ChargeRule")); break; case "Substitution": if (ijp != null) { LoadBuildSubstitution(c); } break; case "ClockSystem": if (ijp != null && bool.TryParse(GetXmlAttr(c, ""), out bool cs)) { ijp.SetHourMode24(cs); } break; case "TimeCount": m.TimeCount = LoadTimeCount(c); break; case "Shifts": LoadShift(m.ShiftCodes, c); break; case "Logos": if (ijp != null) { LoadLogos(c); } break; } } return(success); }