Hi António:

Please take a look at my most recent push.  The highlights are I have
committed the changed version of aurora.png that you donated, done a
substantial code cleanup, moved to linking with the plplotcxx library
rather than the plplot library, fixed some build issues, and figured
out how to enable *and* use plscolbg(a) properly for the memqt device
without compromising functionality.  Please try this method (using a
transparent Qt5 image initialization or transparent PLplot background
as needed) also for your own private examples to confirm my claim of
no compromise of functionality for this method is true.  I am pretty
sure you will like what I have done, but if you feel there is any
problem with my changes, I will try and figure it out to your
satisfaction.

Assuming you like what I have done, that leaves only one remaining
memqt_example issue as far as I am concerned.  That issue is the
proper display of the actions which are supposed to contain
semi-transparent results.  Currently, they are plotted as
semi-transparent on a white background imposed by Qt5, but that is not the 
correct
result as we have recently discovered by looking at pqiv results.

@everybody: for the others here I have recently discovered a method of
displaying semi-transparent PLplot plots correctly which is to use the
--transparent-background option of pqiv (that option name is a
misnomer which should have been called something like --honor-alpha since
all it does is honor the alpha channel information contained in the
image that is being displayed).

To see what this option can do, try the following to
build the relevant pngqt device and C example 11, create a
semi-transparent version of that example, and display that result
properly:

make qt
make x11c
examples/c/x11c -dev pngqt -o test.png -bg FFF_0.4 -fam
pqiv -i --transparent-background test.png.8

This works well on my Debian Buster KDE compositing desktop where the
composited result is 40 per cent PLplot result and 60 per cent
whatever is below that plot on the desktop.  However, this nice result
is not what is delivered by Qt5 because its default action is to
insert an opaque white layer as an additional background for the
semi-transparent memqt_example actions.

@António: I am not sure whether you have tried the above pqiv example
yet on your own (openSUSE) KDE compositing desktop, but I think it
should "just work" for you as well as it did for me.  Which leaves the
development topic of how to convince Qt5 to do similar correct
rendering of the semi-transparent actions of memqt_example?  Google is
no help (because of an enormous number of irrelevant hits for the
search terms "qt5 semi-transparent" (without the quotes) which discuss
creating semi-transparent results [which we already have done with
memqt_example] but those hits typically do not discuss rendering those
results properly with Qt5).  So can you use your Qt5 expertise to help
me figure out how to do this?

Alan
__________________________
Alan W. Irwin

Research affiliation with the Department of Physics and Astronomy,
University of Victoria, Victoria, BC, Canada.

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.org); 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
__________________________


_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to