libera/#clim - IRC Chatlog
Search
15:39:07
beach
lukego: There is a fascinating chapter that describes the constellation of :AROUND methods on the drawing functions and how the flags (stream-recording, stream-drawing?) are consulted.
15:39:27
lukego
my mental model was that replaying the output record would effectively repeat the drawing operation, which would use the originally-transformed parameters, which would combine with the now-effective parameters, to effectively (...) use both transformations
15:41:05
jackdaniel
you may hack your way by modifying the device transformation, but that's not portable and you'll probably have some bumps around the road with nobody to help you with that
15:42:18
jackdaniel
another way would be adding a mixin to your record that allows you to add another transformation in replay-output-record
15:42:56
jackdaniel
one thing to like or hate with mcclim is that it is easy to hack your way from many things
15:43:55
lukego
I guess what I'm lacking is a sense of whether or not I am actually on a sane path i.e. whether CLIM output records to make a suitable intermediate representation (so to speak) for 2D CAD data or whether I should be doing more directly in the application and then rendering to CLIM as a later step
15:44:38
jackdaniel
as I've mentioned, you may create your own instances of output records and define replay-output-record methods - maybe that will work better for you
15:44:40
lukego
CLIM has been helpful because the transformations are actually useful for writing my drawing routines and it's great that they are expanded out in the output records, so that once drawing is done I can work with absolute coordinates and not worry about transforms anymore
15:46:27
jackdaniel
you may also modify the output record transformation by setfing (climi::graphics-state-transformation record) ;; another hacky way
17:39:30
jackdaniel
lukego: one missing part (perhaps) is the fact, that it is not replay-output-record who "resets" the transformation to the identity upon replay, it is the function REPLAY