public NSArray<UIFontDescriptor> getMatchingFontDescriptors(Set<UIFontDescriptorAttribute> mandatoryAttributes) { NSSet<NSString> set = new NSMutableSet<>(); for (UIFontDescriptorAttribute attr : mandatoryAttributes) { set.add(attr.value()); } return getMatchingFontDescriptors(set); } public static UIFontDescriptor getPreferredFontDescriptor(UIFontTextStyle style) {
@MarshalsPointer public static Set<String> toObject(Class<? extends NSObject> cls, long handle, long flags) { NSSet<?> o = (NSSet<?>) NSObject.Marshaler.toObject(cls, handle, flags); return o.asStringSet(); } @MarshalsPointer
private void initWithObjects(NSObject[] objects) { VoidPtr.VoidPtrPtr ptr = Struct.allocate(VoidPtr.VoidPtrPtr.class, objects.length); for (int i = 0; i < objects.length; i++) { checkNull(objects[i]); ptr.set(objects[i].getHandle()); ptr = ptr.next(); } ptr = ptr.previous(objects.length); initObject(init(ptr.getHandle(), objects.length)); }
public static NSSet<NSString> fromStrings (Collection<String> strings) { NSString[] nsStrings = new NSString[strings.size()]; int i = 0; for (String s : strings) { nsStrings[i] = new NSString(s); i++; } return new NSSet<NSString>(nsStrings); }
public NSArray<UIFontDescriptor> getMatchingFontDescriptors(String...mandatoryAttributes) { return getMatchingFontDescriptors(NSSet.fromStrings(mandatoryAttributes)); } public NSArray<UIFontDescriptor> getMatchingFontDescriptors(Set<UIFontDescriptorAttribute> mandatoryAttributes) {
private Touch.Event[] toEvents (NSSet<UITouch> touches, UIEvent event, Touch.Event.Kind kind) { final Touch.Event[] events = new Touch.Event[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 = plat.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 Touch.Event(0, touch.getTimestamp() * 1000, xloc.x(), xloc.y(), kind, id); } return events; } }
@Override public int size() { return (int) set.getCount(); } }
@Override protected void afterMarshaled(int flags) { if (adapter == null) { adapter = createAdapter(); } super.afterMarshaled(flags); }
@MarshalsPointer public static List<String> toObject(Class<? extends NSObject> cls, long handle, long flags) { NSSet<?> o = (NSSet<?>) NSObject.Marshaler.toObject(cls, handle, flags); return o.asStringList(); } @MarshalsPointer
@Override public boolean add(U e) { checkNull(e); boolean replaced = contains(e); ((NSMutableSet<U>) set).addObject(e); return replaced; }
private void initWithObjects(NSObject[] objects) { VoidPtr.VoidPtrPtr ptr = Struct.allocate(VoidPtr.VoidPtrPtr.class, objects.length); for (int i = 0; i < objects.length; i++) { checkNull(objects[i]); ptr.set(objects[i].getHandle()); ptr = ptr.next(); } ptr = ptr.previous(objects.length); initObject(init(ptr.getHandle(), objects.length)); }
public static NSSet<NSString> fromStrings (String... strings) { int length = strings.length; NSString[] nsStrings = new NSString[length]; for (int i = 0; i < length; i++) { nsStrings[i] = new NSString(strings[i]); } return new NSSet<NSString>(nsStrings); }
@MarshalsPointer public static long toNative(Set<String> l, long flags) { if (l == null) { return 0L; } return NSObject.Marshaler.toNative(NSSet.fromStrings(l), flags); } }
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; } }
@Override public int size() { return (int) set.getCount(); } }
@Override protected void afterMarshaled(int flags) { if (adapter == null) { adapter = createAdapter(); } super.afterMarshaled(flags); }
@MarshalsPointer public static List<String> toObject(Class<? extends NSObject> cls, long handle, long flags) { NSSet<?> o = (NSSet<?>) NSObject.Marshaler.toObject(cls, handle, flags); return o.asStringList(); } @MarshalsPointer
@Override public boolean add(U e) { checkNull(e); boolean replaced = contains(e); ((NSMutableSet<U>) set).addObject(e); return replaced; }
/** * Use this method to convert a NSSet of NSString items to a Set of String items. * Elements of this NSASet must be of type NSString, otherwise an exception will be thrown. * @return * @throws UnsupportedOperationException when the set items are not of type NSString. */ public Set<String> asStringSet() { Set<String> set = new HashSet<>(); if (size() == 0) return set; if (!(any() instanceof NSString)) throw new UnsupportedOperationException("items must be of type NSString"); for (T str : this) { set.add(str.toString()); } return set; }