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

  1. //
  2. // The Fusion Library Interface for DOS
  3. // Version 1.06c
  4. // Copyright (C) 1990, 1991, 1992
  5. // Software Dimensions
  6. //
  7. // FusionWindow
  8. //
  9.  
  10. #include "fliwin.h"
  11.  
  12. #ifdef __BCPLUSPLUS__
  13. #pragma hdrstop
  14. #endif
  15.  
  16. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  17. //
  18. // RefreshWorkSpace()
  19. //
  20. // Refreshes the entire workspace
  21. //
  22. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  23.  
  24. void FusionWindow::RefreshWorkSpace()
  25. {
  26.   RemoveAllMenus();
  27.   Blaze.Window(0,0,Blaze.WhatWidth(),Blaze.WhatHeight());
  28.   Blaze.FreshWorkSpace();
  29.   SetMenuBar(0,0,Blaze.WhatWidth());
  30.   LastShift=KeyLast=500;
  31.   RefreshPromptLine();
  32.  
  33.   if (NumberOfWindows)
  34.   {
  35.     int Width=Blaze.WhatWidth();
  36.     int Height=Blaze.WhatHeight()-1;
  37.     for (int i=0;i<NumberOfWindows;i++)
  38.     {
  39.       WindowElement &Window=*Windows[i];
  40.       if (Window.X+Window.Width>Width)
  41.       {
  42.         if (Window.Width>Width)
  43.         {
  44.           Window.X=0;
  45.           Window.Width=Width;
  46.         }
  47.         else
  48.           Window.X=Width-Window.Width;
  49.       }
  50.       if (Window.Y+Window.Height>Height)
  51.       {
  52.         if (Window.Height>Height-1)
  53.         {
  54.           Window.Y=1;
  55.           Window.Height=Height-1;
  56.         }
  57.         else
  58.           Window.Y=Height-Window.Height;
  59.       }
  60.     }
  61.   }
  62.  
  63.   RefreshWindows();
  64.   MouseInControl=1;
  65.   if (NumberOfWindows)
  66.     Windows[0]->MouseInControl=1;
  67. }
  68.  
  69.