Subversion Repositories general

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1408 → Rev 1409

/mozilla/common/deploy
Property changes:
Modified: svn:ignore
meta_local.xml
+
/mozilla/pixeled/trunk/meta.xml
0,0 → 1,4
<meta>
<xpiName>pixeled.xpi</xpiName>
</meta>
 
/mozilla/pixeled/trunk/src/install.rdf
0,0 → 1,27
<?xml version="1.0"?>
 
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
 
<Description about="urn:mozilla:install-manifest">
<em:id>{e00a6ec9-6ce4-4ab8-a6b1-886dced500c3}</em:id>
<em:version>1.1</em:version>
<em:type>2</em:type>
 
<!-- firefox -->
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>3</em:minVersion>
<em:maxVersion>3.5.*</em:maxVersion>
</Description>
</em:targetApplication>
 
<em:name>Pixeled</em:name>
<em:description>Zoom images and whole pages without antialiasing</em:description>
<em:creator>Anatoli Klassen</em:creator>
<em:homepageURL>http://www.26th.net/public/projects/mozilla/pixeled/</em:homepageURL>
<em:updateURL>http://www.26th.net/public/projects/mozilla/pixeled/update.rdf</em:updateURL>
<em:updateKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD0n3FJvEygIzLWtleG7RQGsW33KlWt2CEKm4cNdyYtos2PXb68ZwMIGDduDeAdv0kg90Y2vnHpEgJwE4O6Ce6bfjxQWNbCWj6UgjRaosuzqKq4+BBwT65hMcIs72K1x3zQde6oNBsnYiEP18Cy7aY26+QA7M/vcOY5Rut66xYcjQIDAQAB</em:updateKey>
</Description>
</RDF>
/mozilla/pixeled/trunk/src/chrome.manifest
0,0 → 1,2
content pixeled chrome/content/
overlay chrome://browser/content/browser.xul chrome://pixeled/content/pixeled.xul
/mozilla/pixeled/trunk/src/chrome/content/display.xul
0,0 → 1,28
<?xml version="1.0"?>
 
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
 
<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
title="Pixeled"
buttons="cancel"
buttonlabelcancel="Close"
id="Pixeled_Display_dialog"
persist="screenX screenY width height sizemode"
>
 
<script type="application/x-javascript" src="chrome://pixeled/content/display.js" />
<hbox style="overflow:auto">
<html:canvas id="originCanvas" style="background:#FFFFFF; padding:0px; margin:0px;"></html:canvas>
<spacer flex="1" />
</hbox>
<hbox>
<scale id="scaler" min="1" max="5" pageincrement="1" flex="1" />
<label id="scaleLabel" control="scale" />
</hbox>
<hbox flex="1" style="overflow:auto">
<html:canvas id="scaledCanvas" style="background:#FFFFFF; padding:0px; margin:0px;"></html:canvas>
<spacer flex="1" />
</hbox>
</dialog>
/mozilla/pixeled/trunk/src/chrome/content/display.js
0,0 → 1,139
// =====================================================================================================================
var Pixeled_Display = {
// -----------------------------------------------------------------------------------------------------------------
init: function()
{
try {
var params = window.arguments[0];
var k = params.k;
 
Pixeled_Display.scaleLabel = document.getElementById("scaleLabel");
Pixeled_Display.originCanvas = document.getElementById("originCanvas");
Pixeled_Display.scaledCanvas = document.getElementById("scaledCanvas");
Pixeled_Display.scaler = document.getElementById("scaler");
Pixeled_Display.scaler.value = k;
Pixeled_Display.scaler.addEventListener('change', Pixeled_Display.onScale, false);
Pixeled_Display.showOrigin(params.target);
Pixeled_Display.onScale(null);
}
catch(ex) {
dump("Pixeled_Display.init: " + ex + "\n");
}
},
// -----------------------------------------------------------------------------------------------------------------
onScale: function(aEvent)
{
try {
dump(Pixeled_Display.scaler.value + "\n");
var k = Pixeled_Display.scaler.value;
var n = (1 << k);
Pixeled_Display.scaleLabel.value = ("x" + n);
Pixeled_Display.showScaled(k);
}
catch(ex) {
dump("Pixeled_Display.onScale: " + ex + "\n");
}
},
// -----------------------------------------------------------------------------------------------------------------
showOrigin: function(target)
{
dump("showOrigin p1 " + target + "\n");
var originWidth;
var originHeight;
var isImage = (target instanceof Components.interfaces.nsIImageLoadingContent);
if(isImage) {
originWidth = target.naturalWidth;
originHeight = target.naturalHeight;
}
else {
target = target.ownerDocument.defaultView;
originWidth = target.innerWidth;
originHeight = target.innerHeight;
dump("showOrigin p2 " + target + " " + originWidth + " " + originHeight + "\n");
}
Pixeled_Display.originCanvas.setAttribute("width", originWidth);
Pixeled_Display.originCanvas.setAttribute("height", originHeight);
Pixeled_Display.originCanvas.style.display = "none";
Pixeled_Display.originCanvas.style.width = originWidth + "px";
Pixeled_Display.originCanvas.style.minWidth = originWidth + "px";
Pixeled_Display.originCanvas.style.maxWidth = originWidth + "px";
Pixeled_Display.originCanvas.style.height = originHeight + "px";
Pixeled_Display.originCanvas.style.minHeight = originHeight + "px";
Pixeled_Display.originCanvas.style.maxHeight = originHeight + "px";
 
var originContext = Pixeled_Display.originCanvas.getContext("2d");
if(isImage) {
originContext.drawImage(target, 0, 0, originWidth, originHeight);
}
else {
originContext.drawWindow(target, 0, 0, originWidth, originHeight, "rgba(0,0,0,0)");
}
},
// -----------------------------------------------------------------------------------------------------------------
showScaled: function(k)
{
dump("showScaled p1\n");
var n = (1 << k);
var originWidth = Pixeled_Display.originCanvas.getAttribute("width");
var originHeight = Pixeled_Display.originCanvas.getAttribute("height");
var scaledWidth = originWidth * n;
var scaledHeight = originHeight * n;
dump("showScaled p2 " + originWidth + " " + originHeight + "\n");
Pixeled_Display.scaledCanvas.setAttribute("width", scaledWidth);
Pixeled_Display.scaledCanvas.setAttribute("height", scaledHeight);
Pixeled_Display.scaledCanvas.style.minWidth = scaledWidth + "px";
Pixeled_Display.scaledCanvas.style.maxWidth = scaledWidth + "px";
Pixeled_Display.scaledCanvas.style.minHeight = scaledHeight + "px";
Pixeled_Display.scaledCanvas.style.maxHeight = scaledHeight + "px";
 
var originContext = Pixeled_Display.originCanvas.getContext("2d");
var scaledContext = Pixeled_Display.scaledCanvas.getContext("2d");
 
var originData = originContext.getImageData(0, 0, originWidth, originHeight);
var scaledData = scaledContext.createImageData(scaledWidth, scaledHeight);
dump("onLoad p3 " + originData + " " + scaledData + "\n");
 
for(var x = 0; x < originData.width; ++x) {
for(var y = 0; y < originData.height; ++y) {
var o = (y * originData.width + x) * 4;
var r = originData.data[o];
var g = originData.data[o+1];
var b = originData.data[o+2];
var a = originData.data[o+3];
var sx = x*n;
var sy = y*n;
for(var dx = 0; dx < n; ++dx) {
for(var dy = 0; dy < n; ++dy) {
var so = ((sy+dy) * scaledData.width + (sx+dx)) * 4;
scaledData.data[so] = r;
scaledData.data[so+1] = g;
scaledData.data[so+2] = b;
scaledData.data[so+3] = a;
}
}
}
}
dump("showScaled p4 " + scaledData.width + " " + scaledData.height + "\n");
scaledContext.putImageData(scaledData, 0, 0);
 
dump("showScaled done\n");
},
};
 
// =====================================================================================================================
window.addEventListener('load', Pixeled_Display.init, false);
/mozilla/pixeled/trunk/src/chrome/content/pixeled.xul
0,0 → 1,22
<?xml version="1.0"?>
 
<overlay id="selsearch"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
<script type="application/x-javascript" src="chrome://pixeled/content/pixeled.js" />
<popup id="contentAreaContextMenu">
<menu id="context-pixeled-submenu" class="menuitem-iconic" insertbefore="context-sep-copyimage"
label="Pixeled">
<menupopup id="context-selsearch-menupopup">
<menuitem label="x2" oncommand="Pixeled.execute(1)" />
<menuitem label="x4" oncommand="Pixeled.execute(2)" />
<menuitem label="x8" oncommand="Pixeled.execute(3)" />
<menuitem label="x16" oncommand="Pixeled.execute(4)" />
<menuitem label="x32" oncommand="Pixeled.execute(5)" />
</menupopup>
</menu>
</popup>
 
</overlay>
/mozilla/pixeled/trunk/src/chrome/content/pixeled.js
0,0 → 1,38
// =====================================================================================================================
var Pixeled = {
// -----------------------------------------------------------------------------------------------------------------
init: function()
{
try {
// override default context menu handler to show our menu if popup on image
/*var nsContextMenu_initMenu = nsContextMenu.prototype.initMenu;
nsContextMenu.prototype.initMenu = function CM_initMenu(aPopup, aBrowser) {
nsContextMenu_initMenu.call(this, aPopup, aBrowser);
this.showItem("context-pixeled-submenu", this.onImage);
};*/
}
catch(ex) {
dump("Pixeled.init: " + ex + "\n");
}
},
// -----------------------------------------------------------------------------------------------------------------
execute: function(k)
{
try {
var params = {
k: k,
target: gContextMenu.target,
};
window.openDialog("chrome://pixeled/content/display.xul", "",
"chrome,dialog,resizable=yes", params);
}
catch(ex) {
dump("Pixeled.execute: " + ex + "\n");
}
},
};
 
// =====================================================================================================================
window.addEventListener('load', Pixeled.init, false);
/mozilla/pixeled/trunk/bin/deploy.sh
0,0 → 1,13
#!/bin/sh
 
project_dir=$(dirname $0)"/.."
project_dir=$(cd "$project_dir"; pwd)
common_dir="$project_dir/../../common/deploy"
 
if [ ! -d "$common_dir" ] ; then
echo "Common dir '$common_dir' not found" >> /dev/stderr
exit 1
fi
 
. "$common_dir/deploy_subr"
 
Property changes:
Added: svn:executable
+*
\ No newline at end of property