/** * Calculates and returns the next element which is either gap or dash. * @return The next dash array's element. */ public DashArrayElem Next() { DashArrayElem ret = currentElem; if (dashArray.Size > 0) { currentIndex = (currentIndex + 1) % DashArray.Size; currentElem = new DashArrayElem(dashArray.GetAsNumber(currentIndex).FloatValue, IsEven(++elemOrdinalNumber)); } return ret; }
/** * Calculates and returns the next element which is either gap or dash. * @return The next dash array's element. */ public DashArrayElem Next() { DashArrayElem ret = currentElem; if (dashArray.Size > 0) { currentIndex = (currentIndex + 1) % DashArray.Size; currentElem = new DashArrayElem(dashArray.GetAsNumber(currentIndex).FloatValue, IsEven(++elemOrdinalNumber)); } return(ret); }
private void InitFirst(float phase) { if (dashArray.Size > 0) { while (phase > 0) { phase -= dashArray.GetAsNumber(currentIndex).FloatValue; currentIndex = (currentIndex + 1) % DashArray.Size; elemOrdinalNumber++; } if (phase < 0) { --elemOrdinalNumber; --currentIndex; currentElem = new DashArrayElem(-phase, IsEven(elemOrdinalNumber)); } else { currentElem = new DashArrayElem(dashArray.GetAsNumber(currentIndex).FloatValue, IsEven(elemOrdinalNumber)); } } }
private void InitFirst(float phase) { if (dashArray.Size > 0) { while (phase > 0) { phase -= dashArray.GetAsNumber(currentIndex).FloatValue; currentIndex = (currentIndex + 1) % DashArray.Size; elemOrdinalNumber++; } if (phase < 0) { --elemOrdinalNumber; --currentIndex; currentElem = new DashArrayElem(-phase, IsEven(elemOrdinalNumber)); } else { currentElem = new DashArrayElem(dashArray.GetAsNumber(currentIndex).FloatValue, IsEven(elemOrdinalNumber)); } } }