private boolean setEventData(int  context, int x, int y, int time, DNDEvent event) {
boolean setEventData(int  context, int x, int y, int time, DNDEvent event) {
private boolean setEventData(int /*long*/ context, int x, int y, int time, DNDEvent event) {	if (context == 0) return false;	GdkDragContext dragContext = new GdkDragContext();	OS.memmove(dragContext, context, GdkDragContext.sizeof);	if (dragContext.targets == 0) return false;		// get allowed operations	int style = getStyle();	int operations = osOpToOp(dragContext.actions) & style;	if (operations == DND.DROP_NONE) return false;		// get current operation	int operation = getOperationFromKeyState();	keyOperation = operation;	if (operation == DND.DROP_DEFAULT) {		if ((style & DND.DROP_DEFAULT) == 0) {			operation = (operations & DND.DROP_MOVE) != 0 ? DND.DROP_MOVE : DND.DROP_NONE;		}	} else {		if ((operation & operations) == 0) operation = DND.DROP_NONE;	}	// Get allowed transfer types	int length = OS.g_list_length(dragContext.targets);	TransferData[] dataTypes = new TransferData[0];	for (int i = 0; i < length; i++) {		int /*long*/ pData = OS.g_list_nth(dragContext.targets, i);		GtkTargetPair gtkTargetPair = new GtkTargetPair();		OS.memmove(gtkTargetPair, pData, GtkTargetPair.sizeof);		TransferData data = new TransferData();		data.type = gtkTargetPair.target;		for (int j = 0; j < transferAgents.length; j++) {			if (transferAgents[j].isSupportedType(data)) {				TransferData[] newDataTypes = new TransferData[dataTypes.length + 1];				System.arraycopy(dataTypes, 0, newDataTypes, 0, dataTypes.length);				newDataTypes[dataTypes.length] = data;				dataTypes = newDataTypes;					break;			}		}	}	if (dataTypes.length == 0) return false;	Point coordinates = control.toDisplay( new Point( x, y) );		event.widget = this;	event.x = coordinates.x;	event.y = coordinates.y;	event.time = time;	event.feedback = DND.FEEDBACK_SELECT;	event.dataTypes = dataTypes;	event.dataType = dataTypes[0];	event.operations = operations;	event.detail = operation;	return true;}