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); }
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)); }
public abstract void DrawArrow(Cairo.Context cr, Gdk.Rectangle alloc, Hyena.Data.SortType type);