Bug 141248 Script: Set axis title background color, axis title can be covered.
Script: Set axis title background color, axis title can be covered. Steps: 1.Create a bar chart 2.Script:function beforeDrawAxisTitle(axis, title, scriptContext) { importPackage(Packages.org.eclipse.birt.chart.model.attribute); importPackage(Packages.org.eclipse.birt.chart.model.attribute.impl); { if (axis.getType() == AxisType.LINEAR_LITERAL) title.setVisible(false);} title.getCaption().getColor( ).set( 208, 32, 0); title.getCaption().getFont().setItalic(true); title.getCaption().getFont().setRotation(30); title.getCaption().getFont().setStrikethrough(true); title.getCaption().getFont().setSize(14); title.getCaption().getFont().setName("Arial"); title.getOutline().setVisible(true); title.getOutline().setThickness(3); title.setBackground(ColorDefinitionImpl.ORANGE()); } 3.Preview Actual Results: 1.Axis title can be covered Expected Results: 1.Axis title is visible.
chart/org.eclipse.birt.chart.device.svg/src/org/eclipse/birt/chart/device/svg/SVGGraphics2D.java
protected Element createText( String text )
	{
		Element elem = dom.createElement( "text" ); 
		elem.appendChild( dom.createTextNode( text ) );
		switch (getFont().getStyle()){
			case Font.BOLD:
				elem.setAttribute( "font-weight", "bold"); 
				break;
			case Font.ITALIC:
				elem.setAttribute( "font-style", "italic"); 
				break;
			case (Font.BOLD+Font.ITALIC):
				elem.setAttribute( "font-style", "italic"); 
				elem.setAttribute( "font-weight", "bold"); 
				break;				
		}
		String textDecorator = null;
		Map attributes = getFont().getAttributes();
		if (attributes.get(TextAttribute.UNDERLINE) == TextAttribute.UNDERLINE_ON){			
			textDecorator = "underline";  
		}
		if (attributes.get(TextAttribute.STRIKETHROUGH) == TextAttribute.STRIKETHROUGH_ON){			
			if (textDecorator == null)
				textDecorator = "line-through"; 
			else
				textDecorator += ",line-through"; 
		}
		if (textDecorator != null)
			elem.setAttribute( "text-decoration", textDecorator);