(TextRoi roi)
| 370 | } |
| 371 | |
| 372 | void saveTextRoi(TextRoi roi) { |
| 373 | Font font = roi.getCurrentFont(); |
| 374 | String fontName = font.getName(); |
| 375 | int size = font.getSize(); |
| 376 | int drawStringMode = roi.getDrawStringMode()?1024:0; |
| 377 | int style = font.getStyle() + roi.getJustification()*256+drawStringMode; |
| 378 | String text = roi.getText(); |
| 379 | float angle = (float)roi.getAngle(); |
| 380 | int angleLength = 4; |
| 381 | int fontNameLength = fontName.length(); |
| 382 | int textLength = text.length(); |
| 383 | int textRoiDataLength = 16+fontNameLength*2+textLength*2 + angleLength; |
| 384 | byte[] data2 = new byte[HEADER_SIZE+HEADER2_SIZE+textRoiDataLength+roiNameSize+roiPropsSize]; |
| 385 | System.arraycopy(data, 0, data2, 0, HEADER_SIZE); |
| 386 | data = data2; |
| 387 | putShort(RoiDecoder.SUBTYPE, RoiDecoder.TEXT); |
| 388 | putInt(HEADER_SIZE, size); |
| 389 | putInt(HEADER_SIZE+4, style); |
| 390 | putInt(HEADER_SIZE+8, fontNameLength); |
| 391 | putInt(HEADER_SIZE+12, textLength); |
| 392 | for (int i=0; i<fontNameLength; i++) |
| 393 | putShort(HEADER_SIZE+16+i*2, fontName.charAt(i)); |
| 394 | for (int i=0; i<textLength; i++) |
| 395 | putShort(HEADER_SIZE+16+fontNameLength*2+i*2, text.charAt(i)); |
| 396 | int hdr2Offset = HEADER_SIZE+textRoiDataLength; |
| 397 | //ij.IJ.log("saveTextRoi: "+HEADER_SIZE+" "+textRoiDataLength+" "+fontNameLength+" "+textLength); |
| 398 | putFloat(hdr2Offset-angleLength, angle); |
| 399 | putHeader2(roi, hdr2Offset); |
| 400 | } |
| 401 | |
| 402 | private int saveImageRoi(ImageRoi roi, int options) { |
| 403 | byte[] bytes = roi.getSerializedImage(); |
no test coverage detected