Exemplo n.º 1
0
        /**
         * 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;
        }
Exemplo n.º 2
0
        /**
         * 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);
        }
Exemplo n.º 3
0
        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));
                }
            }
        }
Exemplo n.º 4
0
        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));
                }
            }
        }