code: private void drawTicks() {
  		// Abort if not attached
  		if (!isAttached()) {
  			return;
  		}
  
  		// Draw the ticks
  		int lineWidth = lineElement.getOffsetWidth();
  		if (numTicks > 0) {
  			// Create the ticks or make them visible
  			for (int i = 0; i <= numTicks; i++) {
  				Element tick = null;
  				if (i < tickElements.size()) {
  					tick = tickElements.get(i);
  				} else { // Create the new tick
  					tick = DOM.createDiv();
  					DOM.setStyleAttribute(tick, "position", "absolute");
  					DOM.setStyleAttribute(tick, "display", "none");
  					DOM.appendChild(getElement(), tick);
  					tickElements.add(tick);
  				}
  				if (enabled) {
  					DOM.setElementProperty(tick, "className", SLIDER_TICK);
  				} else {
  					DOM.setElementProperty(tick, "className", SLIDER_TICK + " "
  							+ SLIDER_TICK_SLIDING);
  				}
  				// Position the tick and make it visible
  				DOM.setStyleAttribute(tick, "visibility", "hidden");
  				DOM.setStyleAttribute(tick, "display", "");
  				int tickWidth = tick.getOffsetWidth();
  				int tickLeftOffset = lineLeftOffset + (lineWidth * i / numTicks) - (tickWidth / 2);
  				tickLeftOffset = Math.min(tickLeftOffset, lineLeftOffset + lineWidth - tickWidth);
  				DOM.setStyleAttribute(tick, "left", tickLeftOffset + "px");
  				DOM.setStyleAttribute(tick, "visibility", "visible");
  			}
  
  			// Hide unused ticks
  			for (int i = (numTicks + 1); i < tickElements.size(); i++) {
  				DOM.setStyleAttribute(tickElements.get(i), "display", "none");
  			}
  		} else { // Hide all ticks
  			for (Element elem : tickElements) {
  				DOM.setStyleAttribute(elem, "display", "none");
  			}
  		}
  	}
docs: Draw the tick along the line.