View Raw SPL
/* save image file */
simfname(fname)
{
local orgname, fn;
/* set default name to appear in dialog box */
if (argc > 0)
{
/* use input filename */
setvar("_sifname", fname);
setvar("_sipickdir", strrev(strfind(pathchar, strrev(_sifname))));
}
else
{
/* just define the variable */
defvar("_sifname", "");
}
/* define start directory if it doesn't already exist */
defvar("_sipickdir", "");
/* define overwrite mode */
defvar("_simmode", 0);
/* _pickfile_status == 1 if dialog was successful */
setvar("_pickfile_status", 0);
setvar("_simwin", sprintf("W%d", getwnum()));
/* remember original name */
orgname = _sifname;
/* invoke dialog box */
_mf("saveimg.pan");
if (_pickfile_status == 1) /* dialog was successful */
{
/* remember default directory */
setvar("_sipickdir", strrev(strfind(pathchar, strrev(_sifname))));
if (strlen(_sifname) > 0)
{
fn = sprintf('"%s"', _sifname);
eval(sprintf("Saveimage(%s, %s, %d)", fn, _simwin, _simmode));
}
}
else
{
/* reset to original name */
if (strlen(orgname) > 0)
{
setvar("_sifname", orgname);
}
}
}