Mantis - Squeak
Viewing Issue Advanced Details
2568 Graphics minor have not tried 01-23-06 23:50 07-22-13 02:23
no change required  
0002568: How much should warpblt inherit from BitBlt???
As I've been looking into rounding problems see Mantis 0002453. I've realized that there has been a culture of rounding parameters for both source and destination for both bitblt and warpblt.

Now both need integral destination rectangles, and bitblt needs an integral source. Warpblts source does not and is useful when it is not integral.

Yet it inherits routines from Bitblt that imply they should be.

The final straw was when I relized I could send a warpblt instance the method copybits. Now I am new enough to have to guess at this point whether you would ever want to do such a thing so I can't say there is not a legit reason to do so. But I'm betting it really is not -to-be-done.

And written correctly warpblt would have to have a lot of shouldNotBeImplementeds for some BitBlt methods.

Which really means they should probably both inherit from a common ancestor and be separte branches to say MoveBlts or ???.

The bottom line is the way it is now it is confusing to write good code. The looks of squeak suffer from good people doing their best to understand and failing. We should clean up the code and get the benifits of a wider body of competent maintainers.
Severity does not make a distinction between Urgency and Improtance.

This has major long range improtance (and I believe urgency)

It is minor in immediate urgency.

Its immediate improtance is that once some of the rounding problems have been fixed. Keeping them fixed will depend on the clarity of the code.

I also think this is part of another major issue that squeak is long overdue for a Refactoring only pass. This Is of high urgency and importance. Lots has been added to squeak and even some of the code that hasn't rotted totally would rate a high stink score on any oop stink test.

But that of course, is another issue.

Yours in service, -- Jerome Peace

07-22-13 02:23   
No reason to change this part