javascript/mxClient.js
function(state, source, target, points, isSource)
	{
		var value = mxUtils.getValue(state.style, (isSource) ? mxConstants.STYLE_SOURCE_JETTY_SIZE :
			mxConstants.STYLE_TARGET_JETTY_SIZE, mxUtils.getValue(state.style,
					mxConstants.STYLE_JETTY_SIZE, mxEdgeStyle.orthBuffer));
		
		if (value == 'auto')
		{
			// Computes the automatic jetty size
			var type = mxUtils.getValue(state.style, (isSource) ? mxConstants.STYLE_STARTARROW : mxConstants.STYLE_ENDARROW, mxConstants.NONE);
			
			if (type != mxConstants.NONE)
			{
				var size = mxUtils.getNumber(state.style, (isSource) ? mxConstants.STYLE_STARTSIZE : mxConstants.STYLE_ENDSIZE, mxConstants.DEFAULT_MARKERSIZE);
				value = Math.max(2, Math.ceil((size + mxEdgeStyle.orthBuffer) / mxEdgeStyle.orthBuffer)) * mxEdgeStyle.orthBuffer;
			}
			else
			{
				value = 2 * mxEdgeStyle.orthBuffer;
			}
		}
		
		return value;
	}
function(state, source, target, points, isSource)
	{
		var value = mxUtils.getValue(state.style, (isSource) ? mxConstants.STYLE_SOURCE_JETTY_SIZE :
			mxConstants.STYLE_TARGET_JETTY_SIZE, mxUtils.getValue(state.style,
					mxConstants.STYLE_JETTY_SIZE, mxEdgeStyle.orthBuffer));
		
		if (value == 'auto')
		{
			// Computes the automatic jetty size
			var type = mxUtils.getValue(state.style, (isSource) ? mxConstants.STYLE_STARTARROW : mxConstants.STYLE_ENDARROW, mxConstants.NONE);
			
			if (type != mxConstants.NONE)
			{
				var size = mxUtils.getNumber(state.style, (isSource) ? mxConstants.STYLE_STARTSIZE : mxConstants.STYLE_ENDSIZE, mxConstants.DEFAULT_MARKERSIZE);
				value = Math.max(2, Math.ceil((size + mxEdgeStyle.orthBuffer) / mxEdgeStyle.orthBuffer)) * mxEdgeStyle.orthBuffer;
			}
			else
			{
				value = 2 * mxEdgeStyle.orthBuffer;
			}
		}
		
		return value;
	}
function ( state , source , target , points , isSource ) { var value = mxUtils . getValue ( state . style , ( isSource ) ? mxConstants . STYLE_SOURCE_JETTY_SIZE : mxConstants . STYLE_TARGET_JETTY_SIZE , mxUtils . getValue ( state . style , mxConstants . STYLE_JETTY_SIZE , mxEdgeStyle . orthBuffer ) ) ; if ( value == 'auto' ) { // Computes the automatic jetty size var type = mxUtils . getValue ( state . style , ( isSource ) ? mxConstants . STYLE_STARTARROW : mxConstants . STYLE_ENDARROW , mxConstants . NONE ) ; if ( type != mxConstants . NONE ) { var size = mxUtils . getNumber ( state . style , ( isSource ) ? mxConstants . STYLE_STARTSIZE : mxConstants . STYLE_ENDSIZE , mxConstants . DEFAULT_MARKERSIZE ) ; value = Math . max ( 2 , Math . ceil ( ( size + mxEdgeStyle . orthBuffer ) / mxEdgeStyle . orthBuffer ) ) * mxEdgeStyle . orthBuffer ; } else { value = 2 * mxEdgeStyle . orthBuffer ; } } return value ; }
mxEdgeStyle.SOURCE_MASK | mxEdgeStyle.TARGET_MASK,
mxEdgeStyle . SOURCE_MASK | mxEdgeStyle . TARGET_MASK