2014-05-04 13:32:02 +00:00
|
|
|
<!doctype html>
|
2018-06-13 02:35:03 +00:00
|
|
|
<html lang="en">
|
2014-05-04 13:32:02 +00:00
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
<title>Paint</title>
|
2017-05-30 03:05:05 +00:00
|
|
|
<link href="styles/normalize.css" rel="stylesheet" type="text/css">
|
2017-01-28 21:31:05 +00:00
|
|
|
<link href="styles/layout.css" rel="stylesheet" type="text/css">
|
|
|
|
<link href="styles/print.css" rel="stylesheet" type="text/css" media="print">
|
2014-05-04 13:32:02 +00:00
|
|
|
<link rel="icon" href="images/icons/16.png" sizes="16x16" type="image/png">
|
|
|
|
<link rel="icon" href="images/icons/32.png" sizes="32x32" type="image/png">
|
|
|
|
<link rel="icon" href="images/icons/48.png" sizes="48x48" type="image/png">
|
|
|
|
<link rel="icon" href="images/icons/128.png" sizes="128x128" type="image/png">
|
2018-06-13 02:35:03 +00:00
|
|
|
<link rel="icon" href="images/icons/windows.ico" sizes="16x16 32x32 48x48" type="image/icon">
|
|
|
|
<meta name="viewport" content="width=device-width, user-scalable=no">
|
2018-06-13 03:01:47 +00:00
|
|
|
<meta name="description" content="MS Paint recreated in JavaScript, with extra features" />
|
2018-06-13 02:35:03 +00:00
|
|
|
<meta property="og:title" content="JS Paint" />
|
2018-06-13 03:01:47 +00:00
|
|
|
<meta property="og:description" content="MS Paint recreated in JavaScript, with extra features" />
|
2018-06-13 02:35:03 +00:00
|
|
|
<meta property="og:type" content="website" />
|
|
|
|
<meta property="og:url" content="https://jspaint.app" />
|
|
|
|
<meta property="og:locale" content="en_US" />
|
2018-06-13 04:03:26 +00:00
|
|
|
<meta property="og:image" content="https://jspaint.app/images/meta/facebook-card.png" />
|
2018-06-13 02:59:53 +00:00
|
|
|
<meta name="twitter:title" content="JS Paint">
|
2018-06-13 03:01:47 +00:00
|
|
|
<meta name="twitter:description" content="MS Paint recreated in JavaScript, with extra features">
|
2018-06-13 04:03:26 +00:00
|
|
|
<meta name="twitter:image" content="https://jspaint.app/images/meta/twitter-card.png">
|
2018-06-13 02:59:53 +00:00
|
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
|
|
<meta name="twitter:site" content="@isaiahodhner">
|
|
|
|
<meta name="twitter:creator" content="@isaiahodhner">
|
2018-06-13 02:35:03 +00:00
|
|
|
|
2018-04-20 06:43:00 +00:00
|
|
|
<script type="text/javascript">
|
|
|
|
// Partial support for IE with a general polyfill
|
|
|
|
if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent)){
|
|
|
|
document.write('<script src="https://cdn.polyfill.io/v2/polyfill.min.js"><\/script>');
|
|
|
|
|
|
|
|
// document.write('<script src="https://cdnjs.cloudflare.com/ajax/libs/fetch/2.0.4/fetch.min.js"><\/script>');
|
|
|
|
// this polyfill doesn't support base64 data URIs, leading to a confusing error message when loading the document from localStorage
|
|
|
|
// we shouldn't really be storing images as data URIs tho (ideally)
|
|
|
|
|
|
|
|
document.write('<style>.help-window iframe { height: 100% } .horizontal { flex-shrink: 0; flex-grow: 1; flex-basis: 0; } </style>');
|
|
|
|
|
|
|
|
var last_error_message_time = +new Date;
|
|
|
|
var error_message_debounce_ms = 200;
|
|
|
|
window.onerror = function(){
|
|
|
|
var current_time = +new Date;
|
|
|
|
if(!last_error_message_time || (current_time > last_error_message_time + error_message_debounce_ms)){
|
|
|
|
alert("Internet Explorer is not supported!");
|
|
|
|
last_error_message_time = +new Date;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
</script>
|
2018-01-22 20:10:09 +00:00
|
|
|
<script src="src/theme.js"></script>
|
2014-08-19 20:53:19 +00:00
|
|
|
</head>
|
|
|
|
<body>
|
2014-05-04 13:32:02 +00:00
|
|
|
<script src="lib/jquery.min.js"></script>
|
2015-06-21 01:02:47 +00:00
|
|
|
<script src="lib/pep.js"></script>
|
2014-05-04 13:32:02 +00:00
|
|
|
<script src="lib/canvas.toBlob.js"></script>
|
|
|
|
<script src="lib/gif.js/gif.js"></script>
|
2015-06-16 01:29:30 +00:00
|
|
|
<script src="lib/palette.js"></script>
|
2015-06-17 00:07:11 +00:00
|
|
|
<script src="lib/FileSaver.js"></script>
|
2015-06-28 18:16:55 +00:00
|
|
|
<script src="lib/font-detective.js"></script>
|
2018-06-16 21:49:00 +00:00
|
|
|
<script src="./lib/libtess.min.js"></script>
|
2014-08-19 20:15:09 +00:00
|
|
|
<script src="src/helpers.js"></script>
|
2015-10-14 23:30:46 +00:00
|
|
|
<script src="src/storage.js"></script>
|
2014-08-19 20:15:09 +00:00
|
|
|
<script src="src/$Component.js"></script>
|
|
|
|
<script src="src/$Window.js"></script>
|
2017-05-26 20:31:26 +00:00
|
|
|
<script src="src/$MenuBar.js"></script>
|
2014-08-19 20:15:09 +00:00
|
|
|
<script src="src/$ToolBox.js"></script>
|
|
|
|
<script src="src/$ColorBox.js"></script>
|
|
|
|
<script src="src/$FontBox.js"></script>
|
|
|
|
<script src="src/$Handles.js"></script>
|
2016-03-25 14:55:53 +00:00
|
|
|
<script src="src/OnCanvasObject.js"></script>
|
2014-08-19 20:15:09 +00:00
|
|
|
<script src="src/Selection.js"></script>
|
|
|
|
<script src="src/TextBox.js"></script>
|
|
|
|
<script src="src/image-manipulation.js"></script>
|
|
|
|
<script src="src/tool-options.js"></script>
|
|
|
|
<script src="src/tools.js"></script>
|
2018-02-17 06:45:06 +00:00
|
|
|
<!--<script src="src/extra-tools.js"></script>-->
|
2014-08-19 20:15:09 +00:00
|
|
|
<script src="src/functions.js"></script>
|
2016-09-29 03:12:21 +00:00
|
|
|
<script src="src/manage-storage.js"></script>
|
2018-01-20 20:25:24 +00:00
|
|
|
<script src="src/imgur.js"></script>
|
2015-10-13 18:56:42 +00:00
|
|
|
<script src="src/help.js"></script>
|
2014-10-02 21:17:43 +00:00
|
|
|
<script src="src/app.js"></script>
|
2017-05-26 20:31:26 +00:00
|
|
|
<script src="src/menus.js"></script>
|
2015-02-23 17:46:57 +00:00
|
|
|
<script src="src/canvas-change.js"></script>
|
2016-03-24 16:38:37 +00:00
|
|
|
<script src="src/sessions.js"></script>
|
2018-04-09 04:36:51 +00:00
|
|
|
<script src="lib/konami.js"></script>
|
|
|
|
<script src="src/vaporwave-fun.js"></script>
|
2014-05-04 13:32:02 +00:00
|
|
|
</body>
|
|
|
|
</html>
|