# HG changeset patch # User Claus Gittinger # Date 853608126 -3600 # Node ID 6bb4afe072f1cdfc99bbbcbd5d04fadf56fbd422 # Parent 04bd9de0cac45011c1f7fb32c11066e88ee3fc78 commentary diff -r 04bd9de0cac4 -r 6bb4afe072f1 DRootView.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! diff -r 04bd9de0cac4 -r 6bb4afe072f1 DisplayRootView.st --- 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!