[Development] Qt 'minimal' platform no rendering alpha/opacity.
Paul Knopf
theonlylawislove at gmail.com
Fri Apr 17 17:45:12 CEST 2015
What do you mean when you say "compositor"? Are you referring to a window
system?
Is this something that is possible to implement with the minimal project?
What would have to change?
I have need a custom platform that encodes the ARGB (proprietary, vendor
specific) to the linux framebuffer, but the alpha channel has to actually
be correct.
How come I can do this without a compositor?
QImage bitmap(widget.size(), QImage::Format_ARGB32);
bitmap.fill(Qt::transparent);
QPainter painter(&bitmap);
widget.render(&painter, QPoint(), QRegion(), QWidget::DrawChildren);
bitmap.save("file.png");
There must be a way to achieve the same result using a platform plugin.
If all else fails, I could create my own thread loop that renders the
QWidget with the above code and outputs it to my driver manually, instead
of going through the platform plugins, but I would like to support the
platform plugin so that I can then switch it out to develop locally using
standard Qt platforms (X11, etc).
On Fri, Apr 17, 2015 at 10:32 AM, Agocs Laszlo <
laszlo.agocs at theqtcompany.com> wrote:
> You do have alpha because the minimal's backingstore uses
> ARGB32_Premultiplied for the backing QImage.
>
> What you do not have is setWindowOpacity(). You would need to implement
> QPlatformWindow::setOpacity() for that, but that is not possible with
> minimal since there is no compositor that could apply the opacity to the
> window contents during the composition step.
>
> Best regards,
> Laszlo
>
> From: Paul Knopf <theonlylawislove at gmail.com>
> Date: Friday 17 April 2015 16:20
> To: "development at qt-project.org" <development at qt-project.org>
> Subject: [Development] Qt 'minimal' platform no rendering alpha/opacity.
>
> I am testing the 'minimal' platform (mine is based off of it), and it
> seems that is doesn't render the alpha channel (setting opacity).
>
> Here is a gist <https://gist.github.com/anonymous/544e84fbcde5022a6878> of
> my main function testing the opacity.
>
> The saved images seems to have a tan background and no transparency.
>
> Any ideas on how to get the alpha channel represented in the platform
> backing store?
>
> --
> Thanks!
>
> ~Paul
>
--
Thanks!
~Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20150417/946ce155/attachment.html>
More information about the Development
mailing list