11.07.2015 Views

Upgrade Guide - Prolifics

Upgrade Guide - Prolifics

Upgrade Guide - Prolifics

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Normally, a non-scrolling widget can hold as many occurrences of data as the displayallows. In character mode, this corresponds to the number of lines the widget occupiesonscreen. The data held in non-scrolling widgets is kept as part of the normal screendata structure. However, by setting the Scrolling property to Yes, you can enter anumber of occurrences that is equal to or greater than the number of visibleoccurrences.Because the amount of data kept in scrolling widgets can grow large, the data foroffscreen occurrences is managed separately from onscreen. Management of offscreendata is handled either by Panther's default scroll driver, or by a custom-written driver,which you can specify in the Alt Scroll Func property. If this property is left blank orthe name is invalid, Panther uses its own scroll driver.InstallationYou can bundle multiple scrolling drivers into a Panther application. Scrolling driversare installed in funclist.c in sm_do_uinstalls. Two types installations areimportant:! A default scrolling driver, used when an array does not specify which driver touse or the specified driver is not installed.! Installation of alternate drivers that are available in the executable.The definition and installation of the default driver in funclist.c looks like this:static struct fnc_data udfunc[] ={SM_OLDFNC("virtmem", sm_vmbscroll),};static int udcount =sizeof (udfunc) / sizeof (struct fnc_data);sm_install (DFLT_SCROLL_FUNC, udfunc, &udcount);The definition and installation of the list of drivers in funclist.c looks like:static struct fnc_data ufuncs[] ={SM_OLDFNC("virtmem", sm_vmbscroll),SM_OLDFNC("dosmem", sm_mbscroll),SM_OLDFNC("dummy", adummy),};A-2 JAM Documentation: Alternative Scrolling

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!