mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-03 15:55:27 +08:00
qt 6.5.1 original
This commit is contained in:
11
util/gradientgen/README
Normal file
11
util/gradientgen/README
Normal file
@ -0,0 +1,11 @@
|
||||
Regeneration of gradients:
|
||||
|
||||
0) Grab a new .css for the webgradients
|
||||
1) Run the gradientgen.js script (requires node):
|
||||
|
||||
gradientgen.js enum webgradients.css # will regen the enumeration names (on stdout)
|
||||
gradientgen.js json webgradients.css # will regen the actual gradients (on stdout)
|
||||
|
||||
2) Build gradientgen.pro
|
||||
3) Run gradientgen, passing the json as stdin, the result will be on stdout
|
||||
|
21
util/gradientgen/WEBGRADIENTS_LICENSE.txt
Normal file
21
util/gradientgen/WEBGRADIENTS_LICENSE.txt
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017 itmeo
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
240
util/gradientgen/gradientgen.cpp
Normal file
240
util/gradientgen/gradientgen.cpp
Normal file
@ -0,0 +1,240 @@
|
||||
// Copyright (C) 2018 The Qt Company Ltd.
|
||||
// Copyright (C) 2019 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <algorithm>
|
||||
|
||||
#include <QByteArray>
|
||||
#include <QDebug>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonArray>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
|
||||
#include <QColor>
|
||||
|
||||
using namespace std;
|
||||
|
||||
static const char LICENSE_HEADER[] =
|
||||
R"(
|
||||
// Copyright (C) 2019 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
)";
|
||||
|
||||
class Printer {
|
||||
Q_DISABLE_COPY_MOVE(Printer)
|
||||
public:
|
||||
Printer() = default;
|
||||
|
||||
class Indenter
|
||||
{
|
||||
Q_DISABLE_COPY_MOVE(Indenter)
|
||||
Printer &p;
|
||||
public:
|
||||
Indenter(Printer &p) : p(p) { p.indent(); }
|
||||
~Indenter() { p.deindent(); }
|
||||
};
|
||||
|
||||
~Printer()
|
||||
{
|
||||
cout << flush;
|
||||
}
|
||||
|
||||
void printLine(const QString &str) const
|
||||
{
|
||||
printLine(qPrintable(str));
|
||||
}
|
||||
|
||||
void printLine(const char *str = nullptr) const
|
||||
{
|
||||
if (str)
|
||||
cout << m_indentString << str << '\n';
|
||||
else
|
||||
cout << '\n';
|
||||
}
|
||||
|
||||
void indent()
|
||||
{
|
||||
m_indent += 4;
|
||||
m_indentString = std::string(m_indent, ' ');
|
||||
}
|
||||
|
||||
void deindent()
|
||||
{
|
||||
m_indent -= 4;
|
||||
m_indentString = std::string(m_indent, ' ');
|
||||
}
|
||||
|
||||
private:
|
||||
int m_indent = 0;
|
||||
std::string m_indentString;
|
||||
};
|
||||
|
||||
// like QGradientStop, but with a plain int as second field
|
||||
struct GradientStop
|
||||
{
|
||||
double position;
|
||||
int color;
|
||||
|
||||
static bool sortByPosition(GradientStop s1, GradientStop s2)
|
||||
{
|
||||
return s1.position < s2.position;
|
||||
}
|
||||
};
|
||||
|
||||
static void printGradientStops(Printer &p, const QJsonArray &presets)
|
||||
{
|
||||
const QString presetCaseString("case QGradient::%1:");
|
||||
const QString presetStopColorString("QColor(%1, %2, %3, %4)");
|
||||
const QString presetStopString("QGradientStop(%1, %2), ");
|
||||
|
||||
const auto presetStopToGradientStop = [](const QJsonValue &presetStop)
|
||||
{
|
||||
const double position = presetStop[QLatin1String("position")].toDouble();
|
||||
const int color = presetStop[QLatin1String("color")].toInt();
|
||||
|
||||
return GradientStop{position, color};
|
||||
};
|
||||
|
||||
for (const QJsonValue &presetValue : presets) {
|
||||
if (!presetValue.isObject())
|
||||
continue;
|
||||
|
||||
QJsonObject preset = presetValue.toObject();
|
||||
|
||||
// print the case label
|
||||
const QString presetName = preset[QLatin1String("name")].toString();
|
||||
p.printLine(presetCaseString.arg(presetName));
|
||||
|
||||
Printer::Indenter i(p);
|
||||
|
||||
// convert the json array of stops to QGradientStop objects
|
||||
const QJsonArray stops = preset[QLatin1String("stops")].toArray();
|
||||
Q_ASSERT(!stops.isEmpty());
|
||||
|
||||
QList<GradientStop> gradientStops;
|
||||
gradientStops.reserve(stops.size());
|
||||
std::transform(stops.cbegin(),
|
||||
stops.cend(),
|
||||
std::back_inserter(gradientStops),
|
||||
presetStopToGradientStop);
|
||||
|
||||
// stops should be sorted, but just in case...
|
||||
std::sort(gradientStops.begin(), gradientStops.end(),
|
||||
&GradientStop::sortByPosition);
|
||||
|
||||
Q_ASSERT(gradientStops.size() == stops.size());
|
||||
|
||||
// convert to strings
|
||||
QString result;
|
||||
result.reserve(result.size() + gradientStops.size() * (presetStopString.size() + 20));
|
||||
result += "return Q_ARRAY_LITERAL(QGradientStop, ";
|
||||
|
||||
for (const GradientStop &stop : std::as_const(gradientStops)) {
|
||||
// gradientgen.js does not output the alpha channel, so hardcode full alpha here
|
||||
Q_ASSERT(qAlpha(stop.color) == 0);
|
||||
|
||||
const QString colorString = presetStopColorString
|
||||
.arg(qRed(stop.color))
|
||||
.arg(qGreen(stop.color))
|
||||
.arg(qBlue(stop.color))
|
||||
.arg(255);
|
||||
result += presetStopString.arg(stop.position).arg(colorString);
|
||||
}
|
||||
|
||||
result.chop(2);
|
||||
result += ");";
|
||||
p.printLine(result);
|
||||
}
|
||||
|
||||
// Add an entry for NumPresets, to silence warnings about switches over enumerations
|
||||
p.printLine(presetCaseString.arg("NumPresets"));
|
||||
{
|
||||
Printer::Indenter i(p);
|
||||
p.printLine("Q_UNREACHABLE();");
|
||||
}
|
||||
}
|
||||
|
||||
static void printGradientData(Printer &p, const QJsonArray &presets)
|
||||
{
|
||||
const QString formatString("{ { %1, %2, %3, %4 } },");
|
||||
|
||||
for (const QJsonValue &presetValue : presets) {
|
||||
if (!presetValue.isObject()) {
|
||||
p.printLine("{ { 0, 0, 0, 0 } },");
|
||||
} else {
|
||||
QJsonObject preset = presetValue.toObject();
|
||||
const QJsonValue start = preset[QLatin1String("start")];
|
||||
const QJsonValue end = preset[QLatin1String("end")];
|
||||
|
||||
p.printLine(formatString
|
||||
.arg(start[QLatin1String("x")].toDouble())
|
||||
.arg(start[QLatin1String("y")].toDouble())
|
||||
.arg(end[QLatin1String("x")].toDouble())
|
||||
.arg(end[QLatin1String("y")].toDouble()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
QByteArray json;
|
||||
while (!cin.eof()) {
|
||||
char arr[1024];
|
||||
cin.read(arr, sizeof(arr));
|
||||
json.append(arr, cin.gcount());
|
||||
}
|
||||
|
||||
QJsonParseError error;
|
||||
QJsonDocument jsonDocument = QJsonDocument::fromJson(json, &error);
|
||||
if (jsonDocument.isNull())
|
||||
qFatal("Error: %s at offset %d", qPrintable(error.errorString()), error.offset);
|
||||
|
||||
if (!jsonDocument.isArray())
|
||||
qFatal("Error: expected a document with a JSON array");
|
||||
|
||||
QJsonArray presets = jsonDocument.array();
|
||||
|
||||
Printer p;
|
||||
|
||||
p.printLine(LICENSE_HEADER);
|
||||
p.printLine();
|
||||
p.printLine("// This file is auto-generated by gradientgen. DO NOT EDIT!");
|
||||
p.printLine();
|
||||
|
||||
p.printLine("static QList<QGradientStop> qt_preset_gradient_stops(QGradient::Preset preset)");
|
||||
p.printLine("{");
|
||||
{
|
||||
Printer::Indenter i(p);
|
||||
p.printLine("Q_ASSERT(preset < QGradient::NumPresets);");
|
||||
p.printLine("switch (preset) {");
|
||||
printGradientStops(p, presets);
|
||||
p.printLine("}");
|
||||
p.printLine("Q_UNREACHABLE();");
|
||||
p.printLine("return {};");
|
||||
}
|
||||
p.printLine("}");
|
||||
p.printLine();
|
||||
|
||||
p.printLine("static constexpr QGradient::QGradientData qt_preset_gradient_data[] = {");
|
||||
{
|
||||
Printer::Indenter i(p);
|
||||
printGradientData(p, presets);
|
||||
}
|
||||
p.printLine("};");
|
||||
p.printLine();
|
||||
|
||||
p.printLine("static void *qt_preset_gradient_dummy()");
|
||||
p.printLine("{");
|
||||
{
|
||||
Printer::Indenter i(p);
|
||||
p.printLine("union {void *p; uint i;};");
|
||||
p.printLine("p = 0;");
|
||||
p.printLine("i |= uint(QGradient::ObjectMode);");
|
||||
p.printLine("return p;");
|
||||
}
|
||||
p.printLine("}");
|
||||
}
|
107
util/gradientgen/gradientgen.js
Normal file
107
util/gradientgen/gradientgen.js
Normal file
@ -0,0 +1,107 @@
|
||||
#! /usr/bin/env node
|
||||
// Copyright (C) 2018 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
const _ = require('lodash');
|
||||
const fs = require('fs');
|
||||
|
||||
const postcss = require('postcss');
|
||||
const minifyGradients = require('postcss-minify-gradients');
|
||||
const valueParser = require('postcss-value-parser');
|
||||
const parseColor = require('parse-color');
|
||||
const math = require('mathjs');
|
||||
|
||||
const argc = process.argv.length;
|
||||
if (argc < 3) {
|
||||
console.log("usage: gradientgen [mode] <filename>");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const filename = process.argv[argc - 1];
|
||||
const mode = argc > 3 ? process.argv[argc - 2] : 'json';
|
||||
|
||||
fs.readFile(filename, (err, css) => {
|
||||
postcss([minifyGradients]).process(css)
|
||||
.then(result => {
|
||||
let enums = [];
|
||||
let gradients = [];
|
||||
|
||||
result.root.walkRules(rule => {
|
||||
gradients.push(null); // Placeholder
|
||||
|
||||
const name = _.startCase(rule.selector).replace(/\s/g, '');
|
||||
if (enums.indexOf(name) >= 0)
|
||||
return; // Duplicate entry
|
||||
|
||||
// We can only support single gradient declarations
|
||||
if (rule.nodes.length > 1)
|
||||
return;
|
||||
|
||||
valueParser(rule.nodes[0].value).walk(node => {
|
||||
if (node.type !== 'function')
|
||||
return;
|
||||
|
||||
if (node.value !== 'linear-gradient')
|
||||
return;
|
||||
|
||||
const args = node.nodes.reduce((args, arg) => {
|
||||
if (arg.type === 'div')
|
||||
args.push([]);
|
||||
else if (arg.type !== 'space')
|
||||
args[args.length - 1].push(arg.value);
|
||||
return args;
|
||||
}, [[]]);
|
||||
|
||||
let angle = valueParser.unit(args[0][0]);
|
||||
if (angle.unit !== 'deg')
|
||||
return;
|
||||
|
||||
angle = parseInt(angle.number);
|
||||
if (angle < 0)
|
||||
angle += 360;
|
||||
|
||||
// Angle is in degrees, but we need radians
|
||||
const radians = angle * math.pi / 180;
|
||||
|
||||
const gradientLine = (math.abs(math.sin(radians)) + math.abs(math.cos(radians)));
|
||||
const cathetus = fn => math.round(fn(radians - math.pi / 2) * gradientLine / 2, 10);
|
||||
|
||||
const x = cathetus(math.cos);
|
||||
const y = cathetus(math.sin);
|
||||
|
||||
const start = { x: 0.5 - x, y: 0.5 - y };
|
||||
const end = { x: 0.5 + x, y: 0.5 + y };
|
||||
|
||||
let stops = []
|
||||
|
||||
let lastPosition = 0;
|
||||
args.slice(1).forEach((arg, index) => {
|
||||
let [color, position = !index ? '0%' : '100%'] = arg;
|
||||
position = parseInt(position) / 100;
|
||||
if (position < lastPosition)
|
||||
position = lastPosition;
|
||||
lastPosition = position;
|
||||
color = parseColor(color).hex;
|
||||
color = parseInt(color.slice(1), 16)
|
||||
stops.push({ color, position })
|
||||
});
|
||||
|
||||
gradients[gradients.length - 1] = { name, start, end, stops };
|
||||
});
|
||||
|
||||
if (!gradients[gradients.length - 1])
|
||||
return; // Not supported
|
||||
|
||||
enums.push(name);
|
||||
|
||||
if (mode == 'debug')
|
||||
console.log(name, args, gradients[gradients.length - 1])
|
||||
else if (mode == 'enums')
|
||||
console.log(`${name} = ${gradients.length},`)
|
||||
});
|
||||
|
||||
// Done walking declarations
|
||||
if (mode == 'json')
|
||||
console.log(JSON.stringify(gradients, undefined, 4));
|
||||
});
|
||||
});
|
3
util/gradientgen/gradientgen.pro
Normal file
3
util/gradientgen/gradientgen.pro
Normal file
@ -0,0 +1,3 @@
|
||||
SOURCES += gradientgen.cpp
|
||||
QT = core gui
|
||||
CONFIG += cmdline
|
183
util/gradientgen/package-lock.json
generated
Normal file
183
util/gradientgen/package-lock.json
generated
Normal file
@ -0,0 +1,183 @@
|
||||
{
|
||||
"name": "gradientgen",
|
||||
"version": "0.0.1",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
|
||||
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
|
||||
},
|
||||
"chalk": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"requires": {
|
||||
"ansi-styles": "2.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"has-ansi": "2.0.0",
|
||||
"strip-ansi": "3.0.1",
|
||||
"supports-color": "2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"supports-color": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
|
||||
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
|
||||
}
|
||||
}
|
||||
},
|
||||
"complex.js": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.0.4.tgz",
|
||||
"integrity": "sha512-Syl95HpxUTS0QjwNxencZsKukgh1zdS9uXeXX2Us0pHaqBR6kiZZi0AkZ9VpZFwHJyVIUVzI4EumjWdXP3fy6w=="
|
||||
},
|
||||
"decimal.js": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-9.0.1.tgz",
|
||||
"integrity": "sha512-2h0iKbJwnImBk4TGk7CG1xadoA0g3LDPlQhQzbZ221zvG0p2YVUedbKIPsOZXKZGx6YmZMJKYOalpCMxSdDqTQ=="
|
||||
},
|
||||
"escape-latex": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.0.3.tgz",
|
||||
"integrity": "sha512-GfKaG/7FOKdIdciylIzgaShBTPjdGQ5LJ2EcKLKXPLpcMO1MvCEVotkhydEShwCINRacZr2r3fk5A1PwZ4e5sA=="
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
|
||||
},
|
||||
"fraction.js": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.4.tgz",
|
||||
"integrity": "sha512-aK/oGatyYLTtXRHjfEsytX5fieeR5H4s8sLorzcT12taFS+dbMZejnvm9gRa8mZAPwci24ucjq9epDyaq5u8Iw=="
|
||||
},
|
||||
"has-ansi": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
|
||||
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
|
||||
"requires": {
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
|
||||
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
|
||||
},
|
||||
"javascript-natural-sort": {
|
||||
"version": "0.7.1",
|
||||
"resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
|
||||
"integrity": "sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k="
|
||||
},
|
||||
"js-base64": {
|
||||
"version": "2.4.3",
|
||||
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz",
|
||||
"integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw=="
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.10",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
|
||||
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
|
||||
},
|
||||
"mathjs": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/mathjs/-/mathjs-4.2.2.tgz",
|
||||
"integrity": "sha512-AKrRfTeGrCBqYN1TYEpLIwrfZh9rKu9lH4n7K0MwTiYqN5crJ7BKh/TnErFvbUmyRVQDv87UjSfNTqeO0JA0JQ==",
|
||||
"requires": {
|
||||
"complex.js": "2.0.4",
|
||||
"decimal.js": "9.0.1",
|
||||
"escape-latex": "1.0.3",
|
||||
"fraction.js": "4.0.4",
|
||||
"javascript-natural-sort": "0.7.1",
|
||||
"seed-random": "2.2.0",
|
||||
"tiny-emitter": "2.0.2",
|
||||
"typed-function": "1.0.3"
|
||||
}
|
||||
},
|
||||
"parse-color": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz",
|
||||
"integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=",
|
||||
"requires": {
|
||||
"color-convert": "0.5.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"color-convert": {
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz",
|
||||
"integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0="
|
||||
}
|
||||
}
|
||||
},
|
||||
"postcss": {
|
||||
"version": "5.2.18",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
|
||||
"integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
|
||||
"requires": {
|
||||
"chalk": "1.1.3",
|
||||
"js-base64": "2.4.3",
|
||||
"source-map": "0.5.7",
|
||||
"supports-color": "3.2.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"source-map": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
|
||||
}
|
||||
}
|
||||
},
|
||||
"postcss-minify-gradients": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
|
||||
"integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
|
||||
"requires": {
|
||||
"postcss": "5.2.18",
|
||||
"postcss-value-parser": "3.3.0"
|
||||
}
|
||||
},
|
||||
"postcss-value-parser": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
|
||||
"integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU="
|
||||
},
|
||||
"seed-random": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz",
|
||||
"integrity": "sha1-KpsZ4lCoFwmSMaW5mk2vgLf77VQ="
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"requires": {
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "3.2.3",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
|
||||
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
|
||||
"requires": {
|
||||
"has-flag": "1.0.0"
|
||||
}
|
||||
},
|
||||
"tiny-emitter": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz",
|
||||
"integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow=="
|
||||
},
|
||||
"typed-function": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/typed-function/-/typed-function-1.0.3.tgz",
|
||||
"integrity": "sha512-sVC/1pm70oELDFMdYtFXMFqyawenLoaDiAXA3QvOAwKF/WvFNTSJN23cY2lFNL8iP0kh3T0PPKewrboO8XUVGQ=="
|
||||
}
|
||||
}
|
||||
}
|
13
util/gradientgen/package.json
Normal file
13
util/gradientgen/package.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "gradientgen",
|
||||
"version": "0.0.1",
|
||||
"description": "Generates gradient presets for QGradient",
|
||||
"main": "gradientgen.js",
|
||||
"dependencies": {
|
||||
"lodash": "^4.17.10",
|
||||
"mathjs": "^4.2.2",
|
||||
"parse-color": "^1.0.0",
|
||||
"postcss-minify-gradients": "^1.0.5",
|
||||
"postcss-value-parser": "^3.3.0"
|
||||
}
|
||||
}
|
16
util/gradientgen/qt_attribution.json
Normal file
16
util/gradientgen/qt_attribution.json
Normal file
@ -0,0 +1,16 @@
|
||||
[
|
||||
{
|
||||
"Id": "webgradients",
|
||||
"Name": "WebGradients",
|
||||
"QDocModule": "qtgui",
|
||||
"QtUsage": "Used in Qt GUI to provide presets for QGradient.",
|
||||
"Files": "webgradients.css",
|
||||
|
||||
"Description": "WebGradients is a free collection of 180 linear gradients.",
|
||||
"Homepage": "https://webgradients.com/",
|
||||
"License": "MIT License",
|
||||
"LicenseId": "MIT",
|
||||
"LicenseFile": "WEBGRADIENTS_LICENSE.txt",
|
||||
"Copyright": "Copyright (c) 2017 itmeo"
|
||||
}
|
||||
]
|
909
util/gradientgen/webgradients.css
Normal file
909
util/gradientgen/webgradients.css
Normal file
@ -0,0 +1,909 @@
|
||||
/*001 Warm Flame*/
|
||||
.warm_flame{
|
||||
background-image: linear-gradient(45deg, #ff9a9e 0%, #fad0c4 99%, #fad0c4 100%);
|
||||
}
|
||||
|
||||
/*002 Night Fade*/
|
||||
.night_fade{
|
||||
background-image: linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%);
|
||||
}
|
||||
|
||||
/*003 Spring Warmth*/
|
||||
.spring_warmth{
|
||||
background-image: linear-gradient(to top, #fad0c4 0%, #fad0c4 1%, #ffd1ff 100%);
|
||||
}
|
||||
|
||||
/*004 Juicy Peach*/
|
||||
.juicy_peach{
|
||||
background-image: linear-gradient(to right, #ffecd2 0%, #fcb69f 100%);
|
||||
}
|
||||
|
||||
/*005 Young Passion*/
|
||||
.young_passion{
|
||||
background-image: linear-gradient(to right, #ff8177 0%, #ff867a 0%, #ff8c7f 21%, #f99185 52%, #cf556c 78%, #b12a5b 100%);
|
||||
}
|
||||
|
||||
/*006 Lady Lips*/
|
||||
.lady_lips{
|
||||
background-image: linear-gradient(to top, #ff9a9e 0%, #fecfef 99%, #fecfef 100%);
|
||||
}
|
||||
|
||||
/*007 Sunny Morning*/
|
||||
.sunny_morning{
|
||||
background-image: linear-gradient(120deg, #f6d365 0%, #fda085 100%);
|
||||
}
|
||||
|
||||
/*008 Rainy Ashville*/
|
||||
.rainy_ashville{
|
||||
background-image: linear-gradient(to top, #fbc2eb 0%, #a6c1ee 100%);
|
||||
}
|
||||
|
||||
/*009 Frozen Dreams*/
|
||||
.frozen_dreams{
|
||||
background-image: linear-gradient(to top, #fdcbf1 0%, #fdcbf1 1%, #e6dee9 100%);
|
||||
}
|
||||
|
||||
/*010 Winter Neva*/
|
||||
.winter_neva{
|
||||
background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);
|
||||
}
|
||||
|
||||
/*011 Dusty Grass*/
|
||||
.dusty_grass{
|
||||
background-image: linear-gradient(120deg, #d4fc79 0%, #96e6a1 100%);
|
||||
}
|
||||
|
||||
/*012 Tempting Azure*/
|
||||
.tempting_azure{
|
||||
background-image: linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%);
|
||||
}
|
||||
|
||||
/*013 Heavy Rain*/
|
||||
.heavy_rain{
|
||||
background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%);
|
||||
}
|
||||
|
||||
/*014 Amy Crisp*/
|
||||
.amy_crisp{
|
||||
background-image: linear-gradient(120deg, #a6c0fe 0%, #f68084 100%);
|
||||
}
|
||||
|
||||
/*015 Mean Fruit*/
|
||||
.mean_fruit{
|
||||
background-image: linear-gradient(120deg, #fccb90 0%, #d57eeb 100%);
|
||||
}
|
||||
|
||||
/*016 Deep Blue*/
|
||||
.deep_blue{
|
||||
background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%);
|
||||
}
|
||||
|
||||
/*017 Ripe Malinka*/
|
||||
.ripe_malinka{
|
||||
background-image: linear-gradient(120deg, #f093fb 0%, #f5576c 100%);
|
||||
}
|
||||
|
||||
/*018 Cloudy Knoxville*/
|
||||
.cloudy_knoxville{
|
||||
background-image: linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%);
|
||||
}
|
||||
|
||||
/*019 Malibu Beach*/
|
||||
.malibu_beach{
|
||||
background-image: linear-gradient(to right, #4facfe 0%, #00f2fe 100%);
|
||||
}
|
||||
|
||||
/*020 New Life*/
|
||||
.new_life{
|
||||
background-image: linear-gradient(to right, #43e97b 0%, #38f9d7 100%);
|
||||
}
|
||||
|
||||
/*021 True Sunset*/
|
||||
.true_sunset{
|
||||
background-image: linear-gradient(to right, #fa709a 0%, #fee140 100%);
|
||||
}
|
||||
|
||||
/*022 Morpheus Den*/
|
||||
.morpheus_den{
|
||||
background-image: linear-gradient(to top, #30cfd0 0%, #330867 100%);
|
||||
}
|
||||
|
||||
/*023 Rare Wind*/
|
||||
.rare_wind{
|
||||
background-image: linear-gradient(to top, #a8edea 0%, #fed6e3 100%);
|
||||
}
|
||||
|
||||
/*024 Near Moon*/
|
||||
.near_moon{
|
||||
background-image: linear-gradient(to top, #5ee7df 0%, #b490ca 100%);
|
||||
}
|
||||
|
||||
/*025 Wild Apple*/
|
||||
.wild_apple{
|
||||
background-image: linear-gradient(to top, #d299c2 0%, #fef9d7 100%);
|
||||
}
|
||||
|
||||
/*026 Saint Petersburg*/
|
||||
.saint_petersburg{
|
||||
background-image: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
}
|
||||
|
||||
/*027 Arielle's Smile*/
|
||||
.arielles_smile{
|
||||
background-image: radial-gradient(circle 248px at center, #16d9e3 0%, #30c7ec 47%, #46aef7 100%);
|
||||
}
|
||||
|
||||
/*028 Plum Plate*/
|
||||
.plum_plate{
|
||||
background-image: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
}
|
||||
|
||||
/*029 Everlasting Sky*/
|
||||
.everlasting_sky{
|
||||
background-image: linear-gradient(135deg, #fdfcfb 0%, #e2d1c3 100%);
|
||||
}
|
||||
|
||||
/*030 Happy Fisher*/
|
||||
.happy_fisher{
|
||||
background-image: linear-gradient(120deg, #89f7fe 0%, #66a6ff 100%);
|
||||
}
|
||||
|
||||
/*031 Blessing*/
|
||||
.blessing{
|
||||
background-image: linear-gradient(to top, #fddb92 0%, #d1fdff 100%);
|
||||
}
|
||||
|
||||
/*032 Sharpeye Eagle*/
|
||||
.sharpeye_eagle{
|
||||
background-image: linear-gradient(to top, #9890e3 0%, #b1f4cf 100%);
|
||||
}
|
||||
|
||||
/*033 Ladoga Bottom*/
|
||||
.ladoga_bottom{
|
||||
background-image: linear-gradient(to top, #ebc0fd 0%, #d9ded8 100%);
|
||||
}
|
||||
|
||||
/*034 Lemon Gate*/
|
||||
.lemon_gate{
|
||||
background-image: linear-gradient(to top, #96fbc4 0%, #f9f586 100%);
|
||||
}
|
||||
|
||||
/*035 Itmeo Branding*/
|
||||
.itmeo_branding{
|
||||
background-image: linear-gradient(180deg, #2af598 0%, #009efd 100%);
|
||||
}
|
||||
|
||||
/*036 Zeus Miracle*/
|
||||
.zeus_miracle{
|
||||
background-image: linear-gradient(to top, #cd9cf2 0%, #f6f3ff 100%);
|
||||
}
|
||||
|
||||
/*037 Old Hat*/
|
||||
.old_hat{
|
||||
background-image: linear-gradient(to right, #e4afcb 0%, #b8cbb8 0%, #b8cbb8 0%, #e2c58b 30%, #c2ce9c 64%, #7edbdc 100%);
|
||||
}
|
||||
|
||||
/*038 Star Wine*/
|
||||
.star_wine{
|
||||
background-image: linear-gradient(to right, #b8cbb8 0%, #b8cbb8 0%, #b465da 0%, #cf6cc9 33%, #ee609c 66%, #ee609c 100%);
|
||||
}
|
||||
|
||||
/*039 Deep Blue*/
|
||||
.deep_blue{
|
||||
background-image: linear-gradient(to right, #6a11cb 0%, #2575fc 100%);
|
||||
}
|
||||
|
||||
/*040 Coup de Grace*/
|
||||
.coup_de_grace{
|
||||
background: #DCD9D4 linear-gradient(to bottom, rgba(255, 255, 255, 0.50) 0%, rgba(0, 0, 0, 0.50) 100%), radial-gradient(at 50% 0%, rgba(255, 255, 255, 0.10) 0%, rgba(0, 0, 0, 0.50) 50%);
|
||||
background-blend-mode: soft-light,screen;
|
||||
}
|
||||
|
||||
/*041 Happy Acid*/
|
||||
.happy_acid{
|
||||
background-image: linear-gradient(to top, #37ecba 0%, #72afd3 100%);
|
||||
}
|
||||
|
||||
/*042 Awesome Pine*/
|
||||
.awesome_pine{
|
||||
background-image: linear-gradient(to top, #ebbba7 0%, #cfc7f8 100%);
|
||||
}
|
||||
|
||||
/*043 New York*/
|
||||
.new_york{
|
||||
background-image: linear-gradient(to top, #fff1eb 0%, #ace0f9 100%);
|
||||
}
|
||||
|
||||
/*044 Shy Rainbow*/
|
||||
.shy_rainbow{
|
||||
background-image: linear-gradient(to right, #eea2a2 0%, #bbc1bf 19%, #57c6e1 42%, #b49fda 79%, #7ac5d8 100%);
|
||||
}
|
||||
|
||||
/*045 Loon Crest*/
|
||||
.loon_crest{
|
||||
background: linear-gradient(to bottom, rgba(255,255,255,0.15) 0%, rgba(0,0,0,0.15) 100%), radial-gradient(at top center, rgba(255,255,255,0.40) 0%, rgba(0,0,0,0.40) 120%) #989898;
|
||||
background-blend-mode: multiply,multiply;
|
||||
}
|
||||
|
||||
/*046 Mixed Hopes*/
|
||||
.mixed_hopes{
|
||||
background-image: linear-gradient(to top, #c471f5 0%, #fa71cd 100%);
|
||||
}
|
||||
|
||||
/*047 Fly High*/
|
||||
.fly_high{
|
||||
background-image: linear-gradient(to top, #48c6ef 0%, #6f86d6 100%);
|
||||
}
|
||||
|
||||
/*048 Strong Bliss*/
|
||||
.strong_bliss{
|
||||
background-image: linear-gradient(to right, #f78ca0 0%, #f9748f 19%, #fd868c 60%, #fe9a8b 100%);
|
||||
}
|
||||
|
||||
/*049 Fresh Milk*/
|
||||
.fresh_milk{
|
||||
background-image: linear-gradient(to top, #feada6 0%, #f5efef 100%);
|
||||
}
|
||||
|
||||
/*050 Snow Again*/
|
||||
.snow_again{
|
||||
background-image: linear-gradient(to top, #e6e9f0 0%, #eef1f5 100%);
|
||||
}
|
||||
|
||||
/*051 February Ink*/
|
||||
.february_ink{
|
||||
background-image: linear-gradient(to top, #accbee 0%, #e7f0fd 100%);
|
||||
}
|
||||
|
||||
/*052 Kind Steel*/
|
||||
.kind_steel{
|
||||
background-image: linear-gradient(-20deg, #e9defa 0%, #fbfcdb 100%);
|
||||
}
|
||||
|
||||
/*053 Soft Grass*/
|
||||
.soft_grass{
|
||||
background-image: linear-gradient(to top, #c1dfc4 0%, #deecdd 100%);
|
||||
}
|
||||
|
||||
/*054 Grown Early*/
|
||||
.grown_early{
|
||||
background-image: linear-gradient(to top, #0ba360 0%, #3cba92 100%);
|
||||
}
|
||||
|
||||
/*055 Sharp Blues*/
|
||||
.sharp_blues{
|
||||
background-image: linear-gradient(to top, #00c6fb 0%, #005bea 100%);
|
||||
}
|
||||
|
||||
/*056 Shady Water*/
|
||||
.shady_water{
|
||||
background-image: linear-gradient(to right, #74ebd5 0%, #9face6 100%);
|
||||
}
|
||||
|
||||
/*057 Dirty Beauty*/
|
||||
.dirty_beauty{
|
||||
background-image: linear-gradient(to top, #6a85b6 0%, #bac8e0 100%);
|
||||
}
|
||||
|
||||
/*058 Great Whale*/
|
||||
.great_whale{
|
||||
background-image: linear-gradient(to top, #a3bded 0%, #6991c7 100%);
|
||||
}
|
||||
|
||||
/*059 Teen Notebook*/
|
||||
.teen_notebook{
|
||||
background-image: linear-gradient(to top, #9795f0 0%, #fbc8d4 100%);
|
||||
}
|
||||
|
||||
/*060 Polite Rumors*/
|
||||
.polite_rumors{
|
||||
background-image: linear-gradient(to top, #a7a6cb 0%, #8989ba 52%, #8989ba 100%);
|
||||
}
|
||||
|
||||
/*061 Sweet Period*/
|
||||
.sweet_period{
|
||||
background-image: linear-gradient(to top, #3f51b1 0%, #5a55ae 13%, #7b5fac 25%, #8f6aae 38%, #a86aa4 50%, #cc6b8e 62%, #f18271 75%, #f3a469 87%, #f7c978 100%);
|
||||
}
|
||||
|
||||
/*062 Wide Matrix*/
|
||||
.wide_matrix{
|
||||
background-image: linear-gradient(to top, #fcc5e4 0%, #fda34b 15%, #ff7882 35%, #c8699e 52%, #7046aa 71%, #0c1db8 87%, #020f75 100%);
|
||||
}
|
||||
|
||||
/*063 Soft Cherish*/
|
||||
.soft_cherish{
|
||||
background-image: linear-gradient(to top, #dbdcd7 0%, #dddcd7 24%, #e2c9cc 30%, #e7627d 46%, #b8235a 59%, #801357 71%, #3d1635 84%, #1c1a27 100%);
|
||||
}
|
||||
|
||||
/*064 Red Salvation*/
|
||||
.red_salvation{
|
||||
background-image: linear-gradient(to top, #f43b47 0%, #453a94 100%);
|
||||
}
|
||||
|
||||
/*065 Burning Spring*/
|
||||
.burning_spring{
|
||||
background-image: linear-gradient(to top, #4fb576 0%, #44c489 30%, #28a9ae 46%, #28a2b7 59%, #4c7788 71%, #6c4f63 86%, #432c39 100%);
|
||||
}
|
||||
|
||||
/*066 Night Party*/
|
||||
.night_party{
|
||||
background-image: linear-gradient(to top, #0250c5 0%, #d43f8d 100%);
|
||||
}
|
||||
|
||||
/*067 Sky Glider*/
|
||||
.sky_glider{
|
||||
background-image: linear-gradient(to top, #88d3ce 0%, #6e45e2 100%);
|
||||
}
|
||||
|
||||
/*068 Heaven Peach*/
|
||||
.heaven_peach{
|
||||
background-image: linear-gradient(to top, #d9afd9 0%, #97d9e1 100%);
|
||||
}
|
||||
|
||||
/*069 Purple Division*/
|
||||
.purple_division{
|
||||
background-image: linear-gradient(to top, #7028e4 0%, #e5b2ca 100%);
|
||||
}
|
||||
|
||||
/*070 Aqua Splash*/
|
||||
.aqua_splash{
|
||||
background-image: linear-gradient(15deg, #13547a 0%, #80d0c7 100%);
|
||||
}
|
||||
|
||||
/*071 Above Clouds*/
|
||||
.above_clouds{
|
||||
background-image: linear-gradient(to left, #BDBBBE 0%, #9D9EA3 100%), radial-gradient(88% 271%, rgba(255, 255, 255, 0.25) 0%, rgba(254, 254, 254, 0.25) 1%, rgba(0, 0, 0, 0.25) 100%), radial-gradient(50% 100%, rgba(255, 255, 255, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%);
|
||||
background-blend-mode: normal, lighten, soft-light;
|
||||
}
|
||||
|
||||
/*072 Spiky Naga*/
|
||||
.spiky_naga{
|
||||
background-image: linear-gradient(to top, #505285 0%, #585e92 12%, #65689f 25%, #7474b0 37%, #7e7ebb 50%, #8389c7 62%, #9795d4 75%, #a2a1dc 87%, #b5aee4 100%);
|
||||
}
|
||||
|
||||
/*073 Love Kiss*/
|
||||
.love_kiss{
|
||||
background-image: linear-gradient(to top, #ff0844 0%, #ffb199 100%);
|
||||
}
|
||||
|
||||
/*074 Sharp Glass*/
|
||||
.sharp_glass{
|
||||
background: #C9CCD3 linear-gradient(-180deg, rgba(255, 255, 255, 0.50) 0%, rgba(0, 0, 0, 0.50) 100%);
|
||||
background-blend-mode: lighten;
|
||||
}
|
||||
|
||||
/*075 Clean Mirror*/
|
||||
.clean_mirror{
|
||||
background-image: linear-gradient(45deg, #93a5cf 0%, #e4efe9 100%);
|
||||
}
|
||||
|
||||
/*076 Premium Dark*/
|
||||
.premium_dark{
|
||||
background-image: linear-gradient(to right, #434343 0%, black 100%);
|
||||
}
|
||||
|
||||
/*077 Cold Evening*/
|
||||
.cold_evening{
|
||||
background-image: linear-gradient(to top, #0c3483 0%, #a2b6df 100%, #6b8cce 100%, #a2b6df 100%);
|
||||
}
|
||||
|
||||
/*078 Cochiti Lake*/
|
||||
.cochiti_lake{
|
||||
background-image: linear-gradient(45deg, #93a5cf 0%, #e4efe9 100%);
|
||||
}
|
||||
|
||||
/*079 Summer Games*/
|
||||
.summer_games{
|
||||
background-image: linear-gradient(to right, #92fe9d 0%, #00c9ff 100%);
|
||||
}
|
||||
|
||||
/*080 Passionate Bed*/
|
||||
.passionate_bed{
|
||||
background-image: linear-gradient(to right, #ff758c 0%, #ff7eb3 100%);
|
||||
}
|
||||
|
||||
/*081 Mountain Rock*/
|
||||
.mountain_rock{
|
||||
background-image: linear-gradient(to right, #868f96 0%, #596164 100%);
|
||||
}
|
||||
|
||||
/*082 Desert Hump*/
|
||||
.desert_hump{
|
||||
background-image: linear-gradient(to top, #c79081 0%, #dfa579 100%);
|
||||
}
|
||||
|
||||
/*083 Jungle Day*/
|
||||
.jungle_day{
|
||||
background-image: linear-gradient(45deg, #8baaaa 0%, #ae8b9c 100%);
|
||||
}
|
||||
|
||||
/*084 Phoenix Start*/
|
||||
.phoenix_start{
|
||||
background-image: linear-gradient(to right, #f83600 0%, #f9d423 100%);
|
||||
}
|
||||
|
||||
/*085 October Silence*/
|
||||
.october_silence{
|
||||
background-image: linear-gradient(-20deg, #b721ff 0%, #21d4fd 100%);
|
||||
}
|
||||
|
||||
/*086 Faraway River*/
|
||||
.faraway_river{
|
||||
background-image: linear-gradient(-20deg, #6e45e2 0%, #88d3ce 100%);
|
||||
}
|
||||
|
||||
/*087 Alchemist Lab*/
|
||||
.alchemist_lab{
|
||||
background-image: linear-gradient(-20deg, #d558c8 0%, #24d292 100%);
|
||||
}
|
||||
|
||||
/*088 Over Sun*/
|
||||
.over_sun{
|
||||
background-image: linear-gradient(60deg, #abecd6 0%, #fbed96 100%);
|
||||
}
|
||||
|
||||
/*089 Premium White*/
|
||||
.premium_white{
|
||||
background-image: linear-gradient(to top, #d5d4d0 0%, #d5d4d0 1%, #eeeeec 31%, #efeeec 75%, #e9e9e7 100%);
|
||||
}
|
||||
|
||||
/*090 Mars Party*/
|
||||
.mars_party{
|
||||
background-image: linear-gradient(to top, #5f72bd 0%, #9b23ea 100%);
|
||||
}
|
||||
|
||||
/*091 Eternal Constance*/
|
||||
.eternal_constance{
|
||||
background-image: linear-gradient(to top, #09203f 0%, #537895 100%);
|
||||
}
|
||||
|
||||
/*092 Japan Blush*/
|
||||
.japan_blush{
|
||||
background-image: linear-gradient(-20deg, #ddd6f3 0%, #faaca8 100%, #faaca8 100%);
|
||||
}
|
||||
|
||||
/*093 Smiling Rain*/
|
||||
.smiling_rain{
|
||||
background-image: linear-gradient(-20deg, #dcb0ed 0%, #99c99c 100%);
|
||||
}
|
||||
|
||||
/*094 Cloudy Apple*/
|
||||
.cloudy_apple{
|
||||
background-image: linear-gradient(to top, #f3e7e9 0%, #e3eeff 99%, #e3eeff 100%);
|
||||
}
|
||||
|
||||
/*095 Big Mango*/
|
||||
.big_mango{
|
||||
background-image: linear-gradient(to top, #c71d6f 0%, #d09693 100%);
|
||||
}
|
||||
|
||||
/*096 Healthy Water*/
|
||||
.healthy_water{
|
||||
background-image: linear-gradient(60deg, #96deda 0%, #50c9c3 100%);
|
||||
}
|
||||
|
||||
/*097 Amour Amour*/
|
||||
.amour_amour{
|
||||
background-image: linear-gradient(to top, #f77062 0%, #fe5196 100%);
|
||||
}
|
||||
|
||||
/*098 Risky Concrete*/
|
||||
.risky_concrete{
|
||||
background-image: linear-gradient(to top, #c4c5c7 0%, #dcdddf 52%, #ebebeb 100%);
|
||||
}
|
||||
|
||||
/*099 Strong Stick*/
|
||||
.strong_stick{
|
||||
background-image: linear-gradient(to right, #a8caba 0%, #5d4157 100%);
|
||||
}
|
||||
|
||||
/*100 Vicious Stance*/
|
||||
.vicious_stance{
|
||||
background-image: linear-gradient(60deg, #29323c 0%, #485563 100%);
|
||||
}
|
||||
|
||||
/*101 Palo Alto*/
|
||||
.palo_alto{
|
||||
background-image: linear-gradient(-60deg, #16a085 0%, #f4d03f 100%);
|
||||
}
|
||||
|
||||
/*102 Happy Memories*/
|
||||
.happy_memories{
|
||||
background-image: linear-gradient(-60deg, #ff5858 0%, #f09819 100%);
|
||||
}
|
||||
|
||||
/*103 Midnight Bloom*/
|
||||
.midnight_bloom{
|
||||
background-image: linear-gradient(-20deg, #2b5876 0%, #4e4376 100%);
|
||||
}
|
||||
|
||||
/*104 Crystalline*/
|
||||
.crystalline{
|
||||
background-image: linear-gradient(-20deg, #00cdac 0%, #8ddad5 100%);
|
||||
}
|
||||
|
||||
/*105 Raccoon Back*/
|
||||
.raccoon_back{
|
||||
background: linear-gradient(-180deg, #BCC5CE 0%, #929EAD 98%), radial-gradient(at top left, rgba(255,255,255,0.30) 0%, rgba(0,0,0,0.30) 100%);
|
||||
background-blend-mode: screen;
|
||||
}
|
||||
|
||||
/*106 Party Bliss*/
|
||||
.party_bliss{
|
||||
background-image: linear-gradient(to top, #4481eb 0%, #04befe 100%);
|
||||
}
|
||||
|
||||
/*107 Confident Cloud*/
|
||||
.confident_cloud{
|
||||
background-image: linear-gradient(to top, #dad4ec 0%, #dad4ec 1%, #f3e7e9 100%);
|
||||
}
|
||||
|
||||
/*108 Le Cocktail*/
|
||||
.le_cocktail{
|
||||
background-image: linear-gradient(45deg, #874da2 0%, #c43a30 100%);
|
||||
}
|
||||
|
||||
/*109 River City*/
|
||||
.river_city{
|
||||
background-image: linear-gradient(to top, #4481eb 0%, #04befe 100%);
|
||||
}
|
||||
|
||||
/*110 Frozen Berry*/
|
||||
.frozen_berry{
|
||||
background-image: linear-gradient(to top, #e8198b 0%, #c7eafd 100%);
|
||||
}
|
||||
|
||||
/*111 Elegance*/
|
||||
.elegance{
|
||||
background-image: radial-gradient(73% 147%, #EADFDF 59%, #ECE2DF 100%), radial-gradient(91% 146%, rgba(255,255,255,0.50) 47%, rgba(0,0,0,0.50) 100%);
|
||||
background-blend-mode: screen;
|
||||
}
|
||||
|
||||
/*112 Child Care*/
|
||||
.child_care{
|
||||
background-image: linear-gradient(-20deg, #f794a4 0%, #fdd6bd 100%);
|
||||
}
|
||||
|
||||
/*113 Flying Lemon*/
|
||||
.flying_lemon{
|
||||
background-image: linear-gradient(60deg, #64b3f4 0%, #c2e59c 100%);
|
||||
}
|
||||
|
||||
/*114 New Retrowave*/
|
||||
.new_retrowave{
|
||||
background-image: linear-gradient(to top, #3b41c5 0%, #a981bb 49%, #ffc8a9 100%);
|
||||
}
|
||||
|
||||
/*115 Hidden Jaguar*/
|
||||
.hidden_jaguar{
|
||||
background-image: linear-gradient(to top, #0fd850 0%, #f9f047 100%);
|
||||
}
|
||||
|
||||
/*116 Above The Sky*/
|
||||
.above_the_sky{
|
||||
background-image: linear-gradient(to top, lightgrey 0%, lightgrey 1%, #e0e0e0 26%, #efefef 48%, #d9d9d9 75%, #bcbcbc 100%);
|
||||
}
|
||||
|
||||
/*117 Nega*/
|
||||
.nega{
|
||||
background-image: linear-gradient(45deg, #ee9ca7 0%, #ffdde1 100%);
|
||||
}
|
||||
|
||||
/*118 Dense Water*/
|
||||
.dense_water{
|
||||
background-image: linear-gradient(to right, #3ab5b0 0%, #3d99be 31%, #56317a 100%);
|
||||
}
|
||||
|
||||
/*119 Chemic Aqua*/
|
||||
.chemic_aqua{
|
||||
background: #CDDCDC radial-gradient(at 50% 100%, rgba(255, 255, 255, 0.50) 0%, rgba(0, 0, 0, 0.50) 100%), linear-gradient(to bottom, rgba(255, 255, 255, 0.25) 0%, rgba(0, 0, 0, 0.25) 100%);
|
||||
background-blend-mode: screen, overlay;
|
||||
}
|
||||
|
||||
/*120 Seashore*/
|
||||
.seashore{
|
||||
background-image: linear-gradient(to top, #209cff 0%, #68e0cf 100%);
|
||||
}
|
||||
|
||||
/*121 Marble Wall*/
|
||||
.marble_wall{
|
||||
background-image: linear-gradient(to top, #bdc2e8 0%, #bdc2e8 1%, #e6dee9 100%);
|
||||
}
|
||||
|
||||
/*122 Cheerful Caramel*/
|
||||
.cheerful_caramel{
|
||||
background-image: linear-gradient(to top, #e6b980 0%, #eacda3 100%);
|
||||
}
|
||||
|
||||
/*123 Night Sky*/
|
||||
.night_sky{
|
||||
background-image: linear-gradient(to top, #1e3c72 0%, #1e3c72 1%, #2a5298 100%);
|
||||
}
|
||||
|
||||
/*124 Magic Lake*/
|
||||
.magic_lake{
|
||||
background-image: linear-gradient(to top, #d5dee7 0%, #ffafbd 0%, #c9ffbf 100%);
|
||||
}
|
||||
|
||||
/*125 Young Grass*/
|
||||
.young_grass{
|
||||
background-image: linear-gradient(to top, #9be15d 0%, #00e3ae 100%);
|
||||
}
|
||||
|
||||
/*126 Colorful Peach*/
|
||||
.colorful_peach{
|
||||
background-image: linear-gradient(to right, #ed6ea0 0%, #ec8c69 100%);
|
||||
}
|
||||
|
||||
/*127 Gentle Care*/
|
||||
.gentle_care{
|
||||
background-image: linear-gradient(to right, #ffc3a0 0%, #ffafbd 100%);
|
||||
}
|
||||
|
||||
/*128 Plum Bath*/
|
||||
.plum_bath{
|
||||
background-image: linear-gradient(to top, #cc208e 0%, #6713d2 100%);
|
||||
}
|
||||
|
||||
/*129 Happy Unicorn*/
|
||||
.happy_unicorn{
|
||||
background-image: linear-gradient(to top, #b3ffab 0%, #12fff7 100%);
|
||||
}
|
||||
|
||||
/*130 Full Metal*/
|
||||
.full_metal{
|
||||
background: linear-gradient(to bottom, #D5DEE7 0%, #E8EBF2 50%, #E2E7ED 100%), linear-gradient(to bottom, rgba(0,0,0,0.02) 50%, rgba(255,255,255,0.02) 61%, rgba(0,0,0,0.02) 73%), linear-gradient(33deg, rgba(255,255,255,0.20) 0%, rgba(0,0,0,0.20) 100%);
|
||||
background-blend-mode: normal,color-burn;
|
||||
}
|
||||
|
||||
/*131 African Field*/
|
||||
.african_field{
|
||||
background-image: linear-gradient(to top, #65bd60 0%, #5ac1a8 25%, #3ec6ed 50%, #b7ddb7 75%, #fef381 100%);
|
||||
}
|
||||
|
||||
/*132 Solid Stone*/
|
||||
.solid_stone{
|
||||
background-image: linear-gradient(to right, #243949 0%, #517fa4 100%);
|
||||
}
|
||||
|
||||
/*133 Orange Juice*/
|
||||
.orange_juice{
|
||||
background-image: linear-gradient(-20deg, #fc6076 0%, #ff9a44 100%);
|
||||
}
|
||||
|
||||
/*134 Glass Water*/
|
||||
.glass_water{
|
||||
background-image: linear-gradient(to top, #dfe9f3 0%, white 100%);
|
||||
}
|
||||
|
||||
/*135 Slick Carbon*/
|
||||
.slick_carbon{
|
||||
background: linear-gradient(to bottom, #323232 0%, #3F3F3F 40%, #1C1C1C 150%), linear-gradient(to top, rgba(255,255,255,0.40) 0%, rgba(0,0,0,0.25) 200%);
|
||||
background-blend-mode: multiply;
|
||||
}
|
||||
|
||||
/*136 North Miracle*/
|
||||
.north_miracle{
|
||||
background-image: linear-gradient(to right, #00dbde 0%, #fc00ff 100%);
|
||||
}
|
||||
|
||||
/*137 Fruit Blend*/
|
||||
.fruit_blend{
|
||||
background-image: linear-gradient(to right, #f9d423 0%, #ff4e50 100%);
|
||||
}
|
||||
|
||||
/*138 Millennium Pine*/
|
||||
.millennium_pine{
|
||||
background-image: linear-gradient(to top, #50cc7f 0%, #f5d100 100%);
|
||||
}
|
||||
|
||||
/*139 High Flight*/
|
||||
.high_flight{
|
||||
background-image: linear-gradient(to right, #0acffe 0%, #495aff 100%);
|
||||
}
|
||||
|
||||
/*140 Mole Hall*/
|
||||
.mole_hall{
|
||||
background-image: linear-gradient(-20deg, #616161 0%, #9bc5c3 100%);
|
||||
}
|
||||
|
||||
/*141 Earl Gray*/
|
||||
.earl_gray{
|
||||
background: #E4E4E1 radial-gradient(at top center, rgba(255, 255, 255, 0.03) 0%, rgba(0, 0, 0, 0.03) 100%), linear-gradient(to top, rgba(255, 255, 255, 0.1) 0%, rgba(143, 152, 157, 0.60) 100%);
|
||||
background-blend-mode: normal, multiply;
|
||||
}
|
||||
|
||||
/*142 Space Shift*/
|
||||
.space_shift{
|
||||
background-image: linear-gradient(60deg, #3d3393 0%, #2b76b9 37%, #2cacd1 65%, #35eb93 100%);
|
||||
}
|
||||
|
||||
/*143 Forest Inei*/
|
||||
.forest_inei{
|
||||
background-image: linear-gradient(to top, #df89b5 0%, #bfd9fe 100%);
|
||||
}
|
||||
|
||||
/*144 Royal Garden*/
|
||||
.royal_garden{
|
||||
background-image: linear-gradient(to right, #ed6ea0 0%, #ec8c69 100%);
|
||||
}
|
||||
|
||||
/*145 Rich Metal*/
|
||||
.rich_metal{
|
||||
background-image: linear-gradient(to right, #d7d2cc 0%, #304352 100%);
|
||||
}
|
||||
|
||||
/*146 Juicy Cake*/
|
||||
.juicy_cake{
|
||||
background-image: linear-gradient(to top, #e14fad 0%, #f9d423 100%);
|
||||
}
|
||||
|
||||
/*147 Smart Indigo*/
|
||||
.smart_indigo{
|
||||
background-image: linear-gradient(to top, #b224ef 0%, #7579ff 100%);
|
||||
}
|
||||
|
||||
/*148 Sand Strike*/
|
||||
.sand_strike{
|
||||
background-image: linear-gradient(to right, #c1c161 0%, #c1c161 0%, #d4d4b1 100%);
|
||||
}
|
||||
|
||||
/*149 Norse Beauty*/
|
||||
.norse_beauty{
|
||||
background-image: linear-gradient(to right, #ec77ab 0%, #7873f5 100%);
|
||||
}
|
||||
|
||||
/*150 Aqua Guidance*/
|
||||
.aqua_guidance{
|
||||
background-image: linear-gradient(to top, #007adf 0%, #00ecbc 100%);
|
||||
}
|
||||
|
||||
/*151 Sun Veggie*/
|
||||
.sun_veggie{
|
||||
background-image: linear-gradient(-225deg, #20E2D7 0%, #F9FEA5 100%);
|
||||
}
|
||||
|
||||
/*152 Sea Lord*/
|
||||
.sea_lord{
|
||||
background-image: linear-gradient(-225deg, #2CD8D5 0%, #C5C1FF 56%, #FFBAC3 100%);
|
||||
}
|
||||
|
||||
/*153 Black Sea*/
|
||||
.black_sea{
|
||||
background-image: linear-gradient(-225deg, #2CD8D5 0%, #6B8DD6 48%, #8E37D7 100%);
|
||||
}
|
||||
|
||||
/*154 Grass Shampoo*/
|
||||
.grass_shampoo{
|
||||
background-image: linear-gradient(-225deg, #DFFFCD 0%, #90F9C4 48%, #39F3BB 100%);
|
||||
}
|
||||
|
||||
/*155 Landing Aircraft*/
|
||||
.landing_aircraft{
|
||||
background-image: linear-gradient(-225deg, #5D9FFF 0%, #B8DCFF 48%, #6BBBFF 100%);
|
||||
}
|
||||
|
||||
/*156 Witch Dance*/
|
||||
.witch_dance{
|
||||
background-image: linear-gradient(-225deg, #A8BFFF 0%, #884D80 100%);
|
||||
}
|
||||
|
||||
/*157 Sleepless Night*/
|
||||
.sleepless_night{
|
||||
background-image: linear-gradient(-225deg, #5271C4 0%, #B19FFF 48%, #ECA1FE 100%);
|
||||
}
|
||||
|
||||
/*158 Angel Care*/
|
||||
.angel_care{
|
||||
background-image: linear-gradient(-225deg, #FFE29F 0%, #FFA99F 48%, #FF719A 100%);
|
||||
}
|
||||
|
||||
/*159 Crystal River*/
|
||||
.crystal_river{
|
||||
background-image: linear-gradient(-225deg, #22E1FF 0%, #1D8FE1 48%, #625EB1 100%);
|
||||
}
|
||||
|
||||
/*160 Soft Lipstick*/
|
||||
.soft_lipstick{
|
||||
background-image: linear-gradient(-225deg, #B6CEE8 0%, #F578DC 100%);
|
||||
}
|
||||
|
||||
/*161 Salt Mountain*/
|
||||
.salt_mountain{
|
||||
background-image: linear-gradient(-225deg, #FFFEFF 0%, #D7FFFE 100%);
|
||||
}
|
||||
|
||||
/*162 Perfect White*/
|
||||
.perfect_white{
|
||||
background-image: linear-gradient(-225deg, #E3FDF5 0%, #FFE6FA 100%);
|
||||
}
|
||||
|
||||
/*163 Fresh Oasis*/
|
||||
.fresh_oasis{
|
||||
background-image: linear-gradient(-225deg, #7DE2FC 0%, #B9B6E5 100%);
|
||||
}
|
||||
|
||||
/*164 Strict November*/
|
||||
.strict_november{
|
||||
background-image: linear-gradient(-225deg, #CBBACC 0%, #2580B3 100%);
|
||||
}
|
||||
|
||||
/*165 Morning Salad*/
|
||||
.morning_salad{
|
||||
background-image: linear-gradient(-225deg, #B7F8DB 0%, #50A7C2 100%);
|
||||
}
|
||||
|
||||
/*166 Deep Relief*/
|
||||
.deep_relief{
|
||||
background-image: linear-gradient(-225deg, #7085B6 0%, #87A7D9 50%, #DEF3F8 100%);
|
||||
}
|
||||
|
||||
/*167 Sea Strike*/
|
||||
.sea_strike{
|
||||
background-image: linear-gradient(-225deg, #77FFD2 0%, #6297DB 48%, #1EECFF 100%);
|
||||
}
|
||||
|
||||
/*168 Night Call*/
|
||||
.night_call{
|
||||
background-image: linear-gradient(-225deg, #AC32E4 0%, #7918F2 48%, #4801FF 100%);
|
||||
}
|
||||
|
||||
/*169 Supreme Sky*/
|
||||
.supreme_sky{
|
||||
background-image: linear-gradient(-225deg, #D4FFEC 0%, #57F2CC 48%, #4596FB 100%);
|
||||
}
|
||||
|
||||
/*170 Light Blue*/
|
||||
.light_blue{
|
||||
background-image: linear-gradient(-225deg, #9EFBD3 0%, #57E9F2 48%, #45D4FB 100%);
|
||||
}
|
||||
|
||||
/*171 Mind Crawl*/
|
||||
.mind_crawl{
|
||||
background-image: linear-gradient(-225deg, #473B7B 0%, #3584A7 51%, #30D2BE 100%);
|
||||
}
|
||||
|
||||
/*172 Lily Meadow*/
|
||||
.lily_meadow{
|
||||
background-image: linear-gradient(-225deg, #65379B 0%, #886AEA 53%, #6457C6 100%);
|
||||
}
|
||||
|
||||
/*173 Sugar Lollipop*/
|
||||
.sugar_lollipop{
|
||||
background-image: linear-gradient(-225deg, #A445B2 0%, #D41872 52%, #FF0066 100%);
|
||||
}
|
||||
|
||||
/*174 Sweet Dessert*/
|
||||
.sweet_dessert{
|
||||
background-image: linear-gradient(-225deg, #7742B2 0%, #F180FF 52%, #FD8BD9 100%);
|
||||
}
|
||||
|
||||
/*175 Magic Ray*/
|
||||
.magic_ray{
|
||||
background-image: linear-gradient(-225deg, #FF3CAC 0%, #562B7C 52%, #2B86C5 100%);
|
||||
}
|
||||
|
||||
/*176 Teen Party*/
|
||||
.teen_party{
|
||||
background-image: linear-gradient(-225deg, #FF057C 0%, #8D0B93 50%, #321575 100%);
|
||||
}
|
||||
|
||||
/*177 Frozen Heat*/
|
||||
.frozen_heat{
|
||||
background-image: linear-gradient(-225deg, #FF057C 0%, #7C64D5 48%, #4CC3FF 100%);
|
||||
}
|
||||
|
||||
/*178 Gagarin View*/
|
||||
.gagarin_view{
|
||||
background-image: linear-gradient(-225deg, #69EACB 0%, #EACCF8 48%, #6654F1 100%);
|
||||
}
|
||||
|
||||
/*179 Fabled Sunset*/
|
||||
.fabled_sunset{
|
||||
background-image: linear-gradient(-225deg, #231557 0%, #44107A 29%, #FF1361 67%, #FFF800 100%);
|
||||
}
|
||||
|
||||
/*180 Perfect Blue*/
|
||||
.perfect_blue{
|
||||
background-image: linear-gradient(-225deg, #3D4E81 0%, #5753C9 48%, #6E7FF3 100%);
|
||||
}
|
Reference in New Issue
Block a user