package uk.co.mmscomputing.device.twain; public class TwainImageLayout implements TwainConstants{ /* DAT_IMAGELAYOUT. Provides image layout information in current units. typedef struct { TW_FRAME Frame; // Frame coords within larger document TW_UINT32 DocumentNumber; TW_UINT32 PageNumber; // Reset when you go to next document TW_UINT32 FrameNumber; // Reset when you go to next page } TW_IMAGELAYOUT, FAR * pTW_IMAGELAYOUT; // No DAT. Defines a frame rectangle in ICAP_UNITS coordinates. typedef struct { TW_FIX32 Left; TW_FIX32 Top; TW_FIX32 Right; TW_FIX32 Bottom; } TW_FRAME, FAR * pTW_FRAME; */ TwainSource source; byte[] buf=new byte[28]; // TW_IMAGELAYOUT public TwainImageLayout(TwainSource source){ this.source=source; } public void get()throws TwainIOException{ source.call(DG_IMAGE,DAT_IMAGELAYOUT,MSG_GET,buf); } public void getDefault()throws TwainIOException{ source.call(DG_IMAGE,DAT_IMAGELAYOUT,MSG_GETDEFAULT,buf); } public void set()throws TwainIOException{ source.call(DG_IMAGE,DAT_IMAGELAYOUT,MSG_SET,buf); } public void reset()throws TwainIOException{ source.call(DG_IMAGE,DAT_IMAGELAYOUT,MSG_RESET,buf); } public double getLeft(){ return jtwain.getFIX32(buf,0);} public void setLeft(double v){ jtwain.setFIX32(buf,0,v);} public double getTop(){ return jtwain.getFIX32(buf,4);} public void setTop(double v){ jtwain.setFIX32(buf,4,v);} public double getRight(){ return jtwain.getFIX32(buf,8);} public void setRight(double v){ jtwain.setFIX32(buf,8,v);} public double getBottom(){ return jtwain.getFIX32(buf,12);} public void setBottom(double v){ jtwain.setFIX32(buf,12,v);} public int getDocumentNumber(){ return jtwain.getINT32(buf,16);} public void setDocumentNumber(int v){jtwain.setINT32(buf,16,v);} public int getPageNumber(){ return jtwain.getINT32(buf,20);} public void setPageNumber(int v){ jtwain.setINT32(buf,20,v);} public int getFrameNumber(){ return jtwain.getINT32(buf,24);} public void setFrameNumber(int v){ jtwain.setINT32(buf,24,v);} public String toString(){ String s="TwainImageLayout\n"; s+="\tleft ="+getLeft()+"\n"; s+="\ttop ="+getTop()+"\n"; s+="\tright ="+getRight()+"\n"; s+="\tbottom ="+getBottom()+"\n"; s+="\tdocument number ="+getDocumentNumber()+"\n"; s+="\tpage number ="+getPageNumber()+"\n"; s+="\tframe number ="+getFrameNumber()+"\n"; return s; } }