Hi Phil: I am still progressing at a steady pace with this wxwidgets IPC development effort. There are no additional commits to share with you at this time (but coming soon!), and I appreciate that you haven't caused me any conflict resolution issues as I work on what previously had been largely your wxwidgets code.
I have wxPLDevice::TransmitBuffer completely implemented for for -DPL_WXWIDGETS_IPC2=ON. There I transmit the bytes in two batches. One batch for everything but the PLplot buffer data, and one batch (if needed) exclusively for that buffer data. The result builds without issues, but I haven't committed it yet because I am not (quite) in a position to test it yet. I have started the corresponding -DPL_WXWIDGETS_IPC2=ON implementation of wxPlFrame::ReadTransmission, and when that is done I should be able to test my work and commit it. That commit will ignore the issue of transmitting interactive keystrokes back from wxPLViewer to -dev wxwidgets, but I have made a lot of general progress in that area as well, see below. I have figured out what I think is a fool-proof way for wxPLViewer to use the read semaphore to coordinate when -dev wxwidgets needs to read what wxPLViewer has written to the PLMemoryMap. I implemented this idea as two additional methods of the PLMemoryMap class. I tested that new code by using it to communicate the wxPLViewer update of header->viewerOpenFlag = 1; back to -dev wxwidgets (to signal back all is well with the PLMemoryMap instance on the wxPLViewer), and I got a good result with no requirement of having to go into a wxMilliSleep loop on the -dev wxwidgets side to wait for wxPLViewer to make contact. So I think using this general approach is also going to work well for transmitting back interactive keystroke information from wxPLViewer to -dev wxwidgets. Note, these two new methods could also be used to send back text size information (if, for example, we wanted to do something other than a simple scaling of text size when resizing the graph). However, I just checked with the second page of the second example (where lots of numbers are inscribed almost exactly in boxes) and both -dev xwin and -dev qtwidget clearly do nothing but simple scaling of the text size when resizing. Thus, for the -dev wxwidgets case there is no need to send back text size with each resize event, and indeed today I discovered (as expected now I have seen what is done for other interactive devices) all the text size measurement was done completely on the -dev wxwidgets side with no feedback at all from the wxPLViewer side. But if you wanted to consolidate that measurement of text size with the actual rendering of that same text (all on the wxPLViewer side), it could be done with this method. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------------ 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