function createExtendedRenderer(sName, oRendererInfo) {

		assert(this != null, 'BaseRenderer must be a non-null object');
		assert(typeof sName === 'string' && sName, 'Renderer.extend must be called with a non-empty name for the new renderer');
		assert(oRendererInfo == null ||
			(isPlainObject(oRendererInfo)
			 && Object.keys(oRendererInfo).every(function(key) { return oRendererInfo[key] !== undefined; })),
			'oRendererInfo can be omitted or must be a plain object without any undefined property values');

		var oChildRenderer = Object.create(this);
		// subclasses should expose the modern signature variant only
		oChildRenderer.extend = createExtendedRenderer;
		extend(oChildRenderer, oRendererInfo);

		// expose the renderer globally
		ObjectPath.set(sName, oChildRenderer);

		return oChildRenderer;
	}
/**
	 * Helper to create a new renderer by extending an existing one.
	 *
	 * @this {sap.ui.core.Renderer} The base renderer to extend
	 * @param {string} sName Global name of the new renderer
	 * @param {object} oRendererInfo Methods and static properties of the new renderer
	 * @returns {object} New static renderer class
	 * @private
	 */
Helper to create a new renderer by extending an existing one.
Helper to create a new renderer by extending an existing one .
function createExtendedRenderer(sName, oRendererInfo) {
		assert(this != null, 'BaseRenderer must be a non-null object');
		assert(typeof sName === 'string' && sName, 'Renderer.extend must be called with a non-empty name for the new renderer');
		assert(oRendererInfo == null ||
			(isPlainObject(oRendererInfo)
			 && Object.keys(oRendererInfo).every(function(key) { return oRendererInfo[key] !== undefined; })),
			'oRendererInfo can be omitted or must be a plain object without any undefined property values');
		var oChildRenderer = Object.create(this);
		oChildRenderer.extend = createExtendedRenderer;
		extend(oChildRenderer, oRendererInfo);
		ObjectPath.set(sName, oChildRenderer);
		return oChildRenderer;
	}
function createExtendedRenderer ( sName , oRendererInfo ) { assert ( this != null , 'BaseRenderer must be a non-null object' ) ; assert ( typeof sName === 'string' && sName , 'Renderer.extend must be called with a non-empty name for the new renderer' ) ; assert ( oRendererInfo == null || ( isPlainObject ( oRendererInfo ) && Object . keys ( oRendererInfo ) . every ( function ( key ) { return oRendererInfo [ key ] !== undefined ; } ) ) , 'oRendererInfo can be omitted or must be a plain object without any undefined property values' ) ; var oChildRenderer = Object . create ( this ) ; oChildRenderer . extend = createExtendedRenderer ; extend ( oChildRenderer , oRendererInfo ) ; ObjectPath . set ( sName , oChildRenderer ) ; return oChildRenderer ; }
Helper to create a new renderer by extending an existing one.
Helper to create a new renderer by extending an existing one .
// subclasses should expose the modern signature variant only // expose the renderer globally