home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / freedraft.tar.gz / freedraft.tar / FREEdraft-050298 / CORE / selection.h < prev    next >
C/C++ Source or Header  |  1998-04-29  |  2KB  |  55 lines

  1. // selection.h
  2.  
  3.  
  4. // Copyright (C) 1997  Cliff Johnson                                       //
  5. //                                                                         //
  6. // This program is free software; you can redistribute it and/or           //
  7. // modify it under the terms of the GNU  General Public                    //
  8. // License as published by the Free Software Foundation; either            //
  9. // version 2 of the License, or (at your option) any later version.        //
  10. //                                                                         //
  11. // This software is distributed in the hope that it will be useful,        //
  12. // but WITHOUT ANY WARRANTY; without even the implied warranty of          //
  13. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU       //
  14. // General Public License for more details.                                //
  15. //                                                                         //
  16. // You should have received a copy of the GNU General Public License       //
  17. // along with this software (see COPYING); if not, write to the        //
  18. // Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. //
  19.  
  20.  
  21. #ifndef SELECTION_H
  22. #define SELECTION_H
  23.  
  24. #include <point.h>     //HASA
  25. #include <handle.h>    //HASA
  26. #include <iostream.h>
  27.  
  28. class Selection
  29. {
  30. private:
  31.     Handle handle;
  32.     Point point;
  33.     int button;
  34. public:
  35.     Selection() {}
  36.     Selection(const Handle& h, const Point& p, int button = 1);
  37.  
  38.     Selection(const Selection& s);
  39.     Selection& operator=(const Selection& s);
  40.  
  41.     Point GetPoint() const { return point; }
  42.     Handle GetHandle() const { return handle; }
  43.     int Button() const { return button; }
  44.     
  45.     friend bool operator==(const Selection& s1, const Selection& s2);
  46.  
  47.     const Geom* PointsAt() const { return handle.PointsAt(); }
  48.     int Type() const { return handle.Type(); }
  49.  
  50.     friend ostream& operator<<(ostream& os, const Selection& s);
  51. };
  52.  
  53.  
  54. #endif
  55.