home *** CD-ROM | disk | FTP | other *** search
/ POINT Software Programming / PPROG1.ISO / c / fli106c / blgotoxy.cpp < prev    next >
C/C++ Source or Header  |  1992-03-11  |  2KB  |  85 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. // GotoXY()
  25. //
  26. // Moves the hardware cursor to a new position on the screen
  27. //
  28. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  29.  
  30. void BlazeClass::GotoXY(int X,int Y)
  31. {
  32.   I mov dx,X
  33.   I mov ax,Y
  34.   I mov dh,al
  35.   I xor bh,bh
  36.   I mov ah,2
  37.   I int 10h
  38. }
  39.  
  40. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  41. //
  42. // WindowGotoXY()
  43. //
  44. // Moves the hardware cursor to a new position within the window
  45. //
  46. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  47.  
  48. void BlazeClass::WindowGotoXY(int X,int Y)
  49. {
  50.   int _X=WinX+X;
  51.   int _Y=WinY+Y;
  52.  
  53.   if (_X>=WinX+WinWide)
  54.     _X=(WinX+WinWide)-1;
  55.  
  56.   if (_Y>=WinY+WinHigh)
  57.     _Y=(WinY+WinHigh)-1;
  58.  
  59.   I mov dx,_X
  60.   I mov ax,_Y
  61.   I mov dh,al
  62.   I xor bh,bh
  63.   I mov ah,2
  64.   I int 10h
  65. }
  66.  
  67. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  68. //
  69. // () operator
  70. //
  71. // Moves the Output or Blaze cursor to a new position
  72. //
  73. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  74.  
  75. BlazeClass& BlazeClass::operator() (int X,int Y)
  76. {
  77.   if (X<0 || Y<0)
  78.     return *this;
  79.  
  80.   BlazeClass::X=X;
  81.   BlazeClass::Y=Y;
  82.  
  83.   return *this;
  84. }
  85.