This commit is contained in:
adrianvic 2023-12-21 14:33:34 -03:00
commit 59426d62fb
102 changed files with 42796 additions and 0 deletions

59
JS/Tiles.js Normal file
View file

@ -0,0 +1,59 @@
////////////////////////////////////////////////////////////
//// © Microsoft. All rights reserved. ////
////////////////////////////////////////////////////////////
(function (AppNS) {
var Notifications = Windows.UI.Notifications;
WinJS.Namespace.defineWithParent(AppNS, "Tiles", {
setCurrentCanvasAsTile: function () {
/// <summary>
/// Sets the tile to the current content of the canvas
/// </summary>
var fileName = "canvasImage.png";
var altText = "canvas image"; // TODO: Win8Apps WORK 92: Add localization support
// Get wide image template
var tileXml = Notifications.TileUpdateManager.getTemplateContent(Notifications.TileTemplateType.tileWideImage);
function configureTileImage(tileXml, fileName) {
var tileImageAttributes = tileXml.getElementsByTagName("image");
tileImageAttributes[0].setAttribute("src", "localfolder://" + fileName);
tileImageAttributes[0].setAttribute("alt", altText);
}
// Get scaled canvas blob with 20% height and width
var scaledCanvasBlob = AppNS.CanvasManager.getScaledCanvasBlob(document.getElementById("paintCanvas").height * 0.2, document.getElementById("paintCanvas").width * 0.2);
// Write canvas blob to local folder
AppNS.Utils.writeBlobToLocalFolderAsync(scaledCanvasBlob, fileName).then(function (file) {
// Set image attribute
configureTileImage(tileXml, file.fileName);
// Get square template
var squareTileXml = Notifications.TileUpdateManager.getTemplateContent(Notifications.TileTemplateType.tileSquareImage);
// Set square image attribute
configureTileImage(squareTileXml, file.fileName);
// Include the square template into the notification
var node = tileXml.importNode(squareTileXml.getElementsByTagName("binding").item(0), true);
tileXml.getElementsByTagName("visual").item(0).appendChild(node);
// Create the notification from the XML
var tileNotification = new Notifications.TileNotification(tileXml);
// Send the notification to the app's default tile
Notifications.TileUpdateManager.createTileUpdaterForApplication().update(tileNotification);
}, function () { });
},
clearTile: function () {
/// <summary>
/// Returns tile to the default
/// </summary>
Notifications.TileUpdateManager.createTileUpdaterForApplication().clear();
}
});
})(Microsoft.Paint);