Menu

#151 Known issues for new wxwidgets device

None
closed-out-of-date
None
5
2015-08-11
2015-02-21
No

The point of this bug report is to keep track of all the issues (some with plbuf some with wxwidgets) that are demonstrated with the new wxwidgets device. Note this edited summary reflects the latest test on Debian stabnle of new wxwidgets as of the PLplot-5.11.0 release and largely supersedes all other comments here which were typically made substantially before that release date before additional bug fixing of wxwidgets was done. Each of the issues in this summary are labelled at the end with one of "(wxwidgets)", "(buffer)", or "(not sure)" depending on current thinking about which component is causing the problem. Additional tags are "(wxwidgets, interactive)" which labels all issues where it is thought that adding more interactive capability between the (server) application and (client) wxPLViewer is likely the solution for the issue and (wxwidgets, Debian stable) for wxwidgets issues which are thought to be specific to the Debian stable platform.

  • Text much too small for all examples. Increasing all text sizes by something close to a factor of two (say to fill all the squares by the numbers in example 2.2 just like for the xcairo, qtwidget, and xwin device) is needed. (wxwidgets)

  • Superscript and subscript vertical spacing is inconsistent for -dev wxwidgets compared to other devices. Use a call to plP_script_scale (as currently done
    by the cairo, qt, pdf, ps, psttf, and svg device drivers) to get rid of this inconsistency. (wxwidgets)

  • Some examples, (e.g, 8, 17, and 20) are much slower to display than with old wxwidgets. (not sure)

  • Erases executed by example 17 are not getting done when the plot is rescaled. (wxwidgets, interactive)

  • Example 20.03 does not allow the user to set the cursor. Compare with the cursor capability shown with this example page for -dev xwin. (wxwidgets, interactive)

Note -dev wxwidgets cursor capability is currently similar to that of -dev xcairo and -dev qtwidget. All three devices have sufficient interactive capability to print out cursor position results for example 1 with the -locate option, but all three devices fail to allow the user to select a region in example 20.03. So all three should be updated to have the same cursor capabilities as -dev xwin.

  • Example 26.02 has an issue with too large a legend for the Cyrillic version of the plot. (wxwidgets)

  • Example 28.04 has a strange colour change for certain ranges indicated below for the rendering of the

"The future of our civilization depends on software freedom."
^^^^^^^^ ^^^^^^^

3D string. Those colour changes occur when the letters in the string are mostly reduced to the (expected) straight lines by the 3D affine transformation. This issue cannot be verified on other platforms so is likely due to some special issue with my Debian stable wxwidgets software library. (wxwidgets, Debian stable)

  • Example 28.05 has affine transformation issues. (wxwidgets)

  • Example 30.02 has ugly looking gradient results which are due to falling back to core software emulation of a linear gradient. Instead, as discussed on list a linear gradient based on the wxwidgets library API should be used instead to get very nice results for this example (such as those from the cairo and qt devices). (wxwidgets)

  • Example 34: the qtwidgets device does not support draw mode. Assuming we want to implement this someday we need to follow what is done for xcairo (which is the only device so far that has draw mode
    capability). (wxwidgets)

Discussion

  • Alan W. Irwin

    Alan W. Irwin - 2015-02-23
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -5,7 +5,7 @@
     Error creating memory map for wxWidget instruction transmission. The
     plots will not be displayed
    
    -, not sure
    +, wxwidgets (this issue with generating random names is almost solved now).
    
     * x01 and x02.02, x09.01, x23 text size isn't a great match, wxWidgets
    
    @@ -38,4 +38,3 @@
     * Very unpleasant antialiasing effects in x30.02, wxWidgets
    
     * All the ****s are underlined in my example, not sure
    -
    
    • Group: -->
     
  • Alan W. Irwin

    Alan W. Irwin - 2015-02-23
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -13,7 +13,9 @@
    
     * All hatchings seem to have an extra horizontal line, not sure
    
    -* x14.03/04 The slave stream pages are not displayed, not sure
    +* x14.03/04 The slave stream pages are not displayed, not sure.  Note, AWI does not confirm this issue on Debian stable so it may have been solved now.
    +
    +* x14 aspect ratio is incorrect (circles get turned into ellipses).  not sure
    
     * background colours aren't correct when they change between pages
     (e.g. x16), not sure
    @@ -35,6 +37,6 @@
     that example don't look like they follow the expected pattern,
     wxWidgets
    
    -* Very unpleasant antialiasing effects in x30.02, wxWidgets
    +* Very unpleasant antialiasing effects in x30.02, wxWidgets (AWI note, these effects are caused by the PLplot software fallback gradient when devices don't supply a native gradient themselves.  So the cure is to supply a native gradient for the wxwidgets device, i.e., rely on the wxwidgets library software API [something like CreateLinearGradientBrush?] to draw a linear gradient.)
    
     * All the ****s are underlined in my example, not sure
    
     
  • Andrew Ross

    Andrew Ross - 2015-02-23

    Additional notes from Andrew Ross. Tested on Ubuntu 14.10 (Utopic).

    Example 14 works for me, including slave windows.
    Example 19. All pages display, but aspect ratio is wrong.
    Example 20 does work, but is very slow. Aspect ratio for the images is wrong.

    I've occasionally had wxPlviewer exit part way through a series of plots, but without any error message. It happens when pressing return a couple of times quickly, but not enough times to get through all pages. I noticed this with example 23. Start it up then press return 4 times in quick succession. This seems to reproducibly result in the example finishing early.

     

    Last edit: Andrew Ross 2015-02-23
  • Phil Rosenberg

    Phil Rosenberg - 2015-02-24

    •x01 and x02.02, x09.01, x23 text size isn't a great match, wxWidgets

    •x03 page note rotated, aspect ratio incorrect (circles are rendered as ellipses), not sure

    A number of these issues have now been solved or turned out to be non-issues caused by the fact that the online examples used for comparison are for the current release version not the trunk. The remaining issues are as follows

    •All hatchings seem to have an extra horizontal line, not sure of the cause, but probably a buffer issue as the driver doesn't have any concept of hatchings and any hatching plot seems to cause the xwin driver to crash.

    •Some aspect ratios are wrong. This occurs in the map example x19 and x14 where circles get turned into ellipses. However x03 is fine. This is probably something to do with calls to di related functions as these are called in x03 or just parameters used when setting up the window - need to check that things like px per mm are correct which are used when just is used. This also messes up the angles of text.

    •background colours change one page too early (e.g. x16, x19), not sure of the cause

    •Rendering large plots or plotting many times as the buffer grows is very slow. This needs better growth strategy for the buffer when copied into PLplot to mimic the regular growth strategy. x20 and x17 are good examples of this

    •Inline font changes don't work (see x23 final few pages), probably the inline changes get parsed before they are saved to the buffer

    •x26.02 has a very wide legend compared to other drivers, not sure why

    •Sub and super scripts are reversed in x28.02/03

    •Very unpleasant antialiasing effects in x30.02, wxWidgets
    AWI note, these effects are caused by the PLplot software fallback gradient when devices don't supply a native gradient themselves. So the cure is to supply a native gradient for the wxwidgets device, i.e., rely on the wxwidgets library software API [something like CreateLinearGradientBrush?] to draw a linear gradient.
    Phil note, this is true, but it would be good to be able to do contour fills with transparency.

    •Early exit as reported by Andrew - Reproduced now on example 23

     

    Last edit: Phil Rosenberg 2015-02-25
  • Phil Rosenberg

    Phil Rosenberg - 2015-02-25

    Early exit now fixed. This was caused by trying to move to a page that hadn't yet been read from the memory map, meaning wxPLViewer thought it had reached the end of the feed.

     
  • Alan W. Irwin

    Alan W. Irwin - 2015-04-03
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,42 +1,30 @@
    -The point of this bug report is to keep track of all the issues (some with plbuf some with wxwidgets) that are demonstrated with the new wxwidgets device.  Each of these issues are labelled on the end with one of wxwidgets, buffer, or not sure depending on current thinking about which component is causing the problem.
    +The point of this bug report is to keep track of all the issues (some with plbuf some with wxwidgets) that are demonstrated with the new wxwidgets device.  Note this edited summary reflects the latest test of new wxwidgets as of the PLplot-5.11.0 release and supersedes all other comments here which (as of this date) were all made substantially before that release date before additional bug fixing of wxwidgets was done.  Each of the remaining issues in this summary are labelled at the end with one of "(wxwidgets)", "(buffer)", or "(not sure)" depending on current thinking about which component is causing the problem.  Another tag that is used is "(wxwidgets, interactive)" which labels all issues where it is thought that adding more interactive capability between the (server) application and (client) wxPLViewer is likely the solution for the issue.
    
    -*  Intermittent issue of the following warning message
    -*** PLPLOT WARNING ***
    -Error creating memory map for wxWidget instruction transmission. The
    -plots will not be displayed
    +* Text much too small for all examples.  Increasing all text sizes by something close to a factor of two (say to fill all the squares by the numbers in example 2.2 just like for the xcairo, qtwidget, and xwin device) is needed. (wxwidgets)
    
    -, wxwidgets (this issue with generating random names is almost solved now).
    +* Superscript and subscript vertical spacing is inconsistent for -dev wxwidgets compared to other devices.  Use a call to plP_script_scale (as currently done
    +by the cairo, qt, pdf, ps, psttf, and svg device drivers) to get rid of this inconsistency. (wxwidgets)
    
    -* x01 and x02.02, x09.01, x23 text size isn't a great match, wxWidgets
    +* Some examples, (e.g, 8, 17, and 20) are much slower to display than with old wxwidgets. (not sure)
    
    -* x03 page note rotated, aspect ratio incorrect (circles are rendered as ellipses), not sure
    +* Erases executed by example 17 are not getting done when the plot is rescaled. (wxwidgets, interactive)
    
    -* All hatchings seem to have an extra horizontal line, not sure
    +* Example 20.03 does not allow the user to set the cursor. Compare with the cursor capability shown with this example page for -dev xwin.  (wxwidgets, interactive)
    
    -* x14.03/04 The slave stream pages are not displayed, not sure.  Note, AWI does not confirm this issue on Debian stable so it may have been solved now.
    +Note -dev wxwidgets cursor capability is currently similar to that of -dev xcairo and -dev qtwidget.  All three devices have sufficient interactive capability to print out cursor position results for example 1 with the -locate option, but all three devices fail to allow the user to select a region in example 20.03.  So all three should be updated to have the same cursor capabilities as -dev xwin.
    
    -* x14 aspect ratio is incorrect (circles get turned into ellipses).  not sure
    +* Example 26.02 has an issue with too large a legend for the Cyrillic version of the plot. (wxwidgets)
    
    -* background colours aren't correct when they change between pages
    -(e.g. x16), not sure
    +* Example 28.04 has a strange colour change for certain ranges indicated below for the rendering of the
    
    -* x17 strip chart jumbles all results together at the end instead of displaying them properly in the designed interactive way for that example that works for every other interactive device, not sure 
    +`"The future of our civilization depends on software freedom."`
    +`                ^^^^^^^^                        ^^^^^^^`
    
    -* x19.02/03 not displayed, not sure
    +3D string.  Those colour changes occur when the letters in the string are mostly reduced to the (expected) straight lines by the 3D affine transformation.  This issue cannot be verified on other platforms so is likely due to some special issue with my Debian stable wxwidgets software library.
    
    -* x20 seems to hang, perhaps just because it takes a long time to
    -render, wxWidgets
    +* Example 28.05 has affine transformation issues.
    
    -* Inline font changes don't work (see x23 final few pages), buffer
    +* Example 30.02 has ugly looking gradient results which are due to falling back to core software emulation of a linear gradient.  Instead, as discussed on list a linear gradient based on the wxwidgets library API should be used instead to get very nice results for this example (such as those from the cairo and qt devices).
    
    -* x25 has some gradient differences, but I'm not sure which is correct
    -
    -* x26.02 has a very wide legend compared, not sure
    -
    -* Sub and super scripts don't match x28.02/03, but the positions in
    -that example don't look like they follow the expected pattern,
    -wxWidgets
    -
    -* Very unpleasant antialiasing effects in x30.02, wxWidgets (AWI note, these effects are caused by the PLplot software fallback gradient when devices don't supply a native gradient themselves.  So the cure is to supply a native gradient for the wxwidgets device, i.e., rely on the wxwidgets library software API [something like CreateLinearGradientBrush?] to draw a linear gradient.)
    -
    -* All the ****s are underlined in my example, not sure
    +* Example 34: the qtwidgets device does not support draw mode.  Assuming we want to implement this someday we need to follow what is done for xcairo (which is the only device so far that has draw mode
    +capability).
    
     
  • Alan W. Irwin

    Alan W. Irwin - 2015-04-03
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,4 +1,4 @@
    -The point of this bug report is to keep track of all the issues (some with plbuf some with wxwidgets) that are demonstrated with the new wxwidgets device.  Note this edited summary reflects the latest test of new wxwidgets as of the PLplot-5.11.0 release and supersedes all other comments here which (as of this date) were all made substantially before that release date before additional bug fixing of wxwidgets was done.  Each of the remaining issues in this summary are labelled at the end with one of "(wxwidgets)", "(buffer)", or "(not sure)" depending on current thinking about which component is causing the problem.  Another tag that is used is "(wxwidgets, interactive)" which labels all issues where it is thought that adding more interactive capability between the (server) application and (client) wxPLViewer is likely the solution for the issue.
    +The point of this bug report is to keep track of all the issues (some with plbuf some with wxwidgets) that are demonstrated with the new wxwidgets device.  Note this edited summary reflects the latest test on Debian stabnle of new wxwidgets as of the PLplot-5.11.0 release and largely supersedes all other comments here which were typically made substantially before that release date before additional bug fixing of wxwidgets was done.  Each of the issues in this summary are labelled at the end with one of "(wxwidgets)", "(buffer)", or "(not sure)" depending on current thinking about which component is causing the problem.  Additional tags are "(wxwidgets, interactive)" which labels all issues where it is thought that adding more interactive capability between the (server) application and (client) wxPLViewer is likely the solution for the issue and (wxwidgets, Debian stable) for wxwidgets issues which are thought to be specific to the Debian stable platform.
    
     * Text much too small for all examples.  Increasing all text sizes by something close to a factor of two (say to fill all the squares by the numbers in example 2.2 just like for the xcairo, qtwidget, and xwin device) is needed. (wxwidgets)
    
    @@ -20,11 +20,11 @@
     `"The future of our civilization depends on software freedom."`
     `                ^^^^^^^^                        ^^^^^^^`
    
    -3D string.  Those colour changes occur when the letters in the string are mostly reduced to the (expected) straight lines by the 3D affine transformation.  This issue cannot be verified on other platforms so is likely due to some special issue with my Debian stable wxwidgets software library.
    +3D string.  Those colour changes occur when the letters in the string are mostly reduced to the (expected) straight lines by the 3D affine transformation.  This issue cannot be verified on other platforms so is likely due to some special issue with my Debian stable wxwidgets software library. (wxwidgets, Debian stable)
    
    -* Example 28.05 has affine transformation issues.
    +* Example 28.05 has affine transformation issues. (wxwidgets)
    
    -* Example 30.02 has ugly looking gradient results which are due to falling back to core software emulation of a linear gradient.  Instead, as discussed on list a linear gradient based on the wxwidgets library API should be used instead to get very nice results for this example (such as those from the cairo and qt devices).
    +* Example 30.02 has ugly looking gradient results which are due to falling back to core software emulation of a linear gradient.  Instead, as discussed on list a linear gradient based on the wxwidgets library API should be used instead to get very nice results for this example (such as those from the cairo and qt devices). (wxwidgets)
    
     * Example 34: the qtwidgets device does not support draw mode.  Assuming we want to implement this someday we need to follow what is done for xcairo (which is the only device so far that has draw mode
    -capability).
    +capability).  (wxwidgets)
    
     
  • Alan W. Irwin

    Alan W. Irwin - 2015-08-11
    • status: open --> closed-out-of-date
     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.