void UpdateMarks() { #if XWT_GTK3 Widget.ClearMarks(); if (SnapToTicks) { if (MinimumValue >= 0) { var ticksCount = (int)((MaximumValue - MinimumValue) / StepIncrement) + 1; for (int i = 0; i < ticksCount; i++) { Widget.AddMark(MinimumValue + (i * StepIncrement), Gtk.PositionType.Bottom, null); } } else if (MaximumValue <= 0) { var ticksCount = (int)((MaximumValue - MinimumValue) / StepIncrement) + 1; for (int i = 0; i < ticksCount; i++) { Widget.AddMark(-(i * StepIncrement), Gtk.PositionType.Bottom, null); } } else if (MinimumValue < 0) { var ticksCount = (int)(MaximumValue / StepIncrement) + 1; for (int i = 0; i < ticksCount; i++) { Widget.AddMark(i * StepIncrement, Gtk.PositionType.Bottom, null); } var ticksCountN = (int)(Math.Abs(MinimumValue) / StepIncrement) + 1; for (int i = 1; i < ticksCountN; i++) { Widget.AddMark(-(i * StepIncrement), Gtk.PositionType.Bottom, null); } } } #endif }