not really known
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

93 lines
3.1 KiB

/* Initialization of the UI */
function initGui() {
/* Fetching and init of the painting zone */
PaintApp.elements.canvas = document.getElementById('paint-canvas');
PaintApp.elements.canvas.style.height = parseInt(window.innerHeight) - 55 + "px";
PaintApp.elements.canvas.style.width = parseInt(window.innerWidth) + "px";
paper.setup(PaintApp.elements.canvas);
/* We are using paper.Tool to register to onMouseDown / onMouseDrag / onMouseUp */
PaintApp.data.tool = new paper.Tool();
PaintApp.data.tool.distanceThreshold = 0;
/* Calling initGui of our modes */
PaintApp.modes.Text.initGui();
PaintApp.modes.Eraser.initGui();
PaintApp.modes.Pen.initGui();
PaintApp.modes.Bucket.initGui();
PaintApp.modes.Stamp.initGui();
PaintApp.modes.Copy.initGui();
PaintApp.modes.Paste.initGui();
/* Calling initGui of our palettes */
PaintApp.palettes.filtersPalette.initGui();
PaintApp.palettes.drawingsPalette.initGui();
PaintApp.palettes.colorPalette.initGui();
/* Enabling the presence palette */
initPresencePalette();
/* Calling initGui of our buttons */
PaintApp.buttons.sizeButton.initGui();
PaintApp.buttons.clearButton.initGui();
PaintApp.buttons.undoButton.initGui();
PaintApp.buttons.redoButton.initGui();
PaintApp.buttons.insertImageButton.initGui();
/* Refreshing undo / redo */
PaintApp.displayUndoRedoButtons();
/* Selecting the pen tool */
PaintApp.elements.penButton.click();
PaintApp.switchMode("Pen");
/* Scrolling top prevent any overflow */
window.scrollTo(0, -1000);
/* Registering onResize function to handle window size changes */
window.onresize = onResize;
PaintApp.clearCanvas();
}
/* When onResize, update the attributes width and height used by paperJS */
function onResize() {
return;
var canvas = PaintApp.elements.canvas;
try {
var image = canvas.toDataURL();
} catch (e) {
return;
}
PaintApp.elements.canvas.style.height = parseInt(window.innerHeight) - 55 + "px";
PaintApp.elements.canvas.style.width = parseInt(window.innerWidth) + "px";
PaintApp.elements.canvas.setAttribute("width", PaintApp.elements.canvas.getBoundingClientRect().width);
PaintApp.elements.canvas.setAttribute("height", parseInt(window.innerHeight) - 55);
var ctx = canvas.getContext('2d');
var img = new Image();
img.onload = function() {
ctx.save();
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.clearRect(0, 0, canvas.style.width, canvas.style.height);
ctx.drawImage(img, 0, 0);
ctx.restore();
};
img.src = image;
}
/* Initialization of the presence palette */
function initPresencePalette() {
var networkButton = document.getElementById("network-button");
presencepalette = new PaintApp.palettes.presencePalette.PresencePalette(networkButton, undefined);
presencepalette.addEventListener('shared', PaintApp.collaboration.shareActivity);
// Launched with a shared id, activity is already shared
if (window.top && window.top.sugar && window.top.sugar.environment && window.top.sugar.environment.sharedId) {
PaintApp.collaboration.shareActivity();
presencepalette.setShared(true);
}
}