Bug 144590 [Accessibility] BIRT custom controls should support active accessibility
Description: BIRT custom controls should support active accessibility. There are some custom controls in BIRT GUI. In Eclipse, when implementing a custom control you should also implement some or all of (as they apply to your control) org.eclipse.swt.accessibility.AccessibleListener, org.eclipse.swt.accessibility.AccessibleControlListener and org.eclipse.swt.accessibility.AccessibleTextListener. Also, the custom control can notify Active Accessibility of changes within the control using org.eclipse.swt.accessibility.Accessible methods such as setFocus(), selectionChanged(), textCaretMoved(), textChanged() and textSelectionChanged().
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/internal/ui/util/graphics/ImageCanvas.java
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.net.URL;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.events.ControlAdapter;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.ScrollBar;
/**
 * Special Canvas class used to display the image.
 *  
 */
public class ImageCanvas extends Canvas
{
	private static final float ZOOMIN_RATE = 1.1f;
	private static final float ZOOMOUT_RATE = 0.9f;
	private Image sourceImage;
	private Image screenImage;
	private AffineTransform transform = new AffineTransform( );
	/**
	 * The constructor.