float sizeX = mediaSizes[i][0] / 10.0f;
float sizeY = mediaSizes[i][1] / 10.0f;
if (sizeX > 0 && sizeY > 0) {
boolean standardFound = false;
for (int j = 0; j < mediaNames.length; j++) {
MediaSize mediaSize =
MediaSize.getMediaSizeForName(mediaNames[j]);
if (mediaSize != null &&
Math.abs(sizeX - mediaSize.getX(MediaSize.MM)) < 1 &&
Math.abs(sizeY - mediaSize.getY(MediaSize.MM)) < 1) {
standardFound = true;
if (!result.contains(mediaNames[j])) {
result.add(mediaNames[j]);
medias.put(mediaNames[j], new Integer(ids[i]));
/* TODO:
* Do we have to do this break? If not,
* all names of one size returned.
*/
break;
}
}
}
if (!standardFound) {
GDIMediaName name = new GDIMediaName(names[i],
NOT_STANDARD_MEDIA + i);
MediaSizeName sname = MediaSize.findMedia(sizeX, sizeY,
MediaSize.MM);
if (sname == null) {
MediaSize size = new MediaSize(sizeX, sizeY,
MediaSize.MM, name);
} else {
MediaSize size = MediaSize.getMediaSizeForName(sname);
if (size.getX(MediaSize.MM) != sizeX ||
size.getY(MediaSize.MM) != sizeY) {
MediaSize newSize = new MediaSize(sizeX, sizeY,
MediaSize.MM, name);
}
}
if (!result.contains(name)) {
result.add(name);