Exemple #1
0
        private void CalculateAxisUnit()
        {
            double dValue = 0;

            if (__cSetting.AxisScope == EAxisScope.PriceScaleScope)
            {
                double[] dScales = __cPriceScale.GetPriceScale(__dAxisMax);
                dValue = dScales[0] * dScales[1];
            }
            else
            {
                EAxisScaleMode cScaleMode = __cSetting.ScaleMode;
                switch (cScaleMode)
                {
                case EAxisScaleMode.ScaleGap:
                    dValue = __cSetting.ScaleValue;
                    break;
                }
            }

            __dScaleUnit = (__dAxisMax - __dAxisMin) / __iScaleCount;
            if (dValue > 0)
            {
                __dScaleUnit = Math.Ceiling(__dScaleUnit / dValue) * dValue;
            }
        }
Exemple #2
0
        private void CalculateAxisScaleCount()
        {
            __iMarginTop    = (int)(this.__cAxisRect.Height * __cSetting.MarginTop / 100);
            __iMarginBottom = (int)(this.__cAxisRect.Height * __cSetting.MarginBottom / 100);

            int iHeight = this.__cAxisRect.Height - (__iMarginTop + __iMarginBottom);

            __iScaleCount = iHeight / (this.FontMetrics.Height + SCALE_SPACING_PIXEL);
            __dUnitHeight = iHeight / (__dAxisMax - __dAxisMin);

            EAxisScaleMode cScaleMode = __cSetting.ScaleMode;

            switch (cScaleMode)
            {
            case EAxisScaleMode.ScaleCount:
                int iValue = (int)__cSetting.ScaleValue;
                __iScaleCount = (__iScaleCount < iValue) ? __iScaleCount : iValue;
                break;
            }
        }