- perform scanning in a thread
- change the label of the scan button
- trigger cancel with the same button and with the ESC key
- process all GUI updates in asynchronous mode.
Do not use a top window as parent of popups:
- If a top window goes away in an application with multiple instances of
XInsaneWidget, any call to a scanner widget leads to a crash.
Minor changes.
Place one or multiple stamps on scanned pages in defined locations.
A stamp is understood here as
- a transparent text in a transparent frame with no borders
- an opaque text on an opaque background with no borders.
Stamp parameters:
- text
- font
- foreground colour
- background colour
- angle of rotation
- transparency.
Locations:
- centre
- cardinal directions
- inter-cardinal directions.
A v4l device may become unusable after the first capture (its child source
item may have been faked by libinsane if it had none).
Real scanners sustain both situations so far, i.e., whether the child source
is explicitly closed or not.