mirror of
https://github.com/lospec/pixel-editor.git
synced 2023-08-10 21:12:51 +03:00
f499662afc
- added `/:paletteSlug/:resolution` functionality for localhost testing - created `currFile.sublayers` for *things that should zoom with the canvas layers* - `currFile.layers` now solely contains the canvas layers - added `getProjectData` to `FileManager`'s exported methods --- - added `FileManager.localStorageSave` (it's basically just: localStorage.setItem("lpe-cache",FileManager.getProjectData())) - added `FileManager.localStorageCheck` (it's basically just: `!!localStorage.getItem("lpe-cache")`) - added `FileManager.localStorageLoad` (it's basically just: `return localStorage.getItem("lpe-cache")`) - added `FileManager.localStorageReset` (for debugging purity) --- - calling `FileManager.localStorageSave()` on mouse up (we should stress test this) --- - changed lpe file format to `{canvasWidth:number,canvasHeight:number,selectedLayer:number,colors:[],layers:[]}` - added backward compatibility for the old lpe file format --- - added some canvas utility functions in `canvas_util` - added Unsettled's color similarity utility functions in `color_util2` --- - html boilerplate - wang tiles - - POC - tiny text boilerplate - POC - tiny text font scraper --- - WIP - added two optional url route parameters `/:paletteSlug/:resolution/:prefillWidth/:prefillBinaryStr` - WIP POC - hbs_parser.js (outputs tree data about hbs file relationships)
66 lines
2.0 KiB
JavaScript
66 lines
2.0 KiB
JavaScript
const Settings = (() => {
|
|
let settings;
|
|
let settingsFromCookie;
|
|
|
|
//on clicking the save button in the settings dialog
|
|
Events.on('click', 'save-settings', saveSettings);
|
|
|
|
init();
|
|
|
|
function init() {
|
|
if (!Cookies.enabled) {
|
|
document.getElementById('cookies-disabled-warning').style.display = 'block';
|
|
}
|
|
settingsFromCookie = Cookies.get('pixelEditorSettings');
|
|
|
|
if(!settingsFromCookie) {
|
|
////console.log('settings cookie not found');
|
|
|
|
settings = {
|
|
switchToChangedColor: true,
|
|
enableDynamicCursorOutline: true, //unused - performance
|
|
enableBrushPreview: true, //unused - performance
|
|
enableEyedropperPreview: true, //unused - performance
|
|
numberOfHistoryStates: 256,
|
|
maxColorsOnImportedImage: 128,
|
|
pixelGridColour: '#000000'
|
|
};
|
|
}
|
|
else{
|
|
////console.log('settings cookie found');
|
|
////console.log(settingsFromCookie);
|
|
|
|
settings = JSON.parse(settingsFromCookie);
|
|
}
|
|
}
|
|
|
|
function saveSettings() {
|
|
//check if values are valid
|
|
if (isNaN(Util.getValue('setting-numberOfHistoryStates'))) {
|
|
alert('Invalid value for numberOfHistoryStates');
|
|
return;
|
|
}
|
|
|
|
//save new settings to settings object
|
|
settings.numberOfHistoryStates = Util.getValue('setting-numberOfHistoryStates');
|
|
settings.pixelGridColour = Util.getValue('setting-pixelGridColour');
|
|
// Filling pixel grid again if colour changed
|
|
Events.emit("refreshPixelGrid");
|
|
|
|
//save settings object to cookie
|
|
let cookieValue = JSON.stringify(settings);
|
|
Cookies.set('pixelEditorSettings', cookieValue, { expires: Infinity });
|
|
|
|
//close window
|
|
Dialogue.closeDialogue();
|
|
}
|
|
|
|
function getCurrSettings() {
|
|
return settings;
|
|
}
|
|
|
|
return {
|
|
getCurrSettings
|
|
}
|
|
|
|
})(); |