freenode/#clim - IRC Chatlog
Search
6:12:21
lukego
I have been accumulating SVG elements each time e.g. DRAW-RECTANGLE* is called and then rendering at the end. But now the thought occurs that I don't have to accumulate those at all because output recording does that. I don't know if it's taboo to insist that output recording is always enabled but for now I think I'll do exactly that.
7:59:19
lukego
do you mean it is okay or it is not okay? if by typed output you mean WITH-OUTPUT-AS-PRESENTATION it seems like this will play nice with output recording right? (problem would be if output recording were disabled?)
8:01:17
lukego
Aside: This is something that I find hard with CLIM. On one level I know that output recording can either be enabled or disabled. On the other hand I don't know what this depends on... decided by CLIM implementor? decided by backend author? decided by application programmer? mandated by use of certain features? or some intersection of these concerns?
8:01:50
lukego
So saying "output record is always enabled for streams to Emacs, period" would really clear up a lot of cognitive load for me and so I hope I can say that for now and perhaps revisit later
8:10:05
lukego
I suppose another immediate concern for me is how transformations play with output records e.g. what coordinate space(s) will be used in output records compared with the args to DRAW-RECTANGLE* etc
8:10:50
lukego
beach: yeah the initial manual bits he posted before really helped to clear things up -- divide and conquer so you can nail down one subsystem of CLIM, e.g. drawing or command dispatch, separately from the others, e.g. the whole event loop machinery.
8:38:11
jackdaniel
output records pretransform coordinates, so you may assume the identity transformation
8:49:59
lukego
also, I feel a strong urge to automatically clip the drawings to the area that's actually inked. e.g. if you draw betwween (-5,-5) and (5,5) I'll tell Emacs it's really (0,0) and (10,10). any controversy there? does CLIM already have some functionality like this or does one normally explicitly set the pane size? (seems like overkill if e.g. you just want to call (DRAW-RECTANGLE* ...) from the REPL)
8:55:33
jackdaniel
I wasn't going to neither; three first days of may is the usual family holiday in poland
8:56:07
lukego
ACTION is just sneaking in a few minutes of hacking when possible, making the most of the kids' screen time etc
9:00:11
lukego
I think for now at least it might be easier for me to just traverse the output records tree and apply a translation to every element based on the min-x,min-y of the overall bounding box for the stream
9:00:32
jackdaniel
thanks. today it is tad larger than small - my parents, sisters and their families with kids, 12 people in total ;)
9:00:49
lukego
I have to write some code for each drawing operation anyway, to translate it into SVG, so a little arithmetic won't hurt much
9:05:38
lukego
I see there's also REPLAY-OUTPUT-RECORD that takes x/y offset args. can dig a bit to see if the "work" of translating stuff is already done for me, though it seems easy to do directly
9:08:29
jackdaniel
don't rely on that (they were retained for vackward compatibility with genera dynamic windows I think)