From e1e7ad0a0b7953e02f753805a84f18aeabd32ac0 Mon Sep 17 00:00:00 2001 From: JianjunJiang <8192542@qq.com> Date: Mon, 6 Dec 2021 18:59:18 +0800 Subject: [PATCH] [examples]add clip image's rectangle --- examples/main.c | 2 ++ screenshots/image.png | Bin 263743 -> 263743 bytes 2 files changed, 2 insertions(+) diff --git a/examples/main.c b/examples/main.c index 7bb511f..441ef0e 100644 --- a/examples/main.c +++ b/examples/main.c @@ -403,6 +403,8 @@ static void test_image(const char * filename) cg_rotate(ctx, 45 * M_PI / 180); cg_scale(ctx, 256.0 / img->width, 256.0 / img->height); cg_translate(ctx, -0.5 * img->width, -0.5 * img->height); + cg_rectangle(ctx, 0, 0, img->width, img->height); + cg_clip(ctx); cg_set_source_surface(ctx, img, 0, 0); cg_paint(ctx); cg_surface_destroy(img); diff --git a/screenshots/image.png b/screenshots/image.png index 2c370c787709d265ef536faf3d494464bd1ad318..1c7af32f5b9e921a49456496f2aa0d69df294f41 100644 GIT binary patch delta 47990 zcmeHQ3vd=_wE`$gO6A)uU5pVzh-0bE)cJJNYySsm0 zJF_=?ch5Qh|9{_i9((rOP07=vOP(J6>~txGcB8icV{_pLgF)f!$u7UVSlA*+yPw4G z=5o4_iW)O(_J!21&o~Q$HT%xm#?pS{e32rRjNsbg-?GviYKh)~tP3bTt5^HQyO&X_|U)ROyJOOknDk zp3t;eO`CAjR+8In<QqeU&t((RBq42pL^#MMj!>W~EP**JKn560LX!W+UW{a0Y~Weq=&D znrN10TqWmBP)0-(4Vs67LDR-fUbJKGeE(jYV!2p)V2HC~(h))0yPdRsp$00-zQ;15 z7s>=(p=c6$c=8EBYNgdk6h*oYyLmF)zUTUYz{2gj8K+U%7e`*uw6StZ?}#?~u%XZe znx@vq*iihcCVG2&f;~Oi8>U_?ubNG*GcDSH=cbkIJPGU(M244xC3>&=#CTq>`h z-X%zTN-5<)Tw8=x$?2z0q1tEqlcYZIwxPS*53~N+*JfNKubc5d=r(ATKmtUFCf*(p z+UH()YhP7B@0VW&`Q9sMUUz{wOhuq|2;Pzq+emn0AIU!h)&DD%{GRS$FYdkax*NVF z4!*&$gw&hrW=x)oD@EXOzBGIKFk(2C-GRXH zFOA8!eua11r(g}xs<|^ospS*Wk-JBAN1s-}&LjJVEX^~#V&wu-dg>G`9L$_|({LDl z8PbWMQBykG3Ue`OH7Zvxm^0L=j7#G{pwj*_fv&Eje%Zh9Zc!p_UR|sW3CRmdo4Ph$ z6H~*CPhj0UdaTnguUWK6lxRCfmzpt?tN}*U#9d{~Q~woY?C{YJzr1$w(jmy0dA1M| zYR10b&r9r)#?-o{%ZC_K)>s+{OnoPopU`guIy>9_^7>_efRP7n^XH(JtxAdVMWn#W(}C1%SpF#9vJHi2Z?!6gnh#k8M3@$$xtB2HZkPn z04HfeM+elC=T`oGuv3u~4P;bcwK#B~-QRI2Aiwa)y1_iZlr#aJlfc^~kpF>$fgtXk zK*E3i@~k)*7aBW)J~9B?^3Wd_KUL)A7a!j==-_q|YQ%V{Yd~u-zqIOg7^2pa&aGG+ zhd7P0dp{69d>C%1|GoO{!E_VgIJ&4|#~-_JWH+wK8!X7Wf+`|=2Yw{GVQX;s@BzQP zXKz4QlkgsmoB}%me8Ax|QL=3OD0i*`tf1j%zzyP`r z9%5&8#(n?(<}7*h^Nnz?P*l6tIQS4?gV0>qj}PKf zwR=~VylwMos9?0h2{lPXpa3S{fSm*KNmZ6CzbP(NF{`<~DTwjoUb9F3C?7!Z zzH3qA=kff`epKdiV(k0cVUSi>G|7A2N5qwv~|^T_Nu@*<#R#EX7^bN z*OZ|MBVVKmFS5H$8%bzDEnEqt3k7VB398~2iN)=MAu0eeK4-<1!g&h2K-k275g&iU zBGuw@YSV>@O4^0O8|%bpd6nnW^Q5iH9qA}jpAuGrnNjX^o|QGtFi&kKfX^q!7e=r7w}a73o!6o zMSZ1D@wbbgvCH}q*1W~$R!g;^Lp;c?=ud?gBT}lVE9)wKIUA3OW0kFk#Shp|4z~1J z#sumXlM^qXt!l`vyn0NmV>5NKVJh9M5!tt%5X;%kx^^)gZia>6Ma_@=FT_%Id)$H& z7N!=6uqZov#X@#xB#4+GdW-9xni$=ztgG-TRbPp3v-<*#A0{ps^O`Cg6RHMs_p;a7 z1E$NjWJ9xqN(`j3mzmVo_<^}VFfVSV0}3VY3#`7{S6N>jtoWoVSXKLRXs`J=Sn*yu z%d#_`up1yFsZ>V9#|M|NqM8qt5?)OrMoDD!C=^dyR>9{iX5YJza~sze{{sJWbn%1 zXor8G(95dz_{e1T%WSy21frl;9es)?Vji16+(D_p2eOQL0rbJc8ixu
NfODa{SOSE>Y+jq}*Kc5X4k z!?Am;!Qdqd+*z#LN(qP_V1QkDZ2=QuOz(1E6AvfAf?!34>Ji6-At0L?J@?dk?Tq882M^svv=4W zv6khm2@o?m(du-i>nl&cJt zQL3r0bZ?R&v43$O#LTY4cxz%8jZ=i6gqH90Bdk=Ess}WbuEXir&-s)xfD~rK^F?^> zPbp5F&O}cP?uqmsJ##kCX<{AqH@0n%AnTrHe{B=Rc-atPez$SSlWYt8YJ^m}Cbioa zj|&oZd5yMGmhV$0WwDn5=oV6_6LevEig6Tf8}{{lihnNDdgS|Xz6tld;#_rCZhVTZ z9*itt#EvoH2@5Jm$VM(aUU|PXFNiy^q1^NggV!C=wmH@s9W@#UY4DTG~EE9giTu;hFawsHUC6corCJP&f$VX~EKGK@|Po#pBh_Hz*8=+v9WXYhU0{uTf z^vHq}a?cCwu|ZErvZPQG67?hJ!XmiWTKq2tFZ---X`rku4gzDV(l}@zHDY-){#Tv( z$k9WuFnDEdOCu#kw!3$IFs#!=%~8Ua8*{2wzQ*7^)I*9YB+wdN)Kr;%kBWk0g~ztA zdqt_Cm9%=f1es~xT(YlU`E}0D&^c#(3I}?8iP`G6*aCQ$8foX{aLX7TwK@8zxwHK! zf{zT>zr*HW^&{obWe5}U=(7EAP3a!n{-HN7jaNr(N}qp^!M`6G+FWA9arva?(z*XA zr4(-SDVqw|OyG3L+#u-czwe|Wuhg6_jOVrGYgk`%i?;fdH;dV{;leGVq{}Zgw~HFekX|gE1O^7`&;iStrhGXR6)xyQ$a+{_lAWC;v>FzYhP7EF06;g9aPX(J$zN5 zDZyJ7A_Ty{(AejFKl~UVZ@UtxW9PyI32BGm;si-7;<0ChROxH)-<28e2aO8)JODAI z34B@Ikp?D!7D(qgiM7BV%0`S9!g=!Im{bc8;3ys>wh;L{VHMS>X4Wf6jjh9Rtf0}Y zazZ5x)xPGC#|IZj+S9~wc0W5YB91U{CEu4Fh9TB9~R?3@= zfzYdjVWU6K6rRB8V``C1jvEkaWk>Z+pEBlC78ub=ELNVjE7V$<8XLdP8BH_a{){z^ zXhsJiIOUmcs5N7Kc|dt}xlftg#cBk2b~Q4()z^Qk&7 zL_|A>LJeXf`);>HiR>pJGwI8>C09a7Oz_IO>v~uziiva*h8j#W_T3be8T-lc9Y6Q{ z_?OLI)kJm68J0I9DwD9eB`j)D{mNwgCX=DK@NKfnydZmfL|i6OgJgmm0;3k!67%s} zNy%F<5LtO$&H|P?R$0MPv*BKkv~wh%OS1On%}4z=9xE9Aa09|VclP{S-@19plm7>D C*Rm}D delta 45829 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 BmmvTE