|
From: <tim...@en...> - 2006-04-29 07:25:11
|
Dear gnuplot developpers, After 11 months of development, the wxWidgets has landed to the CVS ! (I hope I did not make any mistake by the way) I really would like to thank you, Hans-Bernhard, Ethan, Bastian, Petr, Daniel, Ga=EBl for your help and your comments. Let me explain a little about this work. I think I fully fulfilled my initial goal : to contribute to an open-source project, to learn more about programming, and to make something to improve gnuplot, which I had used several times and appreciated, as a graduating physics student (I now use it every day for = a research internship in solid-state physics). From the pure wxWidgets terminal that it was at first, the concept evolve= d to a separation between the gui implemented in wxWidgets and the actual plot rendering with cairo and pango. Meanwhile, my aim to work on interactivity moved to rendering quality. I learned a lot about the problems of graphics rendering. Using antialiasing intelligently is not that straightforward, but hopefully the terminal implements it in a smart enough way. What to expect from this work in the future ? First, the terminal is highly cross-platform. To add a new supported platform, you "just" have to figure out a few thin= gs : - does wxWidgets on this platform require additional initialization calls (probably not)? - do I need to process the gui messages in a new loop (probably yes)? - do wxWidgets on this platform support all the currently implemented features (almost surely yes)? - how to compile it ? With these questions in mind, you can walk along the code in wxt_gui.cpp and see whether you are in the wxGTK (ie wxWidgets built on top of gtk) o= r wxMSW (ie wxWidgets on top of Windows) case. In addition to that, it is possible to add cairo hooks for direct rendering to screen. It is currently implemented for Windows but not for Unix, so that the wxWidgets terminal will be faster on Windows than on Unix ! The code to activate it for Unix is there but not enabled because current X servers do mostly fall back to software rendering, so it tends to be slower than the all-software (and all cross-platform) rendering. It means that it should be quite easy to make this terminal work for OS/2= , and Mac. Then, cairo is still a very young library. It is already working quite well : on a surface plot with pm3d, the rendering needs twice as much tim= e as the X11 terminal, but the plot is completely antialiased ! Nevertheless cairo is promised to a bright future. The next version (cair= o 1.2) which is supposed to be ready in a few weeks, will add full support for postscript and PDF output, and probably SVG. The following version to be out at the end of this year, will be focused on performance. Currently= , it is worth noticing that cairo has received few attention regarding optimization. Many algorithms (tesselator...) are said to be candidates for a major speedup. cairo will be used in firefox 2 as the rendering library on all platforms. It means that we will profit from a library use= d very broadly (gtk+ and firefox). No doubt that the wxWidgets terminal wil= l be faster in the next months. Thank you again, and have fun with gnuplot ! Regards, Timoth=E9e |