• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mcallegari / qlcplus / 18357067171

08 Oct 2025 08:16PM UTC coverage: 34.26% (+2.2%) from 32.066%
18357067171

push

github

mcallegari
Merge branch 'master' into filedialog

1282 of 4424 new or added lines in 152 files covered. (28.98%)

1342 existing lines in 152 files now uncovered.

17704 of 51675 relevant lines covered (34.26%)

19430.31 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

37.25
/engine/src/rgbplain.cpp
1
/*
2
  Q Light Controller Plus
3
  rgbplain.cpp
4

5
  Copyright (c) Massimo Callegari
6

7
  Licensed under the Apache License, Version 2.0 (the "License");
8
  you may not use this file except in compliance with the License.
9
  You may obtain a copy of the License at
10

11
      http://www.apache.org/licenses/LICENSE-2.0.txt
12

13
  Unless required by applicable law or agreed to in writing, software
14
  distributed under the License is distributed on an "AS IS" BASIS,
15
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
  See the License for the specific language governing permissions and
17
  limitations under the License.
18
*/
19

20
#include <QXmlStreamReader>
21
#include <QXmlStreamWriter>
22
#include <QDebug>
23

24
#include "rgbplain.h"
25
#include "doc.h"
26

27
RGBPlain::RGBPlain(Doc * doc)
19✔
28
    : RGBAlgorithm(doc)
19✔
29
{
30
}
19✔
31

32
RGBPlain::RGBPlain(const RGBPlain& a, QObject *parent)
×
33
    : QObject(parent)
34
    , RGBAlgorithm(a.doc())
×
35
{
36
}
×
37

38
RGBPlain::~RGBPlain()
19✔
39
{
40
}
19✔
41

42
RGBAlgorithm* RGBPlain::clone() const
×
43
{
44
    RGBPlain* plain = new RGBPlain(*this);
×
45
    return static_cast<RGBAlgorithm*> (plain);
×
46
}
47

48
/****************************************************************************
49
 * RGBAlgorithm
50
 ****************************************************************************/
51

52
int RGBPlain::rgbMapStepCount(const QSize& size)
1✔
53
{
54
    Q_UNUSED(size);
55
    return 1;
1✔
56
}
57

NEW
58
void RGBPlain::rgbMapSetColors(const QVector<uint> &colors)
×
59
{
60
    Q_UNUSED(colors);
NEW
61
}
×
62

NEW
63
QVector<uint> RGBPlain::rgbMapGetColors()
×
64
{
NEW
65
    return QVector<uint>();
×
66
}
67

68
void RGBPlain::rgbMap(const QSize& size, uint rgb, int step, RGBMap &map)
1✔
69
{
70
    Q_UNUSED(step);
71
    map.resize(size.height());
1✔
72
    for (int y = 0; y < size.height(); y++)
3✔
73
    {
74
        map[y].resize(size.width());
2✔
75
        map[y].fill(rgb);
2✔
76
    }
77
}
1✔
78

79
QString RGBPlain::name() const
16✔
80
{
81
    return QString("Plain Color");
16✔
82
}
83

84
QString RGBPlain::author() const
×
85
{
86
    return QString("Massimo Callegari");
×
87
}
88

89
int RGBPlain::apiVersion() const
×
90
{
91
    return 1;
×
92
}
93

NEW
94
void RGBPlain::setColors(QVector<QColor> colors)
×
95
{
NEW
96
    RGBAlgorithm::setColors(colors);
×
97
}
×
98

99
RGBAlgorithm::Type RGBPlain::type() const
1✔
100
{
101
    return RGBAlgorithm::Plain;
1✔
102
}
103

104
int RGBPlain::acceptColors() const
1✔
105
{
106
    return 1; // only start color is accepted
1✔
107
}
108

109
bool RGBPlain::loadXML(QXmlStreamReader &root)
×
110
{
111
    if (root.name() != KXMLQLCRGBAlgorithm)
×
112
    {
113
        qWarning() << Q_FUNC_INFO << "RGB Algorithm node not found";
×
114
        return false;
×
115
    }
116

117
    if (root.attributes().value(KXMLQLCRGBAlgorithmType).toString() != KXMLQLCRGBPlain)
×
118
    {
119
        qWarning() << Q_FUNC_INFO << "RGB Algorithm is not Plain";
×
120
        return false;
×
121
    }
122

123
    root.skipCurrentElement();
×
124

125
    return true;
×
126
}
127

128
bool RGBPlain::saveXML(QXmlStreamWriter *doc) const
×
129
{
130
    Q_ASSERT(doc != NULL);
×
131

132
    doc->writeStartElement(KXMLQLCRGBAlgorithm);
×
133
    doc->writeAttribute(KXMLQLCRGBAlgorithmType, KXMLQLCRGBPlain);
×
134
    doc->writeEndElement();
×
135

136
    return true;
×
137
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc