Simon Pepping wrote: > Marker extends FObjMixed, which adds InlineStackingLM. This is a > problem. In the new model there should be a strict separation between > LMs implementing InlineLevelLM and those that do not. InlineStackingLM > does not, and probably should not do.
I still have to really understand InlineStackingLM, I find it very enigmatic! It generates inline areas, but it has LineLM as a subclass ... Maybe it should implement both getNextBreakPoss and getNextKnuthElements: looking at the retrieve-marker's parent and / or at the marker's children should be enough to decide whether to call the one or the other. Anyway, I was wondering whether it is really necessary to add a new LM. If the fo tree is fo:page-sequence -----------+----------- | | fo:static-content fo:flow | | ... ... | | ret. marker's parent marker's parent | | fo:retrieve-marker fo:marker ---+--- | | chld1 chld2 at the moment, RetrieveMarkerLM tries to achieve this (in the LM tree): ... | parentLM | RetrieveMarkerLM | InlineStackingLM ---+--- | | chldLM1 chldLM2 but, as a marker can only have children which could replace its retrieve-marker, wouldn't it be better to have just: ... | parentLM ---+--- | | chldLM1 chldLM2 ? Regards, Luca