length path $ 60;
FSEINIT:
/* Assign a variable to the directory containing */
/* image files. */
path="directory-name";
/* Assign an identifier to the image. */
img_id=picopen(1);
/* Was the identifier assigned successfully? */
if (img_id=0) then
do;
_msg_="Image startup error";
return;
end;
control term;
return;
INIT:
/* Initialize image variable. */
image="";
/* Initialize the region identifier. */
reg_id=0;
/* Does the entry have a value for STYLE? */
if (style ne "") then
do;
/* Build possible names for the image file. */
/* Filename has .tif extension. */
filet=path||lowcase(style)||".tif";
/* Filename has .gif extension. */
fileg=path||lowcase(style)||".gif";
/* Image is in IMAGE entry. */
filec="bolt.images."||style||".image";
/* If the .tif file exists, specify TIFF */
/* format in LNAMEMK. */
if (fileexist(filet)) then
img_path=lnamemk(1,filet,"format=tiff");
else
do;
/* If the .gif file exists, specify GIF */
/* format in LNAMEMK. */
if (fileexist(fileg)) then
img_path=lnamemk(1,fileg,"format=gif");
else
do;
/* If the image entry exists, */
/* specify CAT format in LNAMEMK. */
if (cexist(filec)) then
img_path=lnamemk(5,filec,"format=cat");
end;
end;
if ( image ne "" ) then
reg_id=picfill(img_id,"image",1,50,20,73,
img_path);
end;
return;
MAIN:
return;
TERM:
/* Remove the image from the region in the screen. */
if (reg_id ne 0 and img_id ne 0) then
rc=picdelete(img_id,reg_id);
return;
FSETERM:
if (img_id ne 0) then
rc=picclose(img_id);
return;