1195 sidesAttr = (Sides)attributes.get(Sides.class);
1196 if (!isSupportedValue(sidesAttr, attributes)) {
1197 sidesAttr = Sides.ONE_SIDED;
1198 }
1199
1200 printerResAttr = (PrinterResolution)attributes.get(PrinterResolution.class);
1201 if (service.isAttributeCategorySupported(PrinterResolution.class)) {
1202 if (!isSupportedValue(printerResAttr, attributes)) {
1203 printerResAttr = (PrinterResolution)
1204 service.getDefaultAttributeValue(PrinterResolution.class);
1205 }
1206 double xr =
1207 printerResAttr.getCrossFeedResolution(ResolutionSyntax.DPI);
1208 double yr = printerResAttr.getFeedResolution(ResolutionSyntax.DPI);
1209 setXYRes(xr, yr);
1210 }
1211
1212 pageRangesAttr = (PageRanges)attributes.get(PageRanges.class);
1213 if (!isSupportedValue(pageRangesAttr, attributes)) {
1214 pageRangesAttr = null;
1215 } else {
1216 if ((SunPageSelection)attributes.get(SunPageSelection.class)
1217 == SunPageSelection.RANGE) {
1218 // get to, from, min, max page ranges
1219 int[][] range = pageRangesAttr.getMembers();
1220 // setPageRanges uses 0-based indexing so we subtract 1
1221 setPageRange(range[0][0] - 1, range[0][1] - 1);
1222 } else {
1223 setPageRange(-1, - 1);
1224 }
1225 }
1226
1227 Copies copies = (Copies)attributes.get(Copies.class);
1228 if (isSupportedValue(copies, attributes) ||
1229 (!fidelity && copies != null)) {
1230 copiesAttr = copies.getValue();
1231 setCopies(copiesAttr);
1232 } else {
1233 copiesAttr = getCopies();
1234 }
|
1195 sidesAttr = (Sides)attributes.get(Sides.class);
1196 if (!isSupportedValue(sidesAttr, attributes)) {
1197 sidesAttr = Sides.ONE_SIDED;
1198 }
1199
1200 printerResAttr = (PrinterResolution)attributes.get(PrinterResolution.class);
1201 if (service.isAttributeCategorySupported(PrinterResolution.class)) {
1202 if (!isSupportedValue(printerResAttr, attributes)) {
1203 printerResAttr = (PrinterResolution)
1204 service.getDefaultAttributeValue(PrinterResolution.class);
1205 }
1206 double xr =
1207 printerResAttr.getCrossFeedResolution(ResolutionSyntax.DPI);
1208 double yr = printerResAttr.getFeedResolution(ResolutionSyntax.DPI);
1209 setXYRes(xr, yr);
1210 }
1211
1212 pageRangesAttr = (PageRanges)attributes.get(PageRanges.class);
1213 if (!isSupportedValue(pageRangesAttr, attributes)) {
1214 pageRangesAttr = null;
1215 setPageRange(-1, -1);
1216 } else {
1217 if ((SunPageSelection)attributes.get(SunPageSelection.class)
1218 == SunPageSelection.RANGE) {
1219 // get to, from, min, max page ranges
1220 int[][] range = pageRangesAttr.getMembers();
1221 // setPageRanges uses 0-based indexing so we subtract 1
1222 setPageRange(range[0][0] - 1, range[0][1] - 1);
1223 } else {
1224 setPageRange(-1, - 1);
1225 }
1226 }
1227
1228 Copies copies = (Copies)attributes.get(Copies.class);
1229 if (isSupportedValue(copies, attributes) ||
1230 (!fidelity && copies != null)) {
1231 copiesAttr = copies.getValue();
1232 setCopies(copiesAttr);
1233 } else {
1234 copiesAttr = getCopies();
1235 }
|