Maintaining
virtual coordinates is essential for zooming and scrolling the whole view.
? I do not get why.
Because if there is only one coordinate system, then zooming in and out accumulate
floating point errors.
I am pretty sure Cairo has a translation mechanism under the wood.
Athens has
indeed fast primitives to do this. We will probably consider using them this once Athens
will be part of Pharo.
I do not understand why you insist on saying that.
Because we live by having Roassal and all our tools cross-platform. Focusing only on Pharo
means that we cannot pay engineering work anymore.
Even if Athens would not be part of Pharo Moose should
use it!
I do not get why you want to wait that 3.0 is out. Because may be we should all wait that
igor leave RMoD do give him feedback.
Right now Athens takes 2 lines to load in Pharo3.0.
We are excited by the perspective to use Athens more. We can now fully rendering using
Athens, without having disrupted our ability to be cross-platform.
We plan to use Athens more, but we cannot "go faster than the music". As fas as
I have seen, Athens is usable since last month, when Igor advertised his tutorial. During
that month we made Roassal perfectly work on Athens. So yes, we will use Athens more, but
we cannot do more than what we are doing right now.
But your code in virtualToRealPoint: is not efficient:
/ float conversion….
then rounding it and then adding int.
I agree this is not optimal. This part of Roassal went through some period of try and
adjust if I remember correctly.
Having a solution based on matrixes is indeed much better.
ROAbstractArrow
ROArrow
ROReversedArrow
ROHorizontalArrow
ROReversedHorizontalArrow
ROVerticalArrow
ROReversedVerticalArrow
Why do we have all these classes? why they are not...
... traits? Well... because there is little support in Pharo to work with traits.
Another reason is traits exist only in Pharo.
this has nothing to do with traits.
why you do not have
ROArrrow reversed
could probably works.
This is what the hierarchy looks like:
This hierarchy is rather stable since nobody asked for more extremity shapes.
Theses classes are very short and easy to understand. Probably code can be refactored out
since they contain duplication. We will work on that on some point.
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel
http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.