Configurable canvas size
This commit is contained in:
parent
7c5222ffb5
commit
e3600131fc
@ -642,15 +642,12 @@
|
|||||||
// Allow unfiltered HTML in board subtitle. This is useful for placing icons and links.
|
// Allow unfiltered HTML in board subtitle. This is useful for placing icons and links.
|
||||||
$config['allow_subtitle_html'] = false;
|
$config['allow_subtitle_html'] = false;
|
||||||
|
|
||||||
/*
|
// Oekaki - To enable oekaki, just enable its script with:
|
||||||
* Enable oekaki (お絵描き). This puts a drawing field on your board. You can either
|
// $config['additional_javascript'][] = 'js/oekaki.js';
|
||||||
* enable it globally or enable it on a per-board basis. Oekaki's color field
|
// $config['oekaki'] holds Oekaki options, which are currently just default canvas size.
|
||||||
* can be greatly enhanced by installing jscolor from http://jscolor.com/ and installing it in js/
|
|
||||||
* If you enable oekaki, please remember to also enable its script with:
|
|
||||||
* $config['additional_javascript'][] = 'js/oekaki.js';
|
|
||||||
*/
|
|
||||||
|
|
||||||
$config['oekaki'] = false;
|
$config['oekaki']['height'] = 250;
|
||||||
|
$config['oekaki']['width'] = 500;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ====================
|
* ====================
|
||||||
|
@ -6,7 +6,7 @@ var oekaki_form = '\
|
|||||||
Oekaki\
|
Oekaki\
|
||||||
</th>\
|
</th>\
|
||||||
<td>\
|
<td>\
|
||||||
<canvas width="500" height="250" id="cvs" style="border:1px solid black;-webkit-user-select: none;-moz-user-select: none;">lol what you looking at the source for nerd</canvas>\
|
<canvas width="'+oekaki_options.width+'" height="'+oekaki_options.height+'" id="oekaki_canvas" style="border:1px solid black;-webkit-user-select: none;-moz-user-select: none;">lol what you looking at the source for nerd</canvas>\
|
||||||
<p><button type="button" id="brushsize">Brush size</button><input class="color" id="color" value="000000" placeholder="Color"/><button type="button" id="text">Set text</button><button type="button" id="clear">Clear</button><button type="button" id="save">Save</button><button type="button" id="load">Load</button><br/>\
|
<p><button type="button" id="brushsize">Brush size</button><input class="color" id="color" value="000000" placeholder="Color"/><button type="button" id="text">Set text</button><button type="button" id="clear">Clear</button><button type="button" id="save">Save</button><button type="button" id="load">Load</button><br/>\
|
||||||
<button type="button" id="eraser">Toggle eraser</button><button type="button" id="getcolor">Get color</button><button type="button" id="fill">Fill</button>\
|
<button type="button" id="eraser">Toggle eraser</button><button type="button" id="getcolor">Get color</button><button type="button" id="fill">Fill</button>\
|
||||||
</p><p><textarea id="savebox"></textarea><label><input id="confirm_oekaki" type="checkbox"/> Use oekaki instead of file?</label></p>\
|
</p><p><textarea id="savebox"></textarea><label><input id="confirm_oekaki" type="checkbox"/> Use oekaki instead of file?</label></p>\
|
||||||
@ -18,7 +18,7 @@ function enable_oekaki() {
|
|||||||
// Add oekaki after the file input
|
// Add oekaki after the file input
|
||||||
$('input[type="file"]').parent().parent().after(oekaki_form);
|
$('input[type="file"]').parent().parent().after(oekaki_form);
|
||||||
// Init oekaki vars
|
// Init oekaki vars
|
||||||
canvas = $("#cvs");
|
canvas = $("#oekaki_canvas");
|
||||||
context = canvas[0].getContext("2d");
|
context = canvas[0].getContext("2d");
|
||||||
is_drawing = false;
|
is_drawing = false;
|
||||||
text = "";
|
text = "";
|
||||||
@ -98,7 +98,7 @@ function flood_fill(x, y, target){
|
|||||||
var data = context.getImageData(n[0], n[1], 1, 1).data;
|
var data = context.getImageData(n[0], n[1], 1, 1).data;
|
||||||
var d = [data[0], data[1], data[2], data[3]];
|
var d = [data[0], data[1], data[2], data[3]];
|
||||||
var t = [target[0], target[1], target[2], target[3]];
|
var t = [target[0], target[1], target[2], target[3]];
|
||||||
if (arraysEqual(d, t) && n[0] < 500 && n[1] < 250 && n[0] > -1 && n[1] > -1){
|
if (arraysEqual(d, t) && n[0] < canvas.width() && n[1] < canvas.height() && n[0] > -1 && n[1] > -1){
|
||||||
context.putImageData(pixel, n[0], n[1]);
|
context.putImageData(pixel, n[0], n[1]);
|
||||||
queue.push([n[0], n[1]-1]);
|
queue.push([n[0], n[1]-1]);
|
||||||
queue.push([n[0], n[1]+1]);
|
queue.push([n[0], n[1]+1]);
|
||||||
|
@ -265,7 +265,14 @@ function ready() {
|
|||||||
|
|
||||||
onready(init);
|
onready(init);
|
||||||
|
|
||||||
{% endraw %}{% if config.google_analytics %}{% raw %}
|
{% endraw %}
|
||||||
|
|
||||||
|
var oekaki_options = {
|
||||||
|
width: {{config.oekaki.width}},
|
||||||
|
height: {{config.oekaki.height}},
|
||||||
|
};
|
||||||
|
|
||||||
|
{% if config.google_analytics %}{% raw %}
|
||||||
|
|
||||||
var _gaq = _gaq || [];_gaq.push(['_setAccount', '{% endraw %}{{ config.google_analytics }}{% raw %}']);{% endraw %}{% if config.google_analytics_domain %}{% raw %}_gaq.push(['_setDomainName', '{% endraw %}{{ config.google_analytics_domain }}{% raw %}']){% endraw %}{% endif %}{% if not config.google_analytics_domain %}{% raw %}_gaq.push(['_setDomainName', 'none']){% endraw %}{% endif %}{% raw %};_gaq.push(['_trackPageview']);(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);})();{% endraw %}{% endif %}
|
var _gaq = _gaq || [];_gaq.push(['_setAccount', '{% endraw %}{{ config.google_analytics }}{% raw %}']);{% endraw %}{% if config.google_analytics_domain %}{% raw %}_gaq.push(['_setDomainName', '{% endraw %}{{ config.google_analytics_domain }}{% raw %}']){% endraw %}{% endif %}{% if not config.google_analytics_domain %}{% raw %}_gaq.push(['_setDomainName', 'none']){% endraw %}{% endif %}{% raw %};_gaq.push(['_trackPageview']);(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);})();{% endraw %}{% endif %}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user