home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / include / MotifApp / RGBController.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-17  |  2.0 KB  |  64 lines

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //////////////////////////////////////////////////////////////////////////////
  3. //         This example code is from the book:
  4. //
  5. //           Object-Oriented Programming with C++ and OSF/Motif
  6. //         by
  7. //           Douglas Young
  8. //           Prentice Hall, 1992
  9. //           ISBN 0-13-630252-1    
  10. //
  11. //         Copyright 1991 by Prentice Hall
  12. //         All Rights Reserved
  13. //
  14. //  Permission to use, copy, modify, and distribute this software for 
  15. //  any purpose except publication and without fee is hereby granted, provided 
  16. //  that the above copyright notice appear in all copies of the software.
  17. ///////////////////////////////////////////////////////////////////////////////
  18. //////////////////////////////////////////////////////////////////////////////
  19.  
  20.  
  21. ////////////////////////////////////////////////////////////
  22. // RGBController.C: Control the ColorModel
  23. /////////////////////////////////////////////////////////////
  24. #ifndef RGBCONTROLLER_H
  25. #define RGBCONTROLLER_H
  26. #include <Xm/Xm.h>
  27. #include "ColorView.h"
  28.  
  29. class ColorModel;
  30.  
  31. class RGBController : public ColorView {
  32.     
  33.   private:
  34.     
  35.     Widget _redSlider;      // XmScale widgets for each color component
  36.     Widget _greenSlider;
  37.     Widget _blueSlider;
  38.     
  39.     // Callbacks for when user moves any slider
  40.     
  41.     static void redChangedCallback ( Widget, XtPointer, XtPointer );
  42.     static void greenChangedCallback ( Widget, XtPointer, XtPointer );
  43.     static void blueChangedCallback ( Widget, XtPointer, XtPointer );
  44.     
  45.   protected:
  46.     
  47.     ColorModel *_model;    // ColorModel controlled by this object
  48.     
  49.     // Called when user moves sliders to change a color component
  50.     
  51.     virtual void  redChanged ( int );
  52.     virtual void  greenChanged ( int );
  53.     virtual void  blueChanged ( int );
  54.     
  55.   public:
  56.     
  57.     void update ( ColorModel * ); // Called when the ColorModel changes
  58.     
  59.     RGBController ( Widget , ColorModel *, char * );
  60.     
  61.     const char *const className() { return "RGBController";}
  62. };
  63. #endif
  64.