internal Bar(int offset, int width1, BarcodeBarStyles style1) { this.x = offset; this.width = width1; this.style = style1; }
public bool MoveNext() { int num; int num4; int num5; int num6; uint num8; BarcodeType bdType = this._symbol._spec.bdType; uint style = this._symbol.GetStyle(); if (this._bEnumStart) { this._bEnumStart = false; this._more = this._bcenum.NextBars(this._bars, this._charDefBuffer); num = this._bars.GetCharDef().BCGETNUMSTRIPE(); this._iBarInd = num - 1; this._nmWth = 0; } else { if (!this._more) { this._currentValid = false; return(false); } if (this._iBarInd == -1) { this._more = this._bcenum.NextBars(this._bars, this._charDefBuffer); if (!this._more) { this._currentValid = false; return(false); } num = this._bars.GetCharDef().BCGETNUMSTRIPE(); this._iBarInd = num - 1; this._nmWth = 0; } } while (true) { int index = 0; num4 = -1; num5 = 0; num6 = this._iBarInd; while (num6 >= 0) { uint uStripe = this._bars.GetCharDef().BCGETSTRIPE(num6); if (CharDef.BCSTRIPEISBAR(uStripe)) { index = CharDef.BCSTRIPEWTHIND(uStripe); if (num4 == -1) { num4 = this._nmWth; } if ((style & 0x10000) != null) { this._nmWth += this._anmBarWidth[0]; } else { this._nmWth += this._anmBarWidth[index]; } if (num6 == 0) { num5 = this._nmWth - num4; } } else { if (num4 != -1) { num5 = this._nmWth - num4; } if ((style & 0x10000) != null) { this._nmWth += this._anmSpaceWidth[0]; } else { this._nmWth += this._anmSpaceWidth[CharDef.BCSTRIPEWTHIND(uStripe)]; } } if (num5 > 0) { num8 = this._bars.GetStyle(); if ((style & 0x10000) != null) { BarcodeType type2 = bdType; if ((type2 != BarcodeType.POSTNET) && (type2 != BarcodeType.PLANET)) { if (bdType == BarcodeType.ROYALMAIL) { switch (index) { case 1: num8 |= 0x20; break; case 2: num8 |= 0x40; break; case 3: num8 |= 0x10; break; } } } else if (index == 1) { num8 |= 0x10; } } break; } num6--; } this._more = this._bcenum.NextBars(this._bars, this._charDefBuffer); if (!this._more) { this._currentValid = false; return(false); } num = this._bars.GetCharDef().BCGETNUMSTRIPE(); this._iBarInd = num - 1; this._nmWth = 0; } BarcodeBarStyles styles = 0; if ((num8 & 8) != null) { styles |= BarcodeBarStyles.AddOnBar; } if ((num8 & 0x10) != null) { styles |= BarcodeBarStyles.LongBar; } if ((num8 & 0x20) != null) { styles |= BarcodeBarStyles.LowerBar; } if ((num8 & 0x40) != null) { styles |= BarcodeBarStyles.HigherBar; } this._current = new Bar((this._bars.GetOffset() + num4) * this._iModuleWidth, num5 * this._iModuleWidth, styles); this._iBarInd = num6 - 1; this._currentValid = true; return(true); }