home *** CD-ROM | disk | FTP | other *** search
/ POINT Software Programming / PPROG1.ISO / c / fli106c / bllineat.cpp < prev    next >
C/C++ Source or Header  |  1992-03-11  |  1KB  |  56 lines

  1. //
  2. // The Fusion Library Interface for DOS
  3. // Version 1.06c
  4. // Copyright (C) 1990, 1991, 1992
  5. // Software Dimensions
  6. //
  7. // BlazeClass
  8. //
  9.  
  10. #ifndef __BCPLUSPLUS__
  11. #pragma inline
  12. #endif
  13.  
  14. #include "fli.h"
  15.  
  16. #ifdef __BCPLUSPLUS__
  17. #pragma hdrstop
  18. #endif
  19.  
  20. #define I asm
  21.  
  22. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  23. //
  24. // LineAttribute()
  25. //
  26. // Changes the attributes of a line to a specified color
  27. //
  28. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  29.  
  30. void BlazeClass::LineAttribute(int X,int Y,int Width,int Color)
  31. {
  32.   if (!Width || X>=WinWide || Y>=WinHigh)
  33.     return;
  34.  
  35.   int ScreenWidth = BlazeClass::QuickWidth;
  36.   int Locator = ((WinY+Y)*ScreenWidth)+((WinX+X)*2);
  37.  
  38.   if (X+Width>=WinWide)
  39.     Width=WinWide-X;
  40.  
  41.   void far *OUTPUT=BlazeClass::OUTPUT;
  42.   I les di,OUTPUT
  43.   I add di,Locator
  44.  
  45.   I inc di
  46.   I mov cx,Width
  47.   I mov al,byte ptr Color
  48.   I cld
  49.  
  50. looped:
  51.  
  52.   I stosb
  53.   I inc di
  54.   I loop looped
  55. }
  56.