use of playn.core.Events in project playn by threerings.
the class IOSTouch method toTouchEvents.
private Event.Impl[] toTouchEvents(NSSet touches, UIEvent event) {
final Event.Impl[] events = new Event.Impl[Convert.ToInt32(touches.get_Count())];
touches.Enumerate(new NSSetEnumerator(new NSSetEnumerator.Method() {
public void Invoke(NSObject obj, boolean[] stop) {
UITouch touch = (UITouch) obj;
PointF loc = touch.LocationInView(touch.get_View());
// transform the point based on our current scale
IPoint xloc = graphics.transformTouch(loc.get_X(), loc.get_Y());
// on iOS the memory address of the UITouch object is the unique id
int id = touch.get_Handle().ToInt32();
events[_idx++] = new Event.Impl(new Events.Flags.Impl(), touch.get_Timestamp() * 1000, xloc.x(), xloc.y(), id);
stop[0] = false;
}
private int _idx = 0;
}));
return events;
}
use of playn.core.Events in project playn by threerings.
the class RoboTouch method toTouchEvents.
private Event.Impl[] toTouchEvents(NSSet<UITouch> touches, UIEvent event) {
final Event.Impl[] events = new Event.Impl[touches.size()];
int idx = 0;
for (UITouch touch : touches) {
CGPoint loc = touch.getLocationInView(touch.getView());
// transform the point based on our current scale
IPoint xloc = platform.graphics().transformTouch((float) loc.getX(), (float) loc.getY());
// on iOS the memory address of the UITouch object is the unique id
int id = (int) touch.getHandle();
events[idx++] = new Event.Impl(new Events.Flags.Impl(), touch.getTimestamp() * 1000, xloc.x(), xloc.y(), id);
}
return events;
}
Aggregations