A3DDllSetCallbacksProgress

A3DStatus A3DDllSetCallbacksProgress(A3DCallbackProgressStart, A3DCallbackProgressSize, A3DCallbackProgressIncrement, A3DCallbackProgressEnd, A3DCallbackProgressTitle, A3DInt32*)

Sets callbacks for progress bar facility.

This function configures the library with the callback functions that implement a custom progress indicator, such as a status bar.

The last argument passed to this function sets a break. The library checks this variable at every significant step in processing the PRC. If the value is non-zero, the library stops processing the PRC data.

2.0

The library stops processing the PRC data if the last argument passed to this function is non-zero.

Sample code

A3DVoidmy_start(A3DInt32iType){_tprintf(_T("STARTINGPROCESS#%d"),iType);fflush(stdout);}
staticA3DInt32stiSize=0;
A3DVoidmy_size(A3DInt32iSize){stiSize=iSize;}
A3DVoidmy_increment(A3DInt32i){_tprintf(_T("PROCESS%d/%d"),i,stiSize);fflush(stdout);}
A3DVoidmy_end(){stiSize=0;}
A3DVoidmy_title(A3DUTF8Char*msg)
{
#ifdef_MSC_VER
A3DUniCharacUTF16FileName[MAX_PATH*4];
A3DMiscUTF8ToUTF16(msg,acUTF16FileName);
_tprintf(_T("CURRENTFILE%s\n"),acUTF16FileName);
#else
_tprintf(_T("CURRENTFILE%s\n"),msg);
#endif
fflush(stdout);
}

A3DInt32iErr=A3D_SUCCESS;
A3DInt32iMajorVersion,iMinorVersion=0;
A3DInt32my_break=0;

iErr=A3DDllGetVersion(&iMajorVersion,&iMinorVersion);
iErr=A3DDllInitialize(A3D_DLL_MAJORVERSION,A3D_DLL_MAJORVERSION);
if(iErr==A3D_SUCCESS)
{
iErr=A3DDllSetCallbacksProgress(my_start,my_size,my_increment,my_end,my_title,&my_break);
iErr=A3DDllTerminate();
}

Returns

A3D_SUCCESSon success, or an error code on failure