Jean-Marc Lasgouttes wrote:
"Abdelrazak" == Abdelrazak Younes <[EMAIL PROTECTED]> writes:
Yes, but I suspect that the bv is known without going too high in
the hierarchy.
Abdelrazak> I am blocked at TextPainter. So either I add BufferView to
Abdelrazak> its constructor or I pass BufferView to all drawT()
Abdelrazak> methods. I think I prefer the first solution. Or even
Abdelrazak> better, get rid of TextPainter.
Either of these two last solutions look nice.
What? Get rid of TextPainter?
Is it every methods? It is needed for things like xo(), which are
definitely BufferView-dependent. The two solutions are
- add a BufferView const & argument to InsetBase::[xy]o() and
InsetBase::covers.
Abdelrazak> I've done that already.
OK.
- move these methods (which are not virtual anyway) out of
InsetBase. They could be replaced by a helper function in
bufferview_funcs, for example. Things like dist() could be moved
also.
Abdelrazak> Too much work for now I guess. So I'd rather stay with the
Abdelrazak> first solution above (which I already did in my local
Abdelrazak> tree).
I think in the long term it would be the best: change the coordcache
so that its inner data is not used directly, but only through some
higher-level methods. Or some bufferview_funcs helpers.
Yes, I agree and that's why I pass BufferView around instead of
CoordCache directly. This way the transition to some other solution will
be easier.
Abdel.