summaryrefslogtreecommitdiffstats
path: root/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java
blob: a688ed8d94be2ade5d9e52a791eb754c5cf763c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package org.eclipse.swt.examples.paint;

/*

 * (c) Copyright IBM Corp. 2000, 2001.

 * All Rights Reserved

 */

import org.eclipse.swt.events.*;

/**

 * Manages an interactive paint session.

 * Note that the coordinates received via the listener interfaces are virtualized to zero-origin

 * relative to the painting surface.

 */ 
public interface PaintSession extends MouseListener, MouseMoveListener {
	/**

	 * Returns the paint surface associated with this paint session

	 * 

	 * @return the associated PaintSurface

	 */
	public PaintSurface getPaintSurface();

	/**

	 * Activates the session.

	 * 

	 * Note: When overriding this method, call super.beginSession() at method start.

	 */
	public abstract void beginSession();
	
	/**

	 * Deactivates the session.

     *

	 * Note: When overriding this method, call super.endSession() at method exit.

     */
	public abstract void endSession();
	
	/**

	 * Resets the session.

	 * Aborts any operation in progress.

	 * 

	 * Note: When overriding this method, call super.resetSession() at method exit.

	 */
	public abstract void resetSession();
	
	
	/**

	 * Returns the name associated with this tool.

	 * 

	 * @return the localized name of this tool

	 */
	public String getDisplayName();
}