Knut Petersen <knut_peter...@t-online.de> writes: > Am 24.01.2017 um 14:49 schrieb David Kastrup: >> >>>> What a steaming heap of something. So your code would likely have >>>> worked in LilyPond 2.16. I think it would make sense to create a new >>>> type of stencil expression explicitly intended to bypass >>>> outlining. Probably by just containing _two_ stencils: one for >>>> typesetting, one for outlining. That would make for a much more >>>> transparent manner of programming things like that. >>> There's no need for two stencils. >> That's what you claim. And then you use no-outline on your stencil, > yes, here only expr_ is extended, it's still one stencil >> and >> use \with-dimension in order to stack this with another stencil that has >> just a box outline (one that survives into both dimensions as well as >> outline). I still count two. > Why should I use with-dimension? The original stencil and its dimensions > are unchanged and will be used in the stencil interpreter. no-outline() hides > the dimensions from the code in stencil-integral.cc, but they are still > present > and the stencil interpreter uses them. > >>> I propose to include the attached code. >> Which completely _drops_ any outline. So if you want a different >> outline, you need to combine this with some stencil that has an outline >> but no ink. How do you remove the ink from arbitrary stencils? You >> can't. So you are tied down to use this trick in connection with >> stencils that insist on having an outline but no ink. > > David, this is NO-outline code. It' not a fake-some-arbitrary-outline-stencil. > > The code is useful for e.g. whiteout, watermarks etc. Define a stencil as > usual, > color it, scale it, whatever else. Just mark a stencil x with x.no_outline(); > > The result is: > -> the outline is completely ignored in stencil_traverser(), > so no collisions are detected. > -> the stencil is drawn in interpret_stencil_expression() as > it would be drawn without the no_outline layer.
Sort of complementary to transparent-stencil (which is outline/dimension-only, no ink). I think I'd prefer to cast both in terms of the same primitive. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel