Example #1
0
        private void DrawTickLabelRotatedOuter(PaintArgs p, IScaleTickLabel tick, DrawStringFormat format)
        {
            double        num      = this.I_Range.ValueToAngle(tick.Value);
            Rectangle     textRect = this.GetTextRect(p, tick);
            Point         point    = Math2.ToCenterPoint(textRect);
            GraphicsState gstate   = p.Graphics.Save();

            p.Graphics.TranslateTransform((float)point.X, (float)point.Y);
            p.Graphics.RotateTransform(180f + (float)num);
            p.Graphics.TranslateTransform((float)(-point.X), (float)(-point.Y));
            p.Graphics.DrawString(tick.Text, tick.Font, p.Graphics.Brush(tick.ForeColor), textRect, format);
            p.Graphics.Restore(gstate);
        }
Example #2
0
        public static Point[] ToRotatedPoints(double angle, Rectangle r)
        {
            Point[] array        = new Point[4];
            Point   centerPoint  = Math2.ToCenterPoint(r);
            Point   centerPoint2 = Math2.ToRotatedPoint(angle, (double)(r.Width / 2), centerPoint);
            Point   centerPoint3 = Math2.ToRotatedPoint(angle + 180.0, (double)(r.Width / 2), centerPoint);

            array[0] = Math2.ToRotatedPoint(angle + 90.0, (double)(r.Height / 2), centerPoint2);
            array[3] = Math2.ToRotatedPoint(angle - 90.0, (double)(r.Height / 2), centerPoint2);
            array[1] = Math2.ToRotatedPoint(angle + 90.0, (double)(r.Height / 2), centerPoint3);
            array[2] = Math2.ToRotatedPoint(angle - 90.0, (double)(r.Height / 2), centerPoint3);
            return(array);
        }