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.
 
 
 
 
 

88 lines
3.6 KiB

/* Start of the app, we require everything that is needed */
define(["sugar-web/activity/activity","activity/paint-activity","activity/paint-app","sugar-web/graphics/presencepalette","activity/palettes/color-palette","activity/palettes/stamp-palette","activity/palettes/text-palette","activity/palettes/drawings-palette","activity/palettes/filters-palette","activity/buttons/size-button","activity/buttons/clear-button","activity/buttons/undo-button","activity/buttons/redo-button","activity/modes/modes-pen","activity/modes/modes-eraser","activity/modes/modes-bucket","activity/modes/modes-text","activity/modes/modes-stamp","activity/modes/modes-copy","activity/modes/modes-paste","activity/collaboration","activity/buttons/insertimage-button"], function (activity,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21) {
window.PaintApp = p2;
PaintApp.libs.activity = activity;
/* Fetching and storing of the palettes */
PaintApp.palettes.presencePalette = p3;
PaintApp.palettes.colorPalette = p4;
PaintApp.palettes.stampPalette = p5;
PaintApp.palettes.textPalette = p6;
PaintApp.palettes.drawingsPalette = p7;
PaintApp.palettes.filtersPalette = p8;
/* Fetching and storing of the buttons */
PaintApp.buttons.sizeButton = p9;
PaintApp.buttons.clearButton = p10;
PaintApp.buttons.undoButton = p11;
PaintApp.buttons.redoButton = p12;
PaintApp.buttons.insertImageButton = p21;
/* Fetching and storing of the modes */
PaintApp.modes.Pen = p13;
PaintApp.modes.Eraser = p14;
PaintApp.modes.Bucket = p15;
PaintApp.modes.Text = p16;
PaintApp.modes.Stamp = p17;
PaintApp.modes.Copy = p18;
PaintApp.modes.Paste = p19;
PaintApp.collaboration = p20;
requirejs(['domReady!', 'sugar-web/datastore', 'paper-core', 'mustache', 'lzstring', 'humane'], function(doc, datastore, _paper, mustache, lzstring, humane) {
/* Fetching and storing libraries */
PaintApp.libs.mustache = mustache;
PaintApp.libs.humane = humane;
PaintApp.libs.lzstring = lzstring;
//Setup of the activity
activity.setup();
/* Fetch and store UI elements */
initGui();
document.getElementById("stop-button").addEventListener('click', function(event) {
var data = {
width: PaintApp.elements.canvas.width / window.devicePixelRatio,
height: PaintApp.elements.canvas.height / window.devicePixelRatio,
src: PaintApp.collaboration.compress(PaintApp.elements.canvas.toDataURL())
}
var jsonData = JSON.stringify(data);
activity.getDatastoreObject().setDataAsText(jsonData);
activity.getDatastoreObject().save(function(error) {});
});
//Fetch of the history if not starting shared
if (!window.top.sugar || !window.top.sugar.environment || !window.top.sugar.environment.sharedId) {
activity.getDatastoreObject().loadAsText(function(error, metadata, jsonData) {
if (jsonData == null) {
return;
}
var data = JSON.parse(jsonData);
PaintApp.clearCanvas();
img = new Image();
img.onload = function() {
PaintApp.elements.canvas.getContext('2d').drawImage(img, 0, 0, data.width, data.height);
PaintApp.saveCanvas();
};
img.src = PaintApp.collaboration.decompress(data.src);
//DISPLAY
});
}
// If starting in shared mode, we disable undo/redo
if (window.top && window.top.sugar && window.top.sugar.environment && window.top.sugar.environment.sharedId) {
PaintApp.data.isHost = false;
PaintApp.buttons.undoButton.hideGui();
PaintApp.buttons.redoButton.hideGui();
PaintApp.displayUndoRedoButtons();
PaintApp.collaboration.shareActivity();
}
});
});