|
|
- /* 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);
- }
- }
|