freenode/#clim - IRC Chatlog
Search
13:11:43
scymtym
and i couldn't find a way to clip the function names such that the output-record size wouldn't grow beyond the clipping region
15:05:31
scymtym
oleo: thanks, but passing any of those to the application pane doesn't seem to change anything
16:00:05
scymtym
oleo: i tried something similar, but aren't the pane classes and the whole setup totally different?
16:01:12
oleo
scymtym, that's the class for instantiating instances, if you instantiate an instance and pass along other options those will also take effect
16:02:28
oleo
so something unspecified at instantiating time will be taken from the class, if you pass a new thing onto the instance it will take effect/override the class version
16:02:42
scymtym
oleo: yes, i'm convinced that i successfully passed the options you suggested to the extended stream instance, but they didn't seem to affect the scrolling or output record size problems. sorry if i'm not understanding what you are suggesting
16:05:15
oleo
that one implements scrollbars, but the growing of the buffer horizontally is independent of that
16:06:28
oleo
i tried only a vertical scroll bar and the buffer would still grow horizontally on input exceeding the pane size, however after adding the :wrap and :text-margin stuff there was no growing afterwards
16:08:35
oleo
and if you don't have a horizontal scrollbar you can't even get back to the beginning of the buffer in some cases so i always include it
16:11:46
jackdaniel
so it seems that even basic draw-rectangle* operation doesn't resize sheet region
16:13:32
oleo
have a look at my version and do a diff, maybe there are some changes i made which made it work......
16:14:35
jackdaniel
I find it too tedious to parse like that. when you load this flame-graph example and comment out this princ 1, does it resize for you correctly?
16:14:47
oleo
i surely made some changes just not sure where and if it was necessary/appropriate....
17:21:55
jackdaniel
if you add (change-space-requirements pane) it will grow as desired without printc etc
17:37:45
jackdaniel
beach: do you remember anything in the spec what mandates pane to resize its viewport on drawing? or the programmer must call change-space-requirements himself?
17:38:17
jackdaniel
we can't call change-space-requirements from inside draw-* functions, because that will lead to infinite recursion
17:43:43
jackdaniel
so this is arguably not a bug, but I'd love to hear opinions if there are some reasons why we shouldn't automate updating space requirements on each iteration of display loop
17:45:30
jackdaniel
http://hellsgate.pl/files/b104d9af (screenshot, I've turned off scrollbars and let it resize the frame itself)
18:38:59
jackdaniel
I have also figured out, how it happens, that when we write string to stream scrolls are extended
18:39:59
jackdaniel
it's thanks to %note-stream-end-of-page similar mechanism called from seos-write-string (and seos-write-newline)
18:41:06
jackdaniel
oleo: the difference you have observed was because you were working on string sequences written to pane, while scymtym used draw-* functions, which doesn't deal with end-of-page and end-of-line
19:37:54
jackdaniel
also, you may want to use with-drawing-options instead of setting and reverting clipping region manually
19:41:23
scymtym
that's good to know but using clipping didn't work because the output-record bounding region seem unaffected by clipping. that messes up the layout. this problem is the reason for only drawing function names that fit entirely into the rectangle
19:54:06
nyef
Why would the bounding rectangle of an output record have anything to do with a clipping region?
19:57:07
jackdaniel
nyef: if you have presentation which is active, we test against bounding rectangle not the clipping region, so it may get selected even if user goes to the area which is not drawn (as far as he can see)
19:58:23
jackdaniel
also, if we clip two rectangles which width is 4 to 2, you could fit two such rectangles in 4-wide area, but we lay them out according to bounding rectangle
20:00:29
jackdaniel
rectangle might have been not the best example, better one is the application scymtym provided
20:17:37
jackdaniel
but I can't see how that would be implemented to avoid these two problems at the moment
20:19:19
oleo
hmm if scaling is involed do nothing (other than signified by something else to not) if no scaling and rectangular then implement the same hit test for rectangles
20:38:08
jackdaniel
I've manged to make it clip bounding-rectangle as well: http://hellsgate.pl/files/b87819e3
20:39:25
jackdaniel
oleo: pasting these links isn't helpful, I'm sure I've read these passages at least a few times each in the past
20:40:00
oleo
hmm, i see a distinction between drawing on the medium of the sheet and directly to the sheet
20:42:52
oleo
hmm, so if nothing was supplied by the programmer the default is the medium provided one but on replay things could have changed