|
@@ -68,7 +68,6 @@
|
|
|
<script src="fonts/droid/droid_sans_bold.typeface.js"></script>
|
|
|
<script src="fonts/droid/droid_serif_regular.typeface.js"></script>
|
|
|
<script src="fonts/droid/droid_serif_bold.typeface.js"></script>
|
|
|
-
|
|
|
<!-- todo async loader for fonts -->
|
|
|
|
|
|
<script>
|
|
@@ -122,8 +121,8 @@
|
|
|
|
|
|
};
|
|
|
|
|
|
- var reverseFontMap = {};
|
|
|
- var reverseWeightMap = {};
|
|
|
+ var reverseFontMap = [];
|
|
|
+ var reverseWeightMap = [];
|
|
|
|
|
|
for ( var i in fontMap ) reverseFontMap[ fontMap[i] ] = i;
|
|
|
for ( var i in weightMap ) reverseWeightMap[ weightMap[i] ] = i;
|
|
@@ -139,16 +138,11 @@
|
|
|
|
|
|
var postprocessing = { enabled : false };
|
|
|
var glow = 0.9;
|
|
|
+ var fontIndex = 0;
|
|
|
|
|
|
init();
|
|
|
animate();
|
|
|
|
|
|
- function capitalize( txt ) {
|
|
|
-
|
|
|
- return txt.substring( 0, 1 ).toUpperCase() + txt.substring( 1 );
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
function decimalToHex( d ) {
|
|
|
|
|
|
var hex = Number( d ).toString( 16 );
|
|
@@ -265,6 +259,10 @@
|
|
|
document.addEventListener( 'touchmove', onDocumentTouchMove, false );
|
|
|
document.addEventListener( 'keypress', onDocumentKeyPress, false );
|
|
|
document.addEventListener( 'keydown', onDocumentKeyDown, false );
|
|
|
+ renderer.domElement.addEventListener( 'drop', onDrop, false );
|
|
|
+ renderer.domElement.addEventListener("dragover", function (evt) {
|
|
|
+ evt.preventDefault();
|
|
|
+ }, false);
|
|
|
|
|
|
document.getElementById( "color" ).addEventListener( 'click', function() {
|
|
|
|
|
@@ -277,32 +275,16 @@
|
|
|
|
|
|
document.getElementById( "font" ).addEventListener( 'click', function() {
|
|
|
|
|
|
- if ( font == "helvetiker" ) {
|
|
|
-
|
|
|
- font = "optimer";
|
|
|
-
|
|
|
- } else if ( font == "optimer" ) {
|
|
|
-
|
|
|
- font = "gentilis";
|
|
|
-
|
|
|
- } else if ( font == "gentilis" ) {
|
|
|
-
|
|
|
- font = "droid sans";
|
|
|
-
|
|
|
- } else if ( font == "droid sans" ) {
|
|
|
-
|
|
|
- font = "droid serif";
|
|
|
-
|
|
|
- } else {
|
|
|
+ fontIndex++
|
|
|
+ if ( fontIndex >= reverseFontMap.length ) { fontIndex = 0;}
|
|
|
|
|
|
- font = "helvetiker";
|
|
|
-
|
|
|
- }
|
|
|
+ font = reverseFontMap[fontIndex];
|
|
|
|
|
|
refreshText();
|
|
|
|
|
|
}, false );
|
|
|
|
|
|
+
|
|
|
document.getElementById( "weight" ).addEventListener( 'click', function() {
|
|
|
|
|
|
if ( weight == "bold" ) {
|
|
@@ -398,6 +380,36 @@
|
|
|
|
|
|
}
|
|
|
|
|
|
+ function onDrop( e ) {
|
|
|
+ e.preventDefault();
|
|
|
+
|
|
|
+ var file = e.dataTransfer.files[0],
|
|
|
+ reader = new FileReader();
|
|
|
+
|
|
|
+ reader.onload = function (event) {
|
|
|
+ console.log(event.target);
|
|
|
+ eval(event.target.result);
|
|
|
+
|
|
|
+ var index = 0;
|
|
|
+ for (f in THREE.FontUtils.faces) {
|
|
|
+ if (!fontMap[f]){
|
|
|
+
|
|
|
+ fontMap[f] = reverseFontMap.length;
|
|
|
+ reverseFontMap[reverseFontMap.length] = f;
|
|
|
+ font = f;
|
|
|
+
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ refreshText();
|
|
|
+ };
|
|
|
+
|
|
|
+ console.log(file);
|
|
|
+ reader.readAsText(file);
|
|
|
+
|
|
|
+ return false;
|
|
|
+ };
|
|
|
+
|
|
|
function onDocumentKeyDown( event ) {
|
|
|
|
|
|
if ( firstLetter ) {
|