Try this one for EIOS.
http://nala.villavu.com/downloads/simba-prev/999b7e9b7c92108debe3691692fa7306942d26c8/My test script:
program EIOSTest;
procedure InitSmart();
var
version: integer; //version of this record
root, params: string; //Passed to SmartSetup
width, height: integer; //Passed to SmartSetup
initseq: string; //Passed to SmartSetup
maxmem: integer; //Max JVM mem in MB, -1 is default
jvmpath, useragent: string; //'' is the old defaults
begin
version:= 0;
root:= 'http://world15.runescape.com/';
params:= 'plugin.js?param=o0,a1,m0';
width:= 765;
height:= 503;
initseq:= 's';
maxmem:= -1; //use SMART's default
jvmpath:= ''; //use SMART's default
//jvmpath:= '/opt/icedtea-bin-6.1.11.3/jre/lib/amd64/server/libjvm.so'; //use SMART's default
useragent:= ''; //use SMART's default
SetEIOSTarget('libsmart',IntToStr(version)+',"'+root+'","'+params+'",'+IntToStr(width)+','+IntToStr(height)+',"'+initseq+'",'+IntToStr(maxmem)+',"'+jvmpath+'","'+useragent+'"');
end;
procedure foo;
var bmp: integer;
var oldcli, bmpcli: integer;
var w, h: integer;
begin
// Initial target size.
getclientdimensions(w,h);
writeln('w:', w, ' h:', h);
// Shrink it a bit.
imagesetclientarea(10, 10, w - 11, h - 11);
// Shrinked size
getclientdimensions(w,h);
writeln('w:', w, ' h:', h);
// Store current target
oldcli:= GetImageTarget();
writeln('oldcli: ', oldcli);
// Create bitmap from current (shrinked size)
bmp := BitmapFromClient(0, 0, w - 1, h -1);
// Set bitmap as target
SetTargetBitmap(bmp);
// Bitmap target ref
bmpcli := GetImageTarget();
writeln('bmpcli: ', bmpcli);
// Bitmap dimensions (same as shrinked)
getclientdimensions(w,h);
writeln('w:', w, ' h:', h);
// Shrink (bitmap target!) size
ImageSetClientArea(10, 10, 90, 90);
// New shrinked size
getclientdimensions(w,h);
writeln('w:', w, ' h:', h);
// Reset to bitmap size
ImageResetClientArea;
// Bitmap size
getclientdimensions(w,h);
writeln('w:', w, ' h:', h);
// Reset old target
SetImagetarget(oldcli);
// Free target + bmp
FreeTarget(bmpcli);
FreeBitmap(bmp);
// ``Shrinked a bit'' size
getclientdimensions(w,h);
writeln('w:', w, ' h:', h);
// Reset this target as well
ImageResetClientArea;
// Normal size
getclientdimensions(w,h);
writeln('w:', w, ' h:', h);
end;
procedure bar;
var bmp, w, h: integer;
begin
getclientdimensions(w,h);
writeln('w:', w, ' h:', h);
imagesetclientarea(40, 40, w-1, h-1);
getclientdimensions(w,h);
writeln('w:', w, ' h:', h);
bmp:=bitmapfromclient(0,0,w-1,h-1);
savebitmap(bmp, 'hello.png');
freebitmap(bmp);
imageresetclientarea;
end;
procedure quux;
var w, h: integer;
begin
getclientdimensions(w,h);
writeln('w:', w, ' h:', h);
mousesetclientarea(20, 20, w -1, h-1);
movemouse(10, 10);
mouseresetclientarea;
wait(1000);
movemouse(10, 10);
end;
begin
InitSmart();
//Now, all of Simba's functions use SMART as the target, no hacks.
//foo;
bar;
//quux;
end.