home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1999 / MacHack 1999.toast / The Hacks / X-Ray / Notes < prev    next >
Encoding:
Text File  |  1999-06-25  |  4.4 KB  |  88 lines  |  [TEXT/CWIE]

  1. Things to Ponder & Known Issues
  2. -------------------------------
  3.  
  4.     SetOrigin — when called for a window that is transparent, should this change the origin of all the
  5.         sub buffers?  Maybe, but does changing the origin of a GWorld screw up CopyBits, etc.?
  6.         I think there is a technote that says this is a possible side effect of using SetOrigin on GWorlds.
  7.         This may be an old issue and be fixed by Mac OS 8.5, however.
  8.     
  9.     How to handle open Picture, Poly, and Region definitions when ports intersect transparent ports?
  10.     Also this intercepts QuickDraw and really mucks with draws
  11.         what should be done when other software also intercepts QD?
  12.         ideally, it would be best if X-Ray loads before all other extensions, therefore it has less
  13.         potential of screwing with other software that patches QuickDraw
  14.  
  15.     QuickTime has its own methods for getting pixel data to screen quickly and doesn't work with X-Ray.
  16.         It just splats over the top of transparent windows
  17.     This may be a problem with QuickDraw 3D, QuickDraw GX and some third party graphics libraries and as well.
  18.     This basically is a video memory direct access problem and occurs when softwre does not use QuickDraw to do drawing.
  19.     
  20.     May crash if an interrrupt based function (a VBL proc for example) calls a QuickDraw function that is also handled by X-Ray.
  21.         Some older games do stuff like this.
  22.     
  23.     There may be issues when apps use their own window dragging routines instead of DragWindow
  24.     X-Ray may interfere with extensions that patch DragWindow to actually move the window instead of its
  25.         outline.
  26.     Maybe this could be a feature that is added to X-Ray so it works properly in all cases.
  27.     
  28.     Hilited text when drawn by TextEdit does not draw correctly in area that intersects a transparent window.
  29.     
  30.     If an app does not properly respond to an update event and the update event intersects a
  31.     transwindow, the underBuffer for that transWin may become stale depending on what the offending app
  32.     does.
  33.     
  34.     When moving a window the visRgns of background windows are not re-calculated immediately
  35.         X-Ray relies on valid visRgns to handle draw clipping
  36.     UPDATE
  37.         may not be a problem anymore due to a change in X-Ray's window drag tracking code
  38.     
  39.     Maybe provide a function that suspends/resumes X-Ray drawing/checking
  40.         This flag would be in effect on a per application basis
  41.     
  42.     ScrollRect
  43.         X-Ray mostly supports the QuickDraw ScrollRect function, but sometimes it looks like crap.
  44.         A more robust version is needed.
  45.     
  46.     FindWindow
  47.         maybe all trans windows can "magically" get their strucRgns back by adding their
  48.         contRgns to their strucRgns right before FindWindow is called and then have them
  49.         subtracted after the call.  Also each app's global windows will need to have the
  50.         contRgns added and subtracted, but this may actually require globalized visRgns instead
  51.     UPDATE
  52.         this is a pain in the butt to fix
  53.         tinkering with the global window records doesn't work
  54.     
  55.     Pattern drawing does not work correctly due to SetOrigin problems.
  56.         May require big re-writes/re-work of some X-Ray QD patches.
  57.     UPDATE
  58.         Have tried a few things to address this while trying to keep changes to a minimum, all to no avail.
  59.     
  60.     Crashes on PowerBook G3 series when Mac OS 8.6 Finder windows intersect a transparent window.
  61.         Seems to appear in WDEF shim.  More investigation is necessary.
  62.     
  63.     StdBits will crash in some circumstances if VM is off.  May crash in same way with RAM Doubler as well.
  64.     
  65.     Dragging desktop items on the desktop under transparent windows screws up the under buffer of windows
  66.         the drag intersects.
  67.  
  68.     Transparent window do not always update properly when being brought out from under normal windows
  69.     UPDATE
  70.         implemented AssureUpdateForTransparent() for some window manager patch functions
  71.         needs to be added to others
  72.     
  73.     When normal windows are moved in front of transparent windows their content are may get blended with the transparnet window
  74.         and their frame may also be blended
  75.     UPDATE
  76.         implemented AssureMovingWindowIsRefreshed() for some window manager patch functions
  77.         needs to be added to others
  78.     
  79.     There may be a problem with a handle not being locked when it should be in StdText() patch
  80.         still looking into this one as sporadic crashes have been known to happen in this function
  81.  
  82.     Some functions in X-RayLib may not actually work, but most do.
  83.     
  84.     I expect there are other unknown misbehaviours in X-Ray.  Remember, this is a hack.
  85.  
  86. Copyright (C) 1999 Eric Roccasecca.  All rights reserved.
  87. nearearth@aol.com
  88.