mirror of
https://github.com/QuiteAFancyEmerald/Holy-Unblocker.git
synced 2025-05-15 12:50:01 -04:00
194 lines
No EOL
4.7 KiB
JavaScript
194 lines
No EOL
4.7 KiB
JavaScript
/*
|
|
The Wallpaper Picker app has been mostly completed as of July 25.
|
|
The plan is to incorperate a link to it in the settings app and move
|
|
onto other peojects until such time to revisit this to add additional
|
|
functionality.
|
|
|
|
- ctaetcsh
|
|
*/
|
|
|
|
var wallpapers={
|
|
solids : [
|
|
{
|
|
value: '#FF8C00'
|
|
},
|
|
{
|
|
|
|
value: '#E81123'
|
|
},
|
|
{
|
|
value: '#9A0089'
|
|
},
|
|
{
|
|
value: '#10893E'
|
|
},
|
|
{
|
|
value: '#018574'
|
|
},
|
|
{
|
|
value: '#2D7D9A'
|
|
},
|
|
{
|
|
value: '#0063B1'
|
|
},
|
|
{
|
|
value: '#4A5459'
|
|
}
|
|
],
|
|
images : [
|
|
{
|
|
value: 'wallpapers/a.png',
|
|
interactable: null,
|
|
name: 'Default'
|
|
},
|
|
{
|
|
value: 'wallpapers/b.png',
|
|
interactable: null,
|
|
name: 'Wave'
|
|
},
|
|
{
|
|
value: 'wallpapers/c.png',
|
|
interactable: null,
|
|
name: 'Test Background'
|
|
},
|
|
{
|
|
value: 'wallpapers/GardenTilesCT.png',
|
|
interactable: null,
|
|
name: 'Garden Tiles (CT)'
|
|
},
|
|
{
|
|
value: 'wallpapers/SysYABranded.png',
|
|
interactable: null,
|
|
name: 'SysYA_Branded'
|
|
},
|
|
{
|
|
value: 'wallpapers/SysYA.png',
|
|
interactable: null,
|
|
name: 'SysYA'
|
|
},
|
|
{
|
|
value: 'wallpapers/SysYADark.png',
|
|
interactable: null,
|
|
name: 'SysYA_Dark'
|
|
},
|
|
],
|
|
},
|
|
initWallpaperPicker = ()=>{
|
|
wallpapers.images.forEach(async(e,i)=>{
|
|
e.interactable = new interactable('desktop_contextBox_' + e.value.toLowerCase().trim() + Date.now(), 1920 / 15, 1080 / 15,
|
|
emptyFunction,
|
|
emptyFunction,
|
|
()=>{
|
|
// click start
|
|
|
|
background.value = e.value;
|
|
},
|
|
|
|
()=>{
|
|
// click end
|
|
|
|
},
|
|
);
|
|
|
|
e.interactable.index = Object.entries(interactables).length
|
|
e.image = new Image();
|
|
e.image.src = 'tango/' + e.value
|
|
|
|
e.imageDownscale = await downscale(e.image, 1920 / 15, 1080 / 15);
|
|
});
|
|
|
|
wallpapers.solids.forEach(async(e,i)=>{
|
|
e.interactable = new interactable('desktop_contextBox_' + e.value.trim() + Date.now(), 1920 / 15, 1080 / 15,
|
|
emptyFunction,
|
|
emptyFunction,
|
|
()=>{
|
|
// click start
|
|
|
|
background.value = e.value;
|
|
},
|
|
|
|
()=>{
|
|
// click end
|
|
|
|
},
|
|
);
|
|
|
|
e.interactable.index = Object.entries(interactables).length
|
|
});
|
|
|
|
var window = new cwindow('wallpaper-picker' + Date.now(), 50, 50, (ele)=>{
|
|
// on render
|
|
|
|
mctx.font = '13px Open Sans';
|
|
mctx.fillStyle = '#000'
|
|
|
|
mctx.fillText('Wallpapers', ele.x + 20, ele.y + 55) // wallpapers label
|
|
mctx.fillText('Solid Colors', ele.x + 20, ele.y + 160) // solid colors label
|
|
|
|
var loop_thing_img = (e,i,a)=>{
|
|
e.interactable.index = ele.contentBox.index + 1
|
|
|
|
e.interactable.x = ele.x + 20 + i * (1920 / 15 + 20) // wallpaper previews on x axis
|
|
|
|
e.interactable.width = 1920 / 15
|
|
e.interactable.height = 1080 / 15
|
|
|
|
e.interactable.y = ele.y + 65 // wallpaper previews on y axis
|
|
|
|
mctx.drawImageURL('tango/' + e.value, e.interactable.x, e.interactable.y, e.interactable.width, e.interactable.height)
|
|
|
|
mctx.lineJoin = 'miter';
|
|
mctx.lineWidth = '2';
|
|
|
|
if(e.interactable.hover){
|
|
mctx.strokeStyle = '#fff'
|
|
mctx.strokeRect(e.interactable.x - 2, e.interactable.y - 2, e.interactable.width + 4, e.interactable.height + 4)
|
|
}
|
|
|
|
if(e.value == background.value){
|
|
mctx.strokeStyle = '#000'
|
|
mctx.strokeRect(e.interactable.x - 2, e.interactable.y - 2, e.interactable.width + 4, e.interactable.height + 4)
|
|
}
|
|
},
|
|
loop_thing_solids = (e,i,a)=>{
|
|
e.interactable.index = ele.contentBox.index + 1
|
|
|
|
e.interactable.x = ele.x + 20 + i * 46 // s.colors previews on x axis
|
|
|
|
e.interactable.width = 44
|
|
e.interactable.height = 44
|
|
|
|
e.interactable.y = ele.y + 70 + (100) // s.colors previews on y axis
|
|
|
|
mctx.fillStyle = e.value
|
|
mctx.fillRect(e.interactable.x, e.interactable.y, e.interactable.width, e.interactable.height)
|
|
|
|
mctx.lineJoin = 'miter';
|
|
mctx.lineWidth = '2';
|
|
|
|
if(e.interactable.hover){
|
|
mctx.strokeStyle = '#fff'
|
|
mctx.strokeRect(e.interactable.x - 2, e.interactable.y - 2, e.interactable.width + 4, e.interactable.height + 4)
|
|
}
|
|
|
|
if(e.value == background.value){
|
|
mctx.strokeStyle = '#000'
|
|
mctx.strokeRect(e.interactable.x - 2, e.interactable.y - 2, e.interactable.width + 4, e.interactable.height + 4)
|
|
}
|
|
}
|
|
|
|
wallpapers.images.forEach(loop_thing_img);
|
|
wallpapers.solids.forEach(loop_thing_solids);
|
|
});
|
|
|
|
window.closing = ()=>{
|
|
wallpapers.images.forEach((e,i)=>{
|
|
e.interactable.delete();
|
|
});
|
|
}
|
|
|
|
window.title = 'Wallpaper Picker'
|
|
window.icon = 'apps/24/preferences-desktop-wallpaper.png'
|
|
window.width = 1060
|
|
window.height = 220
|
|
} |