From 755d5d5f14fd61a4943cc8bc5470fdd814342fb4 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 28 Sep 2021 04:06:02 +0200 Subject: [PATCH] widget-factory: Add tests for loading color profiles I figured out how to generate them, yay: cmsHPROFILE lcms_profile; cmsToneCurve *curve[3]; curve[0] = cmsBuildParametricToneCurve (NULL, 4, (double[5]) { 1.0, 0, 0, 0, 0 }); curve[1] = cmsBuildParametricToneCurve (NULL, 4, (double[5]) { 2.4, 255.0 / 15 / 1.055, 0.055 / 1.055, 0, 15./255 }); curve[2] = cmsBuildGamma (NULL, 2.4); lcms_profile = cmsCreateRGBProfile (&(cmsCIExyY) { 0.3127, 0.3290, 1.0 }, &(cmsCIExyYTRIPLE) { { 0.6400, 0.3300, 1.0 }, { 0.3000, 0.6000, 1.0 }, { 0.1500, 0.0600, 1.0 } }, curve); cmsSaveProfileToFile (lcms_profile, "foo.icc"); cmsFreeToneCurveTriple (curve); cmsCloseProfile (lcms_profile); --- demos/widget-factory/color-profile-check.jpeg | Bin 0 -> 3375 bytes demos/widget-factory/color-profile-check.png | Bin 0 -> 1046 bytes demos/widget-factory/color-profile-check.tiff | Bin 0 -> 4996 bytes .../widget-factory.gresource.xml | 3 + demos/widget-factory/widget-factory.ui | 84 +++++++++++++++++- 5 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 demos/widget-factory/color-profile-check.jpeg create mode 100644 demos/widget-factory/color-profile-check.png create mode 100644 demos/widget-factory/color-profile-check.tiff diff --git a/demos/widget-factory/color-profile-check.jpeg b/demos/widget-factory/color-profile-check.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..88fe4816e5bc5c8b4fb0246e4a6ec12510e78b20 GIT binary patch literal 3375 zcmbuBc{r5q8o-~KAtowgtcR>c_GL0zLMW}0B{fu<8OA#Hu@;|_C1fef*d?+rS;q3A zWJ~CiEh8#?B}*7f66U<>T&HucbH2a6`+etme%HOd&wW4d^~}qB!+a08&KRCH1TYv3 zoPsXEoPdX)HZZWhU}|i5`rHY~007+AnMn3zQ3inQ;^kp_QeW&c&Qgr+Pk;pb0Rr#> zO+3-lP4B{mbKoy!Z3sY_0O(iP$@Q0R|KGr2W9vx-0LBiP4-?%yydXXb@i`waw;c|L zn1^VOw}ChfVtEf}fe?4@=m|gh?GD@h4iD&e$sxo8H>0?G`svo4Ae;|<~(qP zB8brF2K;~r_0p4sQT?HUaq0uWI?iM+ z9|VByJ^)*>Oy>7&CUff{00^k|r!K$ZU9$jCUxoCszjOyO0oWG;K+W@CIzkcvv@oc| z5jVUC{>O6=&?HYH33h^+PXUS@+6*xS3Qji!x4~q=l&sZ76dD77aNM39nHflj#N>Fyo6x@#`0eoSm3+ZcLM|~8)TJ% z9t9cUa2VoWP6!qloOKr)JBk~Phj;a8hxwVRC-A^ zze)aOk7cE!Vxts6svm`|Q&3jfEA_SN#&P3@jrmzxTw^LjRYYT{3n6()xVfQrdO%8K$Hxd3zXibK3Sdrpntw)w})-Th8)$n6Bv4?Ld;V(L{3}6AU&PASs)%ia9US54HclkO3CD`A5_ns#(H zV(L_|*6wf1vr+gML3uv>ch^I#dti;1T*ifLt3_v@S9BN#NSq{q;O4R12_XP5(o8+(p(zO8qrYMWPL7Nz~$)C zj^q=9livQk|v~flGWO7=&s5f`c&3es^B^6;oCC(Y0_b`-iMoW<3QW|@!@pT$5h*qQhLhUS! zmxXJqWSt4zv&y{$Nluv6Td}0ed{xJTqVY`7Oikt9junx6Ho0Xb8h@;|tnZuaz0DMs9lb2%2+a!gOsGfSN6&9;m5Xfr2gPmsgS-`8{pjP34EZ*()k zg6oBb@TX_RdCJ{d7UXBv9cB6-r}yO*rabzbgEQKjdvv_yU zry`%;=W2tRC(0Jn?VYo4S~wL=5xx~TCEv~9o431VCt0~wDd#S0Uffb||5UE|z{CJ| zy;7WduU5xVBQ8q#YlcX15v5y-n!kM8Fw7^Mr~M4PD-cGNRbCG_D?cqeC>-+OiY`vO zZB1)*!G1segD1J&KkgZapHA>4wPer@UDqS*K&+eVsx4o9OwUUZL1Xxdg)tF5^#yQlif~%e8GvKQ-ZWB}*hIXiJgSK8K zUA}sy>9o6hf7X(;NpN;d?s}M=QrsKoPaaynL)smLVU6~cB?|J)wM;t|vrOuvYc$lN znXln!Y+G@OGHY+7r!C@49PG@gah);xz6mAgME(rY95=VPDCW|u$&FR{^f^TYa*Z~0 zXx_%3$6U+^W&cPeqxJ&cp}F<=10uX5IU;lEiSBl*=!Tx(Sw!V3sR@HdJU%gTEj8=a zU{6KZ_o7K}AXR__RuO&J?6B?pu>)g_yGKNS2L$pBQgx^vBuUx}H zkt7+ylhTCL(DO}#^H)ss1Rn={yP}0T+=cP@9XVWptj)q~NZlECMbjA~m?@5&3@rzr zjm!q#&lJn7I9{AsKQis$uI9NZ1iGF3p!kT|4B}KXuVMpY)YVKob8UE}c-t)R^>*6| z6GYT-)cH>@;8P8Xz1GjrUf0K9QxzSD^F?x88TlGR5{c(^2zTDRKr?2~INJPqG^cn` zq-wmev`UMg_f313U3yAay-dFJ-Fk;YK|+SZ2iGH17v6%)qy$_)MJ9*x-fCH~-l{>Q zBbuQruwOyB*Um3VHrj2Eg|oK!Sax3@lFk_%wT|Rm4_OMmE|LgmSa<2~56s@UGuNDd zt;c>jt)B_riDda$4`=kh4hZ7)sY@DuPHwU@Frbp#C`$cSCg--z49+IJa?p`cox6d`w&SDPl}imTi){P z-MhMsO#1FWXL{efZpBhOa+Nl@)qbn}70!_^Im=Sp{bClavaJ@ey)9w=u9z)BxfVJj z7AA@1aw~yWGa4(Z%l3HaEOGxXIOg5k6MUpV{x10=!8U#+ce`X>S`=m7m|s%oYD%x; z8>ks9e1cF8wWuhyW1$T5w(FZdT+ug33-ypZfH5@C><>3WPO6K`P=-C!xAOGd*I2Q_ zqm07NCfTlYLzO)EfbMfA9!fd6(+}7R_bB1ErR1t-X%#w#tM@xQ{e(J{qR4-EgnkiP z^7ybSV0)0gSEps5Q2~GLd3J&`R>*HY%DK?8$5sFEnB*sGi5f#btbWsoBy&}l)Wj<1F z_{iRl3y(-f$j5wJ-^^S_5p?+j%bJSUd^wU{B!1pB>NCfeCR&8)R=gqN3IyhyCY>1? z^z-V`97l3F3L@{0HQiUu9CC6RuG{=HIgrqARG8ko;6jw*HSr&w?rYtCbj*T}|8Bui zxwuIIj1dQNY5vpn(wu&=lC_r4NG?`3Mkj&P{Gio=yh~S}?+JYLk5SL?uqV0y_IhBoy<3k8a#5+8aNT+swOkPe4 z52>Hh5DrulzPvtBwO8SrrG2xN>M}Mwvb=2;g?0$PdoLkeAdELxa-EtoAAp`S-uaZl zY#TB#Ee$q2;$fj7T$gV&3AhH7#N4Y;JUei)`inPRt#fofw)lyaQGp&4Fh~9glG9!s literal 0 HcmV?d00001 diff --git a/demos/widget-factory/color-profile-check.png b/demos/widget-factory/color-profile-check.png new file mode 100644 index 0000000000000000000000000000000000000000..280e2ef996179a11ec5e8a043ebed645581970a1 GIT binary patch literal 1046 zcmV+x1nK*UP)EX>4Tx04R}lk-tmBKorNn{UKGXq=SNkl?>IXg`y53E>@vSky0aAaY?R8DdL89y#e&&N8Z$!RWS7hfVQiR46k^Y7Gul zvKr|sZ5?$!^X^$X+VqrPJ(>afUOn$)0*D*{&4%ZFpL<^O0tiv>H)bcldIrpXlHTZO ziBmw>1+H#8nsNwS?@^1-mTb!{DMTlzY26?6#~+K214BjMD+s^-_9Xndw&QX61V}sd zo%g`eF)&H>g^eHSIBCEdkLT|I00L4;L_t(o!`+uZYg9oL#eXZpOp*10#a31kgSDlN zphX~x3bGbKuu6!ZKoqo8(P%CBJtRd+Z49K)ge;qE(!407GP@Qr&9!ibOkU>ApY=h& zfeX8DX6`w2XU^O^EkHQMc7{`KXLANG05iZ8a1Lmj?;~Ic^ns7S`%DrNv$r6-Ad+ai zAd3lp?e^Dp-Uk_E09S1Q(jAw;W03uS0Jk;*d7ew)Dac_1;MNX7o}?1!f(#o3cOx;I zLSWD|xHbl|$y&^lgG%amV<;9TJaxTQC!e=1u2!3ETxXfF5uMSarfat-`*heOu6r9HbR} z@&HYOOjTA+fqV+AUO+Z{Tks=vij9NM8fn+**?=!czy;*HZwn?ur`WWs3YPRy5~_|{ z25$KL{00t={!aMPu|&XaD-;y^viBZP#RskBuBtCU?l;3Tg}6ni#qS>82e z)VScA^yxx@WV-mo&I!SA{7d&cy$v;~@8SaiLGuN|i2+%;=%Jwn4fBSyz^c^X&8x1hk0^PbAGK4@LBnpqw3uTuC(Nu+}De6lY_q( z`TTr7|KK;ceKjDC>kh(A4xTUh{PcPFE!@=b7*<0*T|;qK!v6rKb!JD_$*XPSXHPtF z7JhQifN`xtUd8QxhmRWW!u+_&!RI`yUt#P0SDvdy?nyAs#gX4_zDMxud(E>ZwMN_h zSMd2$8d@#f>^Ci6L#w6drjARN_4Dj9V>}od%ysAY*`tAb;#UiEF$+I)e9vE{VKdgt zy~ysd!t6QMt@qWV-_TR&{AJ!jBhH#{+zk#Vjxe2O+vCQ$SIg~k`8$7#se)6o~?+A^UKF%>_D7F99obe(~ zi8xq(9n3Ls2)Go!@Axl4iSje9OyLmlIH%OjtpFZx#7tC}`I8jh2RvED3u;bvM!C7~ zfu||_5xB;vQ|pAJ40(Geh|E@g@-`bW>wwAg3%RKS<+2k2W#iz$wE{-XdaS@J13!-X zh=g{=qg|=e`66B2y~*aL#=4E0TIO5ftLWU-qD*NJ_uYL?Tl;%J_9^A34y?O=x@tl91>F9k-?vc zlP%55ur{`(t|No%iQ6)GIdE09Guefh7U24>cpo&l7uz*9*1aAFhfIOhNV7CaBW{m2 z>62{|mtL8NvAaMHI*FV$(u0gB{wAbfl8En+PGru7w@*?M!`Kdg44=64v**aemFs1y zeL;ika>h1_jCzw!f1N2(enMpMcsl*_d^$aN0e2?Wexo~=-*Zl6(Kq;y=X~{NMZ)_< zuHMY~+D?jGJAfrVPehUtm!|}OL+yAG@?L+;SJh4zsoa!_3Wu}vbT}fJz5=tJT*SfD XvK!lZU*yzjky)r8-rN|EM7PUtDd~uz literal 0 HcmV?d00001 diff --git a/demos/widget-factory/widget-factory.gresource.xml b/demos/widget-factory/widget-factory.gresource.xml index dca1b43e68..0db9306704 100644 --- a/demos/widget-factory/widget-factory.gresource.xml +++ b/demos/widget-factory/widget-factory.gresource.xml @@ -122,5 +122,8 @@ linear-gradient-monochrome.png srgb-gradient-color.png srgb-gradient-monochrome.png + color-profile-check.png + color-profile-check.jpeg + color-profile-check.tiff diff --git a/demos/widget-factory/widget-factory.ui b/demos/widget-factory/widget-factory.ui index 2d11bc806c..fb77da4547 100644 --- a/demos/widget-factory/widget-factory.ui +++ b/demos/widget-factory/widget-factory.ui @@ -1517,13 +1517,91 @@ Suspendisse feugiat quam quis dolor accumsan cursus. 1 - - 1 + + 0 + 6 + 6 + 6 + 6 + 6 + 6 + 1 + start + + + image loading + + + 0 + 0 + 2 + + + + + + resource:///org/gtk/WidgetFactory4/color-profile-check.png + + 0 + 1 + + + + + + PNG + 1 + + 1 + 1 + + + + + + resource:///org/gtk/WidgetFactory4/color-profile-check.jpeg + + 0 + 2 + + + + + + JPEG + 1 + + 1 + 2 + + + + + + resource:///org/gtk/WidgetFactory4/color-profile-check.tiff + + 0 + 3 + + + + + + TIFF + 1 + + 1 + 3 + + + - page 2 + Images