Updated dcraw.patch prior to attempting 9.05 upgrade
205
tools/CurveType.svg
Normal file
@@ -0,0 +1,205 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="24"
|
||||
height="24"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.46"
|
||||
version="1.0"
|
||||
sodipodi:docname="CurveType.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="D:\Jean-Christophe\Developpement\WorkspaceCPP\rawtherapee-head\rtdata\images\curveType-unchanged.png"
|
||||
inkscape:export-xdpi="67.5"
|
||||
inkscape:export-ydpi="67.5">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient3205">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0.19512194;"
|
||||
offset="0"
|
||||
id="stop3207" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.19607843;"
|
||||
offset="1"
|
||||
id="stop3209" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3205"
|
||||
id="linearGradient3211"
|
||||
x1="12"
|
||||
y1="24"
|
||||
x2="12"
|
||||
y2="0"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0434783,0,0,1.0434783,119.47826,-40.521739)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3205"
|
||||
id="linearGradient3176"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0434783,0,0,1.0434783,79.47826,-40.521739)"
|
||||
x1="12"
|
||||
y1="24"
|
||||
x2="12"
|
||||
y2="0" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3205"
|
||||
id="linearGradient3180"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0434783,0,0,1.0434783,39.47826,-40.521739)"
|
||||
x1="12"
|
||||
y1="24"
|
||||
x2="12"
|
||||
y2="0" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3205"
|
||||
id="linearGradient3184"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0434783,0,0,1.0434783,159.47826,-40.521739)"
|
||||
x1="12"
|
||||
y1="24"
|
||||
x2="12"
|
||||
y2="0" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#212121"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2.84"
|
||||
inkscape:cx="104.59733"
|
||||
inkscape:cy="31.731418"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1680"
|
||||
inkscape:window-height="994"
|
||||
inkscape:window-x="-4"
|
||||
inkscape:window-y="-4" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<rect
|
||||
y="-40"
|
||||
x="160"
|
||||
height="24"
|
||||
width="24"
|
||||
id="rect3182"
|
||||
style="fill:url(#linearGradient3184);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:url(#linearGradient3180);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect3178"
|
||||
width="24"
|
||||
height="24"
|
||||
x="40"
|
||||
y="-40" />
|
||||
<rect
|
||||
style="fill:url(#linearGradient3211);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect2383"
|
||||
width="24"
|
||||
height="24"
|
||||
x="120"
|
||||
y="-40" />
|
||||
<rect
|
||||
y="-40"
|
||||
x="80"
|
||||
height="24"
|
||||
width="24"
|
||||
id="rect3174"
|
||||
style="fill:url(#linearGradient3176);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#be0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 79.92808,24.660312 C 82.91811,16.699566 92.18207,4.622125 104.45279,0.242516"
|
||||
id="path3159"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="opacity:0.7;fill:none;fill-rule:evenodd;stroke:#76a400;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 161.27126,22.542893 L 164.43049,6.364908 L 183.17098,0.797204"
|
||||
id="path3167"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path3181"
|
||||
d="M 160.42808,24.472812 C 163.41811,16.512066 172.49457,4.372125 184.76529,-0.007484"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#be0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path3183"
|
||||
d="M 40.02126,24.105393 L 64.29598,-0.265296"
|
||||
style="opacity:1;fill:none;fill-rule:evenodd;stroke:#be0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path3195"
|
||||
d="M 120.34597,24.205807 C 123.336,16.245061 132.01862,4.462353 144.28934,0.082744"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#be0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#76a400;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 132,20 L 140,20"
|
||||
id="path3197"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path3199"
|
||||
d="M 132,17 L 140,17"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#76a400;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path3201"
|
||||
d="M 132,14 L 140,14"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#76a400;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
transform="matrix(2.7600806,0,0,2.7600806,148.12887,-22.689217)"
|
||||
d="M 7.0710679,10.497826 A 1.1711456,1.1711456 0 1 1 4.7287768,10.497826 A 1.1711456,1.1711456 0 1 1 7.0710679,10.497826 z"
|
||||
sodipodi:ry="1.1711456"
|
||||
sodipodi:rx="1.1711456"
|
||||
sodipodi:cy="10.497826"
|
||||
sodipodi:cx="5.8999224"
|
||||
id="path3373"
|
||||
style="fill:#76a400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#76a400;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path3155"
|
||||
sodipodi:cx="5.8999224"
|
||||
sodipodi:cy="10.497826"
|
||||
sodipodi:rx="1.1711456"
|
||||
sodipodi:ry="1.1711456"
|
||||
d="M 7.0710679,10.497826 A 1.1711456,1.1711456 0 1 1 4.7287768,10.497826 A 1.1711456,1.1711456 0 1 1 7.0710679,10.497826 z"
|
||||
transform="matrix(2.7600806,0,0,2.7600806,69.37757,-14.600829)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 8.4 KiB |
212
tools/RTProfileBuilderSample.cs
Normal file
@@ -0,0 +1,212 @@
|
||||
#region Usings
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using System.Globalization;
|
||||
using System.Diagnostics;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Specialized;
|
||||
#endregion
|
||||
|
||||
// Raw Therapee sample Custom Profile builder (version 2010-11-08)
|
||||
// WARNING: PP3 format may change in the future versions! If this happens there will probably be no automatic migration path, you'll have to adjust on your own.
|
||||
//
|
||||
// How to use:
|
||||
// 1. Modify the GetCorrectedSettings function below according to your needs.
|
||||
// 2. Download and install Microsoft .Net Runtime (latest version is 4.0 as of writing), if it's not already on your machine.
|
||||
// You can get it for free via Windows Update or from microsoft.com. No need for Visual Studio etc.
|
||||
// 3. Open a command line and compile this CS-File using the C# 32bit compiler. It is usually installed somewhere here:
|
||||
// C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
|
||||
// Call csc.exe with your .CS file as parameter. CSC will compile it and emit an EXE.
|
||||
// 4. Open your RT options files and find the entry [Profiles]/CustomProfileBuilder
|
||||
// 5. Enter the path to your newly built exe here. On Windows, don't forget double slashes (e.g. "C:\\MyDir\\Mybuilder.exe")
|
||||
// And you're done! The EXE is only called on opening the image editor and there is no PP3 already
|
||||
//
|
||||
// If you want to use EXIFTOOL to gather more details information to build queries:
|
||||
// 1. Download exiftool.exe from http://www.sno.phy.queensu.ca/~phil/exiftool/
|
||||
// 2. Rename it to exiftool.exe (NOT exiftool(-k).. or something!)
|
||||
// 3. Copy the RTProfilerBuilder.exe.config next to your own EXE. If you renamed it, rename config to "(Yourname).exe.config"
|
||||
// 4. Open the config with notepad (it's an XML file). Set ExifToolPath to your downloaded and renamed exe
|
||||
//
|
||||
// If you want to know what parameters are available, call "exiftool.exe <raw file name> -tab -short"
|
||||
//
|
||||
// This description is for Windows. The C# code does not use anything fancy, will probably work with MONO on Linux/OSX, too
|
||||
|
||||
namespace RTProfilerBuilder {
|
||||
/// <summary>Main class. Mostly change GetCorrectedSettings.</summary>
|
||||
class RTProfileBuilder {
|
||||
|
||||
/// <summary>This is your personalisation function</summary>
|
||||
/// <param name="exif">Full EXIF from EXIFTOOL (if configured).</param>
|
||||
/// <param name="sectionEntry">Entry, like "Sharpening/Radius"</param>
|
||||
/// <param name="value">Current value (from default file)</param>
|
||||
/// <param name="fNumber">FNumber</param><param name="exposureSecs">Exposure in seconds</param>
|
||||
/// <param name="focalLength">Focal length in MM</param><param name="iso">ISO value</param>
|
||||
/// <param name="lens">Lens from EXIF</param><param name="camera">Camera from EXIF</param>
|
||||
/// <returns>The value to be written. Simply take the current value if you have nothing to touch.</returns>
|
||||
static string GetCorrectedSetting(NameValueCollection exif, string sectionEntry, string value,
|
||||
float fNumber, float exposureSecs, float focalLength, long iso, string lens, string camera) {
|
||||
|
||||
string s;
|
||||
|
||||
// We don't do anything to the value if it's not our camera
|
||||
if (camera.EndsWith("NIKON D700", StringComparison.InvariantCultureIgnoreCase) && lens.Contains("24.0-120.0")) {
|
||||
switch (sectionEntry) {
|
||||
// Here is the place to adjust your settings
|
||||
// Pretty simple: "SectionName/EntryName" in options file
|
||||
|
||||
case "Vignetting Correction/Amount":
|
||||
value = (fNumber < 8 && focalLength < 30) ? "30" : "0";
|
||||
break;
|
||||
|
||||
case "RAW/CA":
|
||||
value = ToBool(fNumber < 11); // Means "Enabled if fnumber<11, otherwise disabled"
|
||||
break;
|
||||
|
||||
case "Impulse Denoising/Enabled":
|
||||
value = ToBool(iso >= 3200);
|
||||
break;
|
||||
|
||||
case "HLRecovery/Enabled":
|
||||
value = ToBool(iso >= 1600); // Dynamic range decreases, so we'll probably need it
|
||||
break;
|
||||
|
||||
case "Color Boost/Amount":
|
||||
if (iso >= 6400) value = "0"; // Colors will get poppy anyway...
|
||||
break;
|
||||
|
||||
// Add other parameters here. Mention this is case sensitive!
|
||||
|
||||
default: break; // we don't touch values we don't care about
|
||||
}
|
||||
} // end if camera=xxx
|
||||
|
||||
|
||||
// This is for camera independend settings
|
||||
switch (sectionEntry) {
|
||||
// These are parsed from EXIFTOOL and XMP in DNG (see http://en.wikipedia.org/wiki/Extensible_Metadata_Platform)
|
||||
case "IPTC/City":
|
||||
s = exif.Get("City");
|
||||
if (!String.IsNullOrEmpty(s)) value = s;
|
||||
break;
|
||||
|
||||
case "IPTC/Country":
|
||||
s = exif.Get("Country");
|
||||
if (!String.IsNullOrEmpty(s)) value = s;
|
||||
break;
|
||||
|
||||
case "IPTC/Caption":
|
||||
case "IPTC/Title":
|
||||
s = exif.Get("Headline");
|
||||
if (!String.IsNullOrEmpty(s)) value = s;
|
||||
break;
|
||||
|
||||
// Add other parameters here. Mention this is case sensitive!
|
||||
|
||||
default: break; // we don't touch values we don't care about
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
#region * Main and Helpers
|
||||
static string ToBool(bool condition) { return condition ? "true" : "false"; }
|
||||
static string ToFloat(float f) { return f.ToString(CultureInfo.InvariantCulture); }
|
||||
|
||||
/// <summary>Reads default file and parses it. No need to touch it for your personal settings.</summary>
|
||||
/// <param name="args">Command line args</param>
|
||||
/// <return>0 on all OK.</return>
|
||||
static int Main(string[] args) {
|
||||
int exitCode = 0;
|
||||
|
||||
try {
|
||||
#region Parse input parameters
|
||||
int argNo = 0;
|
||||
|
||||
// Name of RAW/JPG to process
|
||||
string sourceFile = args[argNo++];
|
||||
|
||||
// What the user selected as his base profile
|
||||
string defaultProfileFilePath = args[argNo++];
|
||||
|
||||
// Note that old C++ has no automatic number globalization
|
||||
float fNumber = float.Parse(args[argNo++], CultureInfo.InvariantCulture);
|
||||
float exposureSecs = float.Parse(args[argNo++], CultureInfo.InvariantCulture);
|
||||
float focalLength = float.Parse(args[argNo++], CultureInfo.InvariantCulture);
|
||||
long iso = long.Parse(args[argNo++], CultureInfo.InvariantCulture);
|
||||
|
||||
string lens = args[argNo++];
|
||||
string camera = args[argNo++];
|
||||
#endregion
|
||||
|
||||
// Read default file as basis
|
||||
string[] lines = File.ReadAllLines(defaultProfileFilePath);
|
||||
|
||||
NameValueCollection nvEXIF = ParseFullExifData(sourceFile);
|
||||
|
||||
// File should be Windows ANSI
|
||||
using (TextWriter tw = new StreamWriter(sourceFile + ".pp3", false, Encoding.Default)) {
|
||||
string section = "";
|
||||
|
||||
foreach (string line in lines) {
|
||||
string l = line.Trim();
|
||||
if (!String.IsNullOrEmpty(line)) {
|
||||
|
||||
if (l.StartsWith("["))
|
||||
section = l.Trim(new char[] { '[', ']' });
|
||||
else if (char.IsLetterOrDigit(l[0]) && l.Contains("=")) {
|
||||
int valPos = l.IndexOf("=") + 1;
|
||||
|
||||
string newValue = GetCorrectedSetting(nvEXIF, section + "/" + l.Substring(0, valPos - 1), l.Substring(valPos).Trim(),
|
||||
fNumber, exposureSecs, focalLength, iso, lens, camera);
|
||||
|
||||
// Merge in new value
|
||||
l = l.Substring(0, valPos) + (newValue ?? "");
|
||||
}
|
||||
}
|
||||
|
||||
tw.WriteLine(l);
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception ex) {
|
||||
Console.WriteLine("Error: " + ex.ToString()); // can be seen in the RT console window
|
||||
|
||||
exitCode = 1;
|
||||
}
|
||||
|
||||
return exitCode;
|
||||
}
|
||||
|
||||
|
||||
static NameValueCollection ParseFullExifData(string filePath) {
|
||||
NameValueCollection nv = new NameValueCollection();
|
||||
|
||||
string exifToolPath = ConfigurationManager.AppSettings["ExifToolPath"];
|
||||
if (!String.IsNullOrEmpty(exifToolPath)) {
|
||||
ProcessStartInfo psi = new ProcessStartInfo(exifToolPath, "\"" + filePath + "\" -tab -short");
|
||||
psi.CreateNoWindow = false;
|
||||
psi.UseShellExecute = false;
|
||||
psi.RedirectStandardOutput = true;
|
||||
|
||||
Process p = Process.Start(psi);
|
||||
|
||||
using (StreamReader sr = p.StandardOutput) {
|
||||
while (!sr.EndOfStream) {
|
||||
string line = sr.ReadLine();
|
||||
if (line.Contains("\t")) {
|
||||
string[] split = line.Split('\t');
|
||||
nv.Add(split[0], split[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
p.WaitForExit();
|
||||
}
|
||||
|
||||
return nv;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
8
tools/RTProfileBuilderSample.exe.config
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<appSettings>
|
||||
<!-- Set this full path to exiftool.exe. Rename exiftool(-k).exe to exiftool.exe before using it here!
|
||||
If you leave the value empty, EXIFTOOL is simply not used. -->
|
||||
<add key="ExifToolPath" value="C:\Program Files (x86)\exiftool.exe"/>
|
||||
</appSettings>
|
||||
</configuration>
|
BIN
tools/createicon.exe
Normal file
BIN
tools/edited.png
Normal file
After Width: | Height: | Size: 790 B |
BIN
tools/editedb.png
Normal file
After Width: | Height: | Size: 732 B |
BIN
tools/editedw.png
Normal file
After Width: | Height: | Size: 791 B |
53
tools/generateTranslationDiffs.sh
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Append translation differences on the end of all files. Developers should run this script
|
||||
# after changing default, so that translators can easily see what items need to be translated.
|
||||
#
|
||||
# This script should be run from the project root, e.g:
|
||||
# $ ./tools/generateTranslationDiffs.sh
|
||||
#
|
||||
#####################
|
||||
TEMP=temp_file
|
||||
|
||||
cd "rtdata/languages"
|
||||
if [[ $? != 0 ]]; then
|
||||
echo "You must run this script from the root of the project."
|
||||
exit
|
||||
fi
|
||||
|
||||
#First thing, we want to strip default of any !s and duplicates.
|
||||
cat "default" | grep -v '^!' | sort | uniq > "$TEMP"
|
||||
mv "$TEMP" "default"
|
||||
|
||||
echo "Generating differences... this may take a few minutes."
|
||||
|
||||
find . |
|
||||
grep -v 'default' |
|
||||
grep -v 'README' |
|
||||
grep -v 'LICENSE' |
|
||||
grep -v 'generateDiffs.sh' |
|
||||
grep -v "$TEMP" |
|
||||
grep -v '^.$' |
|
||||
|
||||
while read X; do
|
||||
echo "Working on differences for $X"
|
||||
|
||||
#Start by copying the existing file to a temporary one, after sorting and removing all
|
||||
#previous differences
|
||||
cat "$X" | grep -v '^!' | sort | uniq > "$TEMP"
|
||||
|
||||
echo -e "\n\n!!!!!!!!!!!!!!!!!!!!!!!!!\n! Untranslated keys follow; remove the ! prefix after an entry is translated.\n!!!!!!!!!!!!!!!!!!!!!!!!!\n\n" >> "$TEMP"
|
||||
|
||||
cat 'default' | grep -v '^#' | while read LINE; do
|
||||
KEY=`echo "$LINE" | cut -f 1 -d ';'`
|
||||
grep -q "^$KEY" "$X";
|
||||
if [[ $? != 0 ]]; then
|
||||
echo "!$LINE" >> "$TEMP"
|
||||
fi
|
||||
done
|
||||
|
||||
#Replace the old file with the new one, with a section at the end for differences.
|
||||
mv "$TEMP" "$X"
|
||||
done
|
||||
|
||||
echo "Finished generating differences."
|
BIN
tools/head.png
Normal file
After Width: | Height: | Size: 595 B |
BIN
tools/headb.png
Normal file
After Width: | Height: | Size: 640 B |
BIN
tools/headw.png
Normal file
After Width: | Height: | Size: 672 B |
202
tools/horizontal.svg
Normal file
@@ -0,0 +1,202 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.46"
|
||||
sodipodi:docname="horizontal.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/gabor/RawTherapee/2.4/gui65_5/horizontal.png"
|
||||
inkscape:export-xdpi="10.294841"
|
||||
inkscape:export-ydpi="10.294841">
|
||||
<defs
|
||||
id="defs4">
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Send"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow2Send"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path3244"
|
||||
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="scale(0.3) rotate(180) translate(-2.3,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow2Mend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path3238"
|
||||
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="scale(0.6) rotate(180) translate(0,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow2Lend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path3232"
|
||||
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="scale(1.1) rotate(180) translate(1,0)" />
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.70710678"
|
||||
inkscape:cx="-101.92157"
|
||||
inkscape:cy="855.59942"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1679"
|
||||
inkscape:window-height="975"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2383" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:1;fill:#f0ff02;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path2385"
|
||||
sodipodi:cx="175"
|
||||
sodipodi:cy="137.36218"
|
||||
sodipodi:rx="25"
|
||||
sodipodi:ry="25"
|
||||
d="M 200,137.36218 A 25,25 0 1 1 150,137.36218 A 25,25 0 1 1 200,137.36218 z"
|
||||
transform="translate(10,90)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:1;fill:#f0ff02;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path2387"
|
||||
sodipodi:cx="175"
|
||||
sodipodi:cy="137.36218"
|
||||
sodipodi:rx="25"
|
||||
sodipodi:ry="25"
|
||||
d="M 200,137.36218 A 25,25 0 1 1 150,137.36218 A 25,25 0 1 1 200,137.36218 z"
|
||||
transform="translate(90,90)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:1;fill:#f0ff02;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path2389"
|
||||
sodipodi:cx="175"
|
||||
sodipodi:cy="137.36218"
|
||||
sodipodi:rx="25"
|
||||
sodipodi:ry="25"
|
||||
d="M 200,137.36218 A 25,25 0 1 1 150,137.36218 A 25,25 0 1 1 200,137.36218 z"
|
||||
transform="translate(10,10)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:1;fill:#f0ff02;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path2391"
|
||||
sodipodi:cx="175"
|
||||
sodipodi:cy="137.36218"
|
||||
sodipodi:rx="25"
|
||||
sodipodi:ry="25"
|
||||
d="M 200,137.36218 A 25,25 0 1 1 150,137.36218 A 25,25 0 1 1 200,137.36218 z"
|
||||
transform="translate(90,10)" />
|
||||
<g
|
||||
id="g3201"
|
||||
transform="matrix(0,1,1,0,37.6387,-35.983797)">
|
||||
<path
|
||||
transform="matrix(-1,0,0,-1,464.53846,379.72436)"
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="7.8539816"
|
||||
sodipodi:start="4.712389"
|
||||
d="M 305,152.36218 A 20,20 0 0 1 305,192.36218"
|
||||
sodipodi:ry="20"
|
||||
sodipodi:rx="20"
|
||||
sodipodi:cy="172.36218"
|
||||
sodipodi:cx="305"
|
||||
id="path3177"
|
||||
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
id="path3185"
|
||||
d="M 158.34598,227.3613 L 313.34598,227.3613"
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:url(#Arrow2Send);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
id="path3187"
|
||||
d="M 139.53846,147.36218 L 289.53846,147.36218"
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<path
|
||||
id="path3189"
|
||||
d="M 160.08391,187.36218 L 290.08391,187.36218"
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<path
|
||||
transform="translate(-15.000001,-5)"
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="7.8539816"
|
||||
sodipodi:start="4.712389"
|
||||
d="M 305,152.36218 A 20,20 0 0 1 305,192.36218"
|
||||
sodipodi:ry="20"
|
||||
sodipodi:rx="20"
|
||||
sodipodi:cy="172.36218"
|
||||
sodipodi:cx="305"
|
||||
id="path5060"
|
||||
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
sodipodi:type="arc" />
|
||||
</g>
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:1;fill:#f0ff02;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path5062"
|
||||
sodipodi:cx="190"
|
||||
sodipodi:cy="212.36218"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:ry="0"
|
||||
d="M 200,212.36218 A 10,0 0 1 1 180,212.36218 A 10,0 0 1 1 200,212.36218 z" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 8.6 KiB |
BIN
tools/osx/Icons.icns
Normal file
28
tools/osx/Info.plist
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>start</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Icons.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.rawtherapee.rawtherapee</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>RawTherapee</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0a</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>3.0 Alpha</string>
|
||||
<key>NSAppleScriptEnabled</key>
|
||||
<string>NO</string>
|
||||
</dict>
|
||||
</plist>
|
98
tools/osx/make-app-bundle
Executable file
@@ -0,0 +1,98 @@
|
||||
#!/bin/bash
|
||||
# Function checkLink:
|
||||
# args: $1 - file
|
||||
#
|
||||
# Will loop through all dynamic links for $file, and update each to be relative.
|
||||
function checkLink {
|
||||
#echo "checkLink called with $1 $2"
|
||||
local FILE=$1
|
||||
|
||||
otool -L $FILE | grep -v "${APP}" | grep -v '/usr/lib' | grep -v '/System/' | grep -v "@executable_path" | cut -f 1 -d ' ' | while read X
|
||||
do
|
||||
local NAME=${LIB}/`basename "$X"`
|
||||
if [ ! -f "${NAME}" ]
|
||||
then
|
||||
cp $X "${NAME}"
|
||||
|
||||
#Recursively update the linkage of libraries
|
||||
checkLink "${NAME}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
APP=RawTherapee.app
|
||||
CONTENTS=${APP}/Contents
|
||||
RESOURCES=${CONTENTS}/Resources
|
||||
MACOS=${CONTENTS}/MacOS
|
||||
BIN=${MACOS}/bin
|
||||
ETC=${MACOS}/etc
|
||||
LIB=${MACOS}/lib
|
||||
SHARE=${MACOS}/share
|
||||
RELEASE=release
|
||||
DMG=${RELEASE}/rawtherapee_osx105_`date +%F`_`hg parents --template '{latesttag}+{latesttagdistance}-{node|short}'`.dmg
|
||||
EXECUTABLE=rt
|
||||
|
||||
#Find where MacPorts is installed. We take a known binary (cmake), which is in <MacPorts>/bin, and
|
||||
# go up a level to get the main install folder.
|
||||
MACPORTS_PREFIX=`which cmake`
|
||||
MACPORTS_PREFIX=`dirname $MACPORTS_PREFIX`
|
||||
MACPORTS_PREFIX=`dirname $MACPORTS_PREFIX`
|
||||
|
||||
if [ ! -d ${RELEASE} ]; then
|
||||
echo "Please run this from the root of the project; i.e. './tools/osx/make-app-bundle'."
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -d "${APP}" ]; then
|
||||
echo "Removing old application..."
|
||||
rm -rf "${APP}"
|
||||
fi
|
||||
echo "Removing any old disk images..."
|
||||
rm ${RELEASE}/rawtherapee*.dmg
|
||||
|
||||
echo "Making application directory structure..."
|
||||
mkdir -p "${RESOURCES}"
|
||||
mkdir -p "${ETC}"
|
||||
mkdir -p "${LIB}"
|
||||
mkdir -p "${SHARE}/mime"
|
||||
|
||||
#Copy over non-explicitly linked libraries
|
||||
echo "Copying libraries from ${MACPORTS_PREFIX}..."
|
||||
cp -R ${MACPORTS_PREFIX}/lib/pango ${LIB}
|
||||
cp -R ${MACPORTS_PREFIX}/lib/gtk-2.0 ${LIB}
|
||||
|
||||
#Copy over mimes (if a mime is copied, and nobody hears, is it really copied?)
|
||||
echo "Copying shared files from ${MACPORTS_PREFIX}..."
|
||||
cp -R ${MACPORTS_PREFIX}/share/mime/* ${SHARE}/mime
|
||||
|
||||
#Copy over etc files, and modify as needed
|
||||
echo "Copying configuration files from ${MACPORTS_PREFIX} and modifying for standalone app bundle..."
|
||||
cp -R $MACPORTS_PREFIX/etc/gtk-2.0 ${ETC}
|
||||
cp -R $MACPORTS_PREFIX/etc/pango ${ETC}
|
||||
ESCAPED_MACPORTS_PREFIX=`echo ${MACPORTS_PREFIX} | sed -e 's/\\//\\\\\\//g'`
|
||||
sed -i .bak -e "s/${ESCAPED_MACPORTS_PREFIX}/@executable_path/g" ${ETC}/gtk-2.0/gdk-pixbuf.loaders ${ETC}/pango/pango.modules
|
||||
echo -e "[Pango]\nModuleFiles = /tmp/${EXECUTABLE}_pango.modules" > ${ETC}/pango/pangorc
|
||||
|
||||
|
||||
#Copy over the release files
|
||||
echo "Copying release files..."
|
||||
cp -R release/* ${MACOS}
|
||||
|
||||
#Copy application-specific stuff like icons and startup script
|
||||
echo "Creating required application bundle files..."
|
||||
cp ./tools/osx/Info.plist ${CONTENTS}
|
||||
cp tools/osx/Icons.icns ${RESOURCES}
|
||||
cp tools/osx/start ${MACOS}
|
||||
|
||||
#Copy and relink the explicitly defined libraries
|
||||
echo "Recursively copying libraries referenced by executable..."
|
||||
checkLink "${MACOS}/${EXECUTABLE}"
|
||||
|
||||
|
||||
#Make a .dmg for distribution and delete the .app
|
||||
echo "Creating distribution .dmg..."
|
||||
hdiutil create -srcdir ${APP} ${DMG}
|
||||
echo "Cleaning up..."
|
||||
rm -rf ${APP}
|
||||
|
||||
echo "All done!"
|
20
tools/osx/start
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
CWD=`dirname "$0"`
|
||||
echo $CWD
|
||||
|
||||
export DYLD_LIBRARY_PATH="${CWD}/lib:$DYLD_LIBRARY_PATH"
|
||||
export GTK_DATA_PREFIX="${CWD}"
|
||||
export GTK_DATA_DIRS="${CWD}"
|
||||
export GTK_EXE_PREFIX="${CWD}"
|
||||
export GTK_PATH="${CWD}"
|
||||
|
||||
export GTK2_RC_FILES="${CWD}/etc/gtk-2.0/gtkrc"
|
||||
export GTK_IM_MODULE_FILE="${CWD}/gtk-2.0/gtk.immodules"
|
||||
export GDK_PIXBUF_MODULE_FILE="${CWD}/etc/gtk-2.0/gdk-pixbuf.loaders"
|
||||
export PANGO_RC_FILE="${CWD}/etc/pango/pangorc"
|
||||
|
||||
cp "${CWD}/etc/pango/pango.modules" /tmp/rt_pango.modules
|
||||
|
||||
"${CWD}/rt"
|
||||
|
BIN
tools/processing.png
Normal file
After Width: | Height: | Size: 865 B |
BIN
tools/processingb.png
Normal file
After Width: | Height: | Size: 860 B |
BIN
tools/processingw.png
Normal file
After Width: | Height: | Size: 856 B |
BIN
tools/saved.png
Normal file
After Width: | Height: | Size: 587 B |
BIN
tools/savedb.png
Normal file
After Width: | Height: | Size: 676 B |
BIN
tools/savedw.png
Normal file
After Width: | Height: | Size: 687 B |
BIN
tools/tail.png
Normal file
After Width: | Height: | Size: 608 B |
BIN
tools/tailb.png
Normal file
After Width: | Height: | Size: 659 B |
BIN
tools/tailw.png
Normal file
After Width: | Height: | Size: 689 B |
BIN
tools/trash.png
Normal file
After Width: | Height: | Size: 810 B |
BIN
tools/trashb.png
Normal file
After Width: | Height: | Size: 844 B |
BIN
tools/trashw.png
Normal file
After Width: | Height: | Size: 902 B |
BIN
tools/undelete.png
Normal file
After Width: | Height: | Size: 914 B |
BIN
tools/undeleteb.png
Normal file
After Width: | Height: | Size: 935 B |
BIN
tools/undeletew.png
Normal file
After Width: | Height: | Size: 975 B |
201
tools/vertical.svg
Normal file
@@ -0,0 +1,201 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.46"
|
||||
sodipodi:docname="vertical.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/gabor/RawTherapee/2.4/gui65_5/vertical.png"
|
||||
inkscape:export-xdpi="10.685388"
|
||||
inkscape:export-ydpi="10.685388">
|
||||
<defs
|
||||
id="defs4">
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Send"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow2Send"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path3244"
|
||||
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="scale(0.3) rotate(180) translate(-2.3,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow2Mend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path3238"
|
||||
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="scale(0.6) rotate(180) translate(0,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow2Lend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path3232"
|
||||
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="scale(1.1) rotate(180) translate(1,0)" />
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.4142136"
|
||||
inkscape:cx="353.61755"
|
||||
inkscape:cy="734.99896"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1679"
|
||||
inkscape:window-height="975"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2383" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:1;fill:#f0ff02;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path2385"
|
||||
sodipodi:cx="175"
|
||||
sodipodi:cy="137.36218"
|
||||
sodipodi:rx="25"
|
||||
sodipodi:ry="25"
|
||||
d="M 200,137.36218 A 25,25 0 1 1 150,137.36218 A 25,25 0 1 1 200,137.36218 z"
|
||||
transform="translate(10,90)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:1;fill:#f0ff02;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path2387"
|
||||
sodipodi:cx="175"
|
||||
sodipodi:cy="137.36218"
|
||||
sodipodi:rx="25"
|
||||
sodipodi:ry="25"
|
||||
d="M 200,137.36218 A 25,25 0 1 1 150,137.36218 A 25,25 0 1 1 200,137.36218 z"
|
||||
transform="translate(90,90)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:1;fill:#f0ff02;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path2389"
|
||||
sodipodi:cx="175"
|
||||
sodipodi:cy="137.36218"
|
||||
sodipodi:rx="25"
|
||||
sodipodi:ry="25"
|
||||
d="M 200,137.36218 A 25,25 0 1 1 150,137.36218 A 25,25 0 1 1 200,137.36218 z"
|
||||
transform="translate(10,10)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:1;fill:#f0ff02;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path2391"
|
||||
sodipodi:cx="175"
|
||||
sodipodi:cy="137.36218"
|
||||
sodipodi:rx="25"
|
||||
sodipodi:ry="25"
|
||||
d="M 200,137.36218 A 25,25 0 1 1 150,137.36218 A 25,25 0 1 1 200,137.36218 z"
|
||||
transform="translate(90,10)" />
|
||||
<g
|
||||
id="g3201"
|
||||
transform="translate(0.46154,2.6171874e-6)">
|
||||
<path
|
||||
transform="matrix(-1,0,0,-1,464.53846,379.72436)"
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="7.8539816"
|
||||
sodipodi:start="4.712389"
|
||||
d="M 305,152.36218 A 20,20 0 0 1 305,192.36218"
|
||||
sodipodi:ry="20"
|
||||
sodipodi:rx="20"
|
||||
sodipodi:cy="172.36218"
|
||||
sodipodi:cx="305"
|
||||
id="path3177"
|
||||
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
id="path3185"
|
||||
d="M 158.44857,227.3606 L 314.73908,227.3606"
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:url(#Arrow2Send);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<path
|
||||
id="path3187"
|
||||
d="M 139.53846,147.36218 L 289.53846,147.36218"
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<path
|
||||
id="path3189"
|
||||
d="M 160.08391,187.36218 L 290.08391,187.36218"
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<path
|
||||
transform="translate(-15.000001,-5)"
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="7.8539816"
|
||||
sodipodi:start="4.712389"
|
||||
d="M 305,152.36218 A 20,20 0 0 1 305,192.36218"
|
||||
sodipodi:ry="20"
|
||||
sodipodi:rx="20"
|
||||
sodipodi:cy="172.36218"
|
||||
sodipodi:cx="305"
|
||||
id="path5060"
|
||||
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
sodipodi:type="arc" />
|
||||
</g>
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:1;fill:#f0ff02;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path5062"
|
||||
sodipodi:cx="190"
|
||||
sodipodi:cy="212.36218"
|
||||
sodipodi:rx="10"
|
||||
sodipodi:ry="0"
|
||||
d="M 200,212.36218 A 10,0 0 1 1 180,212.36218 A 10,0 0 1 1 200,212.36218 z" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 8.6 KiB |