View | Details | Raw Unified | Return to bug 174121 | Differences between
and this patch

Collapse All | Expand All

(-)Eclipse SWT/win32/org/eclipse/swt/graphics/Device.java (+42 lines)
Lines 14-19 Link Here
14
import org.eclipse.swt.internal.*;
14
import org.eclipse.swt.internal.*;
15
import org.eclipse.swt.internal.gdip.*;
15
import org.eclipse.swt.internal.gdip.*;
16
import org.eclipse.swt.internal.win32.*;
16
import org.eclipse.swt.internal.win32.*;
17
import org.eclipse.swt.widgets.Listener;
17
import org.eclipse.swt.*;
18
import org.eclipse.swt.*;
18
19
19
/**
20
/**
Lines 30-35 Link Here
30
	boolean tracking = DEBUG;
31
	boolean tracking = DEBUG;
31
	Error [] errors;
32
	Error [] errors;
32
	Object [] objects;
33
	Object [] objects;
34
	Listener listener;
33
	
35
	
34
	/**
36
	/**
35
	 * Palette 
37
	 * Palette 
Lines 125-130 Link Here
125
		if (data != null) {
127
		if (data != null) {
126
			debug = data.debug;
128
			debug = data.debug;
127
			tracking = data.tracking;
129
			tracking = data.tracking;
130
			listener = data.listener;
128
		}
131
		}
129
		create (data);
132
		create (data);
130
		init ();
133
		init ();
Lines 270-275 Link Here
270
void dispose_Object (Object object) {
273
void dispose_Object (Object object) {
271
	for (int i=0; i<objects.length; i++) {
274
	for (int i=0; i<objects.length; i++) {
272
		if (objects [i] == object) {
275
		if (objects [i] == object) {
276
			if(listener != null) {
277
				Event event = new ResourceEvent(object);
278
				event.time = OS.GetMessageTime();
279
				event.data = errors[i];
280
				event.type = SWT.Dispose;
281
				listener.handleEvent(event);
282
			}
273
			objects [i] = null;
283
			objects [i] = null;
274
			errors [i] = null;
284
			errors [i] = null;
275
			return;
285
			return;
Lines 779-789 Link Here
779
	return OS.AddFontResourceExW (buffer, OS.FR_PRIVATE, 0) != 0;
789
	return OS.AddFontResourceExW (buffer, OS.FR_PRIVATE, 0) != 0;
780
}
790
}
781
791
792
/**
793
 * Loads the font specified by a file.  The font will be
794
 * present in the list of fonts available to the application.
795
 *
796
 * @param path the font file path
797
 * @return whether the font was successfully loaded
798
 *
799
 * @exception SWTException <ul>
800
 *    <li>ERROR_NULL_ARGUMENT - if path is null</li>
801
 *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
802
 * </ul>
803
 *
804
 * @see Font
805
 * 
806
 * @since 3.3
807
 */
808
public boolean loadFont (String path) {
809
	checkDevice();
810
	if (path == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
811
	int length = path.length ();
812
	char[] buffer = new char [length + 1];
813
	path.getChars (0, length, buffer, 0);
814
	return OS.AddFontResourceExW (buffer, OS.FR_PRIVATE, 0) != 0;
815
}
816
782
void new_Object (Object object) {
817
void new_Object (Object object) {
783
	for (int i=0; i<objects.length; i++) {
818
	for (int i=0; i<objects.length; i++) {
784
		if (objects [i] == null) {
819
		if (objects [i] == null) {
785
			objects [i] = object;
820
			objects [i] = object;
786
			errors [i] = new Error ();
821
			errors [i] = new Error ();
822
			if(listener != null) {
823
				Event event = new ResourceEvent(object);
824
				event.time = OS.GetMessageTime();
825
				event.type = SWT.Show;
826
				event.data = errors[i];
827
				listener.handleEvent(event);
828
			}
787
			return;
829
			return;
788
		}
830
		}
789
	}
831
	}
(-)Eclipse SWT/win32/org/eclipse/swt/graphics/DeviceData.java (+3 lines)
Lines 10-15 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.swt.graphics;
11
package org.eclipse.swt.graphics;
12
12
13
import org.eclipse.swt.widgets.Listener;
14
13
15
14
public class DeviceData {
16
public class DeviceData {
15
	/*
17
	/*
Lines 20-23 Link Here
20
	public boolean tracking;
22
	public boolean tracking;
21
	public Error [] errors;
23
	public Error [] errors;
22
	public Object [] objects;
24
	public Object [] objects;
25
	public Listener listener;
23
}
26
}
(-)Eclipse (+13 lines)
Added Link Here
1
package org.eclipse.swt.graphics;
2
import org.eclipse.swt.widgets.Event;
3
4
5
public class ResourceEvent extends Event {
6
	public Object resource;
7
8
	public ResourceEvent(Object resource) {
9
		super();
10
		this.resource = resource;
11
	}
12
	
13
}

Return to bug 174121