<h1>Shadow Generator</h1>
<h1>Shadow Generator</h1>
<textarea></textarea>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/dat-gui/0.5/dat.gui.min.js"></script>
<script src="https://rawgithub.com/infusion/jQuery-xcolor/master/jquery.xcolor.min.js"></script>
<script src="https://rawgithub.com/heyimjuani/iluminate/master/jquery.iluminate.js"></script>
<!-- HAVE FUN WITH PRESETS -->
<!--
IF YOU WANT TO HAVE COLORS IN HEX YOU CAN COPY IT DIRECTLY FROM CODE INSPECTOR
-->
* {
* {
padding: 0;
margin: 0;
}
html, body {
width: 100%;
height: 100%;
overflow: hidden;
}
textarea {
font: 300 70% 'Open Sans', Arial;
position: absolute;
left: 0;
bottom: 0;
box-shadow: 0 -2px 12px #1D1D1D;
background: rgba(255, 255, 255, 0.24);
padding: 10px;
width: 100%;
height: 20%;
min-height: 100px;
border: none;
outline: none;
}
h1 {
height: 100%;
font: 400 600%/150% 'Open Sans', sans-serif;
text-align: center;
padding: 50px 10px;
letter-spacing: .15em;
color: #1F1F1F;
background: #FFF;
font-smoothing: antialiased;
}
var options =
var options =
{
uppercase: true,
preset: 'Dark',
presets: {
Default: {
iluminate: {
direction: 'bottomLeft',
textSize: 60,
textAlpha: 0.2,
fadeText: 0.5,
},
colors: {
'background-color': '#FFFFFF',
'color': '#000000',
}
},
Extrude: {
iluminate: {
direction: 'bottomLeft',
textSize: 11,
textAlpha: 0.88,
fadeText: 0.74,
},
colors: {
'background-color': '#d9d9d9',
'color': '#2d2d2d',
}
},
BlueSky: {
iluminate: {
direction: 'bottomRight',
textSize: 111,
textAlpha: 0.08,
fadeText: 1,
},
colors: {
'background-color': '#00c2ff',
'color': '#005d84',
}
},
Green: {
iluminate: {
direction: 'topLeft',
textSize: 26,
textAlpha: 0.21,
fadeText: 0.87,
},
colors: {
'background-color': '#aacf90',
'color': '#deffa2',
}
},
Dark: {
iluminate: {
direction: 'bottomLeft',
textSize: 50,
textAlpha: 0.21,
fadeText: 0.87,
},
colors: {
'background-color': '#191f25',
'color': '#252d37',
}
}
},
iluminate: {
direction: 'bottomLeft',
textSize: 60,
textAlpha: 0.2,
fadeText: 0.5,
includeText: true,
textOnly: true,
},
colors: {
'background-color': '#FFFFFF',
'color': '#000000',
}
};
var applyPreset = function () {
var extend = function (destination, source) {
for (var property in source) {
if (typeof source[property] === 'object')
destination[property] = extend(destination[property], source[property]);
else
destination[property] = source[property];
}
}
extend(options.iluminate, options.presets[options.preset].iluminate);
extend(options.colors, options.presets[options.preset].colors);
for (var i in gui.__controllers)
gui.__controllers[i].updateDisplay();
apply();
}
var apply = function () {
$('h1')
.css(options.colors)
.css('text-transform', options.uppercase? 'uppercase' : '')
.iluminate(options.iluminate);
$('textarea').text('text-shadow: ' + $('h1').css('text-shadow') + ';');
}
var gui = new dat.GUI();
gui.add(options, 'preset', Object.keys(options.presets)).onChange(applyPreset);
gui.add(options.iluminate, 'direction', ["top", "topLeft", "topRight", "left", "right", "bottom", "bottomLeft", "bottomRight"]).onChange(apply);
gui.add(options.iluminate, 'textSize', 0, 200).onChange(apply);
gui.add(options.iluminate, 'textAlpha', 0, 1).onChange(apply);
gui.add(options.iluminate, 'fadeText', 0, 1).onChange(apply);
gui.addColor(options.colors, 'background-color').onChange(apply);
gui.addColor(options.colors, 'color').onChange(apply);
gui.add(options, 'uppercase').onChange(apply);
// gui.close();
applyPreset();