freenode/#clim - IRC Chatlog
Search
8:56:41
jackdaniel
slyrus1: that means, that due to confusion of what medium-gcontext / design-gcontext does we had transformation handling mishmash which lead to dropped ink transformation. I want to add meaningful comments to both generic functions explaining what, how and where they perform their thing
8:57:25
jackdaniel
medium-gcontext is responsible for drawing graphical context and design-gcontext for mask graphical context
8:57:51
jackdaniel
problem was masked because usually when we have used ink, it was uniform and drawn everywhere
9:08:17
jackdaniel
pattern has well-defined width and height, so outside its boundaries you have a transparent-ink
9:08:39
loke
(I'm asking, because my prototype implementation of antialiased lines doesn't support pattern inks)
9:08:48
jackdaniel
also pattern is not necessarily an image, it may be a stencil buffer or a design map (but image is a good metaphor here)
9:09:44
jackdaniel
if you set as gc-mask a pattern (what is done in with-clx-graphics) you have it for free
9:10:33
loke
In my antialiased version, line and plygon drawing is replaced by Xrender polygons. Currently I just get the drawing colour from the Gcontext object. The only special trickery I do is to construct a (rotated) repeated pattern image that is used to create line patterns.
9:11:34
loke
However, there is a render-mask, that can be set to be the same as the GC mask. However, I'm not sure if it works the same.
9:13:01
jackdaniel
uhm; maybe you should. either way, I won't concern myself with that now until I provide a solid solution for clx working without a trickery
9:14:58
loke
jackdaniel: I am trying. :-) The problem is that the xrender functions do not use the gcontext. The old-style graphics primitives in X11 uses the gcontext to determine how to draw stuff. The xrender API doesn't, and you have to do much more manually.
9:17:36
loke
That's why I was curious as to how this works, because I want to know how difficult it will be to reproduce this behaviour using xrender.