CEmu
CEmu copied to clipboard
Screenshots/recordings should be affected by screen brightness
- [x] Screenshots
- [ ] APNG recordings
Current implementation draws a black layer with alpha on top of the raw image, and only the raw image is used for screenshots and captures.
Potential solution: use the context painted images/bytes instead of the initial raw image?
For screenshots, it's trivial, LCDWidget::getImage()
should be:
QPixmap pixmap(size());
render(&pixmap);
return pixmap.toImage();
instead of
m_mutex.lock();
QImage ret(m_image);
m_mutex.unlock();
return ret;
I'll commit that since it doesn't hurt (and also removes the mutex lock), but the problem is much harder if we want to fix that for APNG recordings, since apng_add_frame
is called within LCDWidget::draw
, and I don't think we want to (which may not be up to date at this point anyway, there is an event that's fired in it to update the widget later on)