commentary
authorClaus Gittinger <cg@exept.de>
Sat, 18 Jan 1997 18:22:06 +0100
changeset 1254 6bb4afe072f1
parent 1253 04bd9de0cac4
child 1255 bdf4cbcae668
commentary
DRootView.st
DisplayRootView.st
--- a/DRootView.st	Sat Jan 18 18:10:38 1997 +0100
+++ b/DRootView.st	Sat Jan 18 18:22:06 1997 +0100
@@ -17,7 +17,7 @@
 	category:'Views-Special'
 !
 
-!DisplayRootView  class methodsFor:'documentation'!
+!DisplayRootView class methodsFor:'documentation'!
 
 copyright
 "
@@ -38,39 +38,51 @@
     this class describes Xs rootWindow (which is the background window and
     can be used for drawing outside of Views i.e. for dragging between Views).
 
-    There is one global variable (RootView) which is the Displays rootview.
-    (this is the default displays rootView; to access other devices' rootView,
-     use someDisplay rootView),
+    For historic and compatibility reasons, there is a global variable 
+    called 'RootView', which is bound to the default displays ('Display')
+    rootview. We recommend, not to access this variable, instead, get a
+    displays rootView via the #rootView message (sent to the device).
+    Otherwise, your application will not work in a multiScreen environment.
 
     Instances of myself (i.e. these rootViews) are light-weight views; 
     they do not support events, models etc.
     They are pure drawing canvases and should be only used for special
-    applications. There may be display systems in which rootViews are not
+    applications (i.e. dragging). 
+    There may be display systems in which rootViews are not
     supported/allowed implemented. So be VERY careful when using them.
 
+    Be aware, that the rootView is not always visible - some
+    windowManagers install another (pseudoRoot), into which icons and
+    windowManager menus are drawn. If that is the case, your paining
+    into the rootView may not be visible, unless you set the #noClipByChildren
+    option (see below).
+
+    In general, you should never use the rootView for normal applications.
+
     To draw in the (Displays) root window:
 
-        RootView paint:(Color red).
-        RootView fillRectangleX:10 y:10 width:100 height:100.
+        |rootView|
+
+        rootView := Screen current rootView.
+        rootView paint:(Color red).
+        rootView fillRectangleX:10 y:10 width:100 height:100.
 
     of course, all stuff from View and its superclasses can be used:
 
-        RootView paint:(Color red).
-        RootView noClipByChildren.
-        RootView fillRectangleX:10 y:10 width:100 height:100.
+        |rootView|
 
-    you have to be careful with some window managers, since what you
-    see on the screen is not always really the root window. Some Desktops
-    add their own view in between (although the Xworkstation class does
-    care for this, it seems not to work correctly on all systems).
-    In general, you should never use the RootView for normal applications.
+        rootView := Screen current rootView.
+        rootView paint:(Color red).
+        rootView noClipByChildren.
+        rootView fillRectangleX:10 y:10 width:100 height:100.
+
 
     [author:]
         Claus Gittinger
 "
 ! !
 
-!DisplayRootView  class methodsFor:'initialization'!
+!DisplayRootView class methodsFor:'initialization'!
 
 initialize
     Display isNil ifTrue:[
@@ -79,7 +91,7 @@
     super initialize
 ! !
 
-!DisplayRootView  class methodsFor:'instance creation'!
+!DisplayRootView class methodsFor:'instance creation'!
 
 on:aDisplay
     "since there is only one RootView - catch new and return
@@ -198,9 +210,9 @@
     "Modified: 5.7.1996 / 14:57:34 / cg"
 ! !
 
-!DisplayRootView  class methodsFor:'documentation'!
+!DisplayRootView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/Attic/DRootView.st,v 1.18 1996-07-05 12:58:04 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/Attic/DRootView.st,v 1.19 1997-01-18 17:22:06 cg Exp $'
 ! !
 DisplayRootView initialize!
--- a/DisplayRootView.st	Sat Jan 18 18:10:38 1997 +0100
+++ b/DisplayRootView.st	Sat Jan 18 18:22:06 1997 +0100
@@ -17,7 +17,7 @@
 	category:'Views-Special'
 !
 
-!DisplayRootView  class methodsFor:'documentation'!
+!DisplayRootView class methodsFor:'documentation'!
 
 copyright
 "
@@ -38,39 +38,51 @@
     this class describes Xs rootWindow (which is the background window and
     can be used for drawing outside of Views i.e. for dragging between Views).
 
-    There is one global variable (RootView) which is the Displays rootview.
-    (this is the default displays rootView; to access other devices' rootView,
-     use someDisplay rootView),
+    For historic and compatibility reasons, there is a global variable 
+    called 'RootView', which is bound to the default displays ('Display')
+    rootview. We recommend, not to access this variable, instead, get a
+    displays rootView via the #rootView message (sent to the device).
+    Otherwise, your application will not work in a multiScreen environment.
 
     Instances of myself (i.e. these rootViews) are light-weight views; 
     they do not support events, models etc.
     They are pure drawing canvases and should be only used for special
-    applications. There may be display systems in which rootViews are not
+    applications (i.e. dragging). 
+    There may be display systems in which rootViews are not
     supported/allowed implemented. So be VERY careful when using them.
 
+    Be aware, that the rootView is not always visible - some
+    windowManagers install another (pseudoRoot), into which icons and
+    windowManager menus are drawn. If that is the case, your paining
+    into the rootView may not be visible, unless you set the #noClipByChildren
+    option (see below).
+
+    In general, you should never use the rootView for normal applications.
+
     To draw in the (Displays) root window:
 
-        RootView paint:(Color red).
-        RootView fillRectangleX:10 y:10 width:100 height:100.
+        |rootView|
+
+        rootView := Screen current rootView.
+        rootView paint:(Color red).
+        rootView fillRectangleX:10 y:10 width:100 height:100.
 
     of course, all stuff from View and its superclasses can be used:
 
-        RootView paint:(Color red).
-        RootView noClipByChildren.
-        RootView fillRectangleX:10 y:10 width:100 height:100.
+        |rootView|
 
-    you have to be careful with some window managers, since what you
-    see on the screen is not always really the root window. Some Desktops
-    add their own view in between (although the Xworkstation class does
-    care for this, it seems not to work correctly on all systems).
-    In general, you should never use the RootView for normal applications.
+        rootView := Screen current rootView.
+        rootView paint:(Color red).
+        rootView noClipByChildren.
+        rootView fillRectangleX:10 y:10 width:100 height:100.
+
 
     [author:]
         Claus Gittinger
 "
 ! !
 
-!DisplayRootView  class methodsFor:'initialization'!
+!DisplayRootView class methodsFor:'initialization'!
 
 initialize
     Display isNil ifTrue:[
@@ -79,7 +91,7 @@
     super initialize
 ! !
 
-!DisplayRootView  class methodsFor:'instance creation'!
+!DisplayRootView class methodsFor:'instance creation'!
 
 on:aDisplay
     "since there is only one RootView - catch new and return
@@ -198,9 +210,9 @@
     "Modified: 5.7.1996 / 14:57:34 / cg"
 ! !
 
-!DisplayRootView  class methodsFor:'documentation'!
+!DisplayRootView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/DisplayRootView.st,v 1.18 1996-07-05 12:58:04 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/DisplayRootView.st,v 1.19 1997-01-18 17:22:06 cg Exp $'
 ! !
 DisplayRootView initialize!