107 lines
No EOL
4.5 KiB
JavaScript
107 lines
No EOL
4.5 KiB
JavaScript
////////////////////////////////////////////////////////////
|
|
//// © Microsoft. All rights reserved. ////
|
|
////////////////////////////////////////////////////////////
|
|
|
|
(function (AppNS) {
|
|
var supportedSizes = [60, 40, 30, 20, 10, 3];
|
|
|
|
// Create texture image for crayon
|
|
var textureImage = document.createElement("img");
|
|
textureImage.src = "../Controls/Paint/Res/crayon_texture.png";
|
|
|
|
WinJS.Namespace.defineWithParent(AppNS, "CanvasManager", {
|
|
ToolNames: {
|
|
Eraser: "eraser",
|
|
Marker: "marker",
|
|
Brush: "brush",
|
|
Neon: "neon",
|
|
Pipe: "pipe",
|
|
Crayon: "crayon"
|
|
},
|
|
|
|
ToolCards: {
|
|
marker: {
|
|
toolClass: AppNS.Painter.Tools.Marker,
|
|
label: "Marker", // TODO: Win8Apps WORK 92: Add localization support
|
|
optionKey: "opacity",
|
|
optionValues: [1, 0.85, 0.7, 0.5, 0.35, 0.2],
|
|
defaultOptionIndex: 1,
|
|
defaultSizeIndex: 4,
|
|
optionLabel: "Transparency", // TODO: Win8Apps WORK 92: Add localization support
|
|
supportedSizes: supportedSizes
|
|
},
|
|
brush: {
|
|
toolClass: AppNS.Painter.Tools.Brush,
|
|
label: "Brush", // TODO: Win8Apps WORK 92: Add localization support
|
|
optionKey: "fade",
|
|
optionValues: [0, 1000, 700, 400, 200, 100],
|
|
defaultOptionIndex: 0,
|
|
defaultSizeIndex: 3,
|
|
optionLabel: "Fade", // TODO: Win8Apps WORK 92: Add localization support
|
|
supportedSizes: supportedSizes
|
|
},
|
|
neon: {
|
|
toolClass: AppNS.Painter.Tools.Neon,
|
|
label: "Neon", // TODO: Win8Apps WORK 92: Add localization support
|
|
optionKey: "glow",
|
|
optionValues: [70, 55, 40, 25, 10, 0],
|
|
defaultOptionIndex: 4,
|
|
defaultSizeIndex: 3,
|
|
optionLabel: "Glow", // TODO: Win8Apps WORK 92: Add localization support
|
|
supportedSizes: supportedSizes
|
|
},
|
|
pipe: {
|
|
toolClass: AppNS.Painter.Tools.Pipe,
|
|
label: "3D", // TODO: Win8Apps WORK 92: Add localization support
|
|
optionKey: "height",
|
|
optionValues: [6, 5, 4, 3, 2, 1],
|
|
defaultOptionIndex: 4,
|
|
defaultSizeIndex: 3,
|
|
optionLabel: "Depth", // TODO: Win8Apps WORK 92: Add localization support
|
|
supportedSizes: supportedSizes
|
|
},
|
|
crayon: {
|
|
toolClass: AppNS.Painter.Tools.Crayon,
|
|
label: "Crayon", // TODO: Win8Apps WORK 92: Add localization support
|
|
optionKey: "density",
|
|
optionValues: [2, 1.75, 1.5, 1.25, 1.0, .75],
|
|
defaultOptionIndex: 1,
|
|
defaultSizeIndex: 4,
|
|
optionLabel: "Density", // TODO: Win8Apps WORK 92: Add localization support
|
|
supportedSizes: supportedSizes,
|
|
textureImage: textureImage
|
|
},
|
|
eraser: {
|
|
toolClass: AppNS.Painter.Tools.Eraser,
|
|
label: "Eraser", // TODO: Win8Apps WORK 92: Add localization support
|
|
supportedSizes: supportedSizes,
|
|
defaultSizeIndex: 4
|
|
}
|
|
},
|
|
|
|
// Loads all available tools into the given painter
|
|
loadAllTools: function (painter) {
|
|
var cards = AppNS.CanvasManager.ToolCards;
|
|
var names = AppNS.CanvasManager.ToolNames;
|
|
for (var name in cards) {
|
|
var card = cards[name];
|
|
var tool = new card.toolClass();
|
|
tool.width = card.supportedSizes[card.defaultSizeIndex];
|
|
if (name !== names.Eraser) {
|
|
tool[card.optionKey] = card.optionValues[card.defaultOptionIndex];
|
|
}
|
|
painter.loadTool(tool, name);
|
|
|
|
if (name === names.Crayon) {
|
|
// Create texture image for crayon
|
|
var textureImage = new Image(40, 40);
|
|
var crayonTool = tool;
|
|
textureImage.addEventListener("load", function () {
|
|
crayonTool.setTexture(textureImage);
|
|
});
|
|
textureImage.src = "../Controls/Paint/Res/crayon_texture.png";
|
|
}
|
|
}
|
|
}
|
|
});
|
|
})(Microsoft.Paint); |