Created
November 4, 2015 19:06
-
-
Save julescarbon/8f2ef6e1296c67e52d43 to your computer and use it in GitHub Desktop.
rhizome-logo.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
return { | |
init: q, | |
render: m, | |
openPresentation: p, | |
restoreOriginal: k, | |
getCompositionCanvas: g, | |
getLiquifyCanvas: h, | |
getLiquifyMaskCanvas: i, | |
getImageSaverCanvas: j, | |
setAspectRatio: c, | |
setResolution: b, | |
setMargin: d, | |
setCurrentContainer: e, | |
addRenderTarget: r, | |
removeRenderTarget: s, | |
clearRenderTargets: t, | |
getRenderTargets: u, | |
processAvatar: l | |
} | |
}; | |
RhizomeLogo.Assets = { | |
SVG: { | |
r: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjE2MHB4IiBoZWlnaHQ9IjE3MnB4IiB2aWV3Qm94PSIwIDAgMTYwIDE3MiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpza2V0Y2g9Imh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaC9ucyI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDMuMy4yICgxMjA0MykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+U2hhcGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4KICAgICAgICA8ZyBpZD0ibG9nbyIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIC0zLjAwMDAwMCkiIGZpbGw9IiMwMDAwMDAiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTczLjE1MywzLjE0IEMxMjMuNDk1LDMuMTQgMTQzLjYzMSwyMS44MzkgMTQzLjYzMSw0NC44NSBDMTQzLjYzMSw3NC4wOTcgMTE4LjcsOTEuMTE3IDkzLjUzLDk1LjQzMiBMMTEzLjY2OCwxMjYuODM2IEMxMzMuNTY0LDE1Ny45OTggMTQ0LjExMSwxNjcuMTA3IDE1OS45MzIsMTcxLjQyMiBDMTU0LjQxOSwxNzMuMzQgMTQ4LjkwNiwxNzQuMjk5IDE0My4xNTIsMTc0LjI5OSBDMTI1LjQxNCwxNzQuMjk5IDEwNi4yMzYsMTY0LjcxMSA4OC40OTYsMTQwLjAyIEw1Ny4zMzMsOTYuNjMxIEw1MC4xNDIsOTYuNjMxIEw1MC4xNDIsMTU0LjE2MiBMNjkuNTU5LDE3MS40MjIgTDAuNTE5LDE3MS40MjIgTDE5LjkzNiwxNTQuMTYyIEwxOS45MzYsMjAuNCBMMC41MTksMy4xNCBMNzMuMTUzLDMuMTQgTDczLjE1MywzLjE0IFogTTYwLjIwOSwxMy4yMDkgTDUwLjE0MSwxMy4yMDkgTDUwLjE0MSw4Ni41NjIgTDY3LjQwMSw4Ni41NjIgQzk0LjczLDg2LjU2MiAxMTIuNzA5LDcyLjg5NyAxMTIuNzA5LDUyLjA0MyBDMTEyLjcwOCwzMi42MjYgOTYuMTY3LDEzLjIwOSA2MC4yMDksMTMuMjA5IEw2MC4yMDksMTMuMjA5IFoiIGlkPSJTaGFwZSI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=", | |
h: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjE3NHB4IiBoZWlnaHQ9IjE2OXB4IiB2aWV3Qm94PSIwIDAgMTc0IDE2OSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpza2V0Y2g9Imh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaC9ucyI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDMuMy4yICgxMjA0MykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+U2hhcGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4KICAgICAgICA8ZyBpZD0ibG9nbyIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE1OC4wMDAwMDAsIC0zLjAwMDAwMCkiIGZpbGw9IiMwMDAwMDAiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMzMS4xMTcsMTcxLjQyMiBMMjYyLjA3OCwxNzEuNDIyIEwyODEuNDk1LDE1NC4xNjIgTDI4MS40OTUsOTIuMzE0IEwyMDguMTQsOTIuMzE0IEwyMDguMTQsMTU0LjE2MiBMMjI3LjU1NywxNzEuNDIyIEwxNTguNTIsMTcxLjQyMiBMMTc3LjkzNywxNTQuMTYyIEwxNzcuOTM3LDIwLjQgTDE1OC41MiwzLjE0IEwyMjcuNTU5LDMuMTQgTDIwOC4xNDIsMjAuNCBMMjA4LjE0Miw3OS4zNyBMMjgxLjQ5Nyw3OS4zNyBMMjgxLjQ5NywyMC40IEwyNjIuMDgsMy4xNCBMMzMwLjg3OCwzLjE0IEwzMTEuNzAyLDIwLjQgTDMxMS43MDIsMTU0LjE2MiBMMzMxLjExNywxNzEuNDIyIEwzMzEuMTE3LDE3MS40MjIgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==", | |
i: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjcwcHgiIGhlaWdodD0iMTY5cHgiIHZpZXdCb3g9IjAgMCA3MCAxNjkiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzLjMuMiAoMTIwNDMpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPlNoYXBlPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc2tldGNoOnR5cGU9Ik1TUGFnZSI+CiAgICAgICAgPGcgaWQ9ImxvZ28iIHNrZXRjaDp0eXBlPSJNU0xheWVyR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNDAuMDAwMDAwLCAtMy4wMDAwMDApIiBmaWxsPSIjMDAwMDAwIj4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zOTAuMzExLDE1NC4xNjIgTDQwOS43MjgsMTcxLjQyMiBMMzQwLjY4OSwxNzEuNDIyIEwzNjAuMTA2LDE1NC4xNjIgTDM2MC4xMDYsMjAuNCBMMzQwLjY4OSwzLjE0IEw0MDkuNzI4LDMuMTQgTDM5MC4zMTEsMjAuNCBMMzkwLjMxMSwxNTQuMTYyIEwzOTAuMzExLDE1NC4xNjIgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==", | |
z: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEzOHB4IiBoZWlnaHQ9IjE2OXB4IiB2aWV3Qm94PSIwIDAgMTM4IDE2OSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpza2V0Y2g9Imh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaC9ucyI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDMuMy4yICgxMjA0MykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+U2hhcGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4KICAgICAgICA8ZyBpZD0ibG9nbyIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQxOS4wMDAwMDAsIC0zLjAwMDAwMCkiIGZpbGw9IiMwMDAwMDAiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQzMC4zMzUsMy4xNCBMNTU2LjkwNSwzLjE0IEw0NjIuOTM2LDE1OC40NzggTDUxNC4yMzUsMTU4LjQ3OCBMNTQ4LjI3NiwxMjAuMTIzIEw1NDguMjc2LDE3MS40MjIgTDQxOS4zMDYsMTcxLjQyMiBMNTE0LjQ3NCwxNi4wODUgTDQ2NC4zNzQsMTYuMDg1IEw0MzAuMzMzLDU0LjQ0IEw0MzAuMzMzLDMuMTQgTDQzMC4zMzUsMy4xNCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+", | |
o: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjE2OHB4IiBoZWlnaHQ9IjE3NXB4IiB2aWV3Qm94PSIwIDAgMTY4IDE3NSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpza2V0Y2g9Imh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaC9ucyI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDMuMy4yICgxMjA0MykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+U2hhcGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4KICAgICAgICA8ZyBpZD0ibG9nbyIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTU2MC4wMDAwMDAsIDAuMDAwMDAwKSIgZmlsbD0iIzAwMDAwMCI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTYwLjI3Niw4Ny4yOCBDNTYwLjI3Niw0NC44NSA1ODkuNTIxLDAuMjYzIDY0My42OTksMC4yNjMgQzY5Ny44NzUsMC4yNjMgNzI3LjExOSw0NC44NSA3MjcuMTE5LDg3LjI4IEM3MjcuMTE5LDEyOS43MTEgNjk3LjYzNSwxNzQuMjk5IDY0My42OTksMTc0LjI5OSBDNTg5Ljc2LDE3NC4yOTkgNTYwLjI3NiwxMjkuNzExIDU2MC4yNzYsODcuMjggTDU2MC4yNzYsODcuMjggWiBNNTk2Ljk1Myw3Ny45MzIgTDU5Ni45NTMsOTYuNjMxIEM1OTYuOTUzLDEyNi44MzYgNjA3Ljc0LDE2NC4yMzEgNjQzLjY5OSwxNjQuMjMxIEM2NzkuNjU0LDE2NC4yMzEgNjkwLjQ0MywxMjYuODM2IDY5MC40NDMsOTYuNjMxIEw2OTAuNDQzLDc3LjkzMiBDNjkwLjQ0Myw0Ny45NjggNjc5LjY1NCwxMC4zMzEgNjQzLjY5OSwxMC4zMzEgQzYwNy43NCwxMC4zMzIgNTk2Ljk1Myw0Ny45NjggNTk2Ljk1Myw3Ny45MzIgTDU5Ni45NTMsNzcuOTMyIFoiIGlkPSJTaGFwZSI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=", | |
m: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIyNnB4IiBoZWlnaHQ9IjE3M3B4IiB2aWV3Qm94PSIwIDAgMjI2IDE3MyIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpza2V0Y2g9Imh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaC9ucyI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDMuMy4yICgxMjA0MykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+U2hhcGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4KICAgICAgICA8ZyBpZD0ibG9nbyIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTcyNC4wMDAwMDAsIC0zLjAwMDAwMCkiIGZpbGw9IiMwMDAwMDAiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTc0OS40MzQsMTQ5LjEyOCBMNzQ5LjQzNCwyMC40IEw3MzAuMDE2LDMuMTQgTDc4OC4yNjYsMy4xNCBMODQzLjE2MiwxMjAuNjAzIEw4OTcuNTc4LDMuMTQgTDk0OS41OTgsMy4xNCBMOTMwLjE4LDIwLjQgTDkzMC4xOCwxNTQuMTYyIEw5NDkuNTk4LDE3MS40MjIgTDg4MC41NTksMTcxLjQyMiBMODk5Ljk3NywxNTQuMTYyIEw4OTkuOTc3LDMyLjM4NSBMODM0LjI5MywxNzUuNzM2IEw3NjguMTMxLDMxLjQyNiBMNzY4LjEzMSwxNDkuMTI4IEw3OTMuMDYxLDE3MS40MjIgTDcyNC41LDE3MS40MjIgTDc0OS40MzQsMTQ5LjEyOCBMNzQ5LjQzNCwxNDkuMTI4IFoiIGlkPSJTaGFwZSI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=", | |
e: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEzOXB4IiBoZWlnaHQ9IjE2OXB4IiB2aWV3Qm94PSIwIDAgMTM5IDE2OSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpza2V0Y2g9Imh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaC9ucyI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDMuMy4yICgxMjA0MykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+U2hhcGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4KICAgICAgICA8ZyBpZD0ibG9nbyIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTk1OS4wMDAwMDAsIC0zLjAwMDAwMCkiIGZpbGw9IiMwMDAwMDAiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwOTcuNDgsMTcxLjQyMiBMOTU5LjE2MiwxNzEuNDIyIEw5NzguNTgsMTU0LjE2MiBMOTc4LjU4LDIwLjQgTDk1OS4xNjIsMy4xNCBMMTA5Ny40OCwzLjE0IEwxMDk3LjQ4LDU0LjQ0IEwxMDYyLjAwMSwxNC42NDYgTDEwMDguNzg0LDE0LjY0NiBMMTAwOC43ODQsNzUuNzc1IEwxMDM4Ljk4Nyw3NS43NzUgTDEwNjAuMDg1LDQ3LjcyOCBMMTA2MC4wODUsMTE5LjY0NSBMMTAzOC45ODcsOTEuNTk3IEwxMDA4Ljc4NCw5MS41OTcgTDEwMDguNzg0LDE1OS45MTYgTDEwNjIuMDAxLDE1OS45MTYgTDEwOTcuNDgsMTIwLjEyMyBMMTA5Ny40OCwxNzEuNDIyIEwxMDk3LjQ4LDE3MS40MjIgWiIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==" | |
}, | |
IMG: {} | |
}, RhizomeLogo.Letters = function(a, b, c) { | |
this.container = new PIXI.Container; | |
for (var d = {}, e = ["r", "h", "i", "z", "o", "m", "e"], f = { | |
r: 0, | |
h: 0, | |
i: 7, | |
z: 0, | |
o: 0, | |
m: 0, | |
e: 7 | |
}, g = 0, h = 0, i = (a - 2 * b) / e.length, j = 0, k = $rzm.map(e, function(a) { | |
return c[a] | |
}), l = 0; l < k.length; l++) { | |
var m = k[l]; | |
j += m.width | |
} | |
j /= e.length; | |
for (var l = 0; l < e.length; l++) { | |
var n, o = e[l], | |
m = k[l], | |
p = m.width, | |
q = Math.round(p / j * i), | |
r = Math.round(q / (m.naturalWidth / m.naturalHeight)), | |
s = f[o], | |
t = Math.round(s / j * i); | |
if (d[o]) n = d[o]; | |
else { | |
var u = $rzm("<canvas>").get(0), | |
v = new PIXI.BaseTexture(u), | |
w = new PIXI.Texture(v); | |
n = new PIXI.Sprite(w) | |
} | |
var u = n.texture.baseTexture.source; | |
u.width = q, u.height = r; | |
var x = u.getContext("2d"); | |
x.drawImage(m, 0, 0, q, r), n.position.set(b + g + t, b + h), this.container.addChild(n), n.texture.width = q, n.texture.update(), g += n.texture.width + 2 * t | |
} | |
}, RhizomeLogo.Bitmap = function(a, b, c) { | |
this._margin = a, this._width = b, this._height = c, this.container = new PIXI.Container, this._sprite = null, this._$input = $rzm("<input>").prop({ | |
type: "file", | |
accept: "image/*" | |
}).change($rzm.proxy(this.onFileChanged, this)), this.onFileChangedCallback = null | |
}, RhizomeLogo.Bitmap.prototype.processAvatar = function(a, b, c, d) { | |
var e = d / 100, | |
f = Math.round(4 * e) + 1, | |
g = ["json/avatar/1/" + f + ".json", "json/avatar/2/" + f + ".json", "json/avatar/3/" + f + ".json", "json/avatar/4/" + f + ".json", "json/avatar/5/" + f + ".json"]; | |
this.process(g, a, b, c) | |
}, RhizomeLogo.Bitmap.prototype.processImage = function(a, b, c, d) { | |
var e = ["json/image/1.json", "json/image/2.json", "json/image/3.json", "json/image/4.json", "json/image/5.json"]; | |
this.process(e, a, b, c, d) | |
}, RhizomeLogo.Bitmap.prototype.process = function(a, b, c, d, e) { | |
var f = [], | |
g = e || 0, | |
h = $rzm.proxy(function(b) { | |
this.updateImage(b, $rzm.proxy(function() { | |
d.uploadFromServer(a[g], 100) | |
}, this)) | |
}, this); | |
d.setWorkerCompleteCallback($rzm.proxy(function() { | |
var d = $rzm("<canvas>").get(0); | |
RhizomeLogo.addRenderTarget(d, !0), RhizomeLogo.render(!0), RhizomeLogo.clearRenderTargets(); | |
var i = $rzm("<img>").prop("src", d.toDataURL()).get(0); | |
f.push(i), g++, g === a.length || e ? c(f) : h(b) | |
}, this)), h(b) | |
}, RhizomeLogo.Bitmap.prototype["import"] = function() { | |
this._$input.click() | |
}, RhizomeLogo.Bitmap.prototype.updateImage = function(a, b) { | |
this._sprite && (this.container.removeChild(this._sprite), this._sprite.destroy(!0, !0)), this._sprite = PIXI.Sprite.fromImage(a), this.container.addChild(this._sprite), this._sprite.texture.baseTexture.on("loaded", $rzm.proxy(function() { | |
var a = this._sprite.width, | |
c = this._sprite.width / this._sprite.height, | |
d = (this._width || a) + 2 * this._margin, | |
e = (this._height || a / c) + 2 * this._margin; | |
this._sprite.position.x = (d - this._sprite.width) / 2, this._sprite.position.y = (e - this._sprite.height) / 2, RhizomeLogo.setMargin(this._margin), RhizomeLogo.setCurrentContainer(this.container), RhizomeLogo.setResolution(d), RhizomeLogo.setAspectRatio(c), b && b.call() | |
}, this)) | |
}, RhizomeLogo.Bitmap.prototype.onFileChanged = function(a) { | |
var b = a.target.files[0]; | |
if (b) { | |
var c = new FileReader; | |
c.onload = $rzm.proxy(function() { | |
this.updateImage(c.result), this.onFileChangedCallback && this.onFileChangedCallback() | |
}, this), c.readAsDataURL(b) | |
} | |
}, RhizomeLogo.Liquify = function(a, b, c) { | |
function d(a, b) { | |
z = a, A = z.getContext("2d"), f(z.width, z.height), texture = b, N = i() | |
} | |
function e(a) { | |
a = a || {}, D = Math.round(a.brush) || 40, E = a.smudge || 2, F = a.contrast || .9 | |
} | |
function f() { | |
B = z.width, C = z.height | |
} | |
function g() { | |
return z | |
} | |
function h() { | |
return O | |
} | |
function i() { | |
var a = A.getImageData(0, 0, B, C); | |
return O = a.data | |
} | |
function j() { | |
var a = document.createElement("canvas"); | |
a.width = B, a.height = C; | |
var b = a.getContext("2d"); | |
return b.drawImage(z, 0, 0), a | |
} | |
function k(a) { | |
a && (texture.clear(), A.drawImage(a, 0, 0), texture.baseTexture.update(), q()) | |
} | |
function l(a, b, c) { | |
G = a, H = b, I = c | |
} | |
function m(a) { | |
var b = a.clientX, | |
c = a.clientY, | |
d = z.getBoundingClientRect(), | |
e = d.width / B, | |
f = parseInt((b - d.left) / e), | |
g = parseInt((c - d.top) / e); | |
v(J, K, f, g, !0), J = f, K = g; | |
var h = f / B, | |
i = g / C; | |
return { | |
percentX: h, | |
percentY: i | |
} | |
} | |
function n(a, b, c, d, e) { | |
var f = B, | |
g = C, | |
h = parseInt(f * c), | |
i = parseInt(g * d), | |
j = parseInt(f * a), | |
k = parseInt(g * b); | |
return v(j, k, h, i, e), { | |
x: h, | |
y: i | |
} | |
} | |
function o(a, b, c) { | |
var d = B, | |
e = C, | |
f = parseInt(d * a), | |
g = parseInt(e * b); | |
return liquify(f, g, c), { | |
x: f, | |
y: g | |
} | |
} | |
function p(a, b) { | |
return ~~((1 - F) * a + F * b) | |
} | |
function q() { | |
currentCanvasData = A.getImageData(0, 0, B, C), N = currentCanvasData.data | |
} | |
function r(a, b, c, d, e, f, g) { | |
if (!g) return !1; | |
for (var h = { | |
left: 0, | |
top: 0, | |
right: e, | |
bottom: f, | |
width: e, | |
height: f | |
}, i = { | |
x: a, | |
y: b, | |
width: c, | |
height: d | |
}, j = new Uint8ClampedArray(c * d * 4), k = i.y * (4 * h.width) + 4 * i.x, l = 0, m = 0; m < i.height; m++) { | |
for (var n = 0; n < i.width; n++) { | |
var o = g[k], | |
p = g[k + 1], | |
q = g[k + 2], | |
r = g[k + 3]; | |
j[l] = o, j[l + 1] = p, j[l + 2] = q, j[l + 3] = r, l += 4, k += 4 | |
} | |
k += 4 * h.width - 4 * i.width | |
} | |
return { | |
width: c, | |
height: d, | |
data: j | |
} | |
} | |
function s(a, b, c, d, e, f, g, h, i) { | |
if (b) { | |
for (var j = { | |
left: 0, | |
top: 0, | |
right: g, | |
bottom: h, | |
width: g, | |
height: h | |
}, k = { | |
x: c, | |
y: d, | |
width: f, | |
height: e | |
}, l = k.y * (4 * j.width) + 4 * k.x, m = 0, n = 0; n < k.height; n++) { | |
for (var o = 0; o < k.width; o++) { | |
var p = a[m], | |
q = a[m + 1], | |
r = a[m + 2], | |
s = a[m + 3]; | |
b[l] = p, b[l + 1] = q, b[l + 2] = r, b[l + 3] = s, m += 4, l += 4 | |
} | |
l += 4 * j.width - 4 * k.width | |
} | |
return i(b) | |
} | |
} | |
function t(a) { | |
var b = z.getContext("2d").createImageData(B, C); | |
b.data.set(a), A.putImageData(b, 0, 0), q() | |
} | |
function u(a, b, c, d, e, f) { | |
var g = a - c, | |
h = b - d; | |
if (a -= parseInt(D / 2), b -= parseInt(D / 2), !(0 > a || 0 > b || a + D >= B || b + D >= C)) { | |
var i = r(a, b, D, D, B, C, e), | |
j = i.width, | |
k = i.height, | |
l = i.width / 2, | |
m = i.height / 2; | |
g = g > 0 ? ~~Math.min(l, g) : ~~Math.max(-l, g), h = h > 0 ? ~~Math.min(m, h) : ~~Math.max(-m, h); | |
for (var n = i.data, o = new Uint8ClampedArray(j * k * 4), q = 0, s = 0; k > s; s++) | |
for (var t = 0; j > t; t++) { | |
var u = l - t, | |
v = m - s, | |
w = Math.sqrt(u * u + v * v), | |
x = (j - w) / j, | |
y = (k - w) / k, | |
z = w > E / 2 ? -g * x * x * x : -g, | |
A = w > E / 2 ? -h * y * y * y : -h, | |
F = t + z, | |
G = s + A; | |
(0 > F || F > j) && (F = t), (0 > G || G > k) && (G = s); | |
var H = 4 * ~~F + ~~G * j * 4; | |
void 0 === n[H] && (H = q), o[q] = p(n[q], n[H]), o[q + 1] = p(n[q + 1], n[H + 1]), o[q + 2] = p(n[q + 2], n[H + 2]), o[q + 3] = p(n[q + 3], n[H + 3]), q += 4 | |
} | |
return f(o, j, k, a, b) | |
} | |
} | |
function v(a, b, c, d, e) { | |
u(c, d, a, b, N, function(a, b, c, d, f) { | |
s(a, N, d, f, b, c, B, C, function(a) { | |
N = a, e && t(N) | |
}) | |
}) | |
} | |
function w(a) { | |
L = !0, M = performance.now(), G && G(D, E, F) | |
} | |
function x(a) { | |
if (L || a.shiftKey) { | |
L || w(a); | |
var b = performance.now(); | |
if (!(1e3 / 30 > b - M)) { | |
M = b; | |
var c = m(a); | |
H && H(c) | |
} | |
} | |
} | |
function y(a) { | |
L = !1, I && I() | |
} | |
var z, A, B, C, D, E, F, G, H, I, J = 0, | |
K = 0, | |
L = !1, | |
M = 0, | |
N = null, | |
O = null; | |
e(c), d(a, b), $rzm(z).on("mousedown", w), $rzm(z).on("mousemove", x), $rzm(z).on("mouseup", y), $rzm(document).keyup(function(a) { | |
L && !a.shiftKey && y(a) | |
}), this.updateSize = f, this.updateCachedCanvas = q, this.updateSource = k, this.cacheCanvas = j, this.getCanvas = g, this.getOriginalCanvasRawData = h, this.updateOriginalCanvasRawData = i, this.applyRawData = t, this.config = e, this.addCallback = l, this.updatePercentageCoords = o, this.batchUpdatePercentageCoords = n | |
}, RhizomeLogo.LiquifyMask = function(a) { | |
function b(a, b) { | |
n.width = a, n.height = b | |
} | |
function c(a) { | |
r = Math.round(a) || 40 | |
} | |
function d() { | |
return n | |
} | |
function e() { | |
var a = document.createElement("canvas"); | |
a.width = n.width, a.height = n.height; | |
var b = a.getContext("2d"); | |
return b.drawImage(n, 0, 0), a | |
} | |
function f(a, b) { | |
return Math.sqrt(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2)) | |
} | |
function g(a, b) { | |
return Math.atan2(b.x - a.x, b.y - a.y) | |
} | |
function h(a, b, c) { | |
q || (q = { | |
x: a, | |
y: b | |
}); | |
for (var d = { | |
x: a, | |
y: b | |
}, e = f(q, d), h = g(q, d), i = r / 2, j = 0; e > j; j += 5) { | |
a = q.x + Math.sin(h) * j, b = q.y + Math.cos(h) * j; | |
var k = o.createRadialGradient(a, b, 0, a, b, i); | |
k.addColorStop(0, "rgba(255,255,255,1)"), k.addColorStop(1, "rgba(255,255,255,0)"), o.fillStyle = k, o.fillRect(a - i, b - i, r, r) | |
} | |
q = c ? null : d | |
} | |
function i() { | |
q = null, p = !1, o.fillStyle = "black", o.fillRect(0, 0, n.width, n.height) | |
} | |
function j(a) { | |
a && (i(), o.drawImage(a, 0, 0)) | |
} | |
function k(a) { | |
p = !0, q = null | |
} | |
function l(a) { | |
(p || a.shiftKey) && (p = !0, h(a.offsetX, a.offsetY)) | |
} | |
function m(a) { | |
p = !1, h(a.offsetX, a.offsetY, !0) | |
} | |
var n = $rzm("<canvas>").get(0), | |
o = (RhizomeLogo.getCompositionCanvas(), n.getContext("2d")); | |
o.lineJoin = o.lineCap = "round"; | |
var p, q, a = a || n, | |
r = 40; | |
i(), $rzm(a).on("mousedown", k), $rzm(a).on("mousemove", l), $rzm(a).on("mouseup", m), $rzm(document).keyup(function(a) { | |
p && !a.shiftKey && m(a) | |
}), this.resize = b, this.setSize = c, this.getCanvas = d, this.cacheCanvas = e, this.reset = i, this.updateSource = j, this.draw = h | |
}, ColorFilter.prototype = Object.create(PIXI.AbstractFilter.prototype), ColorFilter.prototype.constructor = ColorFilter, ColorFilter.prototype.applyFilter = function(a, b, c) { | |
var d = a.filterManager; | |
d.calculateMappedMatrix(b.frame, this.maskSprite, this.maskMatrix), this.uniforms.otherMatrix.value = this.maskMatrix.toArray(!0); | |
var e = this.getShader(a); | |
d.applyFilter(e, b, c) | |
}, RippleFilter.prototype = Object.create(PIXI.AbstractFilter.prototype), RippleFilter.prototype.constructor = RippleFilter, RippleFilter.prototype.setCustomTime = function(a) { | |
this.customTime = a | |
}, RippleFilter.prototype.applyFilter = function(a, b, c) { | |
var d = a.filterManager; | |
d.calculateMappedMatrix(b.frame, this.maskSprite, this.maskMatrix), this.uniforms.otherMatrix.value = this.maskMatrix.toArray(!0), this.uniforms.time.value = ($rzm.isNumeric(this.customTime) ? this.customTime : $rzm.now() - this.startTime) / 1e3, this.uniforms.aspectRatio.value = a.width / a.height; | |
var e = this.getShader(a); | |
d.applyFilter(e, b, c) | |
}, RhizomeLogo.Timeline = function(a, b, c, d) { | |
function e(c, d, e) { | |
return D.push(a.cacheCanvas()), D.length > C && D.shift(), E.push(b.cacheCanvas()), E.length > C && E.shift(), B = { | |
brush: c, | |
smudge: d, | |
contrast: e, | |
coords: [] | |
} | |
} | |
function f(a) { | |
a.percentX = parseFloat(a.percentX.toFixed(3)), a.percentY = parseFloat(a.percentY.toFixed(3)), B.coords.push(a) | |
} | |
function g() { | |
return 0 === B.coords.length ? (D.pop(), void E.pop()) : void A.push(B) | |
} | |
function h() { | |
A.pop(), B = null, a.updateSource(D.pop()), b.updateSource(E.pop()) | |
} | |
function j() { | |
F._i = 0, F._c = 0, F._l = 0, F._cl = 0, F.numCoords = 0, F.drawnCoords = 0, F.strokeScale = 0, F.progress = 0 | |
} | |
function k(b, c) { | |
if (0 !== A.length) { | |
var d = F.progress, | |
e = $rzm.isNumeric(b) ? b : 100, | |
f = H.progressRenderWithRAF, | |
g = d > e || c || !f; | |
for (g && j(), F.progress = e, F._l = A.length, F.numCoords = 0, i = 0; i < F._l; i++) { | |
var h = A[i], | |
k = h.coords; | |
F.numCoords += k.length | |
} | |
var l = a.getCanvas(), | |
m = l.width; | |
switch (strokeScale = x ? m / x : 1, f) { | |
case !0: | |
g && RhizomeLogo.restoreOriginal(), o(); | |
break; | |
case !1: | |
cancelAnimationFrame(z), n() | |
} | |
} | |
} | |
function l() { | |
return d | |
} | |
function m(a) { | |
d = a | |
} | |
function n() { | |
$rzm(".loader").addClass("show"); | |
var c = { | |
props: F, | |
strokes: A, | |
strokeScale: strokeScale, | |
canvasWidth: a.getCanvas().width, | |
canvasHeight: a.getCanvas().height, | |
originalCanvasRawData: a.getOriginalCanvasRawData(), | |
maskStrokes: [] | |
}, | |
e = new Parallel(c); | |
e.spawn(function(a) { | |
var b, c, d, e = a.props, | |
f = a.strokes, | |
g = a.strokeScale, | |
h = a.canvasWidth, | |
i = a.canvasHeight, | |
j = a.originalCanvasRawData, | |
k = a.maskStrokes, | |
l = function(a, b) { | |
return ~~((1 - d) * a + d * b) | |
}, | |
m = function(a, b, c, d, e, f, g) { | |
for (var h = { | |
left: 0, | |
top: 0, | |
right: e, | |
bottom: f, | |
width: e, | |
height: f | |
}, i = { | |
x: a, | |
y: b, | |
width: c, | |
height: d | |
}, j = new Uint8ClampedArray(c * d * 4), k = i.y * (4 * h.width) + 4 * i.x, l = 0, m = 0; m < i.height; m++) { | |
for (var n = 0; n < i.width; n++) { | |
var o = g[k], | |
p = g[k + 1], | |
q = g[k + 2], | |
r = g[k + 3]; | |
j[l] = o, j[l + 1] = p, j[l + 2] = q, j[l + 3] = r, l += 4, k += 4 | |
} | |
k += 4 * h.width - 4 * i.width | |
} | |
return { | |
width: c, | |
height: d, | |
data: j | |
} | |
}, | |
n = function(a, b, c, d, e, f, g, h, i) { | |
for (var j = { | |
left: 0, | |
top: 0, | |
right: g, | |
bottom: h, | |
width: g, | |
height: h | |
}, k = { | |
x: c, | |
y: d, | |
width: f, | |
height: e | |
}, l = k.y * (4 * j.width) + 4 * k.x, m = 0, n = 0; n < k.height; n++) { | |
for (var o = 0; o < k.width; o++) { | |
var p = a[m], | |
q = a[m + 1], | |
r = a[m + 2], | |
s = a[m + 3]; | |
b[l] = p, b[l + 1] = q, b[l + 2] = r, b[l + 3] = s, m += 4, l += 4 | |
} | |
l += 4 * j.width - 4 * k.width | |
} | |
return i(b) | |
}, | |
o = function(a, d, e, f, g, j) { | |
var k = a - e, | |
n = d - f; | |
if (a -= parseInt(b / 2), d -= parseInt(b / 2), !(0 > a || 0 > d || a + b >= h || d + b >= i)) { | |
var o = m(a, d, b, b, h, i, g), | |
p = o.width, | |
q = o.height, | |
r = o.width / 2, | |
s = o.height / 2; | |
k = k > 0 ? ~~Math.min(r, k) : ~~Math.max(-r, k), n = n > 0 ? ~~Math.min(s, n) : ~~Math.max(-s, n); | |
for (var t = o.data, u = new Uint8ClampedArray(p * q * 4), v = 0, w = 0; q > w; w++) | |
for (var x = 0; p > x; x++) { | |
var y = r - x, | |
z = s - w, | |
A = Math.sqrt(y * y + z * z), | |
B = (p - A) / p, | |
C = (q - A) / q, | |
D = A > c / 2 ? -k * B * B * B : -k, | |
E = A > c / 2 ? -n * C * C * C : -n, | |
F = x + D, | |
G = w + E; | |
(0 > F || F > p) && (F = x), (0 > G || G > q) && (G = w); | |
var H = 4 * ~~F + ~~G * p * 4; | |
void 0 === t[H] && (H = v), u[v] = l(t[v], t[H]), u[v + 1] = l(t[v + 1], t[H + 1]), u[v + 2] = l(t[v + 2], t[H + 2]), u[v + 3] = l(t[v + 3], t[H + 3]), v += 4 | |
} | |
return j(u, p, q, a, d) | |
} | |
}, | |
p = function(a, b, c, d) { | |
o(c, d, a, b, j, function(a, b, c, d, e) { | |
n(a, j, d, e, b, c, h, i, function(a) { | |
j = a | |
}) | |
}) | |
}, | |
q = function(a, b, c, d) { | |
var e = h, | |
f = i, | |
g = parseInt(e * c), | |
j = parseInt(f * d), | |
k = parseInt(e * a), | |
l = parseInt(f * b); | |
return p(k, l, g, j), { | |
x: g, | |
y: j | |
} | |
}; | |
for (e._i = 0; e._i < e._l; e._i++) { | |
var r = f[e._i]; | |
b = Math.round(r.brush * g), c = r.smudge * g, d = r.contrast; | |
for (var s = r.coords, t = s.length, u = 0; t > u; u++) { | |
if (e.drawnCoords++, e.drawnCoords / e.numCoords * 100 > e.progress) return a; | |
var v = s[u], | |
w = lastPercentX = v.percentX, | |
x = lastPercentY = v.percentY; | |
u && (lastPercentX = s[u - 1].percentX, lastPercentY = s[u - 1].percentY); | |
var y = u === t - 1, | |
z = q(lastPercentX, lastPercentY, w, x); | |
k.push({ | |
pos: z, | |
isLast: y, | |
strokeSize: b | |
}) | |
} | |
} | |
return a | |
}).then(function(c) { | |
$rzm(".loader").removeClass("show"), RhizomeLogo.restoreOriginal(), F = c.props, a.applyRawData(c.originalCanvasRawData); | |
var e, f = c.maskStrokes, | |
g = f.length; | |
for (e = 0; g > e; e++) { | |
var h = f[e]; | |
b.setSize(h.strokeSize), b.draw(h.pos.x, h.pos.y, h.isLast) | |
} | |
d() | |
}) | |
} | |
function o() { | |
var c = A[F._i]; | |
F._coords = c.coords, F._cl = F._coords.length; | |
var d = Math.round(c.brush * strokeScale), | |
e = c.smudge * strokeScale; | |
a.config({ | |
brush: d, | |
smudge: e, | |
contrast: c.contrast | |
}); | |
var f = F._coords[F._c], | |
g = lastPercentX = f.percentX, | |
h = lastPercentY = f.percentY; | |
F._c && (lastPercentX = F._coords[F._c - 1].percentX, lastPercentY = F._coords[F._c - 1].percentY); | |
var i = F._c === F._cl - 1, | |
j = a.batchUpdatePercentageCoords(lastPercentX, lastPercentY, g, h, !0); | |
b.setSize(d), b.draw(j.x, j.y, i), F.drawnCoords++, F.drawnCoords / F.numCoords * 100 >= F.progress || (F._c++, F._c >= F._cl && (F._c = 0, F._i++, F._i >= A.length) || (z = requestAnimationFrame(o))) | |
} | |
function p() { | |
var b = function(a) { | |
return Math.round(a) | |
}, | |
d = { | |
width: a.getCanvas().width, | |
height: a.getCanvas().height, | |
strokes: A, | |
colors: [$rzm.map(c.uniforms.color1.value, b), $rzm.map(c.uniforms.color2.value, b), $rzm.map(c.uniforms.color3.value, b), $rzm.map(c.uniforms.color4.value, b), $rzm.map(c.uniforms.color5.value, b), $rzm.map(c.uniforms.color6.value, b), $rzm.map(c.uniforms.color7.value, b)] | |
}; | |
return d | |
} | |
function q(a, b) { | |
w(!1), A = a.strokes, x = a.width, y = a.height; | |
var d = a.colors; | |
c.uniforms.color1.value = d[0], c.uniforms.color2.value = d[1], c.uniforms.color3.value = d[2], c.uniforms.color4.value = d[3], c.uniforms.color5.value = d[4], c.uniforms.color6.value = d[5], c.uniforms.color7.value = d[6]; | |
var e = $rzm.isNumeric(b) ? b : 100; | |
k(e, !0) | |
} | |
function r(a) { | |
var b = a.target.files[0], | |
c = new FileReader; | |
c.onload = function(a) { | |
var b = a.target.result, | |
c = JSON.parse(b); | |
console.log(c), q(c) | |
}, c.readAsText(b) | |
} | |
function s() { | |
G.click() | |
} | |
function t(a, b) { | |
var c = a && "default" !== a ? a : "php/rhizome-for-client.json"; | |
$rzm.getJSON(c, function(a) { | |
q(a, b) | |
}) | |
} | |
function u() { | |
var a = JSON.stringify(p()), | |
b = new Blob([a], { | |
type: "application/json" | |
}), | |
c = URL.createObjectURL(b), | |
d = document.createElement("a"); | |
d.download = "rhizome-logo-" + (new Date).getTime() + ".json", d.href = c, d.click() | |
} | |
function v() { | |
var a = confirm("Do you want to download a backup of the sequencer on the server?"); | |
a && $rzm("<a>").prop({ | |
download: "rhizome-logo-backup-" + $rzm.now() + ".json", | |
href: "php/rhizome-for-client.json" | |
}).get(0).click(); | |
var b = confirm("Your sequence will overwrite the one on the server, proceed?"); | |
b && $rzm.post("php/save.php", { | |
json: JSON.stringify(p()) | |
}).done(function() { | |
alert("Successfully downloaded to server!") | |
}).fail(function() { | |
alert("Encountered an error while downloading to server.") | |
}) | |
} | |
function w(a) { | |
A = [], B = null, D = [], E = [], RhizomeLogo.restoreOriginal(), a !== !1 && k(0) | |
} | |
var x, y, z, A = [], | |
B = null, | |
C = 10, | |
D = [], | |
E = [], | |
F = { | |
_i: 0, | |
_c: 0, | |
_l: 0, | |
_cl: 0, | |
numCoords: 0, | |
drawnCoords: 0, | |
strokeScale: 0, | |
progress: 0 | |
}, | |
G = $rzm("<input>").prop({ | |
type: "file" | |
}), | |
H = this; | |
this.props = F, this.progressRenderWithRAF = window.isPresentation === !0, this.clearHistory = w, this.upload = s, this.uploadFromServer = t, this.download = u, this.downloadToServer = v, this.undoStroke = h, this.applyStrokes = k, this.setWorkerCompleteCallback = m, this.getWorkerCompleteCallback = l, G.change(r), a.addCallback(e, f, g) | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment