freenode/#clim - IRC Chatlog
Search
13:24:59
slyrus
OK. 12.5.1 draw-text is rather confusing, to me. we have toward-x and toward-y and we have transform-glyphs.
13:26:41
slyrus
I think this means that one can use toward-x and toward-y, relative to x and y, to figure out the angle of the baseline for the text
13:27:50
slyrus
but how should the text be drawn relative to this baseline? default to use the angle of the baseline so that we end up with rotated text or default to angle 0 so that the individual letters are straight up and down?
13:29:00
slyrus
if transform-glyphs is true then we rotate each glyph by the amount spec'ed in the rotation transformation, but relative to what starting value?
13:29:29
beach
Let me read it. I think CLIM assumes that text can not be rotated. Or at least, allows for implementations to have this limitation.
13:32:06
jackdaniel
we are not using x11 glyphs by default but draw things and pass them with render extension
13:33:22
slyrus
that's what I thought. so even the non-render X11 backend requires render. great. :)
13:34:12
jackdaniel
well, render backend in principle was designed to work with arbitrary framebuffer-enabled toolkit
13:36:33
beach
slyrus: The description of draw-text looks clear to me. If toward-x and toward-y define a non-trivial angle and transform-glyphs is true, then the entire text should be rotated so that it looks "normal".
13:36:34
jackdaniel
sorry, I'm a bit busy now, just chipped in to say that we don't use x11 core fonts
13:37:33
jackdaniel
slyrus: render which is "interactive" - ie not only draws, piggybacks on clx, and that's what clx-fb is all aobut
13:38:16
jackdaniel
I don't know the details (didn't read much into Alessandro code - he wrote this backend)
13:38:39
beach
slyrus: Then the glyphs are aligned with the axes as usual, but presumably the left baseline point of each one is on the line defined by toward-x and toward-y.
13:39:28
slyrus
so in the case where render-glyphs is true, what is the impact of the specified rotation transformation?
13:41:41
beach
I mean, transform toward-x and toward-y through the rotation transformation. then transform the glyphs according to the result.
13:44:07
slyrus
hmm... maybe I'm just dense but it's still not clear to me what the effect of the current transformation should be.
13:45:17
beach
So, the starting position together with toward-x and toward-y define a vector. If you take that vector and transform it through the transformation, you get a new vector. That new vector defines an angle.
13:48:05
slyrus
also, the implication of implementations ignoring transform-glyphs can be 1) text is always aligned on the toward-{x,y} vector or text is always aligned to the x-axis.
13:50:01
beach
If transform-glyphs is true, then the glyphs are transformed according to the current transformation. Fair enough.
13:50:34
beach
But if toward-x and toward-y are not given, then the glyphs are still drawn from left to right, no matter what transformation is in effect.
13:50:58
beach
So, to get the desired result, you have to give toward-x and toward-y that are consistent with the current transformation.
13:51:21
slyrus
in the case where transform-glyph is true, do we transform the glyph (with arbitratry xfrm) or do we just rortate it?
13:53:04
slyrus
requiring that the toward-x and toward-y be consistent with the xfrm seems to make extra work though
13:53:48
beach
It would have been better if the default values of those two variable had been "consistent with the current transformation."
13:54:27
slyrus
I guess I'm back to the issue of what happens when transfrom-glyph is false. It seems to me that yield results consistent with transform-glyphs t and toward-x and toward-y being consistent with the transform.
13:55:38
beach
Well, I think "Normally, glyphs are drawn from left to right no matter what transformation is in effect." means that "Normally" is when toward-x and toward-y are not given.
13:57:55
beach
I mean "no matter what transformation is in effect" is ambiguous. What transformation? The user transformation? The device transformation? The medium transformation? The sheet transformation?
13:59:04
beach
There are so many ambiguities there that I don't think it matters how we interpret the text, as long as we draw from left to right with untransformed glyphs when all values are default.
14:01:40
beach
Absolutely. And I am not the only one whose opinion counts. It would be good to check with some others as well, in particular nyef, jackdaniel, gas2serra.
14:01:51
slyrus
and does the spec imply a distinction between transform-glyphs not supplied and transform-glyphs being nil?
14:03:19
slyrus
of course that's a whole 'nuther can a warms due to scigraph clim/dwim compatibility layer. more cruft to remove, yay!