private void AddButton(MarkerButton[] buttons, DiffEditorButtonType type, IDiffMarker editMarker) { int top = editMarker.Line * _viewPort.LineHeight; int height = editMarker.Length * _viewPort.LineHeight; int left; switch (type) { case DiffEditorButtonType.CopyLeft: left = 0; break; case DiffEditorButtonType.DeleteLeft: left = ButtonWidth + 1; break; case DiffEditorButtonType.DeleteRight: left = Width - (ButtonWidth * 2 + 1); break; case DiffEditorButtonType.CopyRight: left = Width - ButtonWidth; break; default: throw new InvalidOperationException(); } buttons[(int)type] = new MarkerButton(type, new Rectangle(left, top, ButtonWidth, height)); }
public MarkerButton(DiffEditorButtonType type, Rectangle bounds) { Type = type; Bounds = bounds; switch (Type) { case DiffEditorButtonType.CopyLeft: Image = RaquoImage; break; case DiffEditorButtonType.DeleteLeft: case DiffEditorButtonType.DeleteRight: Image = CloseImage; break; case DiffEditorButtonType.CopyRight: Image = LaquoImage; break; } }
public DiffEditorButtonEventArgs(IDiffMarker marker, DiffEditorButtonType type) { Marker = marker; Type = type; }