[updates] 32 more ...

Dan Ingalls Dan.Ingalls at disney.com
Mon Jun 5 20:26:27 UTC 2000


Folks -

Here is another spate of updates from SqC.  I also have a bunch from SMA due to go out some time today if I can keep things moving.

	- Dan
---------------------------
2211redCar-sw -- Scott Wallace -- 25 May 2000
Unrelated fixes to prolems encountered with a simulation project sent by bj allen-conn"

2212FormCanvasCleanup -- Andreas Raab -- 25 May 2000
The change set removes all the explicit references to FormCanvas and replaces them by either querying the form about an appropriate canvas or (where a scratch canvas is used) asking Display about it's preferred canvas class.
" 

2213FXBlt-Alpha -- Andreas Raab -- 25 May 2000
An alpha release of FXBlt. While there are still a couple of things missing (most noticably the display string primitive) it is a working version. This version is intended to be run for tracking down remaining incompatibilities with BitBlt.
A plugin is required for running FXBlt. The plugin C code can be generated by executing 	FXBltSimulation translate.
Again, there are few remaining issues - I haven't upgraded the CCodeGen yet to actually generate specialized versions of the inner loop which will make it slower than need be.
True alpha testers should try to use FXBlt for their daily work in Morphic. The way to do it is trivial - just make Form>>defaultCanvasClass return FXFormCanvas instead of FormCanvas. From then on, everything in Morphic will use the new version. Please report any strange effects back so these can be fixed.
Also, if you want to see something really weird, you may replace the bits of Display with an instance of Pixmap. This will show you how FXBlt deals with different pixel formats (that is, a Pixmap will be treated as containing LSB pixels whereas a Bitmap will be treated as containing MSB pixels). 
Here's a simple example of it:
	| lsbForm |
	lsbForm _ Form 
		extent: Display extent 
		depth: Display depth 
		bits: (Pixmap new: Display bits size).
	(FXBlt toForm: lsbForm)
		copy: lsbForm boundingBox
		from: 0 at 0
		in: Display.
	lsbForm display.
	self inform:'All pixels should be reversed'.
	(FXBlt toForm: Display)
		copy: Display boundingBox
		from: 0 at 0
		in: lsbForm.
	self inform:'All pixels should be okay'.
" 

2214NamedPrimHack -- Andreas Raab -- 25 May 2000
Enable the simulation of named primitives. WARNING: This is a vast hack. We should define a proper primitive for this, but I need something that allows simulation of named primitives RIGHT NOW."

2215MiscFXFixes -- Andreas Raab -- 25 May 2000
Misc improvements for better compatibility between FXBlt and BitBlt.
WARNING: The change set has been manually rearranged to prevent bad things from happening (e.g., for the #isColormap test in BitBlt)"

2216firingFix-sw -- Scott Wallace -- 25 May 2000
Fixes the long-standing bug that has made flexed morphs that have attached players fire their players' ticking scripts twice per cycle rather once."

2217macSupportFiles-jhm -- John Maloney -- 26 May 2000
Macintosh (and some generic) support code files for new pluginized VM.
Includes new support for building Squeak VM to run as a browser plugin.
See the readme file for additional details."

2218clearWorldTrails-sw -- Scott Wallace -- 26 May 2000
Adds a menu item to the world's appearance menu making it possible to clear the world's turtle trails directly."

2219keepOnStepping-sw -- Scott Wallace -- 26 May 2000
Yikes, fixes to another significant flaw in flexing, dating back two years and more, which was masked by the bug fixed in update 2216"

2220WnldFix-ar -- Andreas Raab -- 26 May 2000
Fixes the end of stream problem."

2221BitBltPreps-ar -- Andreas Raab -- 28 May 2000
A preparation of BitBlt, ColorMap, and DisplayScreen for the next round of updates."

2222BitBltCleanup-ar -- Andreas Raab -- 28 May 2000
The change set makes all references to BitBlt and WarpBlt go through 'BitBlt current' and 'WarpBlt current' so that the actual class to be used can be queried from the current Display."

2223B3DRasterizer-ar -- Andreas Raab -- 28 May 2000
A slight rework of the rasterizer hierarchy. Mainly intended to clean up the problem of rendering to a canvas vs. rendering to a surface. Now all 3D operations take place on a surface. Also, the change set makes B3DRenderEngine>>defaultForPlatformOn: aForm return an instance of a render engine rather than a class"

2224ExternalGraphics-ar -- Andreas Raab -- 28 May 2000
The basics of external graphics support. Provides us with a different kind of DisplayScreen allowing allocation of forms and textures directly. Also provides the base for accelerated fills and blits from and to the display. Acceleration of external forms is currently not supported."

2225SurfacePlugin-ar -- Andreas Raab -- 28 May 2000
Primitive support for OS drawing surfaces. The surface plugin defines the interface for FXBlt which is used to
	a) Query information about the drawing surface
	b) Get your hands onto the bits of a drawing surface
	c) Update Squeak's display using a specified drawing surface
All OS surface support should register external drawing surfaces with the surface plugin. This will give FXBlt a way of blitting to and from the external surface directly. Note that the functions provided by the surface plugin are minimal. All other support (such as creating and destroying the OS surface) must be done in specific subclasses of Form. See ExternalForm for an example of use."

2226B3DAcceleration-ar -- Andreas Raab -- 28 May 2000
Finally. The Balloon3D acceleration. Here it comes."

2227FoldFXCanvas-ar -- Andreas Raab -- 28 May 2000
The change set folds FXFormCanvas with FormCanvas. This is mainly to make BalloonCanvas work since it's a subclass of FormCanvas -- which in fact it shouldn't be. It would be much better to have BalloonCanvas forward drawing operations to the actual form canvas but that's the way it is right now. The good side of it is that we're getting rid of a class as well as some duplicated code.
The change also fixes a couple of small problems and reclassifies FXBlt under a more appropriate category.

2228MiscFixes

2229BltAcceleration-ar -- Andreas Raab -- 28 May 2000
Try to make the most common blts in Morphic to be accelerated. Mostly happens when dragging some large morph around."

2230XFormShutdown-ar -- Andreas Raab -- 28 May 2000
Defines an appropriate shutdown model for external forms."

2231MoreFixes

2232chgSorter-sw -- Scott Wallace -- 30 May 2000
*  When a preamble or postscript would be lost in a dual-change-sorter 'submerge' operation, a warning confirmer is put up before the submersion is actually carried out.
*  When a change-set removal would result in the loss of a preamble or postscript, similarly, a confirmer is put up.  Otherwise, it's easy to lose vital do-its housed in postscripts when submerging, because the presence of a postscript is not visually obvious in a change-sorter.
*  Adds a cmd in the shifted-change-set menu of the changeSorter to expunge uniclasses from the changeset."

2233graphicalLib-sw -- Scott Wallace -- 29 May 2000
1. Simplifies the layouts of the graphics choosers. The second set of next/prev buttons is no longer needed, now that the larger next/prev buttons can reliably be advanced exactly once by a simple click.
2. If the name of the graphic is too long, it no longer makes the graphic obtrude beyond the window.
3. Makes viewing and editing the system's graphical dictionary directly accessible from the system Help menu.
4. Adds a new feature to the graphics browser that will directly 'hand' you a copy of any graphic you see.
5.  Improves help meessages and wording in system Help menu for the graphics-related items.
6.  Provides informative message when user asks to 'view image imports' when the ImageImports repository is empty."

2234miscTweaks-sw -- Scott Wallace -- 29 May 2000
Various small fixes and improvements...
*  When logging the startup, print the full pathname of the image that was started up.
*  Make the diff button be vertically centred in the annotation pane of morphic browsers, as it is in message-list browsers.
*  Fixes a bug wherein a pasteup morph would generate an error if sent #modelWakeUp when it was not in a window.
*  Fixed bug in Utilities.inherentSelectorForGetter:
*  Bullet-proof ClassDescription method #renameSilentlyInstVar:to: against being provided with Symbol arguments.
*  Provide an expression, 'ParagraphEditor abandonChangeText', that can be quickly evaluated to get out of annoying and intractable find-and-replace mode.
*  Add a call to the above to the default common-request-string list.
*  Make the default settings of the four standard flaps all call for non pop-out-on-mouseover.
*  An improvement to the default label for an inspector on a morph.

2235dirShaft-sw -- Scott Wallace -- 26 May 2000
When showing the halo for a SketchMorph, if the morph does not already have a Player associated with it, don't show the direction shaft and don't force the creation of a player just to assist in forward-direction calculations!"

2236bookControls-sw -- Scott Wallace -- 27 May 2000
*  The Book's menu is improved in the following ways:
  -- it now has a stay-up item.
  -- the wording of the show/hide-controls item is dynamic.
  -- the crucial 'find' & 'go to...' items are now at the top.
*  Shift-click on the more/fewer-controls button in the book control panel now hides the panel -- a useful shortcut.

2237VMChanges-misc -- John Maloney, Tim Rowledge, and Andreas Raab -- 31 May 2000
The change set is a combination of Johns and Tims changes folded into the very latest modifications." 

2238FirstAndLastN -- Dan Ingalls -- 2 June 2000
Extends the first/last/allButFirst/allButLast protocol to N items.
Suggested by David N. Smith.

2239CalendarTweak-sge -- Steve Elkins -- 19 May 2000
These changes make it possible to start the week on Sunday instead of Monday (the default) in the MonthMorph.  To try it, open the menu and use the 'start Sunday' item at the bottom."

2240BinarySearch-ar -- Andreas Raab -- 3 June 2000
Implements a few binary search methods in SequenceableCollection so that you can quickly find an element given that there's some before hand knowledge about ordering."

2241ButtonTweaks-di -- Dan Ingalls -- 5 June 2000
Streamlines creation of SimpleButtons and Switches so that labels do not get created two or three times during initialization.

2242CalendarTweaks-di -- Dan Ingalls -- 5 June 2000
Speeds month scrolling by not creating three labels during every initialization of a day morph.
Adds scroll by year and jump to any year.







More information about the Squeak-dev mailing list