[Back to TEXTWNDW SWAG index] [Back to Main SWAG index] [Original]

    {
    I Write the following Procedure to shadow Text behind a box.  It works
    fine (so Far), but am not sure if there is a quicker, easier way.
    }

    Procedure Shadow(x, y, xlength, ylength : Byte);
    Var
      xshad,
      yshad : Word;
      i     : Byte;
    begin
      xlength := xlength shl 1;     { xlength * 2 }
      xshad := ((x*2)+(y*160)-162) + ((ylength+1) * 160) + 4;   { x coord }
      yshad := ((x*2)+(y*160)-162) + (xlength);                 { y coord }
      if Odd(Xshad) then Inc(XShad);            { we want attr not Char }
      if not Odd(YShad) then Inc(YShad);        { " }
      For i := 1 to xlength Do
        if Odd(i) then
          Mem[$B800:xshad+i] := 8;              { put x shadow }
      For i := 1 to ylength Do
      begin
        Mem[$B800:yshad+(i*160)] := 8;          { put y shadows }
        Mem[$B800:yshad+2+(i*160)] := 8
      end
    end;

[Back to TEXTWNDW SWAG index] [Back to Main SWAG index] [Original]