MCPcopy Create free account
hub / github.com/YACReader/yacreader / run

Method run

YACReader/continuous_page_provider.cpp:39–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

37 }
38
39 void run() override
40 {
41 QImage img;
42 img.loadFromData(m_rawData);
43
44 if (!img.isNull() && m_rotation > 0) {
45 QTransform t;
46 t.rotate(m_rotation);
47 img = img.transformed(t, Qt::SmoothTransformation);
48 }
49
50 if (!img.isNull()) {
51 // Same filters, same order as Render: brightness, contrast, gamma.
52 BrightnessFilter(m_brightness).setFilter(img).swap(img);
53 ContrastFilter(m_contrast).setFilter(img).swap(img);
54 GammaFilter(m_gamma).setFilter(img).swap(img);
55 }
56
57 ContinuousPageProvider *provider = m_provider;
58 const int pageIndex = m_pageIndex;
59 const quint64 generation = m_generation;
60
61 QMetaObject::invokeMethod(
62 provider,
63 [provider, pageIndex, generation, img = std::move(img)]() mutable {
64 provider->deliverDecodedImage(pageIndex, generation, std::move(img));
65 },
66 Qt::QueuedConnection);
67 }
68
69private:
70 ContinuousPageProvider *m_provider;

Callers

nothing calls this directly

Calls 6

BrightnessFilterClass · 0.85
ContrastFilterClass · 0.85
GammaFilterClass · 0.85
rotateMethod · 0.80
setFilterMethod · 0.80
deliverDecodedImageMethod · 0.80

Tested by

no test coverage detected