--- /dev/null
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is KaiRo.at Mandelbrot, XULRunner version.
+ *
+ * The Initial Developer of the Original Code is
+ * Robert Kaiser <kairo@kairo.at>.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Robert Kaiser <kairo@kairo.at>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+function initSettings() {
+}
--- /dev/null
+<?xml version="1.0"?>
+
+<!-- ***** BEGIN LICENSE BLOCK *****
+ - Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ -
+ - The contents of this file are subject to the Mozilla Public License Version
+ - 1.1 (the "License"); you may not use this file except in compliance with
+ - the License. You may obtain a copy of the License at
+ - http://www.mozilla.org/MPL/
+ -
+ - Software distributed under the License is distributed on an "AS IS" basis,
+ - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ - for the specific language governing rights and limitations under the
+ - License.
+ -
+ - The Original Code is KaiRo.at Mandelbrot, XULRunner version.
+ -
+ - The Initial Developer of the Original Code is
+ - Robert Kaiser <kairo@kairo.at>.
+ - Portions created by the Initial Developer are Copyright (C) 2008
+ - the Initial Developer. All Rights Reserved.
+ -
+ - Contributor(s):
+ - Robert Kaiser <kairo@kairo.at>
+ -
+ - Alternatively, the contents of this file may be used under the terms of
+ - either the GNU General Public License Version 2 or later (the "GPL"), or
+ - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ - in which case the provisions of the GPL or the LGPL are applicable instead
+ - of those above. If you wish to allow use of your version of this file only
+ - under the terms of either the GPL or the LGPL, and not to allow others to
+ - use your version of this file under the terms of the MPL, indicate your
+ - decision by deleting the provisions above and replace them with the notice
+ - and other provisions required by the LGPL or the GPL. If you do not delete
+ - the provisions above, a recipient may use your version of this file under
+ - the terms of any one of the MPL, the GPL or the LGPL.
+ -
+ - ***** END LICENSE BLOCK ***** -->
+
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+<?xml-stylesheet href="chrome://mandelbrot/skin/image-settings.css" type="text/css"?>
+
+<!DOCTYPE prefwindow SYSTEM "chrome://mandelbrot/locale/image-settings.dtd">
+
+<prefwindow id="imgSettingsDlg"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ title="&imageSettings.title;"
+ dlgbuttons="accept,cancel"
+ ondialogaccept="callDrawImage();"
+ buttonlabelaccept="&DrawImageButton.label;">
+
+ <prefpane id="imgSettingsPane" onpaneload="initSettings();">
+ <script type="application/x-javascript"
+ src="chrome://mandelbrot/content/mandelbrot.js"/>
+ <script type="application/x-javascript"
+ src="chrome://mandelbrot/content/image-settings.js"/>
+
+ <preferences id="mandelbrotPreferences">
+ <preference id="mandelbrot.image.width" name="mandelbrot.image.width"
+ type="int"/>
+ <preference id="mandelbrot.image.height" name="mandelbrot.image.height"
+ type="int"/>
+ </preferences>
+
+ <groupbox label="&img.size.title;">
+ <hbox flex="1">
+ <label value="&img.width.label;" control="imgWidth"/>
+ <textbox id="imgWidth" size="4" preference="mandelbrot.image.width"/>
+ </hbox>
+ <hbox flex="1">
+ <label value="&img.height.label;" control="imgHeight"/>
+ <textbox id="imgHeight" size="4" preference="mandelbrot.image.heigth"/>
+ </hbox>
+ </groupbox>
+ </prefpane>
+</prefwindow>
function drawLine(line, canvas, context, iterMax, algorithm) {
let Cr_min = -2.0;
let Cr_max = 1.0;
+ try {
+ Cr_min = gPref.getCharPref("mandelbrot.last_image.Cr_min");
+ Cr_max = gPref.getCharPref("mandelbrot.last_image.Cr_max");
+ }
+ catch (e) { }
let Cr_scale = Cr_max - Cr_min;
let Ci_min = -1.5;
let Ci_max = 1.5;
+ try {
+ Cr_min = gPref.getCharPref("mandelbrot.last_image.Ci_min");
+ Cr_max = gPref.getCharPref("mandelbrot.last_image.Ci_max");
+ }
+ catch (e) { }
let Ci_scale = Ci_max - Ci_min;
let pixels = [];
gColorPalette = getColorPalette(aPaletteID);
}
+function imgSettings() {
+ window.openDialog("chrome://mandelbrot/content/image-settings.xul");
+}
+
function updateDebugMenu() {
var jitMenuItem = document.getElementById("jitEnabled");
jitMenuItem.setAttribute("checked", gPref.getBoolPref("javascript.options.jit.chrome"));
gPref.setCharPref("mandelbrot.use_algorithm", algoID);
}
-
/***** helper functions from external sources *****/
// function below is based on http://developer.mozilla.org/en/docs/Code_snippets:Canvas
<menuitem type="radio" name="palette" value="kairo" label="&colorKairo.label;"/>
</menupopup>
</menu>
+ <menuitem id="imgSettings" label="&imgSettings.label;" oncommand="imgSettings();"/>
</menupopup>
</menu>
<menu id="debugMenu" label="&debugMenu.label;">
--- /dev/null
+<!-- ***** BEGIN LICENSE BLOCK *****
+ - Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ -
+ - The contents of this file are subject to the Mozilla Public License Version
+ - 1.1 (the "License"); you may not use this file except in compliance with
+ - the License. You may obtain a copy of the License at
+ - http://www.mozilla.org/MPL/
+ -
+ - Software distributed under the License is distributed on an "AS IS" basis,
+ - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ - for the specific language governing rights and limitations under the
+ - License.
+ -
+ - The Original Code is KaiRo.at Mandelbrot, XULRunner version.
+ -
+ - The Initial Developer of the Original Code is
+ - Robert Kaiser <kairo@kairo.at>.
+ - Portions created by the Initial Developer are Copyright (C) 2008
+ - the Initial Developer. All Rights Reserved.
+ -
+ - Contributor(s):
+ - Robert Kaiser <kairo@kairo.at>
+ -
+ - Alternatively, the contents of this file may be used under the terms of
+ - either the GNU General Public License Version 2 or later (the "GPL"), or
+ - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ - in which case the provisions of the GPL or the LGPL are applicable instead
+ - of those above. If you wish to allow use of your version of this file only
+ - under the terms of either the GPL or the LGPL, and not to allow others to
+ - use your version of this file under the terms of the MPL, indicate your
+ - decision by deleting the provisions above and replace them with the notice
+ - and other provisions required by the LGPL or the GPL. If you do not delete
+ - the provisions above, a recipient may use your version of this file under
+ - the terms of any one of the MPL, the GPL or the LGPL.
+ -
+ - ***** END LICENSE BLOCK ***** -->
+
+<!ENTITY imageSettings.title "Image Settings">
+<!ENTITY DrawImageButton.label "Draw Image">
+
+<!ENTITY img.size.title "Image Size">
+<!ENTITY img.width.label "Width">
+<!ENTITY img.height.label "Height">
<!ENTITY colorMenu.label "Color Palette">
<!ENTITY colorBW.label "Black & White">
<!ENTITY colorKairo.label "KaiRo.at">
+<!ENTITY imgSettings.label "Image Settingsā¦">
<!ENTITY debugMenu.label "Debug">
<!ENTITY jitEnabled.label "Enable JIT (TraceMonkey)">
--- /dev/null
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is KaiRo.at Mandelbrot, XULRunner version.
+ *
+ * The Initial Developer of the Original Code is
+ * Robert Kaiser <kairo@kairo.at>.
+ * Portions created by the Initial Developer are Copyright (C) 2008
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Robert Kaiser <kairo@kairo.at>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+