home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / C / MPP400 / MOUSE.HIS < prev    next >
Text File  |  1992-10-07  |  5KB  |  148 lines

  1.  
  2.                        Mouse++ Revision History
  3.  
  4.                   Copyright (c)1992 by Carl Moreland
  5.                                10/05/92
  6.  
  7. -----------------------------------------------------------------------
  8.  
  9. Version 4.0
  10.  
  11. - Now supports hold-and-repeat for mouse buttons. A repeat delay,
  12.   repeat rate, and button mask can be set; any valid mouse button that
  13.   is held down longer than the repeat delay will generate PRESSED
  14.   events at the repeat rate. Support functions are:
  15.  
  16.   SetRepeatRate()    sets the mask, delay & rate
  17.  
  18. - New EventHandler class makes creating and swapping event handlers a
  19.   little easier. Support functions are:
  20.  
  21.   InstallHandler()    now accepts an EventHandler object
  22.  
  23. - New ColorGraphicsCursors - these are defined by a background mask and
  24.   masks for the four video bit planes. CGC's are currently supported
  25.   only for 640x350x16 EGA & 640x480x16 VGA. All routines related to
  26.   drawing the cursor are located in cgc.cpp. These routines are written
  27.   entirely in C++ and contain no assembly. Therefore, they are not the
  28.   fastest in the world, but my intention was to show how the algorithm
  29.   works and just get the basics working. The best solution to drawing
  30.   CGC's is to use the bitblt routines that come with whatever graphics
  31.   library you are using. Support functions are:
  32.  
  33.   SetCursor()        accepts a ColorGraphicsCursor
  34.  
  35. - All cursors are now set up via a class constructor instead of simply
  36.   declaring the structure contents. The CGC's require the constructor,
  37.   therefore the text & graphics cursors were converted to use construc-
  38.   tors for uniformity. Graphics cursors now require a width & height
  39.   (in pixels) in the constructor. These are used in Exclude() for turn-
  40.   ing off the cursor. See cursor.h for examples.
  41.  
  42. - MultiClick detection can now handle multiple button multiclicks. The
  43.   Repeater cannot handle multiple button repeats, and will give the
  44.   left button first priority, right button second priority, and the
  45.   center button last priority.
  46.  
  47. - Misc. internal improvements made to the mouse class and event hand-
  48.   ler. Additions are:
  49.  
  50.   x()            same as xPos()
  51.   y()            same as yPos()
  52.   xyLimit()        sets both x & y-limits in one function call
  53.   LB_EVENT        same as (LB_PRESSED|LB_RELEASED)
  54.   RB_EVENT        same as (RB_PRESSED|RB_RELEASED)
  55.   CB_EVENT        same as (CB_PRESSED|CB_RELEASED)
  56.   MB_PRESSED        same as (LB_PRESSED|RB_PRESSED|CB_PRESSED)
  57.   MB_RELEASED        same as (LB_RELEASED|RB_RELEASED|CB_RELEASED)
  58.   MB_EVENT        same as (MB_PRESSED|MB_RELEASED)
  59.  
  60. -----------------------------------------------------------------------
  61.  
  62. Version 3.1
  63.  
  64. - Support for multiple video pages added. New functions are:
  65.  
  66.   GetVideoPage()    gets the video page that the cursor is dis-
  67.             played on
  68.   SetVideoPage()    sets the video page for displaying the cursor
  69.  
  70.   Neither of these functions have anything to do with what video page
  71.   is actually being displayed on the screen. They are only associated
  72.   with the page that the mouse cursor is active on. The above functions
  73.   work in both text & graphics modes.
  74.  
  75. - SetTextCursor() and SetGraphicsCursor() have both been renamed
  76.   SetCursor(). You should rename all calls to these two functions to
  77.   the new name. This version of Mouse++ will still accept the old func-
  78.   tion names for compatibility but future versions will not.
  79.  
  80. -----------------------------------------------------------------------
  81.  
  82. Version 3.0
  83.  
  84. - Major upgrade. Some existing method implementations changed. All
  85.   mouse driver calls are now performed with geninterrupt() for improved
  86.   speed.
  87.  
  88. - Finally! Documentation is furnished.
  89.  
  90. - Event buffer added. All mouse events are stored in the buffer via the
  91.   event handler and later copied to class variables with GetEvent().
  92.   New functions:
  93.  
  94.   InstallHandler()    replaces the old Event() function
  95.   ClearHandler()    disables the event handler
  96.   GetEvent()        gets the next event from the buffer
  97.   ClearEvent()        clears the current event
  98.   ClearBuffer()        clears the event buffer
  99.  
  100. - Support for shift keys added. Events such as <Ctrl><LeftButton> can
  101.   be detected.
  102.  
  103. - MultiClick detection enhanced. New functions:
  104.  
  105.   SetClickThreshold()    sets the multi-click detection threshold
  106.   ClearClick()        clears the multi-click buffer
  107.  
  108. - Enable() & Disable() functions added turn the mouse (and the event
  109.   handler) on and off interactively.
  110.  
  111. - Default event handler function now provided.
  112.  
  113. -----------------------------------------------------------------------
  114.  
  115. Version 2.0
  116.  
  117. - Rewrite of the interface with better naming conventions.
  118.  
  119. - MultiClick detection added. New functions:
  120.  
  121.   DoubleClick()        detects double-clicks
  122.   MultiClick()        detects n-clicks
  123.  
  124. -----------------------------------------------------------------------
  125.  
  126. Version 1.1
  127.  
  128. - Minor bug fixes.
  129.  
  130. -----------------------------------------------------------------------
  131.  
  132. Version 1.0
  133.  
  134. - Initial release. Limited event driven capability.
  135.  
  136. -----------------------------------------------------------------------
  137.  
  138. Comments, suggestions, and bug reports are welcomed. Send them to:
  139.  
  140.         Carl Moreland
  141.         4314 Filmore Rd
  142.         Greensboro, NC 27409
  143.  
  144.     Internet: carl.moreland@analog.com
  145.     CompuServe: (72137,2657)
  146.  
  147. -----------------------------------------------------------------------
  148.