2 // $Date: 2009-08-26 15:11:18 +0300 $
3 // TODO: try jsdoc-toolkit on this json (!)
6 * The list of available languages. This associated language IDs to their
12 // Besides the language title, you may also tell the file name. The 'file'
13 // property needs to be relative to the PaintWeb baseFolder. If no 'file' is
14 // given, then the 'en.json' file name is used, and the file will be loaded
15 // from the 'langFolder' you specify below.
16 "en": { "title": "English" }
20 * The default language.
28 * The folder which holds the language files.
36 * The graphical user interface you want to use.
44 * The folder contains all the interfaces.
47 * @default "interfaces"
49 "interfacesFolder": "interfaces",
52 * The interface markup file. The file must be an XHTML valid document.
55 * @default "layout.xhtml"
57 "guiMarkup": "layout.xhtml",
60 * The interface style file.
63 * @default "style.css"
65 "guiStyle": "style.css",
68 * The interface script file.
73 "guiScript": "script.js",
76 * The image viewport width. Make sure the value is a CSS length, like "50%",
79 * <p>Note: the GUI implementation might ignore this value.
84 "viewportWidth": "100%",
87 * The image viewport height. Make sure the value is a CSS length, like "50%",
90 * <p>Note: the GUI implementation might ignore this value.
95 "viewportHeight": "400px",
98 * Image save quality for the JPEG format.
103 "jpegSaveQuality": 0.9,
106 * The default image width.
114 * The default image width.
122 * Image preload. The image you want to display when PaintWeb loads. This must
123 * be a reference to an HTML Image element.
125 * @type HTMLImageElement
128 "imagePreload": null,
131 * Default background color.
136 "backgroundColor": "#fff",
139 * Default fill style.
141 * @type CSS3Color-rgba functional notation
142 * @default "rgba(0,0,0,1)"
144 "fillStyle": "rgba(0,0,0,1)",
147 * Default stroke style.
149 * @type CSS3Color-rgba functional notation
150 * @default "rgba(0,0,255,1)"
152 "strokeStyle": "rgba(0,0,255,1)",
155 * Enable checkers background. This tells the user interface to render
156 * checkers in the image background. These are visible only when parts of
157 * the image being edited are transparent.
159 * <p>If the device you are running PaintWeb on has limited resources,
160 * disabling the checkers background should improve the drawing performance.
165 "checkersBackground": true,
168 * GUI placeholder element. This element will hold all the PaintWeb interface
171 * <p>For a successful initialization of PaintWeb, you must define this
172 * configuration value programatically from your scripts.
177 "guiPlaceholder": null,
180 * Shape drawing "type": filled, only stroke, or both. Possible values:
181 * "filled", "stroke" or "both".
189 * Number of available history steps.
197 * Zoom factor when the user increases/decreases the image zoom level.
202 // 0.05 means 5% zoom.
203 "imageZoomStep": 0.05,
206 * The maximum allowed image zoom level.
211 // 4 means 400% zoom.
215 * The minimum allowed image zoom level.
220 // 0.2 means 20% zoom.
224 * The image zoom control keys, for zoom in, zoom out and zoom reset.
234 * Holds the list of drawing tools you want to load.
237 "tools": ["selection", "hand", "rectangle", "ellipse", "polygon", "line", "text", "bcurve", "insertimg", "pencil", "cpicker", "eraser"],
244 "toolsFolder": "tools",
247 * The default tool ID.
251 * @see this.tools The array holding the list of drawing tools you want
254 "toolDefault": "line",
257 * Tool drawing delay (milliseconds). Some tools delay their drawing
258 * operations for performance reasons.
266 * Holds the list of extensions you want to load.
269 "extensions": ["colormixer", "mousekeys"],
275 * @default "extensions"
277 "extensionsFolder": "extensions",
280 * @namespace Line tool options.
284 * Line cap. Possible values: "butt", "round", "square".
292 * Line join. Possible values: "round", "bevel", "miter".
317 * @namespace Shadow options.
321 * Tells if a shadow should render or not.
331 * @type CSS3Color-rgba() functional notation
332 * @default "rgba(0,0,0,1)"
334 "shadowColor": "rgba(0,0,0,1)",
362 * @namespace Selection tool options.
366 * Selection transformation mode. This tells if any drag/resize would also
367 * affect the selected pixels or not.
375 * Transparent selection.
383 * Selection marquee border width.
391 * Keyboard shortcuts for several selection-related commands.
395 "selectionCrop": "Control K",
396 "selectionDelete": "Delete",
397 "selectionDrop": "Escape",
398 "selectionFill": "Alt Backspace",
399 "transformToggle": "Enter"
412 * The default list of font families available in font family drop-down.
415 "fontFamilies": ["sans-serif", "serif", "cursive", "fantasy", "monospace"],
418 * The font family used for rendering the text.
420 * @default "sans-serif"
422 "fontFamily": "sans-serif",
427 * Horizontal text alignment. Possible values: "left", "center", "right".
429 * <p>Note that the Canvas Text API also defines the "start" and "end"
430 * values, which are not "supported" by PaintWeb.
438 * Vertical text alignment. Possible values: "top", "hanging", "middle",
439 * "alphabetic", "ideographic", or "bottom".
442 * @default "alphabetic"
444 "textBaseline": "top"
448 * @namespace Color Mixer extension configuration.
452 * Holds the minimum and maximum value for each color channel input field.
453 * The value incrementation step is also included - this is used the user
454 * presses the up/down arrow keys in the input of the color channel.
460 // order: minimum, maximum, step
462 "green": [0, 255, 1],
471 // CMYK - all are percentages
473 "magenta": [0, 100, 1],
474 "yellow": [0, 100, 1],
475 "black": [0, 100, 1],
478 // cie_l = Lightness, it's a percentage value
479 // cie_a and cie_b are the color-opponent dimensions
480 "cie_l": [ 0, 100, 1],
481 "cie_a": [ -86, 98, 1],
482 "cie_b": [-107, 94, 1],
488 * CIE Lab configuration.
492 // The RGB working space is sRGB which has the reference white point of
494 // These are the chromaticity coordinates for the red, green and blue
503 // Standard observer: D65 (daylight), 2° (CIE 1931).
504 // Chromaticity coordinates.
508 // This is the calculated reference white point (xyY to XYZ) for D65, also
509 // known as the reference illuminant tristimulus.
510 // These values are updated based on chromaticity coordinates, during
516 // The 3x3 matrix used for multiplying the RGB values when converting RGB
518 // These values are updated based on the chromaticity coordinates, during
520 "m": [ 0.412424, 0.212656, 0.0193324,
521 0.357579, 0.715158, 0.119193,
522 0.180464, 0.0721856, 0.950444],
524 // The same matrix, but inverted. This is used for the XYZ to RGB conversion.
525 "m_i": [ 3.24071, -0.969258, 0.0556352,
526 -1.53726, 1.87599, -0.203996,
527 -0.498571, 0.0415557, 1.05707]
531 * Slider width. This value must be relative to the color space
532 * visualisation canvas element: 1 means full width, 0.5 means half width,
536 * @default 0.10 (which is 10% of the canvas element width)
541 * Spacing between the slider and the color chart.
544 * @default 0.03 (which is 3% of the canvas element width)
546 "sliderSpacing": 0.03,
549 * Holds the list of color palettes.
554 // Color values are: red, green, blue. All three channels have values
555 // ranging between 0 and 1.
556 "colors" : [[1,1,1], [1,1,0], [1,0,1], [0,1,1], [1,0,0], [0,1,0], [0,0,1], [0,0,0]]
559 "file" : "colors/windows.json"
562 "file" : "colors/macos.json"
565 "file" : "colors/web.json"
569 "paletteDefault": "windows"
573 * @namespace Holds the MouseKeys extension options.
577 * The mouse keys movement acceleration.
581 * @see PaintMouseKeys The MouseKeys extension.
586 * Holds the list of actions, associated to keyboard shortcuts.
590 // We make sure the number keys on the NumPad also work when the Shift key
605 You might want Shift+NumPad keys as well ...
606 Shift+Arrows breaks spatial navigation in Opera.
607 "ButtonToggle": [0, "Shift Insert"],
608 "SouthWest": [1, "Shift End"],
609 "South": [2, "Shift Down"],
610 "SouthEast": [3, "Shift PageDown"],
611 "West": [4, "Shift Left"],
612 "ButtonClick": [5, "Shift Clear"],
613 "East": [6, "Shift Right"],
614 "NorthWest": [7, "Shift Home"],
615 "North": [8, "Shift Up"],
616 "NorthEast": [9, "Shift PageUp"]
622 * Keyboard shortcuts associated to drawing tools and other actions.
625 * @see PaintTools The object holding all the drawing tools.
628 // Use "command": "id" to execute some command.
629 "Control Z": { "command": "historyUndo" },
630 "Control Y": { "command": "historyRedo" },
632 "Control N": { "command": "imageClear" },
633 "Control S": { "command": "imageSave" },
635 "Control A": { "command": "selectAll" },
636 "Control X": { "command": "selectionCut" },
637 "Shift Delete": { "command": "selectionCut" },
638 "Control C": { "command": "selectionCopy" },
639 "Control V": { "command": "clipboardPaste" },
641 // Use "toolActivate": "id" to activate the tool with the given ID.
642 "C": { "toolActivate": "cpicker" },
643 "E": { "toolActivate": "ellipse" },
644 "G": { "toolActivate": "polygon" },
645 "H": { "toolActivate": "hand" },
646 "I": { "toolActivate": "insertimg" },
647 "L": { "toolActivate": "line" },
648 "O": { "toolActivate": "eraser" },
649 "P": { "toolActivate": "pencil" },
650 "R": { "toolActivate": "rectangle" },
651 "S": { "toolActivate": "selection" },
652 "T": { "toolActivate": "text" },
653 "V": { "toolActivate": "bcurve" },
655 // Miscellaneous commands.
656 "X": { "command": "swapFillStroke" },
657 "F1": { "command": "about" }
660 // vim:set spell spl=en fo=wan1croql tw=80 ts=2 sw=2 sts=2 sta et ai cin fenc=utf-8 ff=unix ft=javascript: