home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 113 / EnigmaAmiga113CD.iso / software / sviluppo / easygui_os12 / docs / history.doc < prev   
Encoding:
Text File  |  2000-06-11  |  7.3 KB  |  180 lines

  1. ************************************************************************
  2. * Changes from the original EasyGUI 3.3b4 module code
  3. ************************************************************************
  4.  
  5.   You only need to read this if you are going to tweak any of the
  6.   sources, or if you are willing to know what i did.
  7.   Programmers info is provided in the EasyGUI_OS12 doc.
  8.  
  9.   Note that all these changes only affect EasyGUI on older Amiga-OS
  10.   versions, if a newer version is detected then ALL remains the same.
  11.   Also note that all changes could be switched off by commenting out
  12.   the "#define EASY_OS12" line.
  13.  
  14.  
  15.   gadtools.library
  16.   ----------------
  17.  
  18.     The gadtools.library is opened in the following way:
  19.  
  20.     - setinit()
  21.       EG attempts to open V36 of gadtools.library, and, if that fails
  22.       attempts to open V34 of gadtools13.library, and if that fails
  23.       too, EG will raise an exception as usual.
  24.  
  25.  
  26.   utility.library
  27.   ---------------
  28.  
  29.     The utility.library is fully optional now:
  30.  
  31.     - makehandle()
  32.       EG just attempts to open V36 of utility.library (which is a library
  33.       base private to EasyGUI) and if that fails the utilitybase will
  34.       be NIL (no more exception here). All taglist parsing is done by the
  35.       module hybrid/tagdata -> getTagData() which uses the utility
  36.       function or a replacement, depending on the value of utilitybase.
  37.  
  38.  
  39.   intuition.library
  40.   -----------------
  41.  
  42.     intuition.library version sensitive code had to be added to the
  43.     following routines, using the module hybrid/version -> intuiVersion()
  44.     to switch between the new functions and the "old scool" way to do things:
  45.  
  46.     - setgui()
  47.       ChangeWindowBox()   -> MoveWindow()/SizeWindow()
  48.       VideoControl()      -> s.width-xsize/2 / s.height-ysize/2
  49.       OpenWindowTagList() -> module hybrid/openwin -> openWindowTagList()
  50.       The screen passed to the above function is SCREENPOINTER, which is defined
  51.       different for both versions of EasyGUI, the normal version just passes
  52.       gh.scr, the OS12 version passes NIL when opening on an old-OS workbench
  53.       screen, since there is no real screen pointer available (see ouch below).
  54.     - openwin()
  55.       LockPubScreen()     -> NEW gh.scr / GetScreenData()   (ouch)
  56.     - closewin()
  57.       UnlockPubScreen()   -> END gh.scr                     (ouch)
  58.     - getrealbot()
  59.       GetScreenDrawInfo()/NewObjectA() -> fixed size SIZERY=10
  60.  
  61.     - BUGFIX: movewin()/sizewin()
  62.       Added parameter clipping to prevent intuition from trashing the entire
  63.       system when moving/sizing windows across the borders of a screen. (Newer
  64.       intuition is safe with any values)
  65.  
  66.  
  67.   exec.library
  68.   ------------
  69.  
  70.     Two exec function calls were replaced with exec.library version
  71.     sensitive hybrid code from the module hybrid/ports -> createMsgPort()
  72.     and deleteMsgPort(), which uses amigalib/ports on lower exec versions
  73.     instead:
  74.  
  75.     - CreateMsgPort()  used by setinit() and multiinit()
  76.     - DeleteMsgPort()  used by cleaninit() and cleanmulti()
  77.  
  78.  
  79.   workbench.library
  80.   -----------------
  81.  
  82.     All App-windows (and gadgets) safely degrade graceful under older
  83.     Amiga-OS versions due to these changes:
  84.  
  85.     - setinit()
  86.       EG attempts to open workbench.library V36, and, if that
  87.       fails EG will not bomb out any more but will set gh.awproc
  88.       to zero. (so no appwin will be created for that gui).
  89.       gh.wb_isopen is used as one would expect.
  90.     - creategadget()
  91.       gh.gl.mutualexclude is only set to EG_MAGIC if gh.wb_isopen is TRUE
  92.  
  93.  
  94. ************************************************************************
  95. * Changes to the demo sources and plugins:
  96. ************************************************************************
  97.  
  98.   All changes could be switched off by commenting out the
  99.   "#define EASY_OS12" line.
  100.  
  101.   - osversion:
  102.     OSVERSION=37 has been disabled everywhere
  103.  
  104.   - module names
  105.     OS12 compatible plugins all end in an "_os12"
  106.     OS12 compatible tools/easygui_os12 is included everywhere
  107.  
  108.   - tagdata code:
  109.     utility.library/GetTagData replaced by hybrid version
  110.     from module 'hybrid/tagdata'
  111.  
  112.   - utility code:
  113.     utility.library is opened optional using module 'hybrid/utility'
  114.  
  115.   - drawinfo code:
  116.     Get/FreeScreenDrawInfo intuition version sensitive code from
  117.     module 'hybrid/drawinfo'
  118.  
  119.   - PrintF:
  120.     All occurances of "PrintF" have been changed to "WriteF"
  121.  
  122.  
  123.   Changes from the original EasyGUI 3.3b4 plugins and demo sources
  124.   ----------------------------------------------------------------
  125.  
  126.     - all_os12.e              osversion + module names + LARGE for OS12 version
  127.     - testaw_os12.e           osversion + module names + PrintF
  128.     - testchange_os12.e       osversion + module names
  129.     - testchange_os12_2.e     osversion + module names
  130.     - testkey_os12.e          osversion + module names + PrintF
  131.     - testmulti_os12.e        osversion + module names
  132.     - testmulti_os12_2.e      osversion + module names
  133.     - testqual_os12.e         osversion + module names + PrintF
  134.     - ticker_os12.e           osversion + module names
  135.     - test_ticker_os12.e      osversion + module names
  136.     - password_os12.e         osversion + module names
  137.     - password_test_os12.e    osversion + module names + PrintF
  138.  
  139.  
  140.   Changes from the EasyPlugins 1.8 by Ali Graham
  141.   ----------------------------------------------
  142.  
  143.     - bar_os12.e              osversion + module names + tagdata code
  144.     - bar_os12_demo.e         osversion + module names + utility code
  145.     - corners_os12.e          osversion + module names + tagdata code
  146.     - corners_os12_demo.e     osversion + module names + utility code
  147.     - space_os12.e            osversion + module names + tagdata code
  148.     - space_os12_demo.e       osversion + module names + utility code
  149.     - xygadget_os12.e         osversion + module names + tagdata code
  150.     - xygadget_os12_demo.e    osversion + module names + utility code
  151.     - dclistview_os12.e       osversion + module names + tagdata code
  152.     - dclistview_os12_demo1.e osversion + module names + utility code + PrintF
  153.     - multitext_os12.e        osversion + module names + tagdata code
  154.     - multitext_os12_demo.e   osversion + module names + utility code + diskfont.library -> V33 + 2 standard wb fonts
  155.     - toolbar_os12.e          osversion + module names + tagdata code
  156.     - toolbar_os12_demo.e     osversion + module names + utility code
  157.     - location_os12.e         osversion + module names
  158.     - location_os12_demo.e    osversion + module names
  159.     - popmisc_os12.e          osversion + module names + tagdata code + strcmp code
  160.     - popmisc_os12_demo.e     osversion + module names + utility code + LARGE for OS12 version
  161.     - iconbox_os12.e          osversion + module names + tagdata code
  162.     - iconbox_os12_demo.e     osversion + module names + utility code + icon.library -> V0
  163.  
  164.  
  165.   Changes from the EasyPlugins 1.8 by Fabio Rotondo
  166.   -------------------------------------------------
  167.  
  168.     - icongad_os12.e          osversion + module names + ram:disk(.info) -> sys:disk(.info)
  169.     - icongad_os12_demo.e     osversion + module names
  170.     - rawkey_os12.e           osversion + module names
  171.     - rawkey_os12_demo.e      osversion + module names
  172.  
  173.  
  174.   Changes from the EasyPlugins 1.8 by Ralph Wermke
  175.   ------------------------------------------------
  176.  
  177.     - simplegauge_os12.e      osversion + module names + tagdata code + version code + utility code + drawinfo code
  178.     - simplegauge_os12_demo.e osversion + module names + utility code
  179.  
  180.