Get rid of QPixmap

This commit is contained in:
2021-04-20 23:28:52 +02:00
parent 1ba6a0ff19
commit f173e48a26
7 changed files with 38 additions and 57 deletions
+3 -10
View File
@@ -19,19 +19,18 @@ Image::Image(const QString name, ImageRingList *ringList) :
void Image::load()
{
if(m_pixmap.isNull() && !m_rawImage && !m_loading)
if(!m_rawImage && !m_loading)
{
m_loading = true;
m_released = false;
QThreadPool::globalInstance()->start(new LoadRunable(m_name, this, m_ringList->analyzeLevel()));
}
if(!m_loading && (!m_pixmap.isNull() || m_rawImage))
if(!m_loading && m_rawImage)
emit pixmapLoaded(this);
}
void Image::release()
{
m_pixmap = QPixmap();
m_rawImage.reset();
m_released = true;
m_loading = false;
@@ -42,11 +41,6 @@ QString Image::name() const
return m_name;
}
QPixmap Image::pixmap() const
{
return m_pixmap;
}
RawImage *Image::rawImage()
{
return m_rawImage.get();
@@ -62,12 +56,11 @@ bool Image::isCurrent() const
return !m_released;
}
void Image::imageLoaded(QImage img, void *rawImage, ImageInfoData info)
void Image::imageLoaded(void *rawImage, ImageInfoData info)
{
m_loading = false;
if(!m_released)
{
m_pixmap = QPixmap::fromImage(img);
m_rawImage.reset(static_cast<RawImage*>(rawImage));
m_info = info;
emit pixmapLoaded(this);