Ejemplo n.º 1
0
/* goto the bottom of the file */
static void filebot( PFT_DISPC dispc )
{
   if( ( dispc->buffbot + dispc->buffoffset ) < dispc->fsize && dispc->fsize > dispc->buffsize )
   {
      dispc->buffoffset = getblock( dispc, dispc->fsize + 1 );

      buff_align( dispc );
   }

   dispc->bRefresh = HB_TRUE;
   dispc->wintop   = ( int ) dispc->buffbot - 3;
   dispc->winrow   = dispc->eline;
   dispc->wincol   = 0;

   win_align( dispc );
}
Ejemplo n.º 2
0
/* go to the top of the file */
static void filetop( PFT_DISPC dispc )
{
   if( dispc->buffoffset != 0 )
   {
      dispc->buffoffset = getblock( dispc, 0 );

      buff_align( dispc );
   }

   dispc->bRefresh = HB_TRUE;
   dispc->wintop   = ( int ) dispc->buffoffset;
   dispc->winrow   = dispc->sline;
   dispc->wincol   = 0;

   win_align( dispc );
}
Ejemplo n.º 3
0
Archivo: dispc.c Proyecto: NaldoDj/core
static void windown( PFT_DISPC dispc )
{
   int        k;
   HB_FOFFSET i, j;

   dispc->bRefresh = HB_TRUE;
   k = dispc->winbot;

   while( dispc->buffer[ k ] != CR && k <= dispc->buffbot )
      k++;
   k += 2;

   if( k <= dispc->buffbot )
   {
      dispc->winbot = k;
      k = dispc->wintop;

      while( dispc->buffer[ k ] != CR )
         k++;
      dispc->wintop = k + 2;
   }
   else if( ( dispc->buffbot + dispc->buffoffset ) < dispc->fsize && dispc->fsize > dispc->buffsize )
   {
      i = dispc->buffoffset + dispc->wintop;
      j = i;

      if( j > dispc->fsize )
         j = dispc->fsize - dispc->buffsize;

      dispc->buffoffset = getblock( dispc, j );

      if( i < dispc->buffoffset )
         dispc->wintop = 0;
      else
         dispc->wintop = ( int ) ( i - dispc->buffoffset );

      buff_align( dispc );
      win_align( dispc );
   }
}
Ejemplo n.º 4
0
Archivo: dispc.c Proyecto: NaldoDj/core
static void winup( PFT_DISPC dispc )
{
   int        k;
   HB_FOFFSET i, j;

   dispc->bRefresh = HB_TRUE;
   k = dispc->wintop - 3;

   while( dispc->buffer[ k ] != CR && k > dispc->bufftop )
      k--;

   if( k >= dispc->bufftop )
   {
      if( dispc->buffer[ k ] == CR )
         k += 2;

      dispc->wintop = k;
      k = dispc->winbot - 3;

      while( dispc->buffer[ k ] != CR )
         k--;

      dispc->winbot = k + 2;
   }
   else if( dispc->bufftop + dispc->buffoffset > 0 && dispc->fsize > dispc->buffsize )
   {
      i = dispc->buffoffset + dispc->wintop;
      j = dispc->buffoffset - ( dispc->buffsize / 2 );

      if( j < 0 )
         j = 0;

      dispc->buffoffset = getblock( dispc, j );
      dispc->wintop     = ( int ) ( i - dispc->buffoffset );

      buff_align( dispc );
      win_align( dispc );
   }
}