On Sat, Apr 13, 2002 at 01:38:11PM +0200, Oliver Rauch wrote: > I suggest not to do such things in a backend. > If we put it into a backend then we have a lot of > duplicate work that is not necessary.
In principal I agree, but the ideal (I think) that we're aiming for here is to avoid having the user manually select physical scan areas that are known in advance for the hardware. I'm thinking here about the cheap flatbeds with adapters, not manual or motor-assist dedicated negative scanners. If you put a photo on a flatbed then obviously you're going to have to select the area containing the photo, or rely on the (good but not always 100% accurate) auto-selection from a frontend like XSane. But when you put slides in a fixed mounting and insert them, the location of those slides IS known a priori and it would be nice to be able to tell a smarter-than-average frontend like XSane about this. So far as I recall the "State of the art" is recognising the presence of the adapter (either by user input or in software) and setting the SANE max scan area to the extent of the adapter. That's nice, but users would like to say "Scan slides 2, 4 and 6 to separate files" instead of manually selecting each slide. How about backends use the normal SANE mechanisms to say to the frontend not only "Total scan area is 0.0,0.0 - 2.5,15.0" but also "Scan region 1 = 0.1,0.1 - 2.4,3.0", "Scan region 2 = ...." This is invisible to existing frontends (well, it will appear in the Advanced dialog) but newer frontends could read it as a list of preset scan regions to offer to the user. In addition frontends could save local presets on a per-scanner basis, so that users can have their own presets for e.g. "Proof-sized comic page". Does that sound like a reasonable plan? I don't think we can push all the functionality into the frontend because it just doesn't know as much about the hardware as the backend in most cases. If the idea for backends to suggest scan regions works then it can be set in stone in a future version of the SANE paper standard. Nick.
