Compare commits
203 Commits
Author | SHA1 | Date | |
---|---|---|---|
b0e6e31b88 | |||
f756266d6c | |||
ae56e9422f | |||
771e3d0981 | |||
eff4ac3056 | |||
22e876c844 | |||
21d4857b74 | |||
8c29afbca6 | |||
8f558fb798 | |||
c56161ee91 | |||
09969253d3 | |||
3c31746785 | |||
a928a2819f | |||
172da85f15 | |||
f5a33dc39a | |||
00f0debf12 | |||
20b7eb2a3c | |||
c70e339296 | |||
6583d8f8b9 | |||
e1592a8ace | |||
5b567683a7 | |||
4d8b093941 | |||
f828471f0d | |||
92d5a4a2fe | |||
f0ed4927e8 | |||
67b66e4a10 | |||
f767d24280 | |||
27061291a3 | |||
12ac85f0f6 | |||
3525b318a6 | |||
fce9bb5727 | |||
3cc3204939 | |||
222c65a8a5 | |||
4196576c19 | |||
06e864ca0a | |||
3d1a24d5cf | |||
070003a414 | |||
7d5259acd7 | |||
2b28577813 | |||
7e1451fa8d | |||
dd1d2bf441 | |||
8aa6eff715 | |||
6f5e2f130e | |||
26f4448175 | |||
82510314a5 | |||
7fea616f0f | |||
8d26d693ff | |||
9329a5fd03 | |||
1c1f6c11ab | |||
cfe3545eec | |||
b27e6b6f66 | |||
30c3cdbcc5 | |||
392204e5c5 | |||
0dff1f7a9a | |||
6d309419d3 | |||
460688e2d5 | |||
947306a80c | |||
0b439e1b00 | |||
676cbd17ea | |||
2e3558ef08 | |||
b5234089cd | |||
5cda3e57b4 | |||
ca3bbf1c57 | |||
8081d5e232 | |||
2c75daecb1 | |||
c11e0d5d8d | |||
107751b7eb | |||
8ec47506bf | |||
6311049210 | |||
4cf6088441 | |||
00a05ee839 | |||
73badf06b0 | |||
ea679913f9 | |||
ba33533178 | |||
c32b327f23 | |||
573d7ca051 | |||
23b82b4cf0 | |||
f61682bb8d | |||
a9e04a4abd | |||
0021de35b4 | |||
1e693e4e36 | |||
a3a75b6096 | |||
2448e65ffa | |||
814db90e54 | |||
3585c2debd | |||
8b983414a6 | |||
4d53f5e3b7 | |||
9811a3a604 | |||
28912fc58f | |||
7554b3355c | |||
f7592f864b | |||
66fa71affd | |||
a0c9f2923e | |||
c9529dc65c | |||
a8f727fdcd | |||
48d1214a6d | |||
b859857b2d | |||
669d7a21cb | |||
a286d5926a | |||
92cc986fb6 | |||
da1f26291c | |||
a92e198519 | |||
91ffce0bfe | |||
acb6fd2172 | |||
055bcdb001 | |||
fe9875841a | |||
e5be581e19 | |||
6620f7e5a9 | |||
758cc6202a | |||
d96c1a9c06 | |||
551e15e67b | |||
d576c56068 | |||
fddec5c95c | |||
1abd6113a3 | |||
ef05cc4fd1 | |||
87341b049e | |||
9f31b2c7e4 | |||
3f992cbb4a | |||
0bdcf38d2f | |||
d254a9b72e | |||
d8d7f1adea | |||
d6a85aaf6f | |||
1bc85bfbca | |||
90c2ed3470 | |||
5a469202e9 | |||
8faa6db4c0 | |||
8d618fc31c | |||
e9c99a241f | |||
3209c50304 | |||
5d38804523 | |||
d17f235aee | |||
a0350ff2e8 | |||
d6351fccb3 | |||
a58b643a26 | |||
5367c75972 | |||
7d964c7fde | |||
d0acb625cf | |||
e6950e5c1a | |||
63449b2694 | |||
ed32ddc747 | |||
cbb97c60d0 | |||
ece3105893 | |||
069bfb9a90 | |||
96ab2dd781 | |||
1fe327495c | |||
089b4ea14d | |||
3853a78019 | |||
ee0a4c16aa | |||
84e26b28da | |||
cffb68c88c | |||
489298e87a | |||
dffe23746c | |||
8c629bd842 | |||
251ceae318 | |||
c7a80ebdec | |||
2280740421 | |||
c6287653f9 | |||
bd8eaa4307 | |||
c0fda032e5 | |||
744709b15b | |||
6a2f7fb58d | |||
479df8ced7 | |||
72edf47734 | |||
6b6674a04d | |||
754bc9b830 | |||
ff98670055 | |||
4e1f6bee3f | |||
6a4d3cb106 | |||
7048e1fd42 | |||
cd36c07a45 | |||
9f0aaceb5f | |||
99da69553c | |||
fdb5483e87 | |||
1208324d4d | |||
5437ad8651 | |||
c074217047 | |||
e0c9a46ed3 | |||
d962217f90 | |||
9800d85cb7 | |||
011b07c735 | |||
2fdc85556b | |||
7a8efc56b0 | |||
0d81865f3b | |||
12cfe16cb4 | |||
e773f9ae6d | |||
5c46cfe20a | |||
2d9001db6e | |||
8ff15fd0e1 | |||
8e4ea8437f | |||
48f24c0cf3 | |||
8d85093874 | |||
1beeb8d6e4 | |||
f9b07b29a9 | |||
9bc330e5e8 | |||
a51e20b370 | |||
ef6ef6256e | |||
4edbc29e72 | |||
b72c775a04 | |||
0c9f04bc71 | |||
034057dcd2 | |||
016316518d | |||
ac9ccd04e2 | |||
ce8d71f47e |
4
.gitignore
vendored
@ -23,6 +23,10 @@ diff.txt
|
|||||||
dest
|
dest
|
||||||
build/closure/closure_compiled_binary.js
|
build/closure/closure_compiled_binary.js
|
||||||
|
|
||||||
|
# spriting artifacts
|
||||||
|
src/img/icons.png
|
||||||
|
src/css/icons.css
|
||||||
|
|
||||||
# plato report directory
|
# plato report directory
|
||||||
report
|
report
|
||||||
|
|
||||||
|
75
.jscsrc
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
{
|
||||||
|
"requireCurlyBraces": [
|
||||||
|
"if",
|
||||||
|
"else",
|
||||||
|
"for",
|
||||||
|
"while",
|
||||||
|
"do",
|
||||||
|
"try",
|
||||||
|
"catch"
|
||||||
|
],
|
||||||
|
"requireOperatorBeforeLineBreak": true,
|
||||||
|
"requireCamelCaseOrUpperCaseIdentifiers": true,
|
||||||
|
"maximumLineLength": {
|
||||||
|
"value": 80,
|
||||||
|
"allExcept": ["comments", "regex"]
|
||||||
|
},
|
||||||
|
"validateIndentation": 2,
|
||||||
|
"validateQuoteMarks": "'",
|
||||||
|
|
||||||
|
"disallowMultipleLineStrings": true,
|
||||||
|
"disallowMixedSpacesAndTabs": true,
|
||||||
|
"disallowTrailingWhitespace": true,
|
||||||
|
"disallowSpaceAfterPrefixUnaryOperators": true,
|
||||||
|
"disallowMultipleVarDecl": true,
|
||||||
|
"disallowKeywordsOnNewLine": ["else"],
|
||||||
|
|
||||||
|
"requireSpaceAfterKeywords": [
|
||||||
|
"if",
|
||||||
|
"else",
|
||||||
|
"for",
|
||||||
|
"while",
|
||||||
|
"do",
|
||||||
|
"switch",
|
||||||
|
"return",
|
||||||
|
"try",
|
||||||
|
"catch"
|
||||||
|
],
|
||||||
|
"requireSpaceBeforeBinaryOperators": [
|
||||||
|
"=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=",
|
||||||
|
"&=", "|=", "^=", "+=",
|
||||||
|
|
||||||
|
"+", "-", "*", "/", "%", "<<", ">>", ">>>", "&",
|
||||||
|
"|", "^", "&&", "||", "===", "==", ">=",
|
||||||
|
"<=", "<", ">", "!=", "!=="
|
||||||
|
],
|
||||||
|
"requireSpaceAfterBinaryOperators": true,
|
||||||
|
"requireSpacesInConditionalExpression": true,
|
||||||
|
"requireSpaceBeforeBlockStatements": true,
|
||||||
|
"requireSpacesInForStatement": true,
|
||||||
|
"requireLineFeedAtFileEnd": true,
|
||||||
|
"requireSpacesInFunctionExpression": {
|
||||||
|
"beforeOpeningCurlyBrace": true
|
||||||
|
},
|
||||||
|
"disallowSpacesInAnonymousFunctionExpression": {
|
||||||
|
"beforeOpeningRoundBrace": false
|
||||||
|
},
|
||||||
|
"disallowSpacesInsideObjectBrackets": "all",
|
||||||
|
"disallowSpacesInsideArrayBrackets": "all",
|
||||||
|
"disallowSpacesInsideParentheses": true,
|
||||||
|
|
||||||
|
"disallowMultipleLineBreaks": true,
|
||||||
|
"disallowNewlineBeforeBlockStatements": true,
|
||||||
|
"disallowKeywords": ["with"],
|
||||||
|
"disallowSpacesInFunctionExpression": null,
|
||||||
|
"disallowSpacesInFunctionDeclaration": null,
|
||||||
|
"disallowSpacesInCallExpression": true,
|
||||||
|
"disallowSpaceAfterObjectKeys": false,
|
||||||
|
"requireSpaceBeforeObjectValues": true,
|
||||||
|
"requireCapitalizedConstructors": true,
|
||||||
|
"requireDotNotation": true,
|
||||||
|
"requireSemicolons": true,
|
||||||
|
"validateParameterSeparator": ", ",
|
||||||
|
|
||||||
|
"jsDoc": null
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
language: node_js
|
language: node_js
|
||||||
node_js:
|
node_js:
|
||||||
- 0.10
|
- "4.1"
|
||||||
before_install:
|
before_install:
|
||||||
- npm update -g npm
|
- npm update -g npm
|
||||||
- npm install -g grunt-cli
|
- npm install -g grunt-cli
|
||||||
@ -12,3 +12,4 @@ before_install:
|
|||||||
before_script:
|
before_script:
|
||||||
- phantomjs --version
|
- phantomjs --version
|
||||||
- casperjs --version
|
- casperjs --version
|
||||||
|
sudo: false
|
||||||
|
284
Gruntfile.js
@ -1,42 +1,50 @@
|
|||||||
module.exports = function(grunt) {
|
module.exports = function(grunt) {
|
||||||
var dateFormat = require('dateformat');
|
|
||||||
var now = new Date();
|
|
||||||
var version = '-' + dateFormat(now, "yyyy-mm-dd-hh-MM");
|
|
||||||
|
|
||||||
var mapToSrcFolder = function (path) {
|
// Update this variable if you don't want or can't serve on localhost
|
||||||
return "src/" + path;
|
var hostname = 'localhost';
|
||||||
|
|
||||||
|
var PORT = {
|
||||||
|
PROD : 9001,
|
||||||
|
DEV : 9901,
|
||||||
|
TEST : 9991
|
||||||
};
|
};
|
||||||
|
|
||||||
var piskelScripts = require('./src/piskel-script-list.js').scripts.map(mapToSrcFolder).filter(function (path) {
|
var DEV_MODE = '?debug';
|
||||||
|
|
||||||
|
// create a version based on the build timestamp
|
||||||
|
var dateFormat = require('dateformat');
|
||||||
|
var version = '-' + dateFormat(new Date(), "yyyy-mm-dd-hh-MM");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper to prefix all strings in provided array with the provided path
|
||||||
|
*/
|
||||||
|
var prefixPaths = function (paths, prefix) {
|
||||||
|
return paths.map(function (path) {
|
||||||
|
return prefix + path;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// get the list of scripts paths to include
|
||||||
|
var scriptPaths = require('./src/piskel-script-list.js').scripts;
|
||||||
|
var piskelScripts = prefixPaths(scriptPaths, "src/").filter(function (path) {
|
||||||
return path.indexOf('devtools') === -1;
|
return path.indexOf('devtools') === -1;
|
||||||
});
|
});
|
||||||
var piskelStyles = require('./src/piskel-style-list.js').styles.map(mapToSrcFolder);
|
|
||||||
|
|
||||||
var mapToCasperFolder = function (path) {
|
// get the list of styles paths to include
|
||||||
return "test/casperjs/" + path;
|
var stylePaths = require('./src/piskel-style-list.js').styles;
|
||||||
};
|
var piskelStyles = prefixPaths(stylePaths, "src/");
|
||||||
|
|
||||||
var casperEnvironments = {
|
var getCasperConfig = function (suiteName, delay, host) {
|
||||||
'local' : {
|
var testPaths = require('./test/casperjs/' + suiteName).tests;
|
||||||
suite : './test/casperjs/LocalTestSuite.js',
|
var tests = prefixPaths(testPaths, "test/casperjs/");
|
||||||
delay : 50
|
|
||||||
},
|
|
||||||
'travis' : {
|
|
||||||
suite : './test/casperjs/TravisTestSuite.js',
|
|
||||||
delay : 10000
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var getCasperConfig = function (env) {
|
|
||||||
var conf = casperEnvironments[env];
|
|
||||||
var tests = require(conf.suite).tests.map(mapToCasperFolder);
|
|
||||||
return {
|
return {
|
||||||
filesSrc : tests,
|
filesSrc : tests,
|
||||||
options : {
|
options : {
|
||||||
args : {
|
args : {
|
||||||
baseUrl : 'http://localhost:' + '<%= express.test.options.port %>/',
|
baseUrl : 'http://' + host + ':' + PORT.TEST,
|
||||||
mode : '?debug',
|
mode : DEV_MODE,
|
||||||
delay : conf.delay
|
delay : delay
|
||||||
},
|
},
|
||||||
async : false,
|
async : false,
|
||||||
direct : false,
|
direct : false,
|
||||||
@ -47,19 +55,16 @@ module.exports = function(grunt) {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
var getExpressConfig = function (source, port, host) {
|
var getConnectConfig = function (base, port, host) {
|
||||||
var bases;
|
if (typeof base === 'string') {
|
||||||
if (typeof source === 'string') {
|
base = [base];
|
||||||
bases = [source];
|
|
||||||
} else if (Array.isArray(source)) {
|
|
||||||
bases = source;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
options: {
|
options: {
|
||||||
port: port,
|
port: port,
|
||||||
hostname : host || 'localhost',
|
hostname : host,
|
||||||
bases: bases
|
base: base
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -69,17 +74,26 @@ module.exports = function(grunt) {
|
|||||||
|
|
||||||
grunt.initConfig({
|
grunt.initConfig({
|
||||||
clean: {
|
clean: {
|
||||||
before: ['dest']
|
all: ['dest', 'src/img/icons.png', 'src/css/icons.css'],
|
||||||
|
prod: ['dest/prod', 'dest/tmp'],
|
||||||
|
desktop: ['dest/desktop', 'dest/tmp'],
|
||||||
|
dev: ['dest/dev', 'dest/tmp']
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* STYLE CHECKS
|
||||||
|
*/
|
||||||
|
|
||||||
leadingIndent : {
|
leadingIndent : {
|
||||||
options: {
|
options: {
|
||||||
indentation : "spaces"
|
indentation : "spaces"
|
||||||
},
|
},
|
||||||
css : ['src/css/**/*.css']
|
css : ['src/css/**/*.css']
|
||||||
},
|
},
|
||||||
|
|
||||||
jscs : {
|
jscs : {
|
||||||
options : {
|
options : {
|
||||||
"preset": "google",
|
"config": ".jscsrc",
|
||||||
"maximumLineLength": 120,
|
"maximumLineLength": 120,
|
||||||
"requireCamelCaseOrUpperCaseIdentifiers": "ignoreProperties",
|
"requireCamelCaseOrUpperCaseIdentifiers": "ignoreProperties",
|
||||||
"validateQuoteMarks": { "mark": "'", "escape": true },
|
"validateQuoteMarks": { "mark": "'", "escape": true },
|
||||||
@ -88,6 +102,7 @@ module.exports = function(grunt) {
|
|||||||
},
|
},
|
||||||
js : [ 'src/js/**/*.js' , '!src/js/**/lib/**/*.js' ]
|
js : [ 'src/js/**/*.js' , '!src/js/**/lib/**/*.js' ]
|
||||||
},
|
},
|
||||||
|
|
||||||
jshint: {
|
jshint: {
|
||||||
options: {
|
options: {
|
||||||
undef : true,
|
undef : true,
|
||||||
@ -104,86 +119,103 @@ module.exports = function(grunt) {
|
|||||||
'!src/js/**/lib/**/*.js' // Exclude lib folder (note the leading !)
|
'!src/js/**/lib/**/*.js' // Exclude lib folder (note the leading !)
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
express: {
|
|
||||||
test: getExpressConfig(['src', 'test'], 9991),
|
/**
|
||||||
regular: getExpressConfig('dest', 9001),
|
* SERVERS, BROWSER LAUNCHERS
|
||||||
debug: getExpressConfig(['src', 'test'], 9901)
|
*/
|
||||||
|
|
||||||
|
connect: {
|
||||||
|
prod: getConnectConfig('dest/prod', PORT.PROD, hostname),
|
||||||
|
test: getConnectConfig(['dest/dev', 'test'], PORT.TEST, hostname),
|
||||||
|
dev: getConnectConfig(['dest/dev', 'test'], PORT.DEV, hostname)
|
||||||
},
|
},
|
||||||
|
|
||||||
open : {
|
open : {
|
||||||
regular : {
|
prod : {
|
||||||
path : 'http://localhost:9001/'
|
path : 'http://' + hostname + ':' + PORT.PROD + '/'
|
||||||
},
|
},
|
||||||
debug : {
|
dev : {
|
||||||
path : 'http://localhost:9901/?debug'
|
path : 'http://' + hostname + ':' + PORT.DEV + '/' + DEV_MODE
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
scripts: {
|
prod: {
|
||||||
files: ['src/**/*.*'],
|
files: ['src/**/*.*'],
|
||||||
tasks: ['merge'],
|
tasks: ['build'],
|
||||||
|
options: {
|
||||||
|
spawn: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dev: {
|
||||||
|
files: ['src/**/*.*'],
|
||||||
|
tasks: ['build-dev'],
|
||||||
options: {
|
options: {
|
||||||
spawn: false
|
spawn: false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ghost : {
|
|
||||||
'travis' : getCasperConfig('travis'),
|
/**
|
||||||
'local' : getCasperConfig('local')
|
* BUILD STEPS
|
||||||
|
*/
|
||||||
|
|
||||||
|
sprite:{
|
||||||
|
all : {
|
||||||
|
src: 'src/img/icons/**/*.png',
|
||||||
|
dest: 'src/img/icons.png',
|
||||||
|
destCss: 'src/css/icons.css'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
concat : {
|
concat : {
|
||||||
js : {
|
js : {
|
||||||
options : {
|
options : {
|
||||||
separator : ';'
|
separator : ';'
|
||||||
},
|
},
|
||||||
src : piskelScripts,
|
src : piskelScripts,
|
||||||
dest : 'dest/js/piskel-packaged' + version + '.js'
|
dest : 'dest/prod/js/piskel-packaged' + version + '.js'
|
||||||
},
|
},
|
||||||
css : {
|
css : {
|
||||||
src : piskelStyles,
|
src : piskelStyles,
|
||||||
dest : 'dest/css/piskel-style-packaged' + version + '.css'
|
dest : 'dest/prod/css/piskel-style-packaged' + version + '.css'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
uglify : {
|
uglify : {
|
||||||
options : {
|
options : {
|
||||||
mangle : true
|
mangle : true
|
||||||
},
|
},
|
||||||
js : {
|
js : {
|
||||||
files : {
|
files : {
|
||||||
'dest/js/piskel-packaged-min.js' : ['dest/js/piskel-packaged' + version + '.js']
|
'dest/tmp/js/piskel-packaged-min.js' : ['dest/prod/js/piskel-packaged' + version + '.js']
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
includereplace: {
|
||||||
|
all: {
|
||||||
|
src: 'src/index.html',
|
||||||
|
dest: 'dest/tmp/index.html',
|
||||||
|
options : {
|
||||||
|
globals : {
|
||||||
|
'version' : version
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
replace: {
|
replace: {
|
||||||
main: {
|
// main-partial.html is used when embedded in piskelapp.com
|
||||||
|
mainPartial: {
|
||||||
options: {
|
options: {
|
||||||
patterns: [
|
patterns: [{
|
||||||
{
|
|
||||||
match: 'version',
|
|
||||||
replacement: version
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
files: [
|
|
||||||
{src: ['src/piskel-boot.js'], dest: 'dest/piskel-boot.js'}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
editor: {
|
|
||||||
options: {
|
|
||||||
patterns: [
|
|
||||||
{
|
|
||||||
match: /templates\//g,
|
|
||||||
replacement: "../templates"+version+"/"
|
|
||||||
},{
|
|
||||||
match: /piskel-boot.js/g,
|
|
||||||
replacement: "../piskel-boot"+version+".js"
|
|
||||||
},{
|
|
||||||
match: /^(.|[\r\n])*<!--body-main-start-->/,
|
match: /^(.|[\r\n])*<!--body-main-start-->/,
|
||||||
replacement: "",
|
replacement: "{% raw %}",
|
||||||
description : "Remove everything before body-main-start comment"
|
description : "Remove everything before body-main-start comment"
|
||||||
},{
|
},{
|
||||||
match: /<!--body-main-end-->(.|[\r\n])*$/,
|
match: /<!--body-main-end-->(.|[\r\n])*$/,
|
||||||
replacement: "",
|
replacement: "{% endraw %}",
|
||||||
description : "Remove everything after body-main-end comment"
|
description : "Remove everything after body-main-end comment"
|
||||||
},{
|
},{
|
||||||
match: /([\r\n]) /g,
|
match: /([\r\n]) /g,
|
||||||
@ -193,39 +225,76 @@ module.exports = function(grunt) {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
files: [
|
files: [
|
||||||
{src: ['src/index.html'], dest: 'dest/piskelapp-partials/main-partial.html'}
|
// src/index.html should already have been moved by the includereplace task
|
||||||
|
{src: ['dest/tmp/index.html'], dest: 'dest/prod/piskelapp-partials/main-partial.html'}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
copy: {
|
copy: {
|
||||||
main: {
|
prod: {
|
||||||
files: [
|
files: [
|
||||||
{src: ['dest/js/piskel-packaged-min.js'], dest: 'dest/js/piskel-packaged-min' + version + '.js'},
|
// dest/js/piskel-packaged-min.js should have been created by the uglify task
|
||||||
{src: ['dest/piskel-boot.js'], dest: 'dest/piskel-boot' + version + '.js'},
|
{src: ['dest/tmp/js/piskel-packaged-min.js'], dest: 'dest/prod/js/piskel-packaged-min' + version + '.js'},
|
||||||
{src: ['src/logo.png'], dest: 'dest/logo.png'},
|
{src: ['dest/tmp/index.html'], dest: 'dest/prod/index.html'},
|
||||||
{src: ['src/js/lib/iframeLoader-0.1.0.js'], dest: 'dest/js/lib/iframeLoader-0.1.0.js'},
|
{src: ['src/logo.png'], dest: 'dest/prod/logo.png'},
|
||||||
{src: ['src/js/lib/gif/gif.ie.worker.js'], dest: 'dest/js/lib/gif/gif.ie.worker.js'},
|
{src: ['src/js/lib/gif/gif.ie.worker.js'], dest: 'dest/prod/js/lib/gif/gif.ie.worker.js'},
|
||||||
{expand: true, src: ['img/**'], cwd: 'src/', dest: 'dest/', filter: 'isFile'},
|
{expand: true, src: ['img/**'], cwd: 'src/', dest: 'dest/prod/', filter: 'isFile'},
|
||||||
{expand: true, src: ['css/fonts/**'], cwd: 'src/', dest: 'dest/', filter: 'isFile'},
|
{expand: true, src: ['css/fonts/**'], cwd: 'src/', dest: 'dest/prod/', filter: 'isFile'}
|
||||||
{expand: true, src: ['**/*.html'], cwd: 'src/', dest: 'dest/', filter: 'isFile'}
|
]
|
||||||
|
},
|
||||||
|
dev: {
|
||||||
|
files: [
|
||||||
|
// in dev copy everything to dest/dev
|
||||||
|
{src: ['dest/tmp/index.html'], dest: 'dest/dev/index.html'},
|
||||||
|
{src: ['src/piskel-script-list.js'], dest: 'dest/dev/piskel-script-list.js'},
|
||||||
|
{src: ['src/piskel-style-list.js'], dest: 'dest/dev/piskel-style-list.js'},
|
||||||
|
{expand: true, src: ['js/**'], cwd: 'src/', dest: 'dest/dev/', filter: 'isFile'},
|
||||||
|
{expand: true, src: ['css/**'], cwd: 'src/', dest: 'dest/dev/', filter: 'isFile'},
|
||||||
|
{expand: true, src: ['img/**'], cwd: 'src/', dest: 'dest/dev/', filter: 'isFile'},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TESTING
|
||||||
|
*/
|
||||||
|
|
||||||
karma: {
|
karma: {
|
||||||
unit: {
|
unit: {
|
||||||
configFile: 'karma.conf.js'
|
configFile: 'karma.conf.js'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
nodewebkit: {
|
|
||||||
options: {
|
ghost : {
|
||||||
version : "0.11.5",
|
'travis' : getCasperConfig('TravisTestSuite.js', 10000, hostname),
|
||||||
build_dir: './dest/desktop/', // destination folder of releases.
|
'local' : getCasperConfig('LocalTestSuite.js', 50, hostname)
|
||||||
mac: true,
|
},
|
||||||
win: true,
|
|
||||||
linux32: true,
|
/**
|
||||||
linux64: true
|
* DESKTOP BUILDS
|
||||||
|
*/
|
||||||
|
|
||||||
|
nwjs: {
|
||||||
|
windows : {
|
||||||
|
options: {
|
||||||
|
version : "0.11.5",
|
||||||
|
build_dir: './dest/desktop/', // destination folder of releases.
|
||||||
|
win: true,
|
||||||
|
linux32: true,
|
||||||
|
linux64: true
|
||||||
|
},
|
||||||
|
src: ['./dest/prod/**/*', "./package.json", "!./dest/desktop/"]
|
||||||
},
|
},
|
||||||
src: ['./dest/**/*', "./package.json", "!./dest/desktop/"]
|
macos : {
|
||||||
|
options: {
|
||||||
|
platforms : ['osx64'],
|
||||||
|
// had performance issues with 0.11.5 on mac os, need to test new versions/new hardware
|
||||||
|
version : "0.10.5",
|
||||||
|
build_dir: './dest/desktop/'
|
||||||
|
},
|
||||||
|
src: ['./dest/prod/**/*', "./package.json", "!./dest/desktop/"]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -236,26 +305,31 @@ module.exports = function(grunt) {
|
|||||||
grunt.registerTask('unit-test', ['karma']);
|
grunt.registerTask('unit-test', ['karma']);
|
||||||
|
|
||||||
// Validate & Test
|
// Validate & Test
|
||||||
grunt.registerTask('test-travis', ['lint', 'unit-test', 'express:test', 'ghost:travis']);
|
grunt.registerTask('test-travis', ['lint', 'unit-test', 'build-dev', 'connect:test', 'ghost:travis']);
|
||||||
// Validate & Test (faster version) will NOT work on travis !!
|
// Validate & Test (faster version) will NOT work on travis !!
|
||||||
grunt.registerTask('test-local', ['lint', 'unit-test', 'express:test', 'ghost:local']);
|
grunt.registerTask('test-local', ['lint', 'unit-test', 'build-dev', 'connect:test', 'ghost:local']);
|
||||||
grunt.registerTask('test-local-nolint', ['unit-test', 'express:test', 'ghost:local']);
|
grunt.registerTask('test-local-nolint', ['unit-test', 'build-dev', 'connect:test', 'ghost:local']);
|
||||||
|
|
||||||
grunt.registerTask('test', ['test-travis']);
|
grunt.registerTask('test', ['test-travis']);
|
||||||
grunt.registerTask('precommit', ['test-local']);
|
grunt.registerTask('precommit', ['test-local']);
|
||||||
|
|
||||||
grunt.registerTask('build', ['concat:js', 'concat:css', 'uglify', 'replace:main', 'replace:editor', 'copy']);
|
grunt.registerTask('build-index.html', ['includereplace']);
|
||||||
|
grunt.registerTask('merge-statics', ['concat:js', 'concat:css', 'uglify']);
|
||||||
|
grunt.registerTask('build', ['clean:prod', 'sprite', 'merge-statics', 'build-index.html', 'replace', 'copy:prod']);
|
||||||
|
grunt.registerTask('build-dev', ['clean:dev', 'sprite', 'build-index.html', 'copy:dev']);
|
||||||
|
|
||||||
// Validate & Build
|
// Validate & Build
|
||||||
grunt.registerTask('default', ['clean:before', 'lint', 'build']);
|
grunt.registerTask('default', ['lint', 'build']);
|
||||||
|
|
||||||
// Build stand alone app with nodewebkit
|
// Build stand alone app with nodewebkit
|
||||||
grunt.registerTask('desktop', ['default', 'nodewebkit']);
|
grunt.registerTask('desktop', ['clean:desktop', 'default', 'nwjs:windows']);
|
||||||
|
grunt.registerTask('desktop-mac', ['clean:desktop', 'default', 'nwjs:macos']);
|
||||||
|
|
||||||
// Start webserver and watch for changes
|
// Start webserver and watch for changes
|
||||||
grunt.registerTask('serve', ['build', 'express:regular', 'open:regular', 'express-keepalive', 'watch']);
|
grunt.registerTask('serve', ['build', 'connect:prod', 'open:prod', 'watch:prod']);
|
||||||
|
|
||||||
// Start webserver on src folder, in debug mode
|
// Start webserver on src folder, in debug mode
|
||||||
grunt.registerTask('serve-debug', ['express:debug', 'open:debug', 'express-keepalive']);
|
grunt.registerTask('serve-dev', ['build-dev', 'connect:dev', 'open:dev', 'watch:dev']);
|
||||||
grunt.registerTask('play', ['serve-debug']);
|
|
||||||
|
grunt.registerTask('serve-debug', ['serve-dev']);
|
||||||
|
grunt.registerTask('play', ['serve-dev']);
|
||||||
};
|
};
|
||||||
|
@ -6,7 +6,9 @@ module.exports = function(config) {
|
|||||||
var mapToSrcFolder = function (path) {return ['src', path].join('/');};
|
var mapToSrcFolder = function (path) {return ['src', path].join('/');};
|
||||||
|
|
||||||
var piskelScripts = require('./src/piskel-script-list.js').scripts.map(mapToSrcFolder);
|
var piskelScripts = require('./src/piskel-script-list.js').scripts.map(mapToSrcFolder);
|
||||||
|
piskelScripts.push('test/js/testutils/**/*.js');
|
||||||
piskelScripts.push('test/js/**/*.js');
|
piskelScripts.push('test/js/**/*.js');
|
||||||
|
|
||||||
config.set({
|
config.set({
|
||||||
|
|
||||||
// base path that will be used to resolve all patterns (eg. files, exclude)
|
// base path that will be used to resolve all patterns (eg. files, exclude)
|
||||||
|
1
misc/gif-tests/low-colors-no-transparency.piskel
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"modelVersion":2,"piskel":{"name":"low-colors-no-transparency","description":"","fps":12,"height":60,"width":60,"layers":["{\"name\":\"Layer 1\",\"frameCount\":2,\"base64PNG\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAA8CAYAAACtrX6oAAABZUlEQVR4nO3cwRHCMAxE0RSUGlIF1TBDMTRAi1BCsCVZK/kf/n0n7xr5+FzXd6fe57lVR/YHBxhggAEGGGCA9yj7gwMMMMAAAwwwwHsEcPOWAR/Px22dgM/367bywP+grsbORl2NHQJsgY2GVoONhnYH9sSNQFbGjUB2A46AjYBWho2AdgFegeuFXAXXC9kMvBLXA7kSrgeyCTgD14pcDdeKDDDAergW5Iq4FuQp4GxYC3JV3FlkgAHWxZ1Brow7gwwwwACrFQacDemBXB13FBlggAFWDGCAAQYYYNkABhhggAGWLQRYFXlk/wiwKvLIfoABBlitUGA15NHto8BqyKPbAQZYF3lm9wywCvLMbv6qLII8uxlggPWQLXstwFnIlr3cJokjW7dyXSiM7LGT+2BBaM99XPiLIXtv440OEeioTbyyk4i9YgfvZDUP4OYB3DyAmwdw8wBuHsDNA7h5ADcP4Ob9AHU/4CXfXtXyAAAAAElFTkSuQmCC\"}"],"expanded":false}}
|
1
misc/gif-tests/low-colors-with-transparency.piskel
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"modelVersion":2,"piskel":{"name":"low-colors-with-transparency","description":"","fps":12,"height":60,"width":60,"layers":["{\"name\":\"Layer 1\",\"frameCount\":2,\"base64PNG\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAA8CAYAAACtrX6oAAABOUlEQVR4nO3bQWoDQQxEUR3Ix8lpAj5MTmovQsNgEmwYdZVG+h9q3+KtO4KIiIiIiIiIiIhoUN9fj7dr1O3n/ng39xvP9wlqI+xPUHtgn4G9IPQZ2OtBZ+JeADkTtzbyDtjC0Dtg60IrcAshK3DrICtxCyArcf3IDlwjsgPXiwxwY2AnrgHZiatHdsOKkd2wemQ3KsAbc4OKkd2gemQ3JsAAZ+bG1AK7IcXIbkg9shsRYIAzcyMCDHBybkSAAc7MjQgwwMm5EQEGODM3oh44oibyxtyQWtwIgAts570AF9jOe39zg4pwV25QLW4EwO2BI2ogC3PDanFXQ3BXs3AjAG4PHMHPhta4qyG4q1m4qyG4q1m4x5rDvjYH9tgQ3NUs3GPNYV+bA/tXTVH/awYqERERERERERFRVk8BxgukicHldgAAAABJRU5ErkJggg==\"}"],"expanded":false}}
|
1
misc/gif-tests/too-many-colors-no-transparency.piskel
Normal file
1
misc/gif-tests/too-many-colors-with-transparency.piskel
Normal file
72
misc/icons/SVG/lasso.svg
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="224.38731"
|
||||||
|
height="177.96065"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.4 r9939"
|
||||||
|
sodipodi:docname="New document 1">
|
||||||
|
<defs
|
||||||
|
id="defs4" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="0.175"
|
||||||
|
inkscape:cx="-1542.2107"
|
||||||
|
inkscape:cy="-1434.6156"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1148"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1" />
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-212.79148,-238.81242)">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:30, 30;stroke-dashoffset:0"
|
||||||
|
d="m 429.0234,294.50503 c 0,26.68038 -49.13123,48.3091 -109.73768,48.3091 -60.60644,0 -110.61221,-39.48861 -96.16624,-73.3091 19.3392,-45.27639 60.80353,-4.92189 116.16624,-16.88052 101.16819,-21.85285 89.73768,15.20015 89.73768,41.88052 z"
|
||||||
|
id="path3761"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="sssss" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 309.32357,338.9218 c 0,0 8.97064,20.56224 -30.34229,45.31736 -39.31294,24.75512 -40.99309,30.13484 -40.99309,30.13484"
|
||||||
|
id="path3764"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="czc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 594 B After Width: | Height: | Size: 594 B |
Before Width: | Height: | Size: 720 B After Width: | Height: | Size: 720 B |
BIN
misc/icons/source/tool-colorpicker-big.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
@ -6,7 +6,7 @@ SETLOCAL
|
|||||||
SET PISKELAPP_PATH="C:\Development\git\piskel-website"
|
SET PISKELAPP_PATH="C:\Development\git\piskel-website"
|
||||||
|
|
||||||
ECHO "Copying files to piskelapp"
|
ECHO "Copying files to piskelapp"
|
||||||
XCOPY "%PISKEL_PATH%\dest" "%PISKELAPP_PATH%\static\editor" /e /i /h /y
|
XCOPY "%PISKEL_PATH%\dest\prod" "%PISKELAPP_PATH%\static\editor" /e /i /h /y
|
||||||
|
|
||||||
ECHO "Delete previous partial"
|
ECHO "Delete previous partial"
|
||||||
DEL "%PISKELAPP_PATH%\templates\editor\main-partial.html"
|
DEL "%PISKELAPP_PATH%\templates\editor\main-partial.html"
|
||||||
|
@ -10,7 +10,7 @@ SETLOCAL
|
|||||||
|
|
||||||
set MISC_FOLDER=%PISKEL_HOME%\misc
|
set MISC_FOLDER=%PISKEL_HOME%\misc
|
||||||
set RELEASES_FOLDER=%PISKEL_HOME%\dest\desktop
|
set RELEASES_FOLDER=%PISKEL_HOME%\dest\desktop
|
||||||
set DEST_FOLDER=%RELEASES_FOLDER%\piskel\win64
|
set DEST_FOLDER=%RELEASES_FOLDER%\piskel\win32
|
||||||
|
|
||||||
ECHO "Updating Piskel icon -- Using Resource Hacker"
|
ECHO "Updating Piskel icon -- Using Resource Hacker"
|
||||||
%RESOURCE_HACKER_PATH%\ResHacker -addoverwrite "%DEST_FOLDER%\piskel.exe", "%DEST_FOLDER%\piskel-logo.exe", "%MISC_FOLDER%\desktop\logo.ico", ICONGROUP, IDR_MAINFRAME, 1033
|
%RESOURCE_HACKER_PATH%\ResHacker -addoverwrite "%DEST_FOLDER%\piskel.exe", "%DEST_FOLDER%\piskel-logo.exe", "%MISC_FOLDER%\desktop\logo.ico", ICONGROUP, IDR_MAINFRAME, 1033
|
||||||
|
44
package.json
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"author": "Julian Descottes, Vincent Renaudin",
|
"author": "Julian Descottes, Vincent Renaudin",
|
||||||
"name": "piskel",
|
"name": "piskel",
|
||||||
"main": "./dest/index.html",
|
"main": "./dest/prod/index.html",
|
||||||
"description": "Web based 2d animations editor",
|
"description": "Web based 2d animations editor",
|
||||||
"version": "0.5.1",
|
"version": "0.6.0",
|
||||||
"homepage": "http://github.com/juliandescottes/piskel",
|
"homepage": "http://github.com/juliandescottes/piskel",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -14,27 +14,31 @@
|
|||||||
"start": "nodewebkit"
|
"start": "nodewebkit"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"dateformat": "^1.0.11",
|
"dateformat": "1.0.11",
|
||||||
"grunt": "~0.4.5",
|
"grunt": "0.4.5",
|
||||||
"grunt-contrib-clean": "^0.6.0",
|
"grunt-contrib-clean": "0.7.0",
|
||||||
"grunt-contrib-concat": "^0.5.1",
|
"grunt-contrib-concat": "0.5.1",
|
||||||
"grunt-contrib-copy": "^0.8.0",
|
"grunt-contrib-connect": "0.11.2",
|
||||||
"grunt-contrib-jshint": "^0.11.1",
|
"grunt-contrib-copy": "0.8.0",
|
||||||
"grunt-contrib-uglify": "^0.9.1",
|
"grunt-contrib-jshint": "0.11.1",
|
||||||
|
"grunt-contrib-uglify": "0.11.0",
|
||||||
"grunt-contrib-watch": "0.6.1",
|
"grunt-contrib-watch": "0.6.1",
|
||||||
"grunt-express": "1.4.1",
|
|
||||||
"grunt-ghost": "1.1.0",
|
"grunt-ghost": "1.1.0",
|
||||||
"grunt-jscs": "^1.6.0",
|
"grunt-include-replace": "3.2.0",
|
||||||
"grunt-karma": "^0.10.1",
|
"grunt-jscs": "2.5.0",
|
||||||
"grunt-leading-indent": "^0.2.0",
|
"grunt-karma": "0.12.1",
|
||||||
"grunt-node-webkit-builder": "^1.0.2",
|
"grunt-leading-indent": "0.2.0",
|
||||||
|
"grunt-nw-builder": "2.0.0",
|
||||||
"grunt-open": "0.2.3",
|
"grunt-open": "0.2.3",
|
||||||
"grunt-replace": "^0.8.0",
|
"grunt-replace": "0.11.0",
|
||||||
"karma": "0.12.31",
|
"grunt-spritesmith": "6.1.0",
|
||||||
"karma-chrome-launcher": "^0.1.4",
|
"jasmine-core": "2.1.0",
|
||||||
"karma-jasmine": "^0.3.5",
|
"karma": "0.13.15",
|
||||||
"karma-phantomjs-launcher": "^0.1.4",
|
"karma-chrome-launcher": "0.2.2",
|
||||||
"load-grunt-tasks": "^3.1.0"
|
"karma-jasmine": "0.3.5",
|
||||||
|
"karma-phantomjs-launcher": "0.2.1",
|
||||||
|
"load-grunt-tasks": "3.1.0",
|
||||||
|
"phantomjs": "1.9.19"
|
||||||
},
|
},
|
||||||
"window": {
|
"window": {
|
||||||
"title": "Piskel",
|
"title": "Piskel",
|
||||||
|
3
src/css/animations.css
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
@keyframes fade {
|
||||||
|
50% { opacity: 0.5; }
|
||||||
|
}
|
@ -1,106 +0,0 @@
|
|||||||
.cheatsheet-link {
|
|
||||||
position: fixed;
|
|
||||||
bottom: 10px;
|
|
||||||
left: 10px;
|
|
||||||
|
|
||||||
padding: 1px 0 0 45px;
|
|
||||||
color : gold;
|
|
||||||
font-weight: bold;
|
|
||||||
font-size : 1.25em;
|
|
||||||
line-height: 20px;
|
|
||||||
|
|
||||||
cursor : pointer;
|
|
||||||
|
|
||||||
background-image:url('../img/keyboard.png');
|
|
||||||
background-size:35px 20px;
|
|
||||||
background-repeat:no-repeat;
|
|
||||||
opacity: 0.5;
|
|
||||||
z-index: 11000;
|
|
||||||
transition : opacity 0.3s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cheatsheet-link:hover {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#cheatsheet-wrapper {
|
|
||||||
position: absolute;
|
|
||||||
z-index: 10000;
|
|
||||||
|
|
||||||
top: 50px;
|
|
||||||
right: 50px;
|
|
||||||
bottom: 50px;
|
|
||||||
left: 50px;
|
|
||||||
|
|
||||||
box-sizing: border-box;
|
|
||||||
-moz-box-sizing : border-box;
|
|
||||||
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cheatsheet-container {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
|
|
||||||
box-sizing: border-box;
|
|
||||||
-moz-box-sizing : border-box;
|
|
||||||
|
|
||||||
padding: 20px 3%;
|
|
||||||
border-radius: 3px;
|
|
||||||
background: rgba(0,0,0,0.9);
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cheatsheet-container h3 {
|
|
||||||
font-size:24px;
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cheatsheet-section {
|
|
||||||
float: left;
|
|
||||||
width : 33%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cheatsheet-shortcut {
|
|
||||||
overflow: hidden;
|
|
||||||
margin: 10px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cheatsheet-icon.tool-icon {
|
|
||||||
float: left;
|
|
||||||
display: inline-block;
|
|
||||||
|
|
||||||
height: 30px;
|
|
||||||
width: 30px;
|
|
||||||
margin: 0 20px 0 0;
|
|
||||||
|
|
||||||
background-size: 20px 20px;
|
|
||||||
background-position: 5px 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cheatsheet-description {
|
|
||||||
font-family:Courier;
|
|
||||||
color: white;
|
|
||||||
font-size : 13px;
|
|
||||||
margin-left: 20px;
|
|
||||||
line-height : 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cheatsheet-key {
|
|
||||||
display : inline-block;
|
|
||||||
height: 30px;
|
|
||||||
line-height: 30px;
|
|
||||||
padding: 0 10px;
|
|
||||||
|
|
||||||
border : 1px solid gold;
|
|
||||||
border-radius: 2px;
|
|
||||||
|
|
||||||
box-sizing: border-box;
|
|
||||||
-moz-box-sizing : border-box;
|
|
||||||
|
|
||||||
text-align: center;
|
|
||||||
font-family:Courier;
|
|
||||||
font-weight: bold;
|
|
||||||
font-size : 18px;
|
|
||||||
color: gold;
|
|
||||||
}
|
|
227
src/css/dialogs-cheatsheet.css
Normal file
@ -0,0 +1,227 @@
|
|||||||
|
.cheatsheet-link {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 10px;
|
||||||
|
left: 10px;
|
||||||
|
|
||||||
|
color : gold;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size : 1.25em;
|
||||||
|
line-height: 20px;
|
||||||
|
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
opacity: 0.5;
|
||||||
|
z-index: 11000;
|
||||||
|
transition : opacity 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-link:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-container {
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
bottom: 46px;
|
||||||
|
padding: 20px 3%;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: rgba(0,0,0,0.9);
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-container .cheatsheet-title {
|
||||||
|
font-size:24px;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-container .cheatsheet-title:nth-of-type(1) {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-section {
|
||||||
|
box-sizing: border-box;
|
||||||
|
float: left;
|
||||||
|
|
||||||
|
vertical-align: top;
|
||||||
|
padding : 0 20px 20px 20px;
|
||||||
|
min-width: 300px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-boxes {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 1300px) {
|
||||||
|
.cheatsheet-container > div {
|
||||||
|
width: 33%;
|
||||||
|
}
|
||||||
|
.cheatsheet-boxes {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-shortcut {
|
||||||
|
overflow: hidden;
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon.tool-icon {
|
||||||
|
float: left;
|
||||||
|
|
||||||
|
height: 30px;
|
||||||
|
width: 30px;
|
||||||
|
margin: 0 10px 0 0;
|
||||||
|
background-size: 30px 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-description {
|
||||||
|
color: white;
|
||||||
|
font-size : 14px;
|
||||||
|
margin-left: 10px;
|
||||||
|
line-height : 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-key {
|
||||||
|
box-sizing: border-box;
|
||||||
|
display : inline-block;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 26px;
|
||||||
|
padding: 0 10px;
|
||||||
|
|
||||||
|
border : 2px solid white;
|
||||||
|
border-radius: 2px;
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
font-family:Courier;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size : 18px;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-shorcut-conflict .cheatsheet-key {
|
||||||
|
border-color: red;
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-shortcut-editable {
|
||||||
|
cursor : pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-shortcut-editable .cheatsheet-key {
|
||||||
|
border-color: gold;
|
||||||
|
color: gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-shortcut-editing .cheatsheet-key {
|
||||||
|
animation: fade .5s infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-shortcut-undefined .cheatsheet-key {
|
||||||
|
border-color: red;
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Cheatsheet actions*/
|
||||||
|
|
||||||
|
.cheatsheet-actions {
|
||||||
|
position: absolute;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
bottom : 0;
|
||||||
|
left : 0;
|
||||||
|
right : 0;
|
||||||
|
height : 46px;
|
||||||
|
|
||||||
|
padding : 10px;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
background-color : gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-helptext {
|
||||||
|
font-size: 14px;
|
||||||
|
height : 26px;
|
||||||
|
line-height : 26px;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-helptext-tooltip {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-helptext-tooltip-item {
|
||||||
|
line-height: 0.9em;
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-button {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 10px;
|
||||||
|
right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-circle {
|
||||||
|
background-image: url(../img/icons/tools/tool-circle.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-colorpicker {
|
||||||
|
background-image: url(../img/icons/tools/tool-colorpicker.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-colorswap {
|
||||||
|
background-image: url(../img/icons/tools/tool-colorswap.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-dithering {
|
||||||
|
background-image: url(../img/icons/tools/tool-dithering.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-eraser {
|
||||||
|
background-image: url(../img/icons/tools/tool-eraser.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-lasso-select {
|
||||||
|
background-image: url(../img/icons/tools/tool-lasso-select.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-lighten {
|
||||||
|
background-image: url(../img/icons/tools/tool-lighten.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-move {
|
||||||
|
background-image: url(../img/icons/tools/tool-move.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-paint-bucket {
|
||||||
|
background-image: url(../img/icons/tools/tool-paint-bucket.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-pen {
|
||||||
|
background-image: url(../img/icons/tools/tool-pen.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-rectangle-select {
|
||||||
|
background-image: url(../img/icons/tools/tool-rectangle-select.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-rectangle {
|
||||||
|
background-image: url(../img/icons/tools/tool-rectangle.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-shape-select {
|
||||||
|
background-image: url(../img/icons/tools/tool-shape-select.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-stroke {
|
||||||
|
background-image: url(../img/icons/tools/tool-stroke.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cheatsheet-icon-tool-vertical-mirror-pen {
|
||||||
|
background-image: url(../img/icons/tools/tool-vertical-mirror-pen.png);
|
||||||
|
}
|
@ -2,17 +2,65 @@
|
|||||||
/* Import dialog */
|
/* Import dialog */
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
|
|
||||||
|
#dialog-container.import-image {
|
||||||
|
width: 550px;
|
||||||
|
height: 360px;
|
||||||
|
top : 50%;
|
||||||
|
left : 50%;
|
||||||
|
position : absolute;
|
||||||
|
margin-left: -250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.show #dialog-container.import-image {
|
||||||
|
margin-top: -150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.import-subsection {
|
||||||
|
margin-left: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.import-section:not(.import-subsection) > .dialog-section-title {
|
||||||
|
width: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.import-section-preview-title {
|
||||||
|
position: absolute;
|
||||||
|
margin-left: 50%;
|
||||||
|
margin-top: -28px;
|
||||||
|
}
|
||||||
|
|
||||||
.import-section-preview {
|
.import-section-preview {
|
||||||
display : inline-block;
|
position: absolute;
|
||||||
height : 60px;
|
display: inline-block;
|
||||||
width: 60px;
|
|
||||||
border: 1px dashed #999;
|
border: 1px dashed #999;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
margin-left: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.import-section-preview img {
|
||||||
|
max-width: 220px;
|
||||||
|
max-height: 220px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.import-section-preview.no-border {
|
||||||
|
border-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.import-section-preview canvas {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dialog-section-title {
|
.dialog-section-title {
|
||||||
display : inline-block;
|
display : inline-block;
|
||||||
width: 55px;
|
width: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialog-section-radio {
|
||||||
|
margin-top: 15px;
|
||||||
|
vertical-align: sub;
|
||||||
}
|
}
|
||||||
|
|
||||||
.import-size-field:nth-of-type(2) {
|
.import-size-field:nth-of-type(2) {
|
||||||
@ -23,12 +71,17 @@
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
height: 2rem;
|
width: 200px;
|
||||||
word-break : break-all;
|
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
|
||||||
|
word-break : break-all;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
|
color: gold;
|
||||||
}
|
}
|
||||||
|
|
||||||
[name=smooth-resize-checkbox] {
|
[name=smooth-resize-checkbox] {
|
||||||
@ -36,12 +89,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.dialog-import-body {
|
.dialog-import-body {
|
||||||
padding:10px 20px;
|
padding: 10px 20px;
|
||||||
font-size:1.5em
|
font-size:1.3em
|
||||||
}
|
}
|
||||||
|
|
||||||
.import-button {
|
.import-button {
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
height: auto;
|
height: 28px;
|
||||||
padding: 5px 10px;
|
padding: 0px 10px;
|
||||||
|
margin-top: 15px;
|
||||||
}
|
}
|
@ -21,7 +21,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#dialog-container-wrapper.animated {
|
#dialog-container-wrapper.animated {
|
||||||
transition: opacity 0.5s;
|
transition: opacity 0.2s;
|
||||||
}
|
}
|
||||||
|
|
||||||
#dialog-container-wrapper.show {
|
#dialog-container-wrapper.show {
|
||||||
@ -44,10 +44,6 @@
|
|||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.animated #dialog-container {
|
|
||||||
transition:margin-top 0.5s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.show #dialog-container {
|
.show #dialog-container {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
@ -65,24 +61,19 @@
|
|||||||
margin-top: -250px;
|
margin-top: -250px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#dialog-container.import-image {
|
|
||||||
width: 500px;
|
|
||||||
height: 300px;
|
|
||||||
top : 50%;
|
|
||||||
left : 50%;
|
|
||||||
position : absolute;
|
|
||||||
margin-left: -250px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.show #dialog-container.import-image {
|
|
||||||
margin-top: -150px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-wrapper {
|
.dialog-wrapper {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
position : relative;
|
position : relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dialog-content {
|
||||||
|
position: absolute;
|
||||||
|
top: 45px;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
.dialog-head {
|
.dialog-head {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: gold;
|
background: gold;
|
||||||
@ -90,6 +81,7 @@
|
|||||||
padding: 10px;
|
padding: 10px;
|
||||||
color: black;
|
color: black;
|
||||||
font-size: 1.8em;
|
font-size: 1.8em;
|
||||||
|
height: 45px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
-moz-box-sizing: border-box;
|
-moz-box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,8 @@
|
|||||||
border-radius : 2px;
|
border-radius : 2px;
|
||||||
padding : 3px 10px;
|
padding : 3px 10px;
|
||||||
color : white;
|
color : white;
|
||||||
|
|
||||||
|
height: 23px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.textfield[disabled=disabled] {
|
.textfield[disabled=disabled] {
|
||||||
|
@ -55,24 +55,28 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.add-frame-action {
|
.add-frame-action {
|
||||||
border: #888 solid 4px;
|
|
||||||
font-size: 13px;
|
|
||||||
color: #888;
|
|
||||||
cursor: pointer;
|
|
||||||
padding: 6px 0;
|
|
||||||
border-radius: 4px;
|
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
background-image: url(../img/plus.png);
|
padding: 6px 0;
|
||||||
background-repeat: no-repeat;
|
overflow: hidden;
|
||||||
background-position: 3px 7px;
|
width: 96px;
|
||||||
background-size: 26px 26px;
|
|
||||||
text-indent: 18px;
|
border: #888 solid 3px;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
color: #888;
|
||||||
background-color: #222;
|
background-color: #222;
|
||||||
|
font-size: 13px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.add-frame-action-icon {
|
||||||
|
margin: 3px;
|
||||||
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.add-frame-action .label {
|
.add-frame-action .label {
|
||||||
width: 80px;
|
overflow: hidden;
|
||||||
margin: 0 auto;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.add-frame-action:hover {
|
.add-frame-action:hover {
|
||||||
@ -129,15 +133,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.preview-tile .tile-overlay.delete-frame-action {
|
.preview-tile .tile-overlay.delete-frame-action {
|
||||||
background-image: url(../img/garbage.png);
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
border-bottom-left-radius: 3px;
|
border-bottom-left-radius: 3px;
|
||||||
height: 30px;
|
|
||||||
width: 30px;
|
|
||||||
background-position: 5px 5px;
|
|
||||||
background-size: 20px;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,10 +143,6 @@
|
|||||||
bottom: 0;
|
bottom: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
border-bottom-left-radius: 3px;
|
border-bottom-left-radius: 3px;
|
||||||
background-image: url(../img/duplicate.png);
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: 5px 5px;
|
|
||||||
background-size: 20px;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,10 +150,6 @@
|
|||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
border-top-right-radius: 3px;
|
border-top-right-radius: 3px;
|
||||||
background-image: url(../img/dragndrop.png);
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: 5px 5px;
|
|
||||||
background-size: 20px;
|
|
||||||
cursor: move;
|
cursor: move;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
.action-icon {
|
|
||||||
cursor: pointer;
|
|
||||||
height: 100%;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.edit-icon {
|
|
||||||
background-image: url('../img/tools/pen.png');
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.merge-icon {
|
|
||||||
background-image: url('../img/merge-icon.png');
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.plus-icon {
|
|
||||||
font-size:15px;
|
|
||||||
text-align:center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.delete-icon {
|
|
||||||
}
|
|
@ -103,25 +103,24 @@
|
|||||||
|
|
||||||
.light-picker-background,
|
.light-picker-background,
|
||||||
.light-canvas-background .canvas-background {
|
.light-canvas-background .canvas-background {
|
||||||
background: url(../img/canvas_background/light_canvas_background.png) repeat;
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABlBMVEXf39////8zI3BgAAAAHklEQVR4AWNghAIGCMDgjwgFCDDSw2M0PSCD0fQAACRcAgF4ciGUAAAAAElFTkSuQmCC') repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.medium-picker-background,
|
.medium-picker-background,
|
||||||
.medium-canvas-background .canvas-background {
|
.medium-canvas-background .canvas-background {
|
||||||
background: url(../img/canvas_background/medium_canvas_background.png) repeat;
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABlBMVEW6urr///82MBGFAAAAHUlEQVR4AWOAAUYoQOePEAUj3v9oYDQ9gMBoegAAJFwCAbLaTIMAAAAASUVORK5CYII=') repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lowcont-medium-picker-background,
|
.lowcont-medium-picker-background,
|
||||||
.lowcont-medium-canvas-background .canvas-background {
|
.lowcont-medium-canvas-background .canvas-background {
|
||||||
background: url(../img/canvas_background/lowcont_medium_canvas_background.png) repeat;
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABlBMVEXV1dXb29tFGkCIAAAAHklEQVR4AWNghAIGCMDgjwgFCDDSw2M0PSCD0fQAACRcAgF4ciGUAAAAAElFTkSuQmCC') repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lowcont-dark-picker-background,
|
.lowcont-dark-picker-background,
|
||||||
.lowcont-dark-canvas-background .canvas-background {
|
.lowcont-dark-canvas-background .canvas-background {
|
||||||
background: url(../img/canvas_background/lowcont_dark_canvas_background.png) repeat;
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABlBMVEVMTExVVVUnhsEkAAAAHUlEQVR4AWOAAUYoQOePEAUj3v9oYDQ9gMBoegAAJFwCAbLaTIMAAAAASUVORK5CYII=') repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layers-canvas,
|
|
||||||
.canvas.onion-skin-canvas {
|
.canvas.onion-skin-canvas {
|
||||||
opacity: 0.2;
|
opacity: 0.2;
|
||||||
}
|
}
|
||||||
|
49
src/css/pensize.css
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
.pen-size-container {
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 5px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pen-size-option {
|
||||||
|
float: left;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
margin-right: 2px;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 2px;
|
||||||
|
border-color: #444;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pen-size-option[data-size='1'] {
|
||||||
|
padding: 6px;
|
||||||
|
}
|
||||||
|
.pen-size-option[data-size='2'] {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
.pen-size-option[data-size='3'] {
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
.pen-size-option[data-size='4'] {
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pen-size-option:before {
|
||||||
|
content: '';
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: white;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pen-size-option:hover {
|
||||||
|
border-color: #888;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pen-size-option.selected:before {
|
||||||
|
background-color: gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pen-size-option.selected {
|
||||||
|
border-color: gold;
|
||||||
|
}
|
@ -3,7 +3,7 @@ html, body {
|
|||||||
margin : 0;
|
margin : 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
cursor : default;
|
cursor : default;
|
||||||
font-family: arial;
|
font-family: Arial;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
-webkit-touch-callout: none;
|
-webkit-touch-callout: none;
|
||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
||||||
@ -19,6 +19,17 @@ ul, li {
|
|||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Firefox overrides this with -moz-use-system-font */
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
input[type="submit"] {
|
||||||
|
font-family: Arial;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* IE11 applies a big default margin for range inputs */
|
||||||
|
input[type="range"] {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Force apparition of scrollbars on leopard */
|
/* Force apparition of scrollbars on leopard */
|
||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
|
@ -1,4 +1,61 @@
|
|||||||
.tiled-preview-checkbox {
|
/*******************************/
|
||||||
vertical-align: -2px;
|
/* Application Setting panel */
|
||||||
margin-left: 0;
|
/*******************************/
|
||||||
|
|
||||||
|
.background-picker-wrapper {
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 5px 5px 2px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.background-picker {
|
||||||
|
cursor: pointer;
|
||||||
|
float: left;
|
||||||
|
height: 35px;
|
||||||
|
width: 35px;
|
||||||
|
background-color: transparent;
|
||||||
|
margin-right: 15px;
|
||||||
|
padding: 1px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.background-picker:after {
|
||||||
|
content: " ";
|
||||||
|
position: absolute;
|
||||||
|
top: -2px;
|
||||||
|
right: -2px;
|
||||||
|
bottom: -2px;
|
||||||
|
left: -2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.background-picker:hover:after {
|
||||||
|
border: #eee 1px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.background-picker.selected:after {
|
||||||
|
border: gold 1px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layer-opacity-input {
|
||||||
|
margin: 5px;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 145px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layer-opacity-text {
|
||||||
|
height: 31px;
|
||||||
|
display: inline-block;
|
||||||
|
line-height: 30px;
|
||||||
|
width: 40px;
|
||||||
|
border: 1px solid grey;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border-radius: 3px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.grid-width-select {
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.settings-section--application-general > .settings-item > label {
|
||||||
|
display: block;
|
||||||
}
|
}
|
@ -55,4 +55,25 @@
|
|||||||
-moz-box-sizing:border-box;
|
-moz-box-sizing:border-box;
|
||||||
background: rgba(0,0,0,0.5);
|
background: rgba(0,0,0,0.5);
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.scaling-factor {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scaling-factor-input {
|
||||||
|
margin: 5px;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 145px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scaling-factor-text {
|
||||||
|
height: 31px;
|
||||||
|
display: inline-block;
|
||||||
|
line-height: 30px;
|
||||||
|
width: 40px;
|
||||||
|
border: 1px solid grey;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border-radius: 3px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
@ -5,17 +5,6 @@
|
|||||||
width: 25%;
|
width: 25%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.resize-content-checkbox {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.resize-ratio-checkbox,
|
|
||||||
.resize-smooth-checkbox {
|
|
||||||
vertical-align: -2px;
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*****************/
|
/*****************/
|
||||||
/* ANCHOR WIDGET */
|
/* ANCHOR WIDGET */
|
||||||
/*****************/
|
/*****************/
|
||||||
@ -55,6 +44,10 @@
|
|||||||
border-color: #555 !important;
|
border-color: #555 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.resize-origin-option:hover {
|
||||||
|
border : 3px solid white;
|
||||||
|
}
|
||||||
|
|
||||||
.resize-origin-option.selected {
|
.resize-origin-option.selected {
|
||||||
border : 3px solid gold;
|
border : 3px solid gold;
|
||||||
}
|
}
|
||||||
|
26
src/css/settings-save.css
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
.save-field {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.save-status {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: -10px;
|
||||||
|
vertical-align: middle;
|
||||||
|
font-weight: normal;
|
||||||
|
text-shadow: none;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.save-file-name {
|
||||||
|
white-space: nowrap;
|
||||||
|
font-weight: bold;
|
||||||
|
color: white;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.save-desktop-file-name {
|
||||||
|
word-wrap: break-word;
|
||||||
|
font-weight: bold;
|
||||||
|
color: white;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
@ -21,55 +21,6 @@
|
|||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************** *j* j** j*j j j j** *****************/
|
|
||||||
/* Settings icons I I I I I\I \ */
|
|
||||||
/********************************************************** *** *** *** * * '** *****************/
|
|
||||||
|
|
||||||
.tool-icon.gallery-icon {
|
|
||||||
background-image: url(../img/gallery.png);
|
|
||||||
background-position: 3px 3px;
|
|
||||||
background-size: 39px 39px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.resize-icon {
|
|
||||||
background-image: url(../img/resize-icon.png);
|
|
||||||
background-position: 10px 10px;
|
|
||||||
background-size: 26px 26px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.save-icon {
|
|
||||||
background-image: url(../img/save.png);
|
|
||||||
background-position: 6px 6px;
|
|
||||||
background-size: 36px 36px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.gear-icon {
|
|
||||||
background-image: url(../img/gear.png);
|
|
||||||
background-position: 6px 7px;
|
|
||||||
background-size: 32px 32px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.export-icon {
|
|
||||||
background-image: url(../img/export.png);
|
|
||||||
background-position: 7px 5px;
|
|
||||||
background-size: 36px 36px;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.local-storage-icon {
|
|
||||||
background-image: url(../img/local-storage-icon.png);
|
|
||||||
background-position: 10px 12px;
|
|
||||||
background-size: 30px;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.import-icon {
|
|
||||||
background-image: url(../img/import-icon.png);
|
|
||||||
background-position: 10px 5px;
|
|
||||||
background-size: 26px;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon .label {
|
.tool-icon .label {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
@ -132,7 +83,6 @@
|
|||||||
|
|
||||||
.settings-description {
|
.settings-description {
|
||||||
margin : 0 0 10px 0;
|
margin : 0 0 10px 0;
|
||||||
display : inline-block;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.settings-form-section {
|
.settings-form-section {
|
||||||
@ -146,76 +96,3 @@
|
|||||||
[name*=checkbox] {
|
[name*=checkbox] {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************************/
|
|
||||||
/* Application settings */
|
|
||||||
/************************************************************************************************/
|
|
||||||
|
|
||||||
.background-picker-wrapper {
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.background-picker {
|
|
||||||
cursor: pointer;
|
|
||||||
float: left;
|
|
||||||
height: 35px;
|
|
||||||
width: 35px;
|
|
||||||
background-color: transparent;
|
|
||||||
margin-right: 15px;
|
|
||||||
padding: 1px;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.background-picker:after {
|
|
||||||
content: " ";
|
|
||||||
position: absolute;
|
|
||||||
top: -2px;
|
|
||||||
right: -2px;
|
|
||||||
bottom: -2px;
|
|
||||||
left: -2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.background-picker:hover:after {
|
|
||||||
border: #eee 1px solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
.background-picker.selected:after {
|
|
||||||
border: gold 1px solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************************************************/
|
|
||||||
/* Save panel */
|
|
||||||
/************************************************************************************************/
|
|
||||||
|
|
||||||
.anonymous .save-public-section,
|
|
||||||
.anonymous #save-online-button {
|
|
||||||
display : none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.save-field {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.save-status {
|
|
||||||
margin-top: 10px;
|
|
||||||
margin-bottom: -10px;
|
|
||||||
vertical-align: middle;
|
|
||||||
font-weight: normal;
|
|
||||||
text-shadow: none;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.save-file-name {
|
|
||||||
white-space: nowrap;
|
|
||||||
font-weight: bold;
|
|
||||||
color: white;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.save-desktop-file-name {
|
|
||||||
word-wrap: break-word;
|
|
||||||
font-weight: bold;
|
|
||||||
color: white;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
113
src/css/sprites.css
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
/*
|
||||||
|
Icon classes can be used entirely standalone. They are named after their original file names.
|
||||||
|
|
||||||
|
```html
|
||||||
|
<!-- `display: block` sprite -->
|
||||||
|
<div class="icon-home"></div>
|
||||||
|
|
||||||
|
<!-- `display: inline-block` sprite -->
|
||||||
|
<img class="icon-home" />
|
||||||
|
```
|
||||||
|
*/
|
||||||
|
.icon-cloud_export {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -512px -276px;
|
||||||
|
width: 50px;
|
||||||
|
height: 47px;
|
||||||
|
}
|
||||||
|
.icon-dragndrop {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -564px -173px;
|
||||||
|
width: 48px;
|
||||||
|
height: 48px;
|
||||||
|
}
|
||||||
|
.icon-duplicate {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -512px -369px;
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
.icon-export {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -564px -225px;
|
||||||
|
width: 43px;
|
||||||
|
height: 42px;
|
||||||
|
}
|
||||||
|
.icon-favicon {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -582px -151px;
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
.icon-gallery {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -512px -225px;
|
||||||
|
width: 52px;
|
||||||
|
height: 51px;
|
||||||
|
}
|
||||||
|
.icon-garbage {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: 0px 0px;
|
||||||
|
width: 512px;
|
||||||
|
height: 512px;
|
||||||
|
}
|
||||||
|
.icon-gear {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -563px -323px;
|
||||||
|
width: 38px;
|
||||||
|
height: 37px;
|
||||||
|
}
|
||||||
|
.icon-import-icon {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -576px -69px;
|
||||||
|
width: 28px;
|
||||||
|
height: 36px;
|
||||||
|
}
|
||||||
|
.icon-keyboard {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -512px -133px;
|
||||||
|
width: 70px;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
.icon-local-storage-icon {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -512px 0px;
|
||||||
|
width: 100px;
|
||||||
|
height: 69px;
|
||||||
|
}
|
||||||
|
.icon-merge-icon {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -512px -69px;
|
||||||
|
width: 64px;
|
||||||
|
height: 64px;
|
||||||
|
}
|
||||||
|
.icon-plus {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -512px -323px;
|
||||||
|
width: 51px;
|
||||||
|
height: 46px;
|
||||||
|
}
|
||||||
|
.icon-popup-preview-arrow-gold {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -576px -105px;
|
||||||
|
width: 24px;
|
||||||
|
height: 18px;
|
||||||
|
}
|
||||||
|
.icon-popup-preview-arrow-white {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -582px -133px;
|
||||||
|
width: 24px;
|
||||||
|
height: 18px;
|
||||||
|
}
|
||||||
|
.icon-resize-icon {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -512px -173px;
|
||||||
|
width: 52px;
|
||||||
|
height: 52px;
|
||||||
|
}
|
||||||
|
.icon-save {
|
||||||
|
background-image: url(../img/spritesheet.png);
|
||||||
|
background-position: -562px -276px;
|
||||||
|
width: 43px;
|
||||||
|
height: 42px;
|
||||||
|
}
|
@ -50,3 +50,39 @@ body {
|
|||||||
.uppercase {
|
.uppercase {
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.checkbox-fix {
|
||||||
|
vertical-align: -2px;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TOOLTIPS
|
||||||
|
*/
|
||||||
|
.tooltip-shortcut {
|
||||||
|
color:gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip-container {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip-descriptor {
|
||||||
|
color:#999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip-descriptor:last-child {
|
||||||
|
padding-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip-descriptor-button {
|
||||||
|
padding: 2px;
|
||||||
|
border: 1px Solid #999;
|
||||||
|
font-size: 0.8em;
|
||||||
|
margin-right: 5px;
|
||||||
|
width: 35px;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 3px;
|
||||||
|
display: inline-block;
|
||||||
|
line-height: 10px;
|
||||||
|
}
|
@ -34,11 +34,11 @@
|
|||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tiled-frame-container {
|
.preview-container .background-image-frame-container {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
background-repeat : repeat;
|
background-position: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.display-fps {
|
.display-fps {
|
||||||
@ -56,7 +56,6 @@
|
|||||||
height : 26px;
|
height : 26px;
|
||||||
margin : 0;
|
margin : 0;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding:0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.preview-toggle-onion-skin {
|
.preview-toggle-onion-skin {
|
||||||
@ -81,26 +80,59 @@
|
|||||||
color : gold;
|
color : gold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.open-popup-preview-button {
|
.preview-contextual-actions {
|
||||||
position : absolute;
|
position : absolute;
|
||||||
z-index: 500;
|
z-index: 500;
|
||||||
right : 10px;
|
right : 10px;
|
||||||
top : 10px;
|
top : 10px;
|
||||||
width : 24px;
|
|
||||||
height: 18px;
|
|
||||||
|
|
||||||
border : 2px solid white;
|
|
||||||
background : rgba(0,0,0,0.3);
|
|
||||||
cursor : pointer;
|
cursor : pointer;
|
||||||
|
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transition: 0.3s opacity, 0.3s border-color;
|
transition: 0.3s opacity, 0.3s border-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.minimap-container:hover .open-popup-preview-button {
|
.minimap-container:hover .preview-contextual-actions {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.original-size-button {
|
||||||
|
width : 18px;
|
||||||
|
height: 18px;
|
||||||
|
line-height: 18px;
|
||||||
|
margin: 0 5px;
|
||||||
|
|
||||||
|
border: 2px solid white;
|
||||||
|
background-color: rgba(0, 0, 0, 0.3);
|
||||||
|
color: white;
|
||||||
|
|
||||||
|
font-size: 10px;
|
||||||
|
font-weight: bold;
|
||||||
|
font-family: Tahoma;
|
||||||
|
}
|
||||||
|
|
||||||
|
.original-size-button-enabled {
|
||||||
|
color: gold;
|
||||||
|
border-color: gold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.preview-contextual-action {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.open-popup-preview-button {
|
||||||
|
border : 2px solid white;
|
||||||
|
background-color : rgba(0,0,0,0.3);
|
||||||
|
}
|
||||||
|
|
||||||
.open-popup-preview-button:hover {
|
.open-popup-preview-button:hover {
|
||||||
border-color: gold;
|
border-color: gold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The regular image is provided bby the sprite icons.png+icons.css
|
||||||
|
*/
|
||||||
|
.icon-minimap-popup-preview-arrow-white:hover {
|
||||||
|
background-image: url(../img/icons/minimap/minimap-popup-preview-arrow-gold.png);
|
||||||
|
background-position: 0 0;
|
||||||
|
}
|
||||||
|
@ -5,13 +5,6 @@
|
|||||||
.layers-list-container {
|
.layers-list-container {
|
||||||
}
|
}
|
||||||
|
|
||||||
/*.layers-title {
|
|
||||||
background-image: url('../img/layers.svg');
|
|
||||||
background-size: 22px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: 97%;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
.layers-title {
|
.layers-title {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
@ -15,9 +15,55 @@
|
|||||||
height: 32px;
|
height: 32px;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.palettes-list-color:nth-child(-n+10):after {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
|
||||||
|
background-color: black;
|
||||||
|
color: gold;
|
||||||
|
|
||||||
|
font-family: Tahoma;
|
||||||
|
font-size: 0.5em;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
padding: 2px 3px 2px 3px;
|
||||||
|
border-radius: 0 0 0 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.palettes-list-color:nth-child(1):after {
|
||||||
|
content: "1";
|
||||||
|
}
|
||||||
|
.palettes-list-color:nth-child(2):after {
|
||||||
|
content: "2";
|
||||||
|
}
|
||||||
|
.palettes-list-color:nth-child(3):after {
|
||||||
|
content: "3";
|
||||||
|
}
|
||||||
|
.palettes-list-color:nth-child(4):after {
|
||||||
|
content: "4";
|
||||||
|
}
|
||||||
|
.palettes-list-color:nth-child(5):after {
|
||||||
|
content: "5";
|
||||||
|
}
|
||||||
|
.palettes-list-color:nth-child(6):after {
|
||||||
|
content: "6";
|
||||||
|
}
|
||||||
|
.palettes-list-color:nth-child(7):after {
|
||||||
|
content: "7";
|
||||||
|
}
|
||||||
|
.palettes-list-color:nth-child(8):after {
|
||||||
|
content: "8";
|
||||||
|
}
|
||||||
|
.palettes-list-color:nth-child(9):after {
|
||||||
|
content: "9";
|
||||||
|
}
|
||||||
|
|
||||||
.palettes-list-color:nth-child(-n+5) {
|
.palettes-list-color:nth-child(-n+5) {
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.palettes-list-color div {
|
.palettes-list-color div {
|
||||||
width: 32px;
|
width: 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
@ -91,10 +137,6 @@
|
|||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.palettes-list-actions .edit-icon {
|
|
||||||
background-size: 15px;
|
|
||||||
background-position: 50%;
|
|
||||||
}
|
|
||||||
.palettes-list-no-colors {
|
.palettes-list-no-colors {
|
||||||
height: 42px;
|
height: 42px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -5,9 +5,6 @@
|
|||||||
height: 46px;
|
height: 46px;
|
||||||
margin: 1px;
|
margin: 1px;
|
||||||
background-color: #3a3a3a;
|
background-color: #3a3a3a;
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: 12px 12px;
|
|
||||||
background-size: 24px 24px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-icon.selected {
|
.tool-icon.selected {
|
||||||
@ -22,161 +19,77 @@
|
|||||||
width : 100%;
|
width : 100%;
|
||||||
border: 3px solid gold;
|
border: 3px solid gold;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-icon:hover {
|
.tool-icon:hover {
|
||||||
background-color: #444;
|
background-color: #444;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Tool icons:
|
|
||||||
*/
|
|
||||||
.tool-icon.tool-pen {
|
|
||||||
background-image: url(../img/tools/pen.png);
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-vertical-mirror-pen {
|
|
||||||
background-image: url(../img/tools/mirror.png);
|
|
||||||
background-position: 0px 10px;
|
|
||||||
background-size: 38px 27px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-paint-bucket {
|
|
||||||
background-image: url(../img/tools/paintbucket.png);
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-eraser {
|
|
||||||
background-image: url(../img/tools/eraser.png);
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-stroke {
|
|
||||||
background-image: url(../img/tools/stroke.png);
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-rectangle {
|
|
||||||
background-image: url(../img/tools/rectangle.png);
|
|
||||||
background-position: 12px 14px;
|
|
||||||
background-size: 24px 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-circle {
|
|
||||||
background-image: url(../img/tools/circle.png);
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-move {
|
|
||||||
background-image: url(../img/tools/hand.png);
|
|
||||||
background-size: 24px 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-rectangle-select {
|
|
||||||
background-image: url(../img/tools/rectangle_selection.png);
|
|
||||||
background-position: 12px 14px;
|
|
||||||
background-size: 24px 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-shape-select {
|
|
||||||
background-image: url(../img/tools/magicwand.png);
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-lighten {
|
|
||||||
background-image: url(../img/tools/lighten.png);
|
|
||||||
background-position: 8px 8px;
|
|
||||||
background-size: 30px 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-colorpicker {
|
|
||||||
background-image: url(../img/tools/eyedropper.png);
|
|
||||||
background-size: 23px 23px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-colorswap {
|
|
||||||
background-image: url(../img/tools/swap-colors.png);
|
|
||||||
background-position: 6px 6px;
|
|
||||||
background-size: 36px 36px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-flip {
|
|
||||||
background-image: url(../img/tools/flip.png);
|
|
||||||
background-position: 7px 11px;
|
|
||||||
background-size: 32px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-rotate {
|
|
||||||
background-image: url(../img/tools/rotate.png);
|
|
||||||
background-position: 10px 9px;
|
|
||||||
background-size: 26px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tool-icon.tool-clone {
|
|
||||||
background-image: url(../img/tools/clone.png);
|
|
||||||
background-position: 9px 15px;
|
|
||||||
background-size: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Tool cursors:
|
* Tool cursors:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.tool-paint-bucket .drawing-canvas-container:hover,
|
.tool-paint-bucket .drawing-canvas-container:hover,
|
||||||
.tool-colorswap .drawing-canvas-container:hover {
|
.tool-colorswap .drawing-canvas-container:hover {
|
||||||
cursor: url(../img/icons/paint-bucket.png) 12 12, pointer;
|
cursor: url(../img/cursors/paint-bucket.png) 12 12, pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-vertical-mirror-pen .drawing-canvas-container:hover {
|
.tool-vertical-mirror-pen .drawing-canvas-container:hover {
|
||||||
cursor: url(../img/icons/vertical-mirror-pen.png) 5 15, pointer;
|
cursor: url(../img/cursors/vertical-mirror-pen.png) 5 15, pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-pen .drawing-canvas-container:hover,
|
.tool-pen .drawing-canvas-container:hover,
|
||||||
.tool-lighten .drawing-canvas-container:hover {
|
.tool-lighten .drawing-canvas-container:hover,
|
||||||
cursor: url(../img/icons/pen.png) 0 15, pointer;
|
.tool-dithering .drawing-canvas-container:hover {
|
||||||
|
cursor: url(../img/cursors/pen.png) 0 15, pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-eraser .drawing-canvas-container:hover {
|
.tool-eraser .drawing-canvas-container:hover {
|
||||||
cursor: url(../img/icons/eraser.png) 0 15, pointer;
|
cursor: url(../img/cursors/eraser.png) 0 15, pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-stroke .drawing-canvas-container:hover {
|
.tool-stroke .drawing-canvas-container:hover {
|
||||||
cursor: url(../img/icons/pen.png) 0 15, pointer;
|
cursor: url(../img/cursors/pen.png) 0 15, pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-rectangle .drawing-canvas-container:hover {
|
.tool-rectangle .drawing-canvas-container:hover {
|
||||||
cursor: url(../img/icons/rectangle.png) 0 15, pointer;
|
cursor: url(../img/cursors/rectangle.png) 0 15, pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-circle .drawing-canvas-container:hover {
|
.tool-circle .drawing-canvas-container:hover {
|
||||||
cursor: url(../img/icons/circle.png) 2 15, pointer;
|
cursor: url(../img/cursors/circle.png) 2 15, pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-move .drawing-canvas-container:hover {
|
.tool-move .drawing-canvas-container:hover {
|
||||||
cursor: url(../img/icons/hand.png) 15 15, pointer;
|
cursor: url(../img/cursors/hand.png) 7 7, pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-rectangle-select .drawing-canvas-container:hover {
|
.tool-rectangle-select .drawing-canvas-container:hover,
|
||||||
|
.tool-lasso-select .drawing-canvas-container:hover {
|
||||||
cursor: crosshair;
|
cursor: crosshair;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-shape-select .drawing-canvas-container:hover {
|
.tool-shape-select .drawing-canvas-container:hover {
|
||||||
cursor: url(../img/icons/wand.png) 15 15, pointer;
|
cursor: url(../img/cursors/wand.png) 15 15, pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-colorpicker .drawing-canvas-container:hover {
|
.tool-colorpicker .drawing-canvas-container:hover {
|
||||||
cursor: url(../img/icons/dropper.png) 0 15, pointer;
|
cursor: url(../img/cursors/dropper.png) 0 15, pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.swap-colors-icon {
|
.swap-colors-button {
|
||||||
background-image: url(../img/tools/swap-arrow-square-small-grey.png);
|
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 50px;
|
top: 50px;
|
||||||
left: 6px;
|
left: 6px;
|
||||||
height: 18px;
|
height: 18px;
|
||||||
width: 18px;
|
width: 18px;
|
||||||
background-size: 18px;
|
|
||||||
opacity : 0.3;
|
opacity : 0.3;
|
||||||
|
|
||||||
cursor : pointer;
|
cursor : pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.swap-colors-icon:hover {
|
.swap-colors-button:hover {
|
||||||
opacity : 1;
|
opacity : 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -246,28 +159,3 @@
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tools-tooltip-container {
|
|
||||||
text-align: left;
|
|
||||||
padding-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tools-tooltip-shortcut {
|
|
||||||
color:gold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tools-tooltip-descriptor {
|
|
||||||
color:#999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tools-tooltip-descriptor-button {
|
|
||||||
padding:2px;
|
|
||||||
border:1px Solid #999;
|
|
||||||
font-size:0.8em;
|
|
||||||
margin-right:5px;
|
|
||||||
width:35px;
|
|
||||||
text-align:center;
|
|
||||||
border-radius:3px;
|
|
||||||
display:inline-block;
|
|
||||||
line-height: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
BIN
src/img/canvas-backgrounds/canvas-background-light.png
Normal file
After Width: | Height: | Size: 222 B |
After Width: | Height: | Size: 255 B |
After Width: | Height: | Size: 255 B |
BIN
src/img/canvas-backgrounds/canvas-background-medium.png
Normal file
After Width: | Height: | Size: 254 B |
Before Width: | Height: | Size: 223 B |
Before Width: | Height: | Size: 431 B |
Before Width: | Height: | Size: 278 B |
Before Width: | Height: | Size: 418 B |
Before Width: | Height: | Size: 761 B After Width: | Height: | Size: 761 B |
0
src/img/icons/color-palette.png → src/img/cursors/color-palette.png
Executable file → Normal file
Before Width: | Height: | Size: 209 B After Width: | Height: | Size: 209 B |
Before Width: | Height: | Size: 543 B After Width: | Height: | Size: 543 B |
0
src/img/icons/eraser.png → src/img/cursors/eraser.png
Executable file → Normal file
Before Width: | Height: | Size: 656 B After Width: | Height: | Size: 656 B |
Before Width: | Height: | Size: 672 B After Width: | Height: | Size: 672 B |
Before Width: | Height: | Size: 557 B After Width: | Height: | Size: 557 B |
0
src/img/icons/paint-bucket.png → src/img/cursors/paint-bucket.png
Executable file → Normal file
Before Width: | Height: | Size: 707 B After Width: | Height: | Size: 707 B |
0
src/img/icons/pen.png → src/img/cursors/pen.png
Executable file → Normal file
Before Width: | Height: | Size: 450 B After Width: | Height: | Size: 450 B |
0
src/img/icons/rectangle.png → src/img/cursors/rectangle.png
Executable file → Normal file
Before Width: | Height: | Size: 660 B After Width: | Height: | Size: 660 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
0
src/img/icons/stroke.png → src/img/cursors/stroke.png
Executable file → Normal file
Before Width: | Height: | Size: 450 B After Width: | Height: | Size: 450 B |
Before Width: | Height: | Size: 603 B After Width: | Height: | Size: 603 B |
0
src/img/icons/wand.png → src/img/cursors/wand.png
Executable file → Normal file
Before Width: | Height: | Size: 570 B After Width: | Height: | Size: 570 B |
Before Width: | Height: | Size: 532 B |
Before Width: | Height: | Size: 634 B |
Before Width: | Height: | Size: 734 B |
Before Width: | Height: | Size: 4.7 KiB |
BIN
src/img/gear.png
Before Width: | Height: | Size: 789 B |
BIN
src/img/icons/common/common-keyboard-gold.png
Normal file
After Width: | Height: | Size: 622 B |
BIN
src/img/icons/common/common-swapcolors-arrow-grey.png
Normal file
After Width: | Height: | Size: 454 B |
BIN
src/img/icons/frame/frame-dragndrop-white.png
Normal file
After Width: | Height: | Size: 607 B |
BIN
src/img/icons/frame/frame-duplicate-white.png
Normal file
After Width: | Height: | Size: 367 B |
BIN
src/img/icons/frame/frame-plus-white.png
Normal file
After Width: | Height: | Size: 318 B |
BIN
src/img/icons/frame/frame-recyclebin-white.png
Normal file
After Width: | Height: | Size: 321 B |
BIN
src/img/icons/minimap/minimap-popup-preview-arrow-gold.png
Normal file
After Width: | Height: | Size: 236 B |
BIN
src/img/icons/minimap/minimap-popup-preview-arrow-white.png
Normal file
After Width: | Height: | Size: 239 B |
BIN
src/img/icons/settings/settings-export-white.png
Normal file
After Width: | Height: | Size: 964 B |
BIN
src/img/icons/settings/settings-gear-white.png
Normal file
After Width: | Height: | Size: 918 B |
BIN
src/img/icons/settings/settings-open-folder-white.png
Normal file
After Width: | Height: | Size: 681 B |
BIN
src/img/icons/settings/settings-resize-white.png
Normal file
After Width: | Height: | Size: 627 B |
BIN
src/img/icons/settings/settings-save-white.png
Normal file
After Width: | Height: | Size: 524 B |
BIN
src/img/icons/tools/tool-circle.png
Normal file
After Width: | Height: | Size: 1015 B |
BIN
src/img/icons/tools/tool-colorpicker.png
Normal file
After Width: | Height: | Size: 854 B |
BIN
src/img/icons/tools/tool-colorswap.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/img/icons/tools/tool-dithering.png
Normal file
After Width: | Height: | Size: 539 B |
BIN
src/img/icons/tools/tool-eraser.png
Normal file
After Width: | Height: | Size: 765 B |
BIN
src/img/icons/tools/tool-lasso-select.png
Normal file
After Width: | Height: | Size: 808 B |
BIN
src/img/icons/tools/tool-lighten.png
Normal file
After Width: | Height: | Size: 859 B |
BIN
src/img/icons/tools/tool-move.png
Normal file
After Width: | Height: | Size: 784 B |
BIN
src/img/icons/tools/tool-paint-bucket.png
Normal file
After Width: | Height: | Size: 919 B |
BIN
src/img/icons/tools/tool-pen.png
Normal file
After Width: | Height: | Size: 824 B |
BIN
src/img/icons/tools/tool-rectangle-select.png
Normal file
After Width: | Height: | Size: 708 B |
BIN
src/img/icons/tools/tool-rectangle.png
Normal file
After Width: | Height: | Size: 365 B |
BIN
src/img/icons/tools/tool-shape-select.png
Normal file
After Width: | Height: | Size: 811 B |
BIN
src/img/icons/tools/tool-stroke.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
src/img/icons/tools/tool-vertical-mirror-pen.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/img/icons/transform/tool-clone.png
Normal file
After Width: | Height: | Size: 765 B |
BIN
src/img/icons/transform/tool-flip.png
Normal file
After Width: | Height: | Size: 896 B |
BIN
src/img/icons/transform/tool-rotate.png
Normal file
After Width: | Height: | Size: 977 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 438 B |
BIN
src/img/plus.png
Before Width: | Height: | Size: 271 B |