public CFMutableData insert(long location, ByteBuffer bytes) { return replace(new CFRange(location, 0), bytes); }
/** * @since Available in iOS 3.2 and later. */ public CGPoint[] getLineOrigins(CFRange range) { if (range == null) throw new NullPointerException("range"); int size = range.getLength() == 0 ? getLines().size() : (int)range.getLength(); if (size == 0) { return new CGPoint[0]; } CGPoint array = Struct.allocate(CGPoint.class, size); getLineOrigins(range, array); return array.toArray(size); } /*<methods>*/
public CFRange(@MachineSizedSInt long location, @MachineSizedSInt long length) { this.setLocation(location); this.setLength(length); } /*</constructors>*/
public static RoboTextLayout[] layoutText(RoboGraphics gfx, String text, TextFormat format, TextWrap wrap) { text = normalizeEOL(text); final CTFont font = RoboFont.resolveFont(format.font); NSAttributedStringAttributes attribs = createAttribs(font); List<CTLine> lines = wrapLines(new NSAttributedString(text, attribs), wrap.width); RoboTextLayout[] layouts = new RoboTextLayout[lines.size()]; for (int ii = 0; ii < layouts.length; ii++) { CTLine line = lines.get(ii); CFRange range = line.getStringRange(); String ltext = text.substring((int)range.getLocation(), (int)(range.getLocation()+range.getLength())); layouts[ii] = new RoboTextLayout(gfx, ltext, format, font, line); } return layouts; }
/** * @since Available in iOS 3.0 and later. */ public CFRange[] getCurrentSubTokens(long maxRanges, List<String> derivedSubTokens) { CFRange.CFRangePtr ptr = new CFRange.CFRangePtr(); long length = getCurrentSubTokens(ptr, maxRanges, derivedSubTokens); return ptr.get().toArray((int)length); } /*<methods>*/
public static RoboTextLayout[] layoutText(RoboGraphics gfx, String text, TextFormat format, TextWrap wrap) { text = normalizeEOL(text); final RoboFont font = (format.font == null) ? RoboGraphics.defaultFont : (RoboFont) format.font; NSAttributedStringAttributes attribs = createAttribs(font); CFArray lines = wrapLines(new NSAttributedString(text, attribs), wrap.width); RoboTextLayout[] layouts = new RoboTextLayout[(int)lines.size()]; for (int ii = 0; ii < layouts.length; ii++) { CTLine line = lines.get(ii, CTLine.class); CFRange range = line.getStringRange(); String ltext = text.substring((int)range.getLocation(), (int)(range.getLocation()+range.getLength())); layouts[ii] = new RoboTextLayout(gfx, ltext, format, font, line); } return layouts; }
/** * @since Available in iOS 3.0 and later. */ public CFRange[] getCurrentSubTokens(long maxRanges, List<String> derivedSubTokens) { CFRange.CFRangePtr ptr = new CFRange.CFRangePtr(); long length = getCurrentSubTokens(ptr, maxRanges, derivedSubTokens); return ptr.get().toArray((int)length); } /*<methods>*/
public CFMutableData insert(long location, byte[] bytes) { return replace(new CFRange(location, 0), bytes, 0, bytes.length); }
/** * @since Available in iOS 3.2 and later. */ public CGPoint[] getPositions(@ByVal CFRange range) { CGPoint p = Struct.allocate(CGPoint.class, (int)range.getLength()); getPositions(range, p); return p.toArray((int) getGlyphCount()); } /**
public CFRange(@MachineSizedSInt long location, @MachineSizedSInt long length) { this.setLocation(location); this.setLength(length); } /*</constructors>*/
/** * @since Available in iOS 3.0 and later. */ public CFRange[] getCurrentSubTokens(long maxRanges, List<String> derivedSubTokens) { CFRange.CFRangePtr ptr = new CFRange.CFRangePtr(); long length = getCurrentSubTokens(ptr, maxRanges, derivedSubTokens); return ptr.get().toArray((int)length); } /*<methods>*/
public CFMutableData insert(long location, byte[] bytes, int offset, int length) { return replace(new CFRange(location, 0), bytes, offset, length); }
/** * @since Available in iOS 3.2 and later. */ public CGSize[] getAdvances(@ByVal CFRange range) { CGSize s = Struct.allocate(CGSize.class, (int)range.getLength()); getAdvances(range, s); return s.toArray((int) getGlyphCount()); } /**
public CFRange(@MachineSizedSInt long location, @MachineSizedSInt long length) { this.setLocation(location); this.setLength(length); } /*</constructors>*/
public byte[] getBytes() { int length = (int) getLength(); byte[] bytes = new byte[length]; getBytes(new CFRange(0, length), VM.getArrayValuesAddress(bytes)); return bytes; } /*<methods>*/
/** * @since Available in iOS 3.2 and later. */ public CGPoint[] getLineOrigins(CFRange range) { if (range == null) throw new NullPointerException("range"); int size = range.getLength() == 0 ? getLines().size() : (int)range.getLength(); if (size == 0) { return new CGPoint[0]; } CGPoint array = Struct.allocate(CGPoint.class, size); getLineOrigins(range, array); return array.toArray(size); } /*<methods>*/
public byte[] getBytes() { int length = (int) getCount(); byte[] bytes = new byte[length]; getBits(new CFRange(0, length), VM.getArrayValuesAddress(bytes)); return bytes; } /*<methods>*/
/** * @since Available in iOS 3.2 and later. */ public CGPoint[] getLineOrigins(CFRange range) { if (range == null) throw new NullPointerException("range"); int size = range.getLength() == 0 ? getLines().size() : (int)range.getLength(); if (size == 0) { return new CGPoint[0]; } CGPoint array = Struct.allocate(CGPoint.class, size); getLineOrigins(range, array); return array.toArray(size); } /*<methods>*/
@Override public String toString() { int len = (int) length(); if (len == 0) { return EMPTY_STRING; } char[] chars = new char[len]; getCharacters(getHandle(), new CFRange(0, len), VM.getArrayValuesAddress(chars)); return VM.newStringNoCopy(chars, 0, len); }
/** * @since Available in iOS 3.2 and later. */ public CGPoint[] getPositions(@ByVal CFRange range) { CGPoint p = Struct.allocate(CGPoint.class, (int)range.getLength()); getPositions(range, p); return p.toArray((int) getGlyphCount()); } /**