void VWL_EraseCursor (void) { VW_MemToScreen(cursorsave,cursorspot,cursorwidth,cursorheight); VW_MarkUpdateBlock ((cursorx+pansx)&SCREENXMASK,cursory+pansy, ( (cursorx+pansx)&SCREENXMASK)+cursorwidth*SCREENXDIV-1, cursory+pansy+cursorheight-1); }
/////////////////////////////////////////////////////////////////////////// // // US_RestoreSaveWindow() - Restores the background of the size of the // current window from the memory specified by save // /////////////////////////////////////////////////////////////////////////// void US_RestoreSaveWindow(memptr *save) { word screen; screen = bufferofs + panadjust + ylookup[WindowY] + (WindowX * CHARWIDTH); VW_MemToScreen(*save,screen,WindowW * CHARWIDTH,WindowH); MM_FreePtr(save); }
void VW_DrawPic(id0_unsigned_t x, id0_unsigned_t y, id0_unsigned_t chunknum) { id0_int_t picnum = chunknum - STARTPICS; memptr source; id0_unsigned_t dest,width,height; source = grsegs[chunknum]; dest = ylookup[y]+x+bufferofs; width = pictable[picnum].width; height = pictable[picnum].height; VW_MemToScreen(source,dest,width,height); }
void VWB_DrawPic (id0_int_t x, id0_int_t y, id0_int_t chunknum) { // mostly copied from drawpic id0_int_t picnum = chunknum - STARTPICS; memptr source; id0_unsigned_t dest,width,height; x+=pansx; y+=pansy; x/= SCREENXDIV; source = grsegs[chunknum]; dest = ylookup[y]+x+bufferofs; width = pictable[picnum].width; height = pictable[picnum].height; if (VW_MarkUpdateBlock (x*SCREENXDIV,y,(x+width)*SCREENXDIV-1,y+height-1)) VW_MemToScreen(source,dest,width,height); }