@Override
	public void paintIcon( Component c, Graphics g, int x, int y ) {
		update();

		// check whether icon is outside of clipping area
		Rectangle clipBounds = g.getClipBounds();
		if( clipBounds != null && !clipBounds.intersects( new Rectangle( x, y, getIconWidth(), getIconHeight() ) ) )
			return;

		// get gray filter
		RGBImageFilter grayFilter = null;
		if( disabled ) {
			Object grayFilterObj = UIManager.get( "Component.grayFilter" );
			grayFilter = (grayFilterObj instanceof RGBImageFilter)
				? (RGBImageFilter) grayFilterObj
				: GrayFilter.createDisabledIconFilter( dark );
		}

		ColorFilter globalColorFilter = ColorFilter.getInstance();
		globalColorFilter.c = c;
		if( colorFilter != null )
			colorFilter.c = c;

		Graphics2D g2 = new GraphicsFilter( (Graphics2D) g.create(), colorFilter, globalColorFilter, grayFilter );

		try {
			setRenderingHints( g2 );

			paintSvg( g2, x, y );
		} finally {
			g2.dispose();

			globalColorFilter.c = null;
			if( colorFilter != null )
				colorFilter.c = null;
		}
	}
Returns the scaled height of the icon.
flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatSVGIcon.java