This is context.c in view mode; [Download] [Up]
#include "structures.h" #include "context.h" #include "external.h" #include <strings.h> extern void freepages(); void initialize_char_array() ; extern int debugon ; void save_context(DviContext *dc) { memcpy(dc->TeXfonts, TeXfonts, sizeof(dc->TeXfonts)) ; dc->TeXfontlist = TeXfontlist ; dc->fontlist = fontlist ; dc->curid = curid ; dc->landscape = landscape ; dc -> dvifile = dvifile ; memcpy(dc->Tbasename, Tbasename, sizeof(dc->Tbasename)) ; memcpy(dc->oldbasename, oldbasename, sizeof(dc->oldbasename)) ; memcpy(dc->LastFormat, LastFormat, sizeof(dc->LastFormat)) ; memcpy(dc->CustomFormat, CustomFormat, sizeof(dc->CustomFormat)) ; dc->curpos = curpos ; dc->thispage = thispage ; dc->rthispage = rthispage ; dc->prevpage = prevpage ; dc->pagenum = pagenum ; #ifdef DEBUG if (debugon > 2 ) { printf("saved pagenum as %i\n",pagenum); } #endif dc->seq = seq ; dc->conv = conv ; dc->pxlconv = pxlconv ; dc->iconv = iconv ; dc->vconv = vconv ; dc->viconv = viconv ; dc->alpha = alpha ; dc->mag = mag ; dc->screendpi = screendpi ; dc->hh = hh ; dc->vv = vv ; dc->fnt = fnt ; dc->curfnt = curfnt ; memcpy(dc->frames, frames, sizeof(dc->frames)) ; dc->virpos = virpos ; dc->virlim = virlim ; dc->ffont = ffont ; dc->hhoffset = hhoffset ; dc->vvoffset = vvoffset ; dc->hhmin = hhmin ; dc->hhmax = hhmax ; dc->vvmin = vvmin ; dc->vvmax = vvmax ; dc->hsize = hsize ; dc->vsize = vsize ; dc->hmarg = hmarg ; dc->vmarg = vmarg ; dc->hhsize = hhsize ; dc->vvsize = vvsize ; dc->hhmarg = hhmarg ; dc->vvmarg = vvmarg ; dc->rhhsize = rhhsize ; dc->rvvsize = rvvsize ; dc->rhhmarg = rhhmarg ; dc->rvvmarg = rvvmarg ; dc->hbody = hbody ; dc->vbody = vbody ; dc->hpos = hpos ; dc->vpos = vpos ; dc->hpot = hpot ; dc->vpot = vpot ; dc->vscreen = vscreen ; dc->vwindow = vwindow ; dc->vwindowheight = vwindowheight ; dc->hwindow = hwindow ; dc->hwindowwidth = hwindowwidth ; dc->dvimag = dvimag ; dc->num = num ; dc->den = den ; dc->memalloc = memalloc ; dc->numalloc = numalloc ; dc->pageinterrupted = pageinterrupted ; dc->messagebit = messagebit ; dc->borderson = borderson ; dc->dualpage = dualpage ; dc->orientationset = orientationset ; dc->reopenscreen = reopenscreen ; dc->vscreenheight = vscreenheight ; dc->interlaceon = interlaceon ; dc->first = first ; dc->x = x ; dc->y = y ; dc->tracking = tracking ; dc->zoomed = zoomed ; dc->mocked = mocked ; memcpy(dc->realname, realname, sizeof(dc->realname)) ; memcpy(dc->safebuf, safebuf, sizeof(dc->safebuf)) ; memcpy(dc->filenamebuf, filenamebuf, sizeof(dc->filenamebuf)) ; dc->redrawbars = redrawbars ; dc->turnitoff = turnitoff ; dc->nloc = nloc ; dc->spage = spage ; dc->sno = sno ; dc->redrawpage = redrawpage ; dc->rowsize = rowsize ; dc->colsize = colsize ; dc->autofront = autofront ; dc->autoactivate = autoactivate ; dc->actualdpi = actualdpi ; dc->pages = pages ; dc->last = last ; dc->currentpage = currentpage; dc->ht_highlight = ht_highlight ; dc->ht_last_page = ht_last_page ; dc->last_pagenum = last_pagenum ; dc->lasthh = lasthh ; dc->lastvv = lastvv ; dc->last_thing = last_thing; dc->last_string = last_string; } void get_context(DviContext *dc) { memcpy(TeXfonts, dc->TeXfonts, sizeof(dc->TeXfonts)) ; TeXfontlist = dc->TeXfontlist ; fontlist = dc->fontlist ; curid = dc->curid ; landscape = dc->landscape ; dvifile = dc->dvifile ; memcpy(Tbasename, dc->Tbasename, sizeof(dc->Tbasename)) ; memcpy(oldbasename, dc->oldbasename, sizeof(dc->oldbasename)) ; memcpy(LastFormat, dc->LastFormat, sizeof(dc->LastFormat)) ; memcpy(CustomFormat, dc->CustomFormat, sizeof(dc->CustomFormat)) ; curpos = dc->curpos ; thispage = dc->thispage ; rthispage = dc->rthispage ; prevpage = dc->prevpage ; pagenum = dc->pagenum ; seq = dc->seq ; conv = dc->conv ; pxlconv = dc->pxlconv ; iconv = dc->iconv ; vconv = dc->vconv ; viconv = dc->viconv ; alpha = dc->alpha ; mag = dc->mag ; screendpi = dc->screendpi ; hh = dc->hh ; vv = dc->vv ; fnt = dc->fnt ; curfnt = dc->curfnt ; memcpy(frames, dc->frames, sizeof(dc->frames)) ; virpos = dc->virpos ; virlim = dc->virlim ; ffont = dc->ffont ; hhoffset = dc->hhoffset ; vvoffset = dc->vvoffset ; hhmin = dc->hhmin ; hhmax = dc->hhmax ; vvmin = dc->vvmin ; vvmax = dc->vvmax ; hsize = dc->hsize ; vsize = dc->vsize ; hmarg = dc->hmarg ; vmarg = dc->vmarg ; hhsize = dc->hhsize ; vvsize = dc->vvsize ; hhmarg = dc->hhmarg ; vvmarg = dc->vvmarg ; rhhsize = dc->rhhsize ; rvvsize = dc->rvvsize ; rhhmarg = dc->rhhmarg ; rvvmarg = dc->rvvmarg ; hbody = dc->hbody ; vbody = dc->vbody ; hpos = dc->hpos ; vpos = dc->vpos ; hpot = dc->hpot ; vpot = dc->vpot ; vscreen = dc->vscreen ; vwindow = dc->vwindow ; vwindowheight = dc->vwindowheight ; hwindow = dc->hwindow ; hwindowwidth = dc->hwindowwidth ; dvimag = dc->dvimag ; num = dc->num ; den = dc->den ; memalloc = dc->memalloc ; numalloc = dc->numalloc ; pageinterrupted = dc->pageinterrupted ; messagebit = dc->messagebit ; borderson = dc->borderson ; dualpage = dc->dualpage ; orientationset = dc->orientationset ; reopenscreen = dc->reopenscreen ; vscreenheight = dc->vscreenheight ; interlaceon = dc->interlaceon ; first = dc->first ; x = dc->x ; y = dc->y ; tracking = dc->tracking ; zoomed = dc->zoomed ; mocked = dc->mocked ; memcpy(realname, dc->realname, sizeof(dc->realname)) ; memcpy(safebuf, dc->safebuf, sizeof(dc->safebuf)) ; memcpy(filenamebuf, dc->filenamebuf, sizeof(dc->filenamebuf)) ; redrawbars = dc->redrawbars ; turnitoff = dc->turnitoff ; nloc = dc->nloc ; spage = dc->spage ; sno = dc->sno ; redrawpage = dc->redrawpage ; rowsize = dc->rowsize ; colsize = dc->colsize ; autofront = dc->autofront ; autoactivate = dc->autoactivate ; actualdpi = dc->actualdpi ; pages = dc->pages ; last = dc->last ; currentpage = dc->currentpage ; ht_highlight = dc->ht_highlight ; ht_last_page = dc->ht_last_page ; last_pagenum = dc->last_pagenum ; lasthh = dc->lasthh ; lastvv = dc->lastvv ; last_thing = dc->last_thing; last_string = dc->last_string; } void clear_context(void) { /* Clear a context */ int i ; // Leave this for fontint() //TeXfontdesctype *tft ; //for (i=0; i<256; i++) // if (tft = TeXfonts[i]) // TeXfonts[i] = NULL ; // tft->loaded = 0 ; TeXfontlist = NULL ; fontlist = NULL ; curid = 0; landscape = 0 ; dvifile = NULL ; initialize_char_array(Tbasename, 100) ; initialize_char_array(oldbasename, 100) ; initialize_char_array(LastFormat, 100) ; initialize_char_array(CustomFormat, 100) ; curpos = 0 ; thispage = 0 ; rthispage = 0 ; prevpage = 0 ; pagenum = 0 ; seq = 0 ; conv = 0 ; pxlconv = 0 ; iconv = 0 ; vconv = 0 ; viconv = 0 ; alpha = 0 ; mag = 0 ; screendpi = 83.0 ; /* Change this to read the default preference */ hh = 0 ; vv = 0 ; fnt = 0 ; curfnt = 0 ; for (i=0; i<MAXFRAME; i++) { frames[i].curp = NULL; frames[i].curl = NULL; frames[i].tfnt = NULL; frames[i].curf = NULL; frames[i].ff = NULL; } virpos = 0 ; virlim = 0 ; ffont = NULL ; hhoffset = 0 ; vvoffset = 0 ; hhmin = 0 ; hhmax = 0; vvmin = 0 ; vvmax = 0 ; hsize = 0 ; vsize = 0 ; hmarg = 0 ; vmarg = 0 ; hhsize = 8.5 ; vvsize = 11.0 ; hhmarg = 1.0 ; vvmarg = 1.0 ; rhhsize = 0 ; rvvsize = 0 ; rhhmarg = 0 ; rvvmarg = 0 ; hbody = 0 ; vbody = 0 ; hpos = 0 ; vpos = 0 ; hpot = 32768 ; vpot = 0 ; vscreen = 380 ; vwindow = 0 ; vwindowheight = 0 ; hwindow = 0 ; hwindowwidth = 0 ; dvimag = 0 ; num = 0 ; den = 0 ; memalloc = 0 ; numalloc = 0 ; pageinterrupted = 0 ; messagebit = 0 ; borderson = 1 ; dualpage = 0 ; orientationset = 0 ; reopenscreen = 0 ; vscreenheight = 400 ; interlaceon = 1 ; first = 0 ; x = 0 ; y = 0 ; tracking = 0 ; zoomed = 0 ; mocked = 0 ; initialize_char_array(realname, 200) ; initialize_char_array(safebuf, 200) ; initialize_char_array(filenamebuf, 200) ; redrawbars = 0 ; turnitoff = 0 ; nloc = 0 ; spage = 0 ; sno = 0 ; redrawpage = 0 ; rowsize = 0 ; colsize = 0 ; autofront = 1 ; autoactivate = 0 ; actualdpi = 100 ; pages = NULL ; last = NULL ; currentpage = NULL ; ht_highlight = 0 ; ht_last_page = 0 ; last_pagenum = 0 ; lasthh = 0 ; lastvv = 0 ; last_thing = 0 ; last_string = NULL ; } void initialize_char_array(char *start, int length) { char *c = start ; int i ; for(i = 0; i < length; i++) *(c+i) = '\0' ; } void print_context() /* Useful debugging tool */ { // TeXfontdesctype *tft ; //for (i=0; i<256; i++) //if (tft = TeXfonts[i]) // TeXfonts[i] = NULL ; //TeXfonts[0] = dc->TeXfonts[0] ; printf("TeXfontlist=%p\n", TeXfontlist) ; printf("fontlist=%p\n", fontlist) ; printf("curid = %i\n", curid) ; printf("dvifile = %p\n", dvifile) ; //initialize_char_array(Tbasename, 100) ; //initialize_char_array(oldbasename, 100) ; //initialize_char_array(LastFormat, 100) ; //initialize_char_array(CustomFormat, 100) ; printf("thispage = %d\n", thispage) ; printf("rthispage = %d\n", rthispage) ; printf("prevpage = %d\n", prevpage) ; printf("pagenum = %d\n", pagenum) ; printf("curpos = %d\n", curpos) ; printf("curpos = %d\n", curpos) ; //seq = 0 ; //conv = 0 ; //pxlconv = 0 ; //iconv = 0 ; //vconv = 0 ; //viconv = 0 ; //alpha = 0 ; //mag = 0 ; screendpi = 83.0 ; /* Change this to read the default preference */ //hh = 0 ; //vv = 0 ; //fnt = 0 ; //curfnt = 0 ; //for (i=0; i<MAXFRAME; i++) { // frames[i].curp = NULL; // frames[i].curl = NULL; // frames[i].tfnt = NULL; // frames[i].curf = NULL; // frames[i].ff = NULL; // } //frames[0] = dc->frames[0] ; //virpos = 0 ; //virlim = 0 ; //ffont = NULL ; //hhoffset = 0 ; //vvoffset = 0 ; //hhmin = 0 ; //hhmax = 0; //vvmin = 0 ; //vvmax = 0 ; //hsize = 0 ; //vsize = 0 ; //hmarg = 0 ; //vmarg = 0 ; //hhsize = 8.5 ; //vvsize = 11.0 ; //hhmarg = 1.0 ; //vvmarg = 1.0 ; //rhhsize = 0 ; //rvvsize = 0 ; //rhhmarg = 0 ; //rvvmarg = 0 ; //hbody = 0 ; //vbody = 0 ; //hpos = 0 ; //vpos = 0 ; //hpot = 32768 ; //vpot = 0 ; //vscreen = 380 ; //vwindow = 0 ; //vwindowheight = 0 ; //hwindow = 0 ; //hwindowwidth = 0 ; //dvimag = 0 ; //num = 0 ; //den = 0 ; //memalloc = 0 ; //numalloc = 0 ; //pageinterrupted = 0 ; //messagebit = 0 ; //borderson = 1 ; //dualpage = 0 ; //orientationset = 0 ; //reopenscreen = 0 ; //vscreenheight = 400 ; //interlaceon = 1 ; //first = 0 ; //x = 0 ; //y = 0 ; //tracking = 0 ; //zoomed = 0 ; //mocked = 0 ; //realname[0] = dc->realname[0] ; //initialize_char_array(realname, 200) ; //safebuf[0] = dc->safebuf[0] ; //initialize_char_array(safebuf, 200) ; //filenamebuf[0] = dc->filenamebuf[0] ; //initialize_char_array(filenamebuf, 200) ; //redrawbars = 0 ; //turnitoff = 0 ; //nloc = 0 ; //spage = 0 ; //sno = 0 ; //redrawpage = 0 ; //rowsize = 0 ; //colsize = 0 ; //autofront = 1 ; //autoactivate = 0 ; //actualdpi = 100 ; //freepages() ; printf("pages = %p\n", pages) ; printf("last = %p\n", last) ; printf("currentpage = %p\n", currentpage) ; //printf("in clear_context: %p\n", (void *)pages); //curid = 0 ; //ht_highlight = 0 ; //ht_highlight_tag = nil ; //ht_last_page = 0 ; //ht_last_clicked = nil ; //last_pagenum = 0 ; //lasthh = 0 ; //lastvv = 0 ; //last_thing = 0 ; //last_string = NULL ; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.