f-spot r4206 - in trunk: . src src/ColorAdjustment src/Filters



Author: rubenv
Date: Fri Jul 25 23:28:30 2008
New Revision: 4206
URL: http://svn.gnome.org/viewvc/f-spot?rev=4206&view=rev

Log:
2008-07-26  Ruben Vermeersch  <ruben savanne be>

	* src/ColorAdjustment/AutoStretch.cs: Added. Basically the old AutoStretch
	ported to reuse ColorAdjustment.

	* src/ColorAdjustment/ColorAdjustment.cs: Only add InputProfile and
	DestinationProfile on demand, needed to implement AutoStretch without
	crashing.

	* src/ColorAdjustment/Desaturate.cs:
	* src/ColorAdjustment/SepiaTone.cs:
	* src/Filters/ColorFilter.cs: Convert ColorFilter into something that
	reuses ColorAdjustment. Basically this was a huge double implementation.
	Some unit tests were not copied over, but the files needed to run them
	aren't available anyway...

	* src/ItemAction.cs: Use the noncolliding class name.

	* src/Makefile.am: Added ColorAdjustment/AutoStretch.cs.


Added:
   trunk/src/ColorAdjustment/AutoStretch.cs
Modified:
   trunk/ChangeLog
   trunk/f-spot.csproj
   trunk/src/ColorAdjustment/ColorAdjustment.cs
   trunk/src/ColorAdjustment/Desaturate.cs
   trunk/src/ColorAdjustment/SepiaTone.cs
   trunk/src/Filters/ColorFilter.cs
   trunk/src/ItemAction.cs
   trunk/src/Makefile.am

Modified: trunk/f-spot.csproj
==============================================================================
--- trunk/f-spot.csproj	(original)
+++ trunk/f-spot.csproj	Fri Jul 25 23:28:30 2008
@@ -8,7 +8,7 @@
     <OutputType>Exe</OutputType>
     <AssemblyName>f-spot</AssemblyName>
     <SchemaVersion>2.0</SchemaVersion>
-    <newfilesearch>OnLoad</newfilesearch>
+    <newfilesearch>OnLoadAutoInsert</newfilesearch>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -2308,6 +2308,325 @@
     <Content Include=".git\objects\ec\bb3f31bdd6994d27775ce5efc82fc6fce81eff" />
     <Content Include="extensions\SmugMugExport\SmugMugExport.dll.mdb" />
     <Content Include="extensions\SmugMugExport\SmugMugNet\SmugMugNet.dll.mdb" />
+    <Content Include="F-Spot.csproj" />
+    <Content Include=".git\logs\refs\heads\cairo-imageview" />
+    <Content Include=".git\logs\refs\heads\cleanup-filterreq" />
+    <Content Include=".git\objects\00\1bee6449973ec948e64e3f2110c12fcbbdc91d" />
+    <Content Include=".git\objects\00\ca0c8b7f00038f9e77934e74572b669154e018" />
+    <Content Include=".git\objects\02\5a6cb5104de532a408afc6cc0e320f15017924" />
+    <Content Include=".git\objects\03\109132c91ed08f175070664c82282b0e77c234" />
+    <Content Include=".git\objects\04\fe90405c66bdeb76b6c9176c2861ad0da76e0c" />
+    <Content Include=".git\objects\06\0692a9f2604ffd063afed25e32f3f6ae360bfa" />
+    <Content Include=".git\objects\06\157f01ff03954299e2021275d2698f56ed2f43" />
+    <Content Include=".git\objects\06\c8631fc91a3c5c250b5ddc0741fb7ff7d48d97" />
+    <Content Include=".git\objects\06\de037dc6a2321a02a690f970f282b63248ac76" />
+    <Content Include=".git\objects\07\63ff09b2f7ab8d733321fce20e83164a2b92fc" />
+    <Content Include=".git\objects\07\87390d062b8970b3a6f3fcca0f0f4a7f31b05c" />
+    <Content Include=".git\objects\07\8d410742c0869112e7bad0c7b8fd82512b52ec" />
+    <Content Include=".git\objects\08\5e87865d2bcefd97427444ab250d003a87769b" />
+    <Content Include=".git\objects\08\9cdab301bcd0849069d810858febfda593a1c8" />
+    <Content Include=".git\objects\08\9f0343f41c1d4c9d20ad830d1e9181d51ac3db" />
+    <Content Include=".git\objects\09\0d464aa3015806a4875072bc564924d32e6ec9" />
+    <Content Include=".git\objects\09\19d7b1c728a1e3b32e997e49c3b8b085037343" />
+    <Content Include=".git\objects\09\53d6890c2ec1d0868950e361d5959d24b73e2b" />
+    <Content Include=".git\objects\09\56ec2f04cae2167a917877708b58f549d6f910" />
+    <Content Include=".git\objects\0a\5dbb8dbd69ebd2e6ddc520c2ca0250d0a472dd" />
+    <Content Include=".git\objects\0b\aa822faf449084ccd2d23eaf9a7012bfb00a88" />
+    <Content Include=".git\objects\0d\87237b6f8fb9e5718df2da4024080c7a341ea1" />
+    <Content Include=".git\objects\0e\218ff9a42f6dedcc0afa96cb79870617be2d32" />
+    <Content Include=".git\objects\0e\4d9e82eb225b765f5e56974071c890653103a5" />
+    <Content Include=".git\objects\10\21a167d6ae1133bbda07eb102d0f7ed84b134d" />
+    <Content Include=".git\objects\11\f6a18a285017d3e0d5eba30251773b5af72964" />
+    <Content Include=".git\objects\12\060d5a814285ca3b2aabc7685c3d62f8584dad" />
+    <Content Include=".git\objects\12\6fdc9a99986def1fb651ce72ade8649bd93d75" />
+    <Content Include=".git\objects\12\f7e315b03ab9ac2c3a48674f15f4cc843dee0f" />
+    <Content Include=".git\objects\15\2e1e5ef4359512c80624624ab649a6aaf1c1fe" />
+    <Content Include=".git\objects\16\4aeaf7b16e3ff6594534df8810eb0c08f6b6eb" />
+    <Content Include=".git\objects\17\5431473948213e789d7abc3010cd54a2568d79" />
+    <Content Include=".git\objects\17\d9b0718cab04e0945d6bf8db75fec311804cbe" />
+    <Content Include=".git\objects\18\1c746f0773463e075d0718c5cbddb04ffd5de7" />
+    <Content Include=".git\objects\19\d82c2fef5c5cd420415ccb4a391afbd33bc03e" />
+    <Content Include=".git\objects\1a\701797554324af6a469565bb25857b71a8949c" />
+    <Content Include=".git\objects\1a\c1adf4a6b829e5ac03b8364d6d305939565c6b" />
+    <Content Include=".git\objects\1b\22ccf8bd29bc6002a5018a8efbc3854b592234" />
+    <Content Include=".git\objects\1b\392988837e8c534e92e35c680c44426083e730" />
+    <Content Include=".git\objects\1b\b0bd32f43ecc4d9b72ac3fa911771872ba933f" />
+    <Content Include=".git\objects\1c\2f240e4c8e32b7e01f01a3ec6b7aee7578b453" />
+    <Content Include=".git\objects\1d\51bf591ff70c5b1a6364ab7d96ad57c3b44e79" />
+    <Content Include=".git\objects\1f\5361159a13c471d54dc3a14ff9c71552f53464" />
+    <Content Include=".git\objects\1f\91c9ade76419a032f5c8beb51b5e90abad4166" />
+    <Content Include=".git\objects\1f\d74c80a854082026cb94ddbae215bf25f58fa1" />
+    <Content Include=".git\objects\20\21a06bf51365a4f6a184dca440586acbca5122" />
+    <Content Include=".git\objects\20\a6ca21e9337726fe722ae58850e396a1c064db" />
+    <Content Include=".git\objects\21\a1101805a4260ae6308a2d945720eed95e353e" />
+    <Content Include=".git\objects\21\fee10fb1ad59619a99ac2917745772b11da5a0" />
+    <Content Include=".git\objects\23\403590f64279bb03900f2515d70a0abc911719" />
+    <Content Include=".git\objects\23\8927360d022494faa0a9251910b6bfb1ed97cc" />
+    <Content Include=".git\objects\25\725ec6a9de6546eaa781b62e8d3c55e54aeebb" />
+    <Content Include=".git\objects\27\16eb4093458725defaed848451face38d685ee" />
+    <Content Include=".git\objects\27\b1c8bed25ab311aefcc681730b305f217ab4c6" />
+    <Content Include=".git\objects\27\c96f45532deb31531369b22197f6ceba81fbfe" />
+    <Content Include=".git\objects\29\081a94219000857b684798f4cf7a922e9203be" />
+    <Content Include=".git\objects\29\ac98c60f56db8ab8a603d5d6a4dc657e183bb1" />
+    <Content Include=".git\objects\29\d2c3e01833c7e9402567c26f505552c2a9c422" />
+    <Content Include=".git\objects\2a\6ed1f6a5fc9863de77c4504c68d2117a8569bc" />
+    <Content Include=".git\objects\2f\b6bd4de05cef99eff2558addb5270a559047ed" />
+    <Content Include=".git\objects\30\2620c49404e097164a9af72eb0e0caceb6b4a2" />
+    <Content Include=".git\objects\31\61cd71c45b7c61e30877d6412b10c59b3a05c9" />
+    <Content Include=".git\objects\31\d79d79e1b47f60ba62db62768d32a61d0e43c3" />
+    <Content Include=".git\objects\32\a7818443db961e2cf4812411ea5e81055797d4" />
+    <Content Include=".git\objects\33\8f31dcbe29ae42728f1d9e1d38c51e6136db32" />
+    <Content Include=".git\objects\33\cf5c603ab99a41337d669b3a902771598ba5cb" />
+    <Content Include=".git\objects\35\19d6ca15b106e402a0e6d8d9f7a35cecf292a9" />
+    <Content Include=".git\objects\35\418b9e0f861571cce2fe0d3ba214fc56e1f8de" />
+    <Content Include=".git\objects\35\4d7483683cc29689953fd897b427c30cd18ced" />
+    <Content Include=".git\objects\38\4425f55c0fe502e1b6ee9adfcfefccec59cb17" />
+    <Content Include=".git\objects\39\1d4644320f885c3169e86d6964b6ef1368f08e" />
+    <Content Include=".git\objects\39\dbd5538938d532144d021641e4856e1b44a14a" />
+    <Content Include=".git\objects\3b\c282324167cbaf91c1cacff9a001e4553c7eed" />
+    <Content Include=".git\objects\3c\baba1fbfc55b26789e3fb832a4c1baa34cf07b" />
+    <Content Include=".git\objects\3d\ad8edd15c79441b2639d582762ce5eadf2084a" />
+    <Content Include=".git\objects\3e\425b7a09451c7ca66f0d6263b4aee3f9fbe23d" />
+    <Content Include=".git\objects\3f\3e3833bfdc2c3cb7052455a63617c292e7757b" />
+    <Content Include=".git\objects\3f\61ec29a666c9a99d6c79154b2e6bedbfc86567" />
+    <Content Include=".git\objects\3f\ce2b65211249b7fe048204dfa90eefd2d7e86d" />
+    <Content Include=".git\objects\40\3e2e1ad7e3cecd2c2b0aede34d76a401175fe2" />
+    <Content Include=".git\objects\43\495a81ef8a02e679c78c966f2f6f1d2929f2a6" />
+    <Content Include=".git\objects\44\c849177d19d7dbf5a16818f5861f008c432645" />
+    <Content Include=".git\objects\46\0a0093007f0e8ab98e4fd9b0ae80cf83e40cd4" />
+    <Content Include=".git\objects\46\4e863dfb986c266dff284930fcab8a7c843d53" />
+    <Content Include=".git\objects\47\6dce979c4e12cdd8e916e4ef2fc28d118631ea" />
+    <Content Include=".git\objects\47\a259409c97819b88f47d6ec6703aef9e087e0f" />
+    <Content Include=".git\objects\47\a33f560df4d8030d4fcaa588c00060b3e082f6" />
+    <Content Include=".git\objects\48\559df7e2fe563043c0facf69ef7fd08ccc24aa" />
+    <Content Include=".git\objects\48\7c30978f52e896fabed2571b470f47db136810" />
+    <Content Include=".git\objects\48\a849f4bba9656e2589c88ac2c6261e518af57d" />
+    <Content Include=".git\objects\48\af9af0ee77945868055b658bf86acfbac8a279" />
+    <Content Include=".git\objects\48\e13d457d8e68d27907900fcc0892acc9ee0247" />
+    <Content Include=".git\objects\4b\0a98270cd0190459d7ff537636c8090b2be9bc" />
+    <Content Include=".git\objects\4b\ceebfe0214762a4d1e44c59e48c274b278af65" />
+    <Content Include=".git\objects\4c\87c6b5063d31017b995918587c773415870101" />
+    <Content Include=".git\objects\4e\596bfc8362c72b0046aea8625a3a5a5a570b44" />
+    <Content Include=".git\objects\4e\b7ad1fc64e8fb009cc519be05829a32938dc7d" />
+    <Content Include=".git\objects\4e\bf172456176fa236b4bc8c0f8e1c30337893fa" />
+    <Content Include=".git\objects\4f\1c7b837d6f6dbff0b30df35db8a2aaf75f7c25" />
+    <Content Include=".git\objects\50\4c86be07d7dc95d253576b37481149429c510f" />
+    <Content Include=".git\objects\53\77b651033c61b67bd130169378d8e7c32ce8c5" />
+    <Content Include=".git\objects\55\5def7dd8c20795c7dd287724ad7a144feefcf3" />
+    <Content Include=".git\objects\55\8eb12ec98091868fc68bc83d4eefd1828d7474" />
+    <Content Include=".git\objects\56\79974b19156722a0b4c97bbc8450327b33268a" />
+    <Content Include=".git\objects\56\b382dc128cdfef61a3fb4e56542161b10cd9f5" />
+    <Content Include=".git\objects\56\bbb14ee6a23cc8cb765385e65b9727b6c23acc" />
+    <Content Include=".git\objects\58\9e0356a8612b392439d2745ff7ae42ca7577e1" />
+    <Content Include=".git\objects\59\4147a0a3f01a73cc03381e1be2e916d6803642" />
+    <Content Include=".git\objects\59\5dc33db2ff9a4fbea0466a382bc5e0c056b753" />
+    <Content Include=".git\objects\59\7d5a4ada3cf602f80d0fe70f5a0cb406bc74a7" />
+    <Content Include=".git\objects\59\c933d73cdae2506d107a2f489efef9a706f9a5" />
+    <Content Include=".git\objects\59\cadc73ca59e1fb1baffeecfb46c4b85ba656d4" />
+    <Content Include=".git\objects\59\fdd3039464c532acd393d855a2c8f9091dd133" />
+    <Content Include=".git\objects\5a\7a6943010ee0861a5c838adab661e1e14dd6b5" />
+    <Content Include=".git\objects\5a\f6c40572bacec997ad0ffc42f3b36e90785837" />
+    <Content Include=".git\objects\5e\a80badce43a5f881271f31e05ae71c593d8332" />
+    <Content Include=".git\objects\5f\0c7d445268d9d9724f8deba8e44ce9317f1ee5" />
+    <Content Include=".git\objects\60\6b0d06ad8bf9c91a3b7ece20e7e3b029d2f3d6" />
+    <Content Include=".git\objects\60\e6ed3bded7d13c044e7701d3078634cc77ffce" />
+    <Content Include=".git\objects\63\042f15655ae9d53f902182f8a2b60099d1f4c5" />
+    <Content Include=".git\objects\64\342263e7814da6e135e59e4121e2413a8f8bc3" />
+    <Content Include=".git\objects\65\a93724fbad8cc7fb61b5c2ef592a1ff09b6d26" />
+    <Content Include=".git\objects\65\ab666810e41a6a1b973fe254211b29e61efd5c" />
+    <Content Include=".git\objects\66\99509c164ad5390d931a2dd1f85dc2bf6f9599" />
+    <Content Include=".git\objects\66\b8bb9e05c5c1ce6b05e73903641daec2273168" />
+    <Content Include=".git\objects\66\e4fd4d8870fb75da82c9cc704a5054856a5fb9" />
+    <Content Include=".git\objects\67\2699513e48d9e493690cea9adca496aa66acda" />
+    <Content Include=".git\objects\67\538b17355f005e4ae8ac6a19570182f04c312f" />
+    <Content Include=".git\objects\67\ea653fdbef5fef87e85315ea4fccb2c3497e2d" />
+    <Content Include=".git\objects\69\235f5657e14bfdd192f44963fe4a6917071363" />
+    <Content Include=".git\objects\69\5309959ff45526677c9264197f7b57f246d1d6" />
+    <Content Include=".git\objects\6a\7ec64722c241cdc69b141e625c5ab0019c5128" />
+    <Content Include=".git\objects\6b\760d55b72df664f18fd393c7cf65349647e088" />
+    <Content Include=".git\objects\6d\4fb38506f930b55b29fb9df580f7ceee39a330" />
+    <Content Include=".git\objects\6e\d6029a3d2011303d1e5a34e1c1503cc04f8c23" />
+    <Content Include=".git\objects\6e\e1fcf5c889491588369828895f5eb1161354a6" />
+    <Content Include=".git\objects\70\28f888025c8f973dba32efc4ee8e9fb27e5d0a" />
+    <Content Include=".git\objects\70\465d93b5e59705a11fdbb710875fa50677db87" />
+    <Content Include=".git\objects\70\99e86e5be3ced0960728ef53a7bad8a0a747aa" />
+    <Content Include=".git\objects\70\c29d966579dabd9519cb5c602237bca1e1d3b9" />
+    <Content Include=".git\objects\72\1d22def3aeda54a6e8b0ac1add08828c7588e9" />
+    <Content Include=".git\objects\72\a8431887385c6b79592c24ef8a8969c31f08e1" />
+    <Content Include=".git\objects\73\50c4670ad70db73291eea5830eb463585a6871" />
+    <Content Include=".git\objects\75\84602f62d0f574838a6c5096b362a5c85d5a97" />
+    <Content Include=".git\objects\75\b929b7726fe4caeac35f121763184473f0b3e5" />
+    <Content Include=".git\objects\75\daeeaa5cbded6cad60cc64fb72b628234dfc84" />
+    <Content Include=".git\objects\76\2a4a91013bc23496a65261198a876ef2b077cb" />
+    <Content Include=".git\objects\77\8810fa70752048d3b955d1dd5e5a21b15f0c09" />
+    <Content Include=".git\objects\78\e129ca898b3d436f1a8c94107d13b288573dd4" />
+    <Content Include=".git\objects\79\0a4b6beca7cc800f3dcea0c432eff382c25d04" />
+    <Content Include=".git\objects\7a\2f7350019e9ac9c4b619fb3e82e7a60d87edd3" />
+    <Content Include=".git\objects\7a\850dd6d70e6e060c8f62b61300e9234353cdce" />
+    <Content Include=".git\objects\7c\e122f7293f14c9290a9e4d24ae46c8bca09353" />
+    <Content Include=".git\objects\7d\4d873045ad2a162beefd7c861b6d8963b5efc2" />
+    <Content Include=".git\objects\7e\07bab9bfae413df0b70f4707204598d81ccb95" />
+    <Content Include=".git\objects\7e\4b3d2b9a476b06ec40f5a439c4ea090c693c78" />
+    <Content Include=".git\objects\7e\dc8358a496b787bfb3c57d608b9c154d784cdd" />
+    <Content Include=".git\objects\80\7eeadf16d287cf7bf7c43b6bab4ee2eb2751a6" />
+    <Content Include=".git\objects\81\c41105f5b0e13268b342a5e3930d62653c3850" />
+    <Content Include=".git\objects\82\349af847a80588c6c19f0238370b6e7352234f" />
+    <Content Include=".git\objects\82\9ad38aaeedb252a748074c0b485266e825f1cf" />
+    <Content Include=".git\objects\83\21354619b1d5357320b136429016a21ab9abee" />
+    <Content Include=".git\objects\83\26231d79c0c3c9a48e8124982382a7655e9b9a" />
+    <Content Include=".git\objects\83\6196ce487ed4a49fd99c931d74ff68a9ec4cbe" />
+    <Content Include=".git\objects\83\e5c33c2166dc5fae4001b91e95235bf475cebb" />
+    <Content Include=".git\objects\84\775fb3d72ce2f7772d5863d6ba256993c71f8e" />
+    <Content Include=".git\objects\86\7bee7d29577e0ceabc774506df87f259d8a705" />
+    <Content Include=".git\objects\86\829a9812bc08328640834e86b544339b536aa4" />
+    <Content Include=".git\objects\86\e04d6e4763be0f9be1493a4306e1579908284a" />
+    <Content Include=".git\objects\87\4fee9f886d3e37d41bb6661a7568a35f413508" />
+    <Content Include=".git\objects\87\650c215b1420ed539a4256f90ce9c66c334d20" />
+    <Content Include=".git\objects\87\dba9e4d19c21f18ab7949174df7cfe36c78a0a" />
+    <Content Include=".git\objects\87\e4f97d3d075e4ae9ece9996a689ce7adef24e2" />
+    <Content Include=".git\objects\88\75a047f7a34d04e0db084d2e7180673cf37889" />
+    <Content Include=".git\objects\89\30dc9d7febbaa9497c10be9259d891b77012b3" />
+    <Content Include=".git\objects\89\9714bbcf87b8a2e0b40528be6fad6299d43a3a" />
+    <Content Include=".git\objects\8a\05be40462efe4fe707b9d52354fa46d1b92286" />
+    <Content Include=".git\objects\8c\154714e85b783eac1517ee7677c82dd49e5c23" />
+    <Content Include=".git\objects\8c\f9aad5a6a4e3bea6996073c4ec527c13ef1132" />
+    <Content Include=".git\objects\8d\189ffb99cfd33ffb938bf787a9435389c9ef04" />
+    <Content Include=".git\objects\8d\4cbed34838cb2d7129991fe43a1d96b45ab43e" />
+    <Content Include=".git\objects\8d\740434ec75b9d79dc84d82604c2bc04fa7308f" />
+    <Content Include=".git\objects\8f\203559ccb04bd7468f2ea1e8af4f3cfea9a665" />
+    <Content Include=".git\objects\90\ad1cc4b3568eb86a9a776de17ca7fc51e5101e" />
+    <Content Include=".git\objects\92\72c6a86d8faad4b8f6486dd1e26a3391f001ae" />
+    <Content Include=".git\objects\92\8abe7db9c655b62784a18f425e9a000ff87e6c" />
+    <Content Include=".git\objects\92\cc56da0e8bb0a70eab58c0198c70458e04fcde" />
+    <Content Include=".git\objects\93\ac447850be52faf4feeb9c34e24ebedf20907d" />
+    <Content Include=".git\objects\96\e4f98d2944160ce9be16d895ced7654a0a6c6f" />
+    <Content Include=".git\objects\96\e83b64f5efb6bb20c52fe339f1e3845714a65a" />
+    <Content Include=".git\objects\96\fd1c4017b44bee3cb94294e4f676cf814ad69d" />
+    <Content Include=".git\objects\97\a9455253729b00471d9a667fa217f1aaebf5c1" />
+    <Content Include=".git\objects\98\9f56660162027fd10e7aaba21e6415d966178f" />
+    <Content Include=".git\objects\99\8862f88c337d3f6f603c745310d3a6437f6532" />
+    <Content Include=".git\objects\99\eced657aa6c9cc9ac7378005210e3dbb17ac94" />
+    <Content Include=".git\objects\9a\10317e9c378fa84c357233142966c1b2b36d48" />
+    <Content Include=".git\objects\9a\7707cfc800c4348cc686b6e36ba5b4575b3ce8" />
+    <Content Include=".git\objects\9b\b7c8d864ad673a21b581d6f4fb96faf3292529" />
+    <Content Include=".git\objects\9b\d114b87b009c3eabbde97580791a164913b555" />
+    <Content Include=".git\objects\9c\e07cdb61ac297eb01c0cac8f597b751f8292d2" />
+    <Content Include=".git\objects\9d\c3ca6aae7692603ea1a8f5798b1fbf966d7f69" />
+    <Content Include=".git\objects\9d\e77cabc2d8562ac00c27a0957b5d641b36cf89" />
+    <Content Include=".git\objects\9e\53eabf9614b5e2a4f61c1ee688ecab6d5ae278" />
+    <Content Include=".git\objects\9e\9a0dd8b7a00a55537ca0c166e114e886c156cd" />
+    <Content Include=".git\objects\9f\a1ea1ba7a45c93f1766dd3477514b8ab68f3f0" />
+    <Content Include=".git\objects\a0\8f1fc0cf2549fcd35b9db854deef1211aee37e" />
+    <Content Include=".git\objects\a0\cf778eccc9f6d47f69cf14da1ca3e6cc5059c3" />
+    <Content Include=".git\objects\a1\ce6232d984edfa636cb8307723b22e3ba210a6" />
+    <Content Include=".git\objects\a1\fa9c7112af79d17680b62b0aade7116589f302" />
+    <Content Include=".git\objects\a2\973a02fe526e84e82c85262c886affb12afa28" />
+    <Content Include=".git\objects\a3\8b97576d704c2dc557b065fa129916343b0e5a" />
+    <Content Include=".git\objects\a5\fa5694263b489fe0d8e3f9651cea6bd07e13a9" />
+    <Content Include=".git\objects\a7\02241c1d383732dbcd1b6bd56263dcb23cd7cf" />
+    <Content Include=".git\objects\a7\df34387dd7dd3705468a085331809e5c33d6fb" />
+    <Content Include=".git\objects\a8\51155ed36f6177670ebeed88932b95687a5b1b" />
+    <Content Include=".git\objects\a9\2f90226efeb2b4123a21b4a4cecafe5c2cd93b" />
+    <Content Include=".git\objects\a9\4f4e88c3bebe8e176c6be675b53bb25ed85fe6" />
+    <Content Include=".git\objects\aa\c0cab58b456655c8c721bfa089e345f6d34239" />
+    <Content Include=".git\objects\aa\ec7053c09083ef3687943e10dd4dfe30517004" />
+    <Content Include=".git\objects\aa\f3066275b7edcc7b365500fee60a6ff0e5a9d0" />
+    <Content Include=".git\objects\ad\31d3aee16313bfd1026d80e983298ba6913561" />
+    <Content Include=".git\objects\ad\34a0dc14407ae8b479c4b28d73fb2498bee511" />
+    <Content Include=".git\objects\ad\db6b1957743285e01c73fc19047055b061e48a" />
+    <Content Include=".git\objects\b0\6d19af9c1f229d2f614f9d768473d309a78fc5" />
+    <Content Include=".git\objects\b2\23f6fdeb53ffeae2de200a31ce9a848ed639ec" />
+    <Content Include=".git\objects\b2\e8451ab876307ac0ac79514077888235b579cf" />
+    <Content Include=".git\objects\b4\0217f461756d6f1926180f630b0144b1411c1a" />
+    <Content Include=".git\objects\b4\3944ea8d231c13b0f5146fdaf8fe7ef248896a" />
+    <Content Include=".git\objects\b4\e15b182feca659e4122f9373fcdad01ac3e806" />
+    <Content Include=".git\objects\b5\151c579ffa9e6be1411b9b98f2cc82826b96d4" />
+    <Content Include=".git\objects\b6\8d16ad19210436bfc7f6b2c639dce0bbafced2" />
+    <Content Include=".git\objects\b6\916ae808393d3386b694a7724b4fe656d2ee24" />
+    <Content Include=".git\objects\b7\35c1b491e1e6adf09cda3f8bec629d4d178884" />
+    <Content Include=".git\objects\b8\28cc29dffb2054bebec6f327493fce7137e60f" />
+    <Content Include=".git\objects\bc\0cd5a5c42aa138e1d2351b3948a8a087bbfebe" />
+    <Content Include=".git\objects\bc\5fa2c18b3ac73f7ceb045f7dc29709bdede562" />
+    <Content Include=".git\objects\bd\2b4440d3785c640a4edb3a0bbcbf00bb5e99ef" />
+    <Content Include=".git\objects\be\8b3001681114001cda021836680a2de5e5aefc" />
+    <Content Include=".git\objects\be\9fee4c1b5d2c46def2a9687789c0b94671b5d2" />
+    <Content Include=".git\objects\c0\3f2a8832d35efa0efef190e4e6906689baf9ad" />
+    <Content Include=".git\objects\c1\e3a1f805722c9bbb76f5810ab1059f84533b39" />
+    <Content Include=".git\objects\c4\54637c6c2e7a02c4ef5cd7ee6fc32a5e0ed0ba" />
+    <Content Include=".git\objects\c5\a3b8d38b169b9d362f09a9a025f8d7dafa5103" />
+    <Content Include=".git\objects\c7\b3653940e229cf5e986d8fc11c2b3040ee3adc" />
+    <Content Include=".git\objects\c8\c94b4acfef04189ce8d0b7147978481abf3116" />
+    <Content Include=".git\objects\c9\9af499d6ae6d97b851409e639b616f27607b1d" />
+    <Content Include=".git\objects\c9\b118c5014044db81da78029ae036048ac9c3f6" />
+    <Content Include=".git\objects\c9\ec421a366c902e55c23d343d39b0899eb20cb7" />
+    <Content Include=".git\objects\ca\57e0144191bb3bf150c6d4a7e3cd028f90fdc2" />
+    <Content Include=".git\objects\cb\b1dfc08d8565068f673ef31acb10bd4d37cce1" />
+    <Content Include=".git\objects\cb\e84736c27c7e76914c1abf8d9411b6d84b5445" />
+    <Content Include=".git\objects\cc\0f7dcbbb474cb0ea18c168ceac7b710f228c92" />
+    <Content Include=".git\objects\cc\36a1d0a464988651c90167cc1c3a6a82346b63" />
+    <Content Include=".git\objects\cc\b61e6fa863c5c1c643a8e983b91226d6f5d678" />
+    <Content Include=".git\objects\ce\246b6a3890f4788254ccab02bcdeee23ab3410" />
+    <Content Include=".git\objects\ce\bdd01ae034f16035da9b41334ae81e988cf8ae" />
+    <Content Include=".git\objects\cf\921eaf9f0d350f52d7c6130812ab9a06177781" />
+    <Content Include=".git\objects\cf\e44adcd043db6858795123278df4a4b517499d" />
+    <Content Include=".git\objects\d0\c77883795d988706702bbee23ad30b7960bb5e" />
+    <Content Include=".git\objects\d2\79e8e7c56d804a2400f51eebf0b45fd9ae5f42" />
+    <Content Include=".git\objects\d4\25b812195d007991db2538fdf302f6e9096b55" />
+    <Content Include=".git\objects\d4\b0529fa9e8dfdfae733bdb9d17169889f18706" />
+    <Content Include=".git\objects\d5\a14ffdfa8196a6546c39608c3781f320e3f754" />
+    <Content Include=".git\objects\d9\85595a28fad169f2c20dfc10f23dcb3523af7f" />
+    <Content Include=".git\objects\dd\b3cc3c228d1e37320e84d95e801872fe59152f" />
+    <Content Include=".git\objects\de\bf4b36e17a33ee54a9d44088f0c8c6ef0c2091" />
+    <Content Include=".git\objects\df\2a0cf97c0faae5da1cc68f3ba18f3a5b27f8ed" />
+    <Content Include=".git\objects\e0\18c3ed9b4ebaf6f8b7e89d67c11dd8f30a96ac" />
+    <Content Include=".git\objects\e0\9b0d9aacbd0f848e9c1746939da33730951274" />
+    <Content Include=".git\objects\e1\0bca2e0b053682548765e40ef48ed6db27c851" />
+    <Content Include=".git\objects\e1\0ce4dcae46445d9b000892a51dbfd7c4201009" />
+    <Content Include=".git\objects\e1\675bdd51e9b6c3cca775fd1a06706dd15002c7" />
+    <Content Include=".git\objects\e1\d52c079f7fb16416e14d888ded9162f788ad8d" />
+    <Content Include=".git\objects\e1\e318641e72e31f8fad7c51ff86c83c1a3a177c" />
+    <Content Include=".git\objects\e2\13929d6f306d7e4006da89b68850207da7f591" />
+    <Content Include=".git\objects\e2\3ec528c902c79922ae22a10ab144c53a01777d" />
+    <Content Include=".git\objects\e3\375aa86f3bb99cb8384e296f765cfbcd816386" />
+    <Content Include=".git\objects\e3\b33cac10305ab6935a2b10f2b525e99083b4bf" />
+    <Content Include=".git\objects\e5\b7851290334c774ead4f3edd1b10acf980d3ed" />
+    <Content Include=".git\objects\e9\b5f484850267f5f49452b3cc5bd7b538c6745f" />
+    <Content Include=".git\objects\eb\4022d4273abbde5a6b1d6e89148bdcaedb3df8" />
+    <Content Include=".git\objects\eb\484d5e1b74b74aa16337cd92d0e35d05c670e1" />
+    <Content Include=".git\objects\eb\c8fef23313aaf1517617bd01405554e9cd28be" />
+    <Content Include=".git\objects\ed\d42fea2b688e8b97acd1b073e6de3e4206538c" />
+    <Content Include=".git\objects\ee\e653e1e668deea5ed55c997fc1054a80aeebb6" />
+    <Content Include=".git\objects\f2\c62101921a7de795ab791867b68e47d2bdb04a" />
+    <Content Include=".git\objects\f4\76246b7ca7e06425f82c563cc9a4498cdee7b8" />
+    <Content Include=".git\objects\f6\1707adb9061892a852542abef3aeaf4f53beb7" />
+    <Content Include=".git\objects\f6\57b98e76b2ff371123b1a33bedb9e35aa68e3d" />
+    <Content Include=".git\objects\f6\7c265d8fb2a431cfead7ba1351297bcdf8d552" />
+    <Content Include=".git\objects\f7\55557e62e179c28b35061511afb7805f1fbb01" />
+    <Content Include=".git\objects\f7\63fed2a3328dd065982b0d5fac15790b839c45" />
+    <Content Include=".git\objects\f8\5211ac0b9583b882b2f14398a88f6b7897efbd" />
+    <Content Include=".git\objects\f8\c2328da18ffa242e2a4f462f17d7a5ff5c7b7c" />
+    <Content Include=".git\objects\f9\a04d60860ff6cb611ae3ac9e44354f6afccc6d" />
+    <Content Include=".git\objects\fb\d108f8373a68c7ee6d7c101d42e4dcd4ec31f6" />
+    <Content Include=".git\objects\fc\36997654c5385d87cc565162494e0a9966a08c" />
+    <Content Include=".git\objects\fc\b2cc966503c1872c7e1e57c9e3d3a02095b3b7" />
+    <Content Include=".git\objects\ff\0dd2388c37493b687a33eb401d3d7c413d442d" />
+    <Content Include=".git\objects\pack\pack-4a815c66eb6a57dc83673a493cfc17d86e49ccf2.idx" />
+    <Content Include=".git\objects\pack\pack-4a815c66eb6a57dc83673a493cfc17d86e49ccf2.pack" />
+    <Content Include=".git\refs\heads\cairo-imageview" />
+    <Content Include=".git\refs\heads\cleanup-filterreq" />
+    <Content Include="dpap-sharp\ChangeLog" />
+    <Content Include="dpap-sharp\dpap-client\Main.cs" />
+    <Content Include="dpap-sharp\dpap-server\AssemblyInfo.cs" />
+    <Content Include="dpap-sharp\dpap-server\Main.cs" />
+    <Content Include="dpap-sharp\lib\Album.cs" />
+    <Content Include="dpap-sharp\lib\Photo.cs" />
+    <Content Include="gtk-gui\generated.cs" />
+    <Content Include="gtk-gui\gui.stetic" />
+    <Content Include="libfspot\.libs\libfspot.so.0.0.0T" />
+    <Content Include="src\ColorAdjustment\AutoStretch.cs" />
+    <Content Include="src\ColorAdjustment\ColorAdjustment.cs" />
+    <Content Include="src\ColorAdjustment\Desaturate.cs" />
+    <Content Include="src\ColorAdjustment\SepiaTone.cs" />
   </ItemGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Build|AnyCPU' ">
     <DebugType>none</DebugType>

Added: trunk/src/ColorAdjustment/AutoStretch.cs
==============================================================================
--- (empty file)
+++ trunk/src/ColorAdjustment/AutoStretch.cs	Fri Jul 25 23:28:30 2008
@@ -0,0 +1,58 @@
+/*
+ * AutoStretch.cs
+ * 
+ * Author
+ *   Larry Ewing <lewing novell com>
+ *   Ruben Vermeersch <ruben savanne be>
+ *
+ * See COPYING for license information
+ *
+ */
+using Cms;
+using Gdk;
+using System;
+using System.Collections.Generic;
+
+namespace FSpot.ColorAdjustment {
+	public class AutoStretch : ColorAdjustment {
+		public AutoStretch (Pixbuf input, Cms.Profile input_profile) : base (input, input_profile)
+		{
+		}
+
+		protected override List <Cms.Profile> GenerateAdjustments ()
+		{
+			List <Cms.Profile> profiles = new List <Cms.Profile> ();
+			Histogram hist = new Histogram (Input);
+			tables = new GammaTable [3];
+
+			for (int channel = 0; channel < tables.Length; channel++) {
+				int high, low;
+				hist.GetHighLow (channel, out high, out low);
+				System.Console.WriteLine ("high = {0}, low = {1}", high, low);
+				tables [channel] = StretchChannel (255, low / 255.0, high / 255.0); 
+			}
+			profiles.Add (new Cms.Profile (IccColorSpace.Rgb, tables));
+			return profiles;
+		}
+
+		GammaTable StretchChannel (int count, double low, double high)
+		{
+			ushort [] entries = new ushort [count];
+			for (int i = 0; i < entries.Length; i++) {
+				double val = i / (double)entries.Length;
+				
+				if (high != low) {
+					val = Math.Max ((val - low), 0) / (high - low);
+				} else {
+					val = Math.Max ((val - low), 0);
+				}
+
+				entries [i] = (ushort) Math.Min (Math.Round (ushort.MaxValue * val), ushort.MaxValue);
+				//System.Console.WriteLine ("val {0}, result {1}", Math.Round (val * ushort.MaxValue), entries [i]);
+			}
+			return new GammaTable (entries);
+		}
+
+		GammaTable [] tables;
+	}
+}

Modified: trunk/src/ColorAdjustment/ColorAdjustment.cs
==============================================================================
--- trunk/src/ColorAdjustment/ColorAdjustment.cs	(original)
+++ trunk/src/ColorAdjustment/ColorAdjustment.cs	Fri Jul 25 23:28:30 2008
@@ -10,6 +10,8 @@
  * See COPYING for license information
  *
  */
+
+using FSpot.Utils;
 using Cms;
 using Gdk;
 using System.Collections.Generic;
@@ -21,7 +23,7 @@
 		private Cms.Intent intent = Cms.Intent.Perceptual;
 
 		// This is the input pixbuf, on which the adjustment will be performed.
-		private readonly Gdk.Pixbuf Input;
+		protected readonly Gdk.Pixbuf Input;
 
 		private Cms.Profile input_profile;
 		public Cms.Profile InputProfile {
@@ -47,8 +49,8 @@
 
 		public ColorAdjustment (Pixbuf input, Cms.Profile input_profile)
 		{
-			this.Input = input;
-			this.input_profile = input_profile;
+			Input = input;
+			InputProfile = input_profile;
 		}
 
 		protected abstract List <Cms.Profile> GenerateAdjustments ();
@@ -59,11 +61,7 @@
 							   false, 8,
 							   Input.Width,
 							   Input.Height);
-			profiles = new List <Cms.Profile> (4);
-			profiles.Add (InputProfile);
-			profiles.AddRange (GenerateAdjustments ());
-			profiles.Add (DestinationProfile);
-			Cms.Profile [] list = profiles.ToArray ();
+			Cms.Profile [] list = GenerateAdjustments ().ToArray ();
 			
 			if (Input.HasAlpha) {
 				Pixbuf alpha = PixbufUtils.Flatten (Input);

Modified: trunk/src/ColorAdjustment/Desaturate.cs
==============================================================================
--- trunk/src/ColorAdjustment/Desaturate.cs	(original)
+++ trunk/src/ColorAdjustment/Desaturate.cs	Fri Jul 25 23:28:30 2008
@@ -23,6 +23,7 @@
 		protected override List <Cms.Profile> GenerateAdjustments ()
 		{
 			List <Cms.Profile> profiles = new List <Cms.Profile> ();
+			profiles.Add (InputProfile);
 			profiles.Add (Cms.Profile.CreateAbstract (nsteps,
 								  1.0,
 								  0.0,
@@ -32,6 +33,7 @@
 								  null,
 								  ColorCIExyY.D50,
 								  ColorCIExyY.D50));
+			profiles.Add (DestinationProfile);
 			return profiles;
 		}
 	}

Modified: trunk/src/ColorAdjustment/SepiaTone.cs
==============================================================================
--- trunk/src/ColorAdjustment/SepiaTone.cs	(original)
+++ trunk/src/ColorAdjustment/SepiaTone.cs	Fri Jul 25 23:28:30 2008
@@ -23,6 +23,7 @@
 		protected override List <Cms.Profile> GenerateAdjustments ()
 		{
 			List <Cms.Profile> profiles = new List <Cms.Profile> ();
+			profiles.Add (InputProfile);
 			profiles.Add (Cms.Profile.CreateAbstract (nsteps,
 								  1.0,
 								  0.0,
@@ -42,6 +43,7 @@
 								  null,
 								  ColorCIExyY.D50,
 								  ColorCIExyY.WhitePointFromTemperature (9934)));
+			profiles.Add (DestinationProfile);
 			return profiles;
 		}
 	}

Modified: trunk/src/Filters/ColorFilter.cs
==============================================================================
--- trunk/src/Filters/ColorFilter.cs	(original)
+++ trunk/src/Filters/ColorFilter.cs	Fri Jul 25 23:28:30 2008
@@ -4,6 +4,7 @@
  * Author(s)
  *
  *   Larry Ewing <lewing novell com>
+ *   Ruben Vermeersch <ruben savanne be>
  *
  * This is free software. See COPYING for details
  *
@@ -13,48 +14,42 @@
 using Gdk;
 using Cms;
 
+using FSpot.Utils;
+using FSpot.ColorAdjustment;
+
 #if ENABLE_NUNIT
 using NUnit.Framework;
 #endif
 
 namespace FSpot.Filters {
-	public class AutoStretch : ColorFilter {
-		public AutoStretch ()
+	public abstract class ColorFilter : IFilter {
+		public bool Convert (FilterRequest req)
 		{
-		}
+			Uri source = req.Current;
+			using (ImageFile img = ImageFile.Create (source)) {
+				Pixbuf pixbuf = img.Load ();
+				Profile profile = img.GetProfile ();
 
-		GammaTable StretchChannel (int count, double low, double high)
-		{
-			ushort [] entries = new ushort [count];
-			for (int i = 0; i < entries.Length; i++) {
-				double val = i / (double)entries.Length;
-				
-				if (high != low) {
-					val = Math.Max ((val - low), 0) / (high - low);
-				} else {
-					val = Math.Max ((val - low), 0);
-				}
+				FSpot.ColorAdjustment.ColorAdjustment adjustment = CreateAdjustment (pixbuf, profile);
+				Gdk.Pixbuf final = adjustment.Adjust ();
 
-				entries [i] = (ushort) Math.Min (Math.Round (ushort.MaxValue * val), ushort.MaxValue);
-				//System.Console.WriteLine ("val {0}, result {1}", Math.Round (val * ushort.MaxValue), entries [i]);
+				Uri dest_uri = req.TempUri (Path.GetExtension (source.LocalPath));
+				using (Stream output = File.OpenWrite (dest_uri.LocalPath)) {
+					img.Save (final, output);
+				}
+				final.Dispose ();
+				req.Current = dest_uri;
+				
+				return true;
 			}
-			return new GammaTable (entries);
 		}
 
-		GammaTable [] tables;
-		protected override Profile [] Prepare (Gdk.Pixbuf image)
-		{
-			Histogram hist = new Histogram (image);
-			tables = new GammaTable [3];
-
-			for (int channel = 0; channel < tables.Length; channel++) {
-				int high, low;
-				hist.GetHighLow (channel, out high, out low);
-				System.Console.WriteLine ("high = {0}, low = {1}", high, low);
-				tables [channel] = StretchChannel (255, low / 255.0, high / 255.0); 
-			}
+		protected abstract FSpot.ColorAdjustment.ColorAdjustment CreateAdjustment (Pixbuf input, Cms.Profile input_profile);
+	}
 
-			return new Profile [] { new Profile (IccColorSpace.Rgb, tables) };
+	public class AutoStretchFilter : ColorFilter {
+		protected override FSpot.ColorAdjustment.ColorAdjustment CreateAdjustment (Pixbuf input, Cms.Profile input_profile) {
+			return new FSpot.ColorAdjustment.AutoStretch (input, input_profile);
 		}
 
 #if ENABLE_NUNIT
@@ -74,7 +69,7 @@
 				string path = "/home/lewing/Desktop/img_0081.jpg";
 				FilterRequest req = new FilterRequest (path);
 				FilterSet set = new FilterSet ();
-				set.Add (new AutoStretch ());
+				set.Add (new AutoStretchFilter ());
 				set.Add (new UniqueNameFilter (Path.GetDirectoryName (path)));
 				set.Convert (req);
 				req.Preserve (req.Current);
@@ -85,7 +80,7 @@
 			{
 				string path = CreateFile (name, 120);
 				using (FilterRequest req = new FilterRequest (path)) {
-					IFilter filter = new AutoStretch ();
+					IFilter filter = new AutoStretchFilter ();
 					Assert.IsTrue (filter.Convert (req), "Filter failed to operate");
 					Assert.IsTrue (System.IO.File.Exists (req.Current.LocalPath),
 						       "Error: Did not create " + req.Current.LocalPath);
@@ -99,226 +94,6 @@
 				}
 			}
 		}
-#endif		
-	}
-
-	public class ColorFilter : IFilter {
-		// Abstract adjustment profile
-		protected Profile adjustment;
-		// Image Destination profile
-		protected Profile destination;
-		// Image Profile
-		protected Profile profile; 
-		// device-link profile
-		protected Profile link;
-		protected Intent rendering_intent = Intent.Perceptual;
-		// Image buffer
-		protected Gdk.Pixbuf pixbuf;
-
-		public ColorFilter () : this (null)
-		{
-		}
-
-		public ColorFilter (Profile adjustment)
-		{
-			this.adjustment = adjustment;
-		}
-
-#if false		
-                // TODO FIXME until we support saving a new profile to the image we can't
-	        // really allow people to set the destination profile.  Remember to remove
-		// all the extra metadata that might confuse the profile.
-		public Profile Output {
-			set { destination = value; }
-		}
-#endif
-		public Profile DeviceLink {
-			get { return link; }
-			set { link = value; }
-		}
-
-		public Profile Adjustment {
-			get { return adjustment; }
-			set { adjustment = value; }
-		}
-
-		public Intent RenderingIntent {
-			set { rendering_intent = value; }
-			get { return rendering_intent; }
-		}
-
-		protected virtual Profile [] Prepare (Gdk.Pixbuf image)
-		{
-			Profile [] list;
-
-			if (link != null)
-				list = new Profile [] { link };
-			else if (adjustment != null)
-				list = new Profile [] { profile, adjustment, destination };
-			else
-				list = new Profile [] { profile, destination };
-
-			return list;
-		}
-
-		public bool Convert (FilterRequest req)
-		{
-			Uri source = req.Current;
-			using (ImageFile img = ImageFile.Create (source)) {
-				pixbuf = img.Load ();
-				profile = img.GetProfile ();
-	
-				// If the image doesn't have an embedded profile assume it is sRGB
-				if (profile == null)
-					profile = Profile.CreateStandardRgb ();
-	
-				if (destination == null)
-					destination = profile;
-	
-				Gdk.Pixbuf final = new Gdk.Pixbuf (Gdk.Colorspace.Rgb,
-								   false, 8,
-								   pixbuf.Width, 
-								   pixbuf.Height);
-	
-				Profile [] list = Prepare (pixbuf);
-	
-				if (pixbuf.HasAlpha) {
-					Gdk.Pixbuf alpha = PixbufUtils.Flatten (pixbuf);
-					Transform transform = new Transform (list,
-									     PixbufUtils.PixbufCmsFormat (alpha),
-									     PixbufUtils.PixbufCmsFormat (final),
-									     rendering_intent, 0x0000);
-					PixbufUtils.ColorAdjust (alpha, final, transform);
-					PixbufUtils.ReplaceColor (final, pixbuf);
-					alpha.Dispose ();
-					final.Dispose ();
-					final = pixbuf;
-				} else {
-					Transform transform = new Transform (list,
-									     PixbufUtils.PixbufCmsFormat (pixbuf),
-									     PixbufUtils.PixbufCmsFormat (final),
-									     rendering_intent, 0x0000);
-					PixbufUtils.ColorAdjust (pixbuf, final, transform);
-					pixbuf.Dispose ();
-				}
-				
-				Uri dest_uri = req.TempUri (Path.GetExtension (source.LocalPath));
-				using (Stream output = File.OpenWrite (dest_uri.LocalPath)) {
-					img.Save (final, output);
-				}
-				final.Dispose ();
-				req.Current = dest_uri;
-				
-				return true;
-			}
-		}
-		
-#if ENABLE_NUNIT
-		[TestFixture]
-		public class Tests : ImageTest {
-			[Test]
-			public void AlphaPassthrough ()
-			{
-				Process ("passthrough.png", null);
-			}
-
-			[Test]
-			public void OpaquePassthrough ()
-			{
-				Process ("passthrough.jpg", null);
-			}
-
-			[Test]
-			public void OpaqueDesaturate ()
-			{
-				Desaturate ("desaturate.jpg");
-			}
-
-			[Test]
-			public void AlphaDesaturate ()
-			{
-				Desaturate ("desaturate.png");
-			}
-
-			[Test]
-			public void AlphaLinearize ()
-			{
-				Linearize ("linearize.png");
-			}
-			
-			[Test]
-			public void OpaqueLinearize ()
-			{
-				Linearize ("linearize.jpg");
-			}
-
-			public void Desaturate (string name)
-			{
-				Profile adjustment = Profile.CreateAbstract (10,
-									     1.0,
-									     0.0,
-									     0.0,
-									     0.0,
-									     -100.0,
-									     null,
-									     ColorCIExyY.D50,
-									     ColorCIExyY.D50);
-
-				string path = CreateFile (name, 32);
-				using (FilterRequest req = new FilterRequest (path)) {
-					IFilter filter = new ColorFilter (adjustment);
-					Assert.IsTrue (filter.Convert (req), "Filter failed to operate");
-					req.Preserve (req.Current);
-					Assert.IsTrue (System.IO.File.Exists (req.Current.LocalPath),
-						       "Error: Did not create " + req.Current);
-					Assert.IsTrue (new FileInfo (req.Current.LocalPath).Length > 0,
-						       "Error: " + req.Current + "is Zero length");
-					using (ImageFile img = ImageFile.Create (req.Current)) {
-						Pixbuf pixbuf = img.Load ();
-						Assert.IsNotNull (pixbuf);
-					}
-				}
-
-			}
-
-			public void Linearize (string name)
-			{
-				GammaTable table = new GammaTable (new ushort [] { 0x0000, 0x0000, 0x0000, 0x0000 });
-				Profile link = new Profile (IccColorSpace.Rgb, new GammaTable [] { table, table, table });
-
-				string path = CreateFile (name, 32);
-				using (FilterRequest req = new FilterRequest (path)) {
-					ColorFilter filter = new ColorFilter ();
-					filter.DeviceLink = link;
-					Assert.IsTrue (filter.Convert (req), "Filter failed to operate");
-					req.Preserve (req.Current);
-					Assert.IsTrue (System.IO.File.Exists (req.Current.LocalPath),
-						       "Error: Did not create " + req.Current);
-					Assert.IsTrue (new FileInfo (req.Current.LocalPath).Length > 0,
-						       "Error: " + req.Current + "is Zero length");
-					using (ImageFile img = ImageFile.Create (req.Current)) {
-						Pixbuf pixbuf = img.Load ();
-						Assert.IsNotNull (pixbuf);
-						// We linearized to all black so this should pass the gray test
-						Assert.IsTrue (PixbufUtils.IsGray (pixbuf, 1), "failed to linearize" + req.Current);
-					}
-				}
-
-			}
-	
-			public void Process (string name, Profile profile)
-			{
-				string path = CreateFile (name, 120);
-				using (FilterRequest req = new FilterRequest (path)) {
-					IFilter filter = new ColorFilter (profile);
-					Assert.IsTrue (filter.Convert (req), "Filter failed to operate");
-					Assert.IsTrue (System.IO.File.Exists (req.Current.LocalPath),
-						       "Error: Did not create " + req.Current.LocalPath);
-					Assert.IsTrue (new FileInfo (req.Current.LocalPath).Length > 0,
-						       "Error: " + req.Current.LocalPath + "is Zero length");
-				}
-			}
-		}
-#endif
+#endif	
 	}
 }

Modified: trunk/src/ItemAction.cs
==============================================================================
--- trunk/src/ItemAction.cs	(original)
+++ trunk/src/ItemAction.cs	Fri Jul 25 23:28:30 2008
@@ -263,7 +263,7 @@
 
 		protected override IFilter BuildFilter ()
 		{
-			return new AutoStretch ();
+			return new AutoStretchFilter ();
 		}
 	}
 

Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am	(original)
+++ trunk/src/Makefile.am	Fri Jul 25 23:28:30 2008
@@ -82,6 +82,7 @@
 	$(srcdir)/BitConverter.cs		\
 	$(srcdir)/PhotoArray.cs 		\
 	$(srcdir)/PhotoList.cs 		\
+	$(srcdir)/ColorAdjustment/AutoStretch.cs		\
 	$(srcdir)/ColorAdjustment/ColorAdjustment.cs		\
 	$(srcdir)/ColorAdjustment/Desaturate.cs		\
 	$(srcdir)/ColorAdjustment/SepiaTone.cs		\



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]