Пример #1
0
        public override void DrawArrow(Context cr, Gdk.Rectangle alloc, Hyena.Data.SortType type)
        {
            cr.LineWidth = 1;
            cr.Translate(0.5, 0.5);
            double x1 = alloc.X;
            double x3 = alloc.X + alloc.Width / 2.0;
            double x2 = x3 + (x3 - x1);
            double y1 = alloc.Y;
            double y2 = alloc.Bottom;

            if (type == Hyena.Data.SortType.Ascending)
            {
                cr.MoveTo(x1, y1);
                cr.LineTo(x2, y1);
                cr.LineTo(x3, y2);
                cr.LineTo(x1, y1);
            }
            else
            {
                cr.MoveTo(x3, y1);
                cr.LineTo(x2, y2);
                cr.LineTo(x1, y2);
                cr.LineTo(x3, y1);
            }

            cr.Color = Colors.GetWidgetColor(GtkColorClass.Base, StateType.Normal);
            cr.FillPreserve();
            cr.Color = Colors.GetWidgetColor(GtkColorClass.Text, StateType.Normal);
            cr.Stroke();
            cr.Translate(-0.5, -0.5);
        }
Пример #2
0
 public void DrawArrow(Cairo.Context cr, Gdk.Rectangle alloc, Hyena.Data.SortType type)
 {
     DrawArrow(cr, alloc, Math.PI / 2.0 * (type == Hyena.Data.SortType.Ascending ? 1 : -1));
 }
Пример #3
0
 public abstract void DrawArrow(Cairo.Context cr, Gdk.Rectangle alloc, Hyena.Data.SortType type);