home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / program / gempp15b / gemsl.man < prev    next >
Encoding:
Text File  |  1993-10-23  |  3.3 KB  |  107 lines

  1.                      GEM++ - C++ LIBRARIES FOR GEM/AES/VDI
  2.  
  3.  
  4.  
  5. NAME
  6.      GEMslider - Conventional GEM slider objects, with extensions.
  7.  
  8. DESCRIPTION
  9.      A GEMslider may be horizontal or vertical, or both.  A two-way
  10.      slider is often called a "panner".
  11.  
  12.      A GEMslider proportionally represents some "window" into some
  13.      larger object.  There is no actual larger object - that is
  14.      define by the class user.
  15.  
  16. CONSTRUCTORS
  17.      GEMslider(GEMform& f, int RSCknob, int RSCrack)
  18.        Create a GEMslider that allows the object with the RSC index
  19.        "knob" to slide within the object with the RSC index "rack".
  20.        Both objects are in the given GEMform.  Currently, the knob
  21.        must be a child of the rack.
  22.  
  23.      GEMslider(GEMform&, int RSCknob, int RSCrack, int RSCminus, int RSCplus)
  24.        Create a slider as above, but also specifying two other objects
  25.        that when clicked will advance the "window" by one "line" or
  26.        "column" in either direction.  The horizontal or vertical nature
  27.        of the slider is calculated from the dimensions of the knob
  28.        and rack.
  29.  
  30.      GEMslider(GEMform&, int RSCknob, int RSCrack,
  31.           int RSChminus, int RSChplus,
  32.           int RSCvminus, int RSCvplus)
  33.        Create a slider as above, but with both horizontal AND vertical
  34.        adjustors.
  35.  
  36. METHODS
  37.      virtual void Flush()
  38.        Cause all modifications by the below functions to take visual
  39.        effect.
  40.  
  41.      void SetVisibleLines(int noOfLines)
  42.      void SetVisibleColumns(int noOfColumns)
  43.        Set the size of the "window" in document units.
  44.        Document units are arbitrarily defined by the class user.
  45.  
  46.      void SetTotalLines(int noOfLines)
  47.      void SetTotalColumns(int noOfColumns)
  48.        Set the size of the document in document units.
  49.  
  50.      void SetTopLine(int noOfLine)
  51.      void SetLeftColumn(int noOfColumn)
  52.        Set the position of the "window" in the document in document units.
  53.  
  54.      int VisibleLines()
  55.      int VisibleColumns()
  56.        Return size of "window" in document units.
  57.  
  58.      int TopLine()
  59.      int LeftColumn()
  60.        Return position of "window" in document units.
  61.  
  62.      void ColumnLeft()
  63.      void ColumnRight()
  64.      void LineUp()
  65.      void LineDown()
  66.        Move the "window" by one document unit in any direction.
  67.      
  68.      void PageLeft()
  69.      void PageRight()
  70.      void PageUp()
  71.      void PageDown()
  72.        Move the "window" by a number document unit in any direction
  73.        equal to the current size of the "window".
  74.  
  75.      void GEMtoDOC()
  76.      void DOCtoGEM()
  77.        Flush object changes or changes by above methods without redraw.
  78.  
  79.      GEMfeedback Touch(int x, int y, const GEMevent&)
  80.        Overrides GEMobject::Touch() to implement the required action.
  81.  
  82. EXTENSION
  83.      By overriding the Flush() method, the class user may take
  84.      the TopLine/LeftColumn values and adjust some other display
  85.      accordingly.
  86.  
  87. SEE ALSO
  88.      GEMobject
  89.  
  90. BUGS
  91.      Bugs in GEM++ should be reported to warwick@cs.uq.oz.au
  92.  
  93. AUTHOR
  94.      Warwick Allison, 1993.
  95.      warwick@cs.uq.oz.au
  96.  
  97. COPYING
  98.      This functionality is part of the GEM++ library,
  99.      and is Copyright 1993 by Warwick W. Allison.
  100.  
  101.      GEM++ is free and protected under the GNU Library General Public
  102.      License.
  103.  
  104.      You are free to copy and modify these sources, provided you
  105.      acknowledge the origin by retaining this notice, and adhere to
  106.      the conditions described in the GNU LGPL.
  107.