> > The eofill setting is saved by the plbuf at a bop (see line 176 and 359 in > plbuf.c). > Hi Jim - These are changes I made over the weekend. I guess you're not subscribed to get code change notifications or maybe you missed them :-)
> > I have noticed some inconsistencies in the mash-up of plbuf and drivers when > it comes to handling state and escape (e.g. plD_esc) functions. Based on my > recollection of old graphics devices, I think I understand the difference > (state has to do with internal plplot and escape has to do with commands to > the graphic device) but with the way graphics devices have evolved we may > want to revisit the implementation (e.g. make sure no settings are getting > lost on a replot). My understanding is the same. state commands change something that plplot remembers - usually something that is saved in the PLStream, whereas escapes are commands sent to the drivers to perform an action - usually rendering. Always thought that was an odd name, when I think of escape I think of escape sequences in text etc. I guess there is a historical reason. I also guess that a number of things like setting the rotation or clipping region or subpage or other things are really changes of state, but don't go through that code. Again I guess these are for historical reasons. > > The biggest weakness in plbuf is that what it thinks should be saved may not > match what is needed. When working on the core and drivers, it is easy to > add a bit of state and not update plbuf. There might be a way to make plbuf > be more aggressive in saving state information and restoring it when > replaying the buffer. I can make the aggressiveness be a setting that a > driver can set it if it wants the current behavior—I am concerned that some > of the older drivers might have issues. I actually think that now that the wxWidgets interactive driver (i.e. the one that gets called from a command line application, rather than what gets called when you pass in a wxDC) uses the buffer for all its rendering, we now do rather a good job of keeping on top of these things. The biggest problems have turned out to be, things that are stored in PLStream, but don't go through the Plp_State code. The things that I think still pose challenges are 1) Initialisation and beginning the first page - it can be that when passing a buffer around we end up initialising more than once and this has caused issues. I these are mostly sorted now though. 2) Resizing - the buffer stores the coordinates for rendering and the sizes of text. But if we resize then we may want to scale the text size, or keep the text size the same and keep the distance of labels from the axis the same. Currently we keep the text size the same, but they move relative to the axes. 3) Changes of aspect ratio - This can cause a big mess, especially for rotated text on plots, axis label positioning and tick mark length. Actually now that I have listed these, I am going to add 2 and 3 to the bug tracker so they don't get totally forgotten. Phil ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel