On Wednesday 27 February 2002 7:57 pm, you wrote:
> Angus Leeming <[EMAIL PROTECTED]> writes:
> 
> | On Wednesday 27 February 2002 7:12 pm, Lars Gullik Bjønnes wrote:
> >> Angus Leeming <[EMAIL PROTECTED]> writes:
> >> 
> >> | Forget it. It isn't going to happen!
> >> 
> >> IMHO a serious regression from figinset.
> >> 
> >> | The graphics cache is external to any 
> >> | buffer and isn't going to know anything about one. What happens if the 
> | view 
> >> | changes dimensions? You'll be asking for the image to change with it. 
No!
> >> 
> >> yes.
> >
> | Alright smart arse. So you have two views of the same buffer, but one 
view is 
> | wider than the other. Do you want different pixmaps?
> >
> | No!
> 
> But you still want to scale relatively to the textwidth. You either
> you have a clever solution to avoid different pixmaps _or_ you just
> use different pixmaps.

Well, I slept on this and have calmed down. It is possible to do as you 
desire, but it will involve a re-write of the re-written graphics cache. In 
fact, the graphics cache will return to a form similar to Baruch's original 
code. Each insetgraphics will then store a GImage instance and will do the 
croping, rotating and scaling itself. If the scaling request is %t or 
whatever, then the scaling and generation of the pixmap will be performed in 
the insetgraphics' draw member function, else all operations will be 
performed on a changed status signal (as now) and cached

That way you'll get what you desire.

Happy with the plan?

Angus

Reply via email to