From patchwork Tue Jun 20 14:29:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 18755 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 090BAC3237 for ; Tue, 20 Jun 2023 15:02:17 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 4BC1961E4F; Tue, 20 Jun 2023 17:02:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1687273336; bh=sXZ2cn55kCYdKBGFnXh8BZ/z8U9OhfNkafFRS+m+MOw=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=HjwgcBGR2Z2yWMAmJzd1NA1j83TBZsy/cn86KLMwHeOfHQ++1SZE1Yqc2cgL6op0H 4QakEJbji+aT0V3TrCMHyg/aTItFJ0AMf5B8TO2lv+yRYUk3lDg/hdxEeE9qRHfNi+ qdn3KtaMAmhM4D19wNnHPm22v9P5lk4L/yptBGyJj5v+vChgYz/CSzyfNKH1o5Jh9i T2G/c19UuYHynaMbGM/GDZXWVxulSK0kqLurhGXd6mz55P3nr1C34R30zHI9eZP/K8 UQIjauOPbVfBHuwyxfNHCc9yeKbOaL3OtEEZxgZ6pENjbAfMjY1yg1bDBD41/61bYF J4VfIAKvlZ+sg== Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id EE29C628BF for ; Tue, 20 Jun 2023 16:29:18 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="sgnd7MgD"; dkim-atps=neutral Received: from uno.lan (unknown [IPv6:2001:b07:5d2e:52c9:72c3:346:a663:c82d]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id B249515E9; Tue, 20 Jun 2023 16:28:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1687271324; bh=sXZ2cn55kCYdKBGFnXh8BZ/z8U9OhfNkafFRS+m+MOw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sgnd7MgDGdyBH/uH4OrXYeZbJT2uvbf9Q2mpWFYseMCA/czvRFA0orokF02XwsrR2 /FRwxnkUZXM29vVcIG/IE5poV86FIvMvnxtspopT0ZarVBsRXajbmujZBHwrtEcCQn A0Z/72xMGzJ2l1i8kWofnb8swqr6erp2qH3/pw+k= To: libcamera-devel@lists.libcamera.org Date: Tue, 20 Jun 2023 16:29:02 +0200 Message-Id: <20230620142904.72600-3-jacopo.mondi@ideasonboard.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230620142904.72600-1-jacopo.mondi@ideasonboard.com> References: <20230620142904.72600-1-jacopo.mondi@ideasonboard.com> MIME-Version: 1.0 X-Mailman-Approved-At: Tue, 20 Jun 2023 17:02:15 +0200 Subject: [libcamera-devel] [RFC 2/4] libcamera: camera: Introduce CameraConfiguration::orientation X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Jacopo Mondi via libcamera-devel From: Jacopo Mondi Reply-To: Jacopo Mondi Cc: Jacopo Mondi Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Introduce CameraConfiguration::Orientation in the CameraConfiguration class. The Orienation enumeration defines all possible 2D transformations that can be applied to an image. The enumeration values follows the ones defined by the EXIF specification, Tag 247 'orientation'. The newly introduced filed is meant to replace CameraConfiguration::transform which is not removed yet not to break compilation. Signed-off-by: Jacopo Mondi --- Documentation/Doxyfile.in | 2 + Documentation/rotation/flip-rotate-0.eps | 170 ++++++++++++++++++ Documentation/rotation/flip-rotate-0.png | Bin 0 -> 16488 bytes Documentation/rotation/flip-rotate-180.eps | 191 ++++++++++++++++++++ Documentation/rotation/flip-rotate-180.png | Bin 0 -> 22198 bytes Documentation/rotation/flip-rotate-270.eps | 197 +++++++++++++++++++++ Documentation/rotation/flip-rotate-270.png | Bin 0 -> 21367 bytes Documentation/rotation/flip-rotate-90.eps | 195 ++++++++++++++++++++ Documentation/rotation/flip-rotate-90.png | Bin 0 -> 21020 bytes Documentation/rotation/rotate-0.eps | 169 ++++++++++++++++++ Documentation/rotation/rotate-0.png | Bin 0 -> 9086 bytes Documentation/rotation/rotate-180.eps | 189 ++++++++++++++++++++ Documentation/rotation/rotate-180.png | Bin 0 -> 22182 bytes Documentation/rotation/rotate-270.eps | 196 ++++++++++++++++++++ Documentation/rotation/rotate-270.png | Bin 0 -> 21016 bytes Documentation/rotation/rotate-90.eps | 196 ++++++++++++++++++++ Documentation/rotation/rotate-90.png | Bin 0 -> 21528 bytes include/libcamera/camera.h | 12 ++ src/libcamera/camera.cpp | 51 +++++- 19 files changed, 1567 insertions(+), 1 deletion(-) create mode 100644 Documentation/rotation/flip-rotate-0.eps create mode 100644 Documentation/rotation/flip-rotate-0.png create mode 100644 Documentation/rotation/flip-rotate-180.eps create mode 100644 Documentation/rotation/flip-rotate-180.png create mode 100644 Documentation/rotation/flip-rotate-270.eps create mode 100644 Documentation/rotation/flip-rotate-270.png create mode 100644 Documentation/rotation/flip-rotate-90.eps create mode 100644 Documentation/rotation/flip-rotate-90.png create mode 100644 Documentation/rotation/rotate-0.eps create mode 100644 Documentation/rotation/rotate-0.png create mode 100644 Documentation/rotation/rotate-180.eps create mode 100644 Documentation/rotation/rotate-180.png create mode 100644 Documentation/rotation/rotate-270.eps create mode 100644 Documentation/rotation/rotate-270.png create mode 100644 Documentation/rotation/rotate-90.eps create mode 100644 Documentation/rotation/rotate-90.png diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in index 1447abdb7d8c..b7fe29e6a0ba 100644 --- a/Documentation/Doxyfile.in +++ b/Documentation/Doxyfile.in @@ -78,6 +78,8 @@ EXPAND_ONLY_PREDEF = YES INCLUDE_PATH = "@TOP_SRCDIR@/include/libcamera" INCLUDE_FILE_PATTERNS = *.h +IMAGE_PATH = "@TOP_SRCDIR@/Documentation" + PREDEFINED = __DOXYGEN__ \ __cplusplus \ __attribute__(x)= diff --git a/Documentation/rotation/flip-rotate-0.eps b/Documentation/rotation/flip-rotate-0.eps new file mode 100644 index 000000000000..3abf587d10e0 --- /dev/null +++ b/Documentation/rotation/flip-rotate-0.eps @@ -0,0 +1,170 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.17.8 (https://cairographics.org) +%%CreationDate: Mon Jun 19 14:15:10 2023 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 3 +%%BoundingBox: 0 1 349 301 +%%EndComments +%%BeginProlog +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +/cairo_data_source { + CairoDataIndex CairoData length lt + { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def } + { () } ifelse +} def +/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def +/cairo_image { image cairo_flush_ascii85_file } def +/cairo_imagemask { imagemask cairo_flush_ascii85_file } def +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 1 349 301 +%%EndPageSetup +q 0 1 349 300 rectclip +1 0 0 -1 0 301 cm q +Q q +0 0 348.801 300 re W n +q +0 0 349 300 re W n +[ 348.800011 0 0 -300 0 300 ] concat +/cairo_ascii85_file currentfile /ASCII85Decode filter def +/DeviceGray setcolorspace +<< + /ImageType 1 + /Width 436 + /Height 375 + /Interpolate true + /BitsPerComponent 8 + /Decode [ 0 1 ] + /DataSource cairo_ascii85_file /FlateDecode filter + /ImageMatrix [ 436 0 0 -375 0 375 ] +>> +cairo_image + Gb"/lH'B#^*QJC]5o)cU+Nh+KLf'#%#Z3ln'SD9J)P_(1E"ej`NCL7;__oH$eQf/#H$T:YM + ;akP!]chgd=@tR.C_!F'GQP:,,k#3'i>"bSPWV@?+%Ap427eulL(,:If@]*VQ/c;rL)O0l2 + Gj+4qB'S4]msM\K:QFg@)!-'ETjP3J&+9VSk)&Hg32`m9SR%;/` + *BHAT%_5MgujP\hH1IfCqafId_iiNW'$.)R^K.M)Pi()pF&Jb + K*N*ZMJfq\#T>PIr*BOraR2A1[uCNhH2;]O./'CB5MWpBa_7;`U@Ho)Km^b)6m:mI)2.C*f + IC\%rgN+ansc6UC%s6=5?APT@m?4+,fL5r'fD-1%+D?E@Z'qXUVlV[_\nt]0Eq*BR^DL?Q& + Hh?8q9G-2XVo>7bhUoTiTMPMV`>Xgmmd.kojZ&1NaU\8n<1>hloJb4f=N;V + )Aq\280"h-H%6^7d>d1uXRAR+:J$CU&(j:(ZIP&jNV65%$h2d#bkE_V'rS=`YH+We9NFW.` + 0-(/JpV;r:^TT4sKQaBIQ&V^X;H)"a5_U2p]QA%e3,]Ii(D9F + E2+dF5a]6Y'9gk]pB_TH8k0_%8i85Q;eY/m++T'AbTeU/@*SgXk,DnCcWO#1*]/s_PZ8'ni + 2o8d>JP)Xk!>Nj&P%h#5@Oef^sT]eBVrZ&fci%-1@FWiN2&[b2%qPC!Jo0lgHFGY#=]ci`H + *(UE+3!3cK8iV%Fir:=Y,L0'(=acIJjf0Dup45#"]L]NPe91r3Fg__Ka/aWXen)VUR + i]j!#U8*8+aPLj](97t`I)&d#GhNm.3Tnk1Pe*rKr'S"UJ?'*d!UFh9)e="*^a)>!TO@D_' + 9He6U>qck@GMXSK&!X)jPd-9okNGriYB,#C5]/VS(DYoZibc+UI4^JM,Z8_/!?FPG^UX[(^ + -XM_$uk2*TBgNCY[Nc'ts.m2nu,]h"h"*I\Lk#9ATi<<;#e#L\JMFG*nYY@8W=3"L::4e<`/Y\U_)V73;71f)4Ztj^f<=UtZ(t:q(Ahhr)gnD<@#%4d%\;.;j9rKc]Ke_V^+Deu& + -TW&p'J30-2%G$>ni$?1%.%UYWYde-_\Rs+9nni.:coBV@%QQ!jfh,[Vj"R;#6"*IPp,?L!tnIcJl1LF + E["M]Ep7(R6>[BX)4^g.nu2$P]q:7qL+]C"uh)s*oHLih7UVd2q002M+R*#2_s5!_npfDHO + ;eKp1hkr(c:\iDef$k84c$A#c[C4Dnhh=>;RjX#eT8@K&>"mRG5*=,DPc0MKsQPe9th,]U= + FjK1X?]sY$2A?[)ZAQmt[gfd&E.@gVW[A@kM"u6G`JA8 + aJsYXWR[fhMf=2jGl+!3W6Jcf+N_N#(a + A7B[[!-BB\-@PjFe_$Z@oE8@K$dP6,k.B.(2]/(/9gB9)M+[5!ep3e@%[eA96QCX;*l.R13&TFBd^rrk$=DqJ)'#]a/Cj6<0Es + '9R/OCoQkP:a_XPRTu4^=U%u3?$KlD7_5_+l3)T$[(4e\pFm8CDB$5)Uba6^TD)N:4k[-Ja]tXr$;::Y;koYN5F4N'^Vqm,Jk1+#Eo"hs>G + ^"nMk/hsD@8TdnZjt_Om\F='^<'CbEMo!3i^7Y61=O53QY@!9G$Hkb$(Uq#!L7tq[N8glnl + j_6:AC\c=!IG(.QE)u&77q)RdVX[crTb60j.>Z/`.dQ_R42-)`.^ak%CS\V5CX8lLd#Z + O$A_7Ii%.C0XjA,:>";+>e:!ND5bB)JH/+6u> + _Yuur3\Y!<89a.J\$BX8Yl+F/2Xc4?f[&#FXssJh,Mb91&Sq\96_35DW_'KC=N8[d8@K$rT + PiE-A!+sf&(At0WDC[7F(32J728q#B'>s'*[gf,uSTg"NBk\@tAp\Ktpi,e]@V + &>N&?'*cVrLR-15L&,5Qp@m.a)-D6((-PD'/n&\M75J-WE!dDC[7J!d-@`#O2qtX + J=AL$!@ieToejUpacJdBkc?C#adAJsa@JXA#J=.An7%ElmLdVXV\9*a_p5t&<)X@TT)8,-/ + b5[>!R4ePV=)+M2STXXj38OTBOQu\.->N$m5r;6XG]R9NF\o"+Fr4FaB<^`b<#!E+Slr#9p + DC[hiW;h.8OPJ**Pn`Jk_:FE-SOF=iPD3++UtZ71bKoKOH')tpLumf4D^aF&*YfRW[_YG8j + l\M"e4@%`Q3VuPn`8fpQ0E,T:NTWDUtZ+.eX)n0A_f3CF&A'^DAsuW5Hb88h,[Vh"R8P$cR + XQ;[j=G8Y)9I]]E0;*]f1*ie$LSU5>MNHDQARY?17VaL5$D)mNfNR=!D,LGr)q,+OZe`MuD + t^\XM16E"V>0#dO;Thj@LD&a<&N(PAK;d?!OQJk1*[&=/qAM269*Ir)JO&:k,:74^Z1!YOZ + \j9akcJI!;,QCjfAJo^%P&a<$orBMAIh]@.D?5phME@ka,E#,Ot + Cm:]R^P2(0/5YD6'f\!>[>cr"9K32gk,>^c-CdZC=`!#t3%d;)Xhu,;_O2!.3P4,*CYbYiSK,A#rj^CS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM)) + sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))s + DSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sD + SS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sDSS:uMM))sE> + .;/U7Qt(>uc=[(,'Xp-lbW&]<+Z=:?*&s.4Ze3&rE?',0n1G[X_t[H'36VG@h-\2+B:pboj + rSL(*cU6_E983\jrSL(*cU6_E983\jrSL(*cU6_E983\jrSL(*cU6_E983\jrSL(*cU6_E9 + 83\jrSL(*cU6_E983\jrSL(*cU6_E983\jrSL(*cU6_E983\jrSL(*cU6_E983\`]='4"8j + I5>2bE]9[3XQ9;Y`Lj1q&eE(1&W3,k`\(7^rJW(e"s-'%0T#Q"CS_HGm6R0IV"#0o2IV?*3 + LJMRe+B`MdVi/@bN)Sd4.39.fB#&m$9c8]d?!M#:'1Cfph!,#j#N!!]2^_n"Lj1q&eE(1&W + 3,k_qS<8@Y%\.55B4TqZ"(rOf)&YEo^mPCG7L%-tE2EZ+Ob#:uS7qt9ADiCKB,\Q')*$ZlR + 0IV"#0o2IV?*3LJMRe+B`MdVi/@bN)Sd4.39.fB#+9M_q1WR53(k=GfomcokW=6U>(8M)*m + **P?G4B#f.V?C;L^Z!*oZJ7JV09Oo4nm)]h5+cS0a58[OcV)qqjPO#2h%XKX3%Hf +Q +Q Q +showpage +%%Trailer +end +%%EOF diff --git a/Documentation/rotation/flip-rotate-0.png b/Documentation/rotation/flip-rotate-0.png new file mode 100644 index 0000000000000000000000000000000000000000..878ea43ed4fcf75f8e0b0c17b13aab31855b51eb GIT binary patch literal 16488 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 literal 0 HcmV?d00001 diff --git a/Documentation/rotation/flip-rotate-180.eps b/Documentation/rotation/flip-rotate-180.eps new file mode 100644 index 000000000000..eb3cbeb21404 --- /dev/null +++ b/Documentation/rotation/flip-rotate-180.eps @@ -0,0 +1,191 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.17.8 (https://cairographics.org) +%%CreationDate: Mon Jun 19 14:16:22 2023 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 3 +%%BoundingBox: 0 1 349 301 +%%EndComments +%%BeginProlog +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +/cairo_data_source { + CairoDataIndex CairoData length lt + { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def } + { () } ifelse +} def +/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def +/cairo_image { image cairo_flush_ascii85_file } def +/cairo_imagemask { imagemask cairo_flush_ascii85_file } def +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 1 349 301 +%%EndPageSetup +q 0 1 349 300 rectclip +1 0 0 -1 0 301 cm q +Q q +0 0 348.801 300 re W n +q +0 0 349 300 re W n +[ 348.800011 0 0 -300 0 300 ] concat +/cairo_ascii85_file currentfile /ASCII85Decode filter def +/DeviceGray setcolorspace +<< + /ImageType 1 + /Width 436 + /Height 375 + /Interpolate true + /BitsPerComponent 8 + /Decode [ 0 1 ] + /DataSource cairo_ascii85_file /FlateDecode filter + /ImageMatrix [ 436 0 0 -375 0 375 ] +>> +cairo_image + Gb"/lH(5T!J]F[8Nh2Fp(_.Dq3CRfs"=)!aG_!l36:6t)ba:+2F1D`'@B5#cR0g?A + cY=Wk^$\@'2N'sNJSQbA@R@SqjaFZ]6_(qF\c!Re^L_&?ZjudrdFf54tT_*QWO-clJ(b2!f + >t;G/4nbA*0084VFW)ru&p?ij62X.1_'?4X#3.HK?K7lmr?CEft[cB2Q=YR;upF]p:^_m0uk^bN1^_m0uk^bN1^ + _m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_ + m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m + 0uk^bN1^_m0uk^bN1^_m0uk^bN1^_m0uk^bN1^_n:!c7Z&8l_Nr=E#(uu1J?iICN]3hP[$1 + @KsN=G@?F:lK?E+'(![EpcJXYQb]NPP=\cipc[`>I3c!J1CN@9c>FDKM/L-emD9Ye3itRYr + X;YWF1X:P-rdZg(J2@1T1]Dn\rdZg(J2@1T1]Dn\rdZg(J2@1T1]Dn\rdZg(J2@1T1]Dn\r + dZg(J2@1T1]Dn\rdZg(J2@1T1]Dn\rdZg(J2@1T1]Dn\rdZg(J2@1T1]Dn\rdZg(0Y]D^@f + q)EXM5,p['pr>S(;SJhH@n>Q],=tW'tmLa5==@o5j9O['NKeB:7VEGB\6]F)o;Y1-Y]7=lg + sr.@[EH#)W/H]i16lRQ5,ga66h70FCO& + 3@fF*c0Pu54AcN"+lJ:sE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE + 2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2 + E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E + ]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaE2E]^ADiCaZ()hPD.c6-j2S2 + E%;-<:Z]\\1[$(sRQK<2IN;%J0/L@6pa>\!4KYiM)f!;%HVhLX&@uN_!/4Gge=A`43J[6U] + @t1"f-GL@9`dm9"f'OKrm!R8RYN]6fMBr=o.;:kdP!*rh0)*4>?Wk3]Q6]CX)4,^$EC0Po* + A=^2a6n,1T*8kdn1qT;O2S*lUYq(qi/BnYN'H6Z5N%Jbi/BnYN'H6Z5N%Jbi/BnYN'H6Z5N + %Jbi/BnYN'H6Z5N%Jbbi[,"J69$pk$rpcImq^ektBPa+;S>.bmQSE]ij5S/J)Pbp*\-ugIm + 1E/>_]"h"7GTc'"?W2t$iSDtKaP^@pIid#\S=PZeLZ"4J*FX^'KTh"SpZQTo-ooLSZF"*t; + Tgt6sg[/ahZ@4efg8q(6)1S+l$#$It_*`N^M/@$%WPlnA@/N9c5puX`?H:qU!Ya!tTIJ7&U + :>U5AJu$LlZ1sEiq6aq5XV[G#N@9'SnDf-aiE.)aopM?S/B[#U"?`K/!7*nfCENi.UA/CCp(AdFpXVV_7Tp + AuhA=jN&brc:":Ze"-6'g>TaT8k;NR7O`W]mtVbQ3bFe,&&<8-L$32\(uT=i'=Zf;hYtIf& + O`bG:>6[i)A.Z2Q4!d"C9Skdo+`X1\+HNN%[,`.l,(dTiU"MSEXRP'Xbget"Hg(CS5Fhk3! + U&DRM.WKcNhKqgT!_%Y&B+uo='-/EqZ%^NjY7N4_/L92,H6Z\Cc+(-^a8qM\sT/=WH`r0gC + (S=\olaLZ0Uq7n\o@JHCQFoQf&I?\VY)iij:9Tpi73,nOIf#b?%a@F7/q(8B(MbIn^#k[E8 + ^mI/M(_e$#ed,p?6J&`cKVn!L^,0+AArW\r\QIgaY.]4j[,oL[]qf#)Bq+H<; + dX&\>9#2/XXm<[W/U#h40H:`TS_9`Xh1m`+^m-lt$QlnOtaZXjm0thM7^M2:6C!p]IS$U_, + )oi.,[!oQkQh4_9D<>_AK.KE;c+:mWRNB/X%_Dc%e97N_nXV;\*8%0Ue[+h78h-JaU[B&GOG6rq + :V$u96!`JlR<0C!d/"3'\jV@BF;mM6;"kAk>U0Z6Uq:hU8[fl<)ZLX8)Je$6#jScg,j@ + 5LJ?%5p$O(\9,,iu+DguVE,"]6U#gNqs'P'd$h'<,GC>-C-P@2gU#T_G3P7)1>e/A'9Ld/h + R]/\cFgBa6\G:lpOTM>O"UmjNlf83S\3RV0.oEk_D&hK5ak1Ji#S`Pn",L&ZqTIpClB$:JF + Umj*W=oKGRYO;nbP4C0MeG'rkNFSH"Zc,+8FEVk,rRT>(Ap7VQ=-qV>AL/""P&?T<(D(4S0 + rR/]*7V)P@Bq\6'(OLj)-LW@d`i:!,15'SSDj_540ueDs%H?ro;;R5PAY!bY8PtHlcOC + )P8@gJ,=DQoGYkH$Jc4iR8`R]NU#-F2\[%od'*(r\4[l`[.n_;s7._JsQo[fR+r9oUk8PH] + /`pnK)fkh5\ms.]_K=]iER1[pp3U'9Mak\[pk\Q[@RCHFo5;t/!X`RN[G4X-:uaI4;^C0FAkT_7ES_p$Rnr,s3#DCsFNspgf=r,V^66<@:`#OAoD='[H(XF06aTO'#38ONPD.3r(/h)Y5:Y#f2=[Dc]'puIPX1#>4,ipX!a#/s:*e>S"j;lk.XuoHq?O?&l@ck9K5g`q;^Hfeq:)IN3Hq40qM9q`BE + k;a6K_49rDf\uB\O&tN<&lcf#HdFg)@jb!@p32e>I[Fr2Y?,r@-_mi7KWH#$USR"hSm%HcA + jh?JOTqF$M@btJ9q'j-WdS5]H@2?8We]M;L#'G>]6(L#;bN12;VT/:JI*P\i(;JnCCViBnV + 5=Xc"SX8Opdr&rOZoG@TQYM0jd`f'dkHu'5MpHA4NP$'\uCf=JsSDn^0J6d&ojsF):Vr*U: + =QLEL(]F,<;5ZlV-o9Z6H5'ch?te'C,nU\4X?3ENbKWOss`Zj`-b6W&)Kfo/nAUe:_aV:qg + 1,&^JZlr6>i9=.!XtGt$.EQCF\>)X.Ic1hpZ4VIe6!["=XI,>bUSlj9BaaV + #,MNdWCQSnbcX6FpYQ4NMS('.(>gEC/>_/FB=t3iONhOB9R#"8^$h_iU$,(&_kXHQ)pWRR< + 63_Bl-ItkrVVC9U$_$h8PW(uR<5@s+:I3)7=]RF6*XZP[mH4p + @>t$$pApLIc,a,KlW1AdgnJA:&E@,NeDgY@tR<5A*+:I1SU,_@Q*3HR0CIMn1]-q#-Z2Mmc_#qHf4>HQ?KRpU7 + C.eX8I;6f/LsDX3&o@VhLOD&U]Y@IA_n9SiURjOGdRt(HZ+'q3P4fF[A`i-/HsghHQ;;XNhAA87Vk<8-E-7/gG1n)P4%Oq"[Nu7*CfX'aEk7!_7aba\g?1 + [@I@qkh>G7D\:#R-TMCVk%o&Oh4$&N\X%c07IXsD2g(]7^Zd:d4D*OX`:`#79V`#>`%]"9S + Sp-ql%9\#KmIt:7n*2!1ZK;th*Z+YJ**XE.`41>ClF4"B+[EMeS;W + 4OEtkAV,O(3uq)2-:,s*GS95MOD1AI6nfmkiV)r!eXQQ\qEF@[FfP0-/gYA@p)\ + r94lUXOT*@qXU.,]G[d18q8$0VV+LVknUc*M)=QGp[PY"a-[#T^E9^REsctj5OO.QbmA;=d + 4lEZ\&S@ons+@^/3*D8CALsAEf_.8#PJ%'(Ok$=h0CsD7We\D"g+dde&3Pa:)OCIr2`5-9Z%Tfsi*=3?3b(K9$Fk$j*,> + cVRG8Fu)9((h81HjM^aI1EV +Q +Q Q +showpage +%%Trailer +end +%%EOF diff --git a/Documentation/rotation/flip-rotate-180.png b/Documentation/rotation/flip-rotate-180.png new file mode 100644 index 0000000000000000000000000000000000000000..d58c6b67f47610439693b60e3cfeb825ca2e9f6f GIT binary patch literal 22198 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≪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 iulEAW&T^F0t^O|&+iRV>Zxc5F0000> +cairo_image + Gb"/lH#sa#^;glg64ADR"@Ca-84#WY[]gG=7:hsD$beoOb$e-e";)Ms_m$*bQiS9PZA1$5& + J?4>IGYVJPpbTSAVS1!+rnP*a:]W!n#a`'dXA06ec"=YQ/q]8_fNDiqU_#/*:%RUqtmMnI" + u`(3S;Bko7-f-W@Pm-1S\i6n":4ZG./`K)Q\5N.ieX/Dm=h0$B+F(Z!$WfS]cqXHR<,o + %1PEj6pJm@=d@#(/e!de'=BY9AFQQ\S*(cH.raRPsh13e@b(F9uM42`1gpWk3Vt/Ls`(\8= + HZ!'7R7#)e7$_G60E9LL'0:1_fo:iUVHZ0!6>+U)gqYZt07d&>Gh@br*6I#>FD9>'F&*b&R + 3O`AShA:9+*uXscCDu;d1oneb)^RIRShG""*p8/QY&eo4E!]%%cg;j\hon!a7Enbjud[^/&(Dm0a5j'b[ + .5(3;>H5$-sNi?/;ZE]][PPHM2s..N27BqSaeDUa,EJJ+E)A^r@4sY^AYf) + g'O>?0ZDOE68ln(D:+Y]lOA&)B0;PCMogWsT1_QM>dFLO1RD\fFN+E*k$,i$_j=OV;mh(!I + 6n58GuV0@ru-:?Roc(QmXE#t2g!%AFV[2b3oRu51_JkKiT6$KCKtD_)%,KlBI>RFc@Yr5]: + h#%W3[;cBb,ZAPr]:HeMh*Z!'.YLcJLLYm-mXpqk5eeW3b[dTfpatR8:d9IH10;(h\mbLjY + g143_q:B07S^G4mpO[`Ys]Ail_C*`P,222s03$AI:RTJIWg38-lsN(tN@N1C9(%W]]jfUY^Hu$'&j + 2MO2=db]Df7!3]7`O.>CK@WB[;tAd,m+3sgr&RD9WGFL7bt\!mF%hPVbS6oG%fbs.B-V-2J + lX,DUl%(Mrr7t':Ujrg8$J!eglj7qY_j5nN + ZPh`p#k")'`CpokCRX1bML'5)2kG@P8qY$NQV>g#g*lR]@cN&(.3]+dm_F9C2(,'""A + EgD]bL9Oo=LiJ&lIB\$Y0G&_ADR+TR@.1s2Jh0U.=:[KS;fn8ZS(ZSG6[8i#BON4)f-&bU* + gfpP01*fHi*ljR3@9S?$jhK1]*esBOUY@T#0n(cl!@JSDADle.^YWDr/`l#/=;OhU$9=';2(12gAGaMf'ZfOmL+g^k-@s#_C-YMP(oo4-b>oH&HmX]jG%_FM^B0:EZju6 + T'BZ$5ZG40_1f$TjHM])Bb=R3U_Y[.W[JB7$^@e&1SqrbD%< + cl!@JSDAH`bSbo_SH1e3JNA-Y5KOGm&TbCe"aN+(fUW%(j+08WF%1M<-g&W>fUW%(j+08WW + IN=Wd93#^c;=aRpJ:/u%6EOcg_oj6rQahP\J#_GTJIY5SQ/n82sK&k!$CX53s0TE".Z]?1_ + eYKkW:89`WMU7s8,U_;VnW>"*DNbPdB,d_;qH*@N!CbDoV5!MLfGY>K$O,kEq]ItFD8 + `8G%Z?NG^se"QPN%sa<,SfC$?Lp)c8=GXGhY0873@i\eU:N!FE: + AV+[IW`(jX??ekK<.jChZ#T:?NLD\@QIri]X4D.A[S(Am0qNc+AM*8o!1iXfmYhfp@N + !CbD(;oPKcl!?jcB:H\Ckp;\0Q_K2^$AP+naBi,G + ]YY9&sX&QG`,!cl!@KcAm'k4UN+6B?0^_>B2W7Dq^:A)PT%=Y$SMV7Ja>ol`/lu"'7c2aF*5b7Qtpt//^XpoEUr24dn@f$\LXM^?@0+&g"TQ[S + H1e3JNBj\DqNF16\c+t23FIchl*H!&>!W*+qsuo0dqoMfUW%(j+06IK]u/Um*5U%nR17B:t + V<>3oe&bZb(:dYWL@_N.T?"pqU0uDhTPFrr2m3>a,cuf]*@#FMu43#7/)YF + $%U]*@NIp@B^@]#&$ZTZl/>T61[aR"Z;)5&c,npY_$>D(^bpZB_ipGcJ[&9cqYo%rf-1Ppp + Bh&2kAH"^W1hu:(%mL7I14LD>>_fa=Id?uhuY^=/IO@qA:3g57=G4-ahG%Z?NA9">*?(*>V + 9iSWTc6T*=h1o?h+-"PkZ&UH]`5:pNd$Yl\Y^;WG`"NmRTJJ%\@<_T3A4E4J3U]PWmK,O^7 + \DOTk[F4pmIu\[J^,N;&9^8jB085=J/3=33b=:!mQs'I7\DP^Z=qlRELX'*kR + %$GZ66,W+!cl!tQ@$kPS + g^/Wt;N.T@5!"Z[t5\FIe!Y;n!5\FJpq)p`DeRl[Ph&2kA-uu3iq#H3+)5&c6Ep1p[2!iKf + SH3_=0O:,A!)HS(A+"/`]s#LQ5@(:Zh+J2WYr&5C46r#Oija,+/8JOkSEXJV1siHg"*8*4g + 3'_hbGqD\fp/ft_X=Ka1Nb$2BlWi[<>>7MTu6:,8qF=^`*'$otSUk$Y'k["V_p + pD)PK;qY'$0m=#C>)2F5sHE_X7g@S\=ngJ/H,HL:kR[df4$<4O\n`FoA2,+,=^A2C7N?G.k + i'GT9(`7mEFg`lB.TBo4Z!8G)pp%OOQ7[DH/e8p\P[`[b/[;%0!E@X_;\cDF,or-S$KfY.. + gC%"k$F=%F0-\@Se3s3M_o.=$M&nQKf3kP)5Iih6jG6X(I(B40S^I_kr^gO.e+R\T6%ECHo + E(&:PohdK8l!a=#[j95mJ7G+W#J&*D-Sckl3g1J*B7S:Gf\M]!QP=UUJBiiCIKU+lO-:6#B + 7S8qd)59W-&(.mTJI0Tp)p-,L#!W>1BD$Ah&2kA!VEVnFpXq'5\KdN2h2;HH;@_sSH1dXN? + 393pD*I6'@<.aoW\3bnA/_01V7=/GQ0B1_sRr[R8"`9@JA'fJELs'c>951h.Q?7K*3$5Ae- + K[me=$:YWDr/Ae-K[hK0.l<'JZs/[Va/i051R;`R-VG0n.p]i?=-gd,Rr37ONPc-dnnh&2k + A)sC`);TFnWjsY)3n-hA,L + DkY20pgo8/Xip#gA3A5K$E?XNDO5N3?4Pc2p$D-CF?g7S[Z#o\\E`cT(R.(g(EsLl%s"S8P + *.V/n'ME(#RO)No]s^ok^2Jo1^PfWb2Lo$Q?h3X8Yuj&V&Np"hre%3#Aom>Kq*"DMVs2`O] + '=Tu653(*;lcb*r]@#-?^E^IZNn\ZZ*%V@kcEN(o5%5SS_[W-Y]e2nnLOB`r<2HQrZYPGf5_ + \S4<"u-BDFc)^@BY8NLY4\#6)=8>iT;p)q*i!s@bKnN5NdG1BSVtnloKuR,gsF(D`RU@ + [TUjo26W4c&pOGuF#Wf<;`SjV&#*p4nXfJ4@F\KIV37@qhERlQ"^cj1e + S6QHUR@Z^.GA/bN1!V8f[qdLJG0q%tS`O2q7]qd5s7eb<:i7959K'-28c.5)R<9 + \o,Ip]otTfa*M+^^iEV>q_1mD%'+W-4>I$SXJ6E$h"OD-VQukS!*ah[Ui3`sSS7B8HZO5i_O'D9:Gr6Eg#eTD]=K'+,D>:)52Qhq;-h."5KcQ06>T:?k:SMqn^S5B$#oJ<]!?_ + KUkID*TJI1oIZ`F_3oEeKYE%g?LeWlMfo'%-[':%1$'@;,Ln)1l5*Iam!BLnSX67UTZ/UH& + ElNG/SI)SFJXes$O^3&Ua=l8tnb6B_RdU7ZB=YY:c4a^U2D7!V;<0d]s6;UbFf[Dkh:9ogg + %ceVX,7M]#Nb]koRLIbq3gmC\T-r#>oaBESa14n9qhs-'OEM]aED`T+tYYHO8kL=%Ri'lp7 + edthPJ%krYL"(hcb<2WiI@*'1X]4:j-t[gW9sh[6)(7E + "e@rRVX=VYJYJt."eEK(U@&2U_/_KB-95j>lX%pU0Gij&]q@/pjO_)<1MGk$]q@0#Ut<;Q1 + O*H^]q@0+$L1r.2,^/)#tV4G6"_s7>PE`pA0AAL"eA4NC>B7YPCq)j(N_!ZRig(ZUQi>+F= + )i_#"YeA6"dKb=8.;+GTJQ%F\*aEjGnHNg0BgWLfW0?bBAUR5h$Z:8. + ^nVKd$]*_;tkmh]Si>l(NeeNCt-.k1N-d:mKK/,)s_W"kfi?pY'WHIhWJPgH?J;OHU2<$kP + kD5_uY)<$T`>/hi/b4#2F>Skfa@sFY>1f\FrC):-c"0BsX.ADfk+I[(;TEYB*-Ud?uep;YQ + nIRje6.]Z7bGi(U>$l+g6lU-%\-;.;h[Ui-,*'7$dc)f'9uUf_K=C8;F&o\W>fe>$;jNTq/d-+KMrq,8RZ/V`m2)%X + FtkuB?8Q;i!F"@mEVSg*1hWS6mdc$e_,pA_c5[!hh$Z8b(-H^mkfd3!e@hM2LN1nXmKK.A% + J..IFQPF(lX%r+j"RT^6"eK\XR67_3=iI-(Nee)9^5s2R0,1CHU2:>`454=SN.>#\efJN8G + 'K[7[lMW6tag+l9"(lkdf%?SN2q`]ndMdFYDt&Tbu:mTJNL_Y'WHINeLX1K$G?/6/B_MU)V + IIF4';[#+[:84?@O;>2;imbT_0_kfgjWe@k3"r%pHU17mfS+V]N~> +Q +Q Q +showpage +%%Trailer +end +%%EOF diff --git a/Documentation/rotation/flip-rotate-270.png b/Documentation/rotation/flip-rotate-270.png new file mode 100644 index 0000000000000000000000000000000000000000..d3094279a99d200ca9b773e168765552030911f1 GIT binary patch literal 21367 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 I&MBb@0CYqZ^Z)<= literal 0 HcmV?d00001 diff --git a/Documentation/rotation/flip-rotate-90.eps b/Documentation/rotation/flip-rotate-90.eps new file mode 100644 index 000000000000..c39bf2c4fb05 --- /dev/null +++ b/Documentation/rotation/flip-rotate-90.eps @@ -0,0 +1,195 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.17.8 (https://cairographics.org) +%%CreationDate: Mon Jun 19 14:15:37 2023 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 3 +%%BoundingBox: 0 1 349 301 +%%EndComments +%%BeginProlog +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +/cairo_data_source { + CairoDataIndex CairoData length lt + { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def } + { () } ifelse +} def +/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def +/cairo_image { image cairo_flush_ascii85_file } def +/cairo_imagemask { imagemask cairo_flush_ascii85_file } def +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 1 349 301 +%%EndPageSetup +q 0 1 349 300 rectclip +1 0 0 -1 0 301 cm q +Q q +0 0 348.801 300 re W n +q +0 0 349 300 re W n +[ 348.800011 0 0 -300 0 300 ] concat +/cairo_ascii85_file currentfile /ASCII85Decode filter def +/DeviceGray setcolorspace +<< + /ImageType 1 + /Width 436 + /Height 375 + /Interpolate true + /BitsPerComponent 8 + /Decode [ 0 1 ] + /DataSource cairo_ascii85_file /FlateDecode filter + /ImageMatrix [ 436 0 0 -375 0 375 ] +>> +cairo_image + Gb"/lH$!"S^;gO'!YUfMYV/Qj+b:p*KJi,S_D2WtHO3S4FoDe$Z@HTbB'OloM1Z,@$jC^@4h=PG[La>O9Y,,,E5On^#:86RB\;MZX-c?pGKL6L + 0X\\H7U'Olp41Z'QUBrg:/V+h<%KYc@/jg!m8#.`//Kil4Mb]dJh.K;7oqgL,4;MZVMc@![ + )+;[JZImqe]&5/C\h9(Ns=#Je`Bi9a5f1%MTo3HV4EW9%4rVfUYWCogW1OXVe>pCGlrJEX\ZXUD.;q9al1?LQ_2k]Shtbkrpob(mYQ!gsW/B3qVB"rnq + $qNi(Ih*10&^[1!hJ0-`WE_4[b;tbDS2.e60u.?;CZbna+P=bcaIcL0jmW-^gC&+BkS]qD\:GQd;icQp:-kbpuRC[Mol + 8\\,o-MR' + VmA/tLhF,oXXgU3/,H3=GfanKVp24p])pRWU9@3@gE\o$rphSDC5m;/15Qc.VtH?TeG0R?D + \Gkfaq[lX%r+%1:\"TJJ[ZX*[-FG,SL:K$J10Y3lIafqVa,$TbUa[CR/r`dh+a;G<@e(NdZ + K>'2L^N!6WS?I0Q'>2;i=)Kd^sN/[r,aXCoR]q@/><2t:2B8h64HWl0#6JW#1@qC,s)+TCl + (Nd[>ca-TMHU2;gBQYuI]jDf-)*;$X9@_^%(E/r&G4`A4NaC>NTJHg$;YPdgS=i@-$T`?\) + Kd^sbRmIs]q@/oW)35?cCCRph$Z8bL]V]PkfbL4f=dh5Vg)SCK$G@rH//ihF,njp0BgV??I + ul`1Db:@pO^[qi,RQ\3cfq_FYDt&'n>n^mKK/l6=1bHWI$pDmdROM"eE3B_n$Y+jq83j?I5 + *E]W6BFBUKt_RUcOGY9;T"oe\ei + >UKg_cEF[NcEMDu!n]g/`\ME0]a!G?tpQ_&_M0Bc(dJ\%1@@!>Gg=a+arI8k0_YDrqB@!>G + ffb_CT=+QF>/oI49Q]F-gN@G(,3s2[5;9'Ognt"TB>G'[`XR67_!H;`m + B\a%WKA]\T\efGm!GpR"3Wh[OH[4R#Lr%IV$sMI[q=c#s?I0PuOEE5?$jaY[(N]ib>hocKK + *&4D"eC2F&"#@[7;fR!6>"K?OEC3,J8(%7B-l + QkZj*3u@[Y+#9WrfB.^\Vt3ibGas'?9-dM`g?B+T2=e62-AJKs$l_3@:S%&30D3fD)o2rOZ + $0D*Nil<_gT1udh-*'1]ZcIl8=cl#+)M^)k!XWRAuCYA`.0K_Dfh5bm*-u*mHip?O4`9PH% + l7I&GR3t&erDNB17*p0RS/pot5:peK__qbQLIZ!1ZNES:l8\&60uH"k2Qt9UCVC`$/#BK]O + 3T.XRZKPZ??TPoBMP'lXYAN0ht2eifnW(1'YWqra\RSKk/>rsMN_uUmS8b/`]cLGe'RAd8r + XTapYs-E^(rY2%gB(GlH@pR25CIQ9F_lZOs5P*_;>S:$_>B_Mseh.D\b&C3g7E^I7!jq./W^L&VHc5) + -ft6T/H='-"JiS-A-`KaW0ROq2Ha_PJXk=,gfTNF[68STJLh1VphbNHO&F_Zilr9F-8F5Mp + %ce1N4t,,JhKr"4)cA&=nB96apZe2@1<6SO%>.5PakF=b3-CkRi%^Rc2sQQEFU?ORQ^>Ci,R-^*(T5eL2/FWPG8$[F9Y56W07-! + LCO8ioYBZ!N"pGMeoJ7hJ^G>L?hC4"Zg"2g^X3o9"n.[#p['JSCIUU&5\t4.DOZ^i0JkhC5 + qA-,*sZdX2*(iuk3QjDY2,+*%$&Uu380eU1c#"F`8Khf!q#K`Y[QF?N/l1+=C%9K1E#Dd.s + (uGeg_8o.Xl/&6"f2f15.&)Ie1<>j&9Tq=[8bZ%^dg?cF,YVGH;$mBE<5kd;Skg5a_OcFQ% + ;,<%D8UAT3r>(ph95h$8D)aO\R[4Q2#$(/ + J:,Yl=?*tsn"8c-)3-5tfsUS=f'F:B*\o5]O^g+LmX`"S,9N-Y!bZjaOdj=mjR+1t6Ci2UK + >H6O=!$tjX2J](RjmL$6?3l$[&KdQZU!1A&F=6JF4PBrZ(oT)QIAP7B7[9Kgt%FYR'S0rSJ + cCTY6rPV@<\CM)]PH;ZR=P!K(G&\Wo,FtDTs)W$bMmYc@k_1?a;O>-SXn)!]h"6p$&h-qUY + edmO"S_;<5,.pSj\a\i$7U1I7NQ/jAW>!]h"4SL%.o2XQ0Ph+^.I@aMPqK#@"'TJIbh1kBP + h"Gbf-5\EF9O@6QiK#@"'TJI0n4_2FImO"S_!W5%^-L>UO3YT;['Y6/+$Bh?4(j*bnr^a=P + !slN.JBk[8ZQ(I]D?;lZk-LY$CBb>n2Z]K>;D=O2O;3%Cd$\Z5mQq,\0jj(oN.T@1Eq(^oFq5 + N!(j7h=S[isd$ZufYktc"@eX.6,=: + #=#I/ViVIa+3cfurFrt5(2*3O6g2oP$q"Z!rWW,+j`(3+rCQ.g?Rd7R1kfaLF(KuOK5E%!s + _GA::,p+M!#V#\@6m^&5KSM$iOLI#BA`&Y=g/r]4iknrP#I#7hm(]-]S689K*()@a=Q2VjhH,$ + D;8926HkIf.jg'>m3%"NF^CnHV8pG'?5b'WK@Z@<^1ah<.f-5Mt_(r[>/kS\QNLiFguo)+C + DYqlor!o&m5UTE00"rQaUk3RO6oB6P+]On#Nimc]T5M9ZsTmY9!gP=&tDnsnrQp\n3M$:AH + 9p!\!0R>sCB>1gO1.eB[`psip=09UBBPgdncFOIq + )`MWj\o%?4;<0"KNp+\*=jF0c@JA,(Pq#e:;RK^$R^F?7U?fb9er?_359Vb\6,U]:RPmg!% + eF%kP,H&!SJ`Zqg&AEK=D8NFFUL5d7ZoPZm#KBZTt[ip)0M=3Teedk37Gb4V%VO\Zu+:'EHPc$l9n-2euDldHF]d6bT84Y['4mJYB:*EkO%$9B@kELgUD%UZ>! + h:L@mR[=_g7E>dJ2,MWG^K1L;PjcKp\QCeGEs:r59J$Puf0BD0DcG'X,t]Dou:lqTbM6"`) + HE-?:)q" + JFK)$SBTMm0geZOrP3LZhD:d+KHF@HaUa^qLC7bkamN1mA6*6[Teem&41dV3Hk]qpT2cD + i($LSmkK^H=Hc'*tG;OF8g4+S?$Ct>[fU3e(TAX.&CiMWN#;Q7Z=PAF\YJMp`Co> + d.W8]QnS]baCWk_cabd#_)^H^V-If5+Y?lT]>i"&bR$]qBUS + FTY,&>`/=eeIZC=T=bX\u]MV+MII.T@g'r`A4(Pq>q3FEi&0ihSXb.Ibq4PV]IPJeZ8!ZP< + sraK2>,XUb]uXD.CI++ogdUDu;C_X7J]bCXk;WVak+Js;rr)`r&:LYX$QB8$=TBA8l'c@l('j\FHSXA'^\om&mj6P7!T9,/%Pgl?l_a]V)2eh!Q=gR84aXp])Ct5P.S$m04;VJNs + hkHq$''/*a@s+Z&h33'R]Uo=?B>I + B[#Y&IP_sSkE1L=1S?'uo%A9W.8$`gTSc,k*g_X8bD1L:ohI63[0c('LD9q]ek""BdD>5mm + MIq]G.GoiO0_WL4IHl$48'<&7;Y@k$3ZRU#]$0j'er;0D!UD)%C/Sr^mFer:uB45utW3`_N + [0b6g.hni*6:*PeL7g>,R%.G%90OR/*R),QUL_F"DXl,B,tuUi['9F>bDTKE9gWK?YW2N[N + tumt:5V)D;Zg6:'85-hBOPk'4dBp0*/E?Ef`,2C')AX=TqS*GC=V<*p?Y*/8a+^rl.'82'W + `uJEuT9]+b/C(>k2)+F@"B-!&;dp)q\l%_ErN=?,=M]-BRC387+_1[`0K#S?.D:(JJt + pDdUc":.q=2eLL?fi+Mh0IapQ;eJT]d]M3NgE'#qZ,Fjhr[:\.+#a%D0.)BT@cg>l]*EKVs + ,k:=R20tL4It_IG=4('c3iF%@J@LG2,b)sB3NqN_>*4%`+'4HBjpc*EL/eV'Olo]ZU!06oj + i87/k4-nY^9nAB@n4*_SDQ\Fs$FKB9PY50lX"Fh1N74n'U9+B3NqN,$!I$g&D.GRZ"`~> +Q +Q Q +showpage +%%Trailer +end +%%EOF diff --git a/Documentation/rotation/flip-rotate-90.png b/Documentation/rotation/flip-rotate-90.png new file mode 100644 index 0000000000000000000000000000000000000000..69f797dfa8a176b8e83a1ebb5f2550b068cc1fc3 GIT binary patch literal 21020 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 +cairo_image + Gb"/lH&r`j*QJDLL^VAaJUla#WXo=G%m[8tU-M+G1e-)Ai$Oa%,LNUTE/bdBRVOclV7+N7\ + '.'>F-Ie:@MI0U'Gh?-M2Gi-#bjln2$1A1:3^^?okSkdB&C8sFnbcUIm6pIF8Y/@o@`!bl2 + L,:Ct=o-1I^Q]Vc;NX*XXU^U#O?iB1q#98j;=]hMuqPabPYXh-i._QLg+JLj3DhuIa7hm46rN + 7:%RJ5in`fmdaUq^c5s1]IoIIm^R)6G[ZEQqg_dJ)&DY*ircbs)q;SQ`cgEkOB<'.lLCVYd + m!1fR2+hN+Us@P`XuH*ZHL-U*;"VSj#D4,ijjI'+R. + S,5;2tRqT/\1lE4;93bO:-,tcWFP:$]7#gq[HLV/F + I6S:Qs>'+lMoO[ad9'I]]YA5 + ?9Sh4dub&3@F!1j*o^05I[OaP6G;mFU,7n!3hn/%Jm(>SX`SQ"hBp1\%l9]A.Y2HLZUeQMb + 4#&3@F11c;MEf=^Pm60rG'*8"1sOaI%(^UJGJ:Sb>-,YaQlXKD#3D``6jZIcR_GYS+VZ3bD + >BDiYA\Z@hV2qI'Qm^dT(M5CKAd.aRSeD!-.\burj)LCOL3O6c@'i%RI]/"T-@rU7=b0+sH + rdsE`maeZ^@R=nVQ;srO9J64LF'F8XjjlL&+`V70rQVp%a33Q9--6D$bZ*u++=&"dZb6fS% + 'JmQ6ka;"RqjeT+n:>gX"X/5J&nC0(%&JCcH+1n;`+'o^L-m*'BJ]`dgc/$`J_PAs"iJ)hO + 19F9j($bVddrl)OI'FaqpDq`QerJ3%C@,b;GfmOSDViPUha:AX_\7P'Y1cK;7G^o2XP/hP> + &D?%+%G4P7/kW[PWrK_Dl]W8?("MOfX5`]HI_;4!_Gm9VO)TuQ3C7JV)Gjo-*%8B1s`+`[( + tfMV&KZQ3X_0))TR26C3J*RR%7H)o=1Oh-X!S_T\j/tXH4X3GDX0t:%i^hF15s%lC3KQ6fJ + U3rY3WC[MYMKFQjIir?L]Q*aP;1=crToQt^%qXWC5cR01GDUU:?sJ/`.)2M*ZIX>Eke1d)L + ZJrjSE5B$Z`2b0VE*)7r&dh_eQJ.j#5;S0UFV&jKZ*.eI&(PD#cm>bFT6K + 5J43M'nh^-Ioi;RE7a88mCS=84c@bjYQX\Cn#Y"Z&_fiW(fhmM;KT@1u>b?3`/)ss%$@hb,j"0i/$$d6fO0H4VgZ(.A + er<\GUYM51TDC.qbe&k2?g<==5mM^0"'BU2d_KH"jR.G@td%gj@J?3!Mm+%Z)QH-1MqnI*O + Q$?bBbA'"+r@Au`1q/@KeQ#Fq0Cp^R+=31Y&QmoSaSDr7B.6#"M,16K0#/.Z,G]Ru"9+01QY-UEWhanZRk=9J\nOEef!>XadQ + DGFN4U1p#U/`@.uQ3;o[jaiC/`oZcu[e_,)-3ct/E^Jbm'9eg:H!QI!B/Gaii2B1=86d5.4 + j1A5:9A?V$R$!1*./q"^W&F&16Ah%gU):IGW"`A@rPC0T`XK7C@\O'bCTdC`:DrH_/]FJUI + 4%9fnRH,P%A7K3PKX%1,eX2+ce*HSn&oU2dZL+++rli-!J@:+n64QML-mTaJC6mQG6T\;Jf + rSGtuj"o8r_^@d&)i<.8otc>Y(5a3c(#Oo4p%gB3B*MV#3mlBQ%HE^!tjj,gc53)C`.RcDZ + Wb1Me?7Pq+N?lTfo9T4:HOTJkuD@sLQaJ,mJM9>nu"biT#0t9"u7Q7>\n:edeQZNQVq1gR= + (4+OJK1j(lG>n7dFQqt2g*/.ia3C0oG/J%i^Ge/`Sd\&&e^Ohqd%m(HVa: + 7_79c.OSBeM^oQSAAp*Sp1Rd9Z5U*Wk#`3m9TBatb.X8tkW,OsH/seB-B&C=Xb1Q9E_,6mn + iY1,VM75,FrRNMWbQ/[n"GG%J!UB!2PJ;-KB(>Mh`8IS54!a5G[jW)_n3pbY@$q@YGHZ-A, + X,KQ91B>M$?nksD-k^K3AEKC*"@b>koF7Q;T]0r;hBoNn_Lnr*3Z_O<&b[,?f>:P4aAbA.W + e4/PQSs\hY"TC`k)kclaRT@pW)3.0?B^tHm/"pEK7pQKDST;j5@`]C?IXtO>u&"fi*J4M%> + Uq,lW%bg;kU&G[SNc2N7;e[2@1?VCVpA7>rD['ZT(0n:eg%6t7#/^-L\2B@apYMQ"4,d^D^**:Qm!I(k@S"/>?L=7,#"M="+`ZBCfb&k3V + Fb&%P;4Dth2C29"r@IeKZ'APC2d$WO?G0HTaciso"IO$7LUn+-q!!rhW^WA0$'V"a?nl:]b + oPCf8.EN$:#7;GNFGCBqbHd\F5%9LquNtLPs:_M8));)&p/WH>K5ccOO$g&#G'"&VGuJ?V( + +6dU'Jc;Jfs.S[fki>-JBk,6er7H;bco_XJlN(gKC/U33"a-&0?FnR?IT=Y4*R-qXi'mmIT + 0%=B>h:/VWP'FBU@ + #3RN@6K1$1QcbS,*N-#*XZELMiiQ=>eo>e&Hqo#Zg_YSnnN\jc$@bT/Rr)K5:.=oeH#5?VQ + ,gSERBter!,bJhHN9^<%U9tI#XBh!1[c]N!qZR!,!30,6Q3m^mPDPaFLSsE2J1B1>j\`S8$o?$ + oeUpB,W`S"3pt`R0LsXJ?o5pVL^NYi%+kuC#FpY3"#_!)E8rDc2teL#0t;?ZN+sAJMT(>/- + )2Si/A(($NOfX3$SON!l13.cH(OB!-"fd1G[l>!1[c]N!qZR!,!30,6Q3m^mPDPaFLSsE2J + 1B1>j\`S8$o?$oeUpB,W`S"3pt`R0LsXJ?o7RS_a6c.cuNMm,5U"<3UR9%'F)+!M&6Rc89K + 0!M&8(WO(`<+Y]L8r-rrF%%?b\jh*Cr!BB*ESFH^,p]5%*J2;Yi)*d&<+)o4139(76nH7)3 + !GD=\1Od+W5N%JBE5iDJis2+E"4$ZBBDd99I_Zgci/Aas`Xb&h#Ft;dcM.EQr.$SP^_oApN + $!#Y%liSSSFH^,p]5%*8>WZMN$dJGBZ?Kr<'#@K6bq>f`gR,lK/6`ibT&Tp1L$Stet^fb8T + 6#4hH<)?f7+ab"E7r_S65i)&i_ZPc7FK%$(RCcB,8:N"O>5B1CN,7!b^Z2R0@OVJMVB*bQ9 + bf^mR3%Ac\Dni630#ZN/8rE+TTM=TE(I3&:fb/:]M_S='Il(;Q=@cHLhq$fF\[BBI!t"`Pf + >1NVKu!]ZCZR5o4u!Lua>bT&UK!6uj/Ae(>6!+up(1C)2VJ27M%R0.(;^mP>Nb^hPXi(O2b + k.mB>HeQt$30Q>jm*TeXopiJ%rAL0;>^(?qVYb(;\oqeNGMl0S\?h0#LMb=KfCV+GVmltE' + $$P+OEj7lG=uP%p^bXqN][,,jrs9P9poY5IrH`SgtCuu%bd;p51QFs/o_EI,`Xt0hO?N5jN + u*O9B@0RPIU$3qrH8`rQ\^+IN-QXc9(V"B+d0[#L4lN1C9S>"(rCbR0:gZJMR\l9EJkh^mP + @F-@msoi626^PJESHE+T-@8`7f433rV1,]I?*S65i)&i_ZPc7FK%$(RCcB,8:N"O>5B1CN, + 7!b^Z2R0@OVJMVB*bQ9bf^mR3%Ac\Dni630#ZN/8rE+TTM=TE(I3&:fb/:]M_S='Il(;Q=@ + cHL:Og#Y.__@4iD60DBlS9,gs=S"5j.;-F539(76nH7)3iIJ7Oj!/(g`LGF'aq8jYNj@O0r + rY(G(N'~> +Q +Q Q +showpage +%%Trailer +end +%%EOF diff --git a/Documentation/rotation/rotate-0.png b/Documentation/rotation/rotate-0.png new file mode 100644 index 0000000000000000000000000000000000000000..e7e95a299cf23c0e757dbfec1907d2b075523a98 GIT binary patch literal 9086 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 literal 0 HcmV?d00001 diff --git a/Documentation/rotation/rotate-180.eps b/Documentation/rotation/rotate-180.eps new file mode 100644 index 000000000000..3ace1c22db9e --- /dev/null +++ b/Documentation/rotation/rotate-180.eps @@ -0,0 +1,189 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.17.8 (https://cairographics.org) +%%CreationDate: Mon Jun 19 14:18:15 2023 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 3 +%%BoundingBox: 0 1 349 301 +%%EndComments +%%BeginProlog +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +/cairo_data_source { + CairoDataIndex CairoData length lt + { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def } + { () } ifelse +} def +/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def +/cairo_image { image cairo_flush_ascii85_file } def +/cairo_imagemask { imagemask cairo_flush_ascii85_file } def +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 1 349 301 +%%EndPageSetup +q 0 1 349 300 rectclip +1 0 0 -1 0 301 cm q +Q q +0 0 348.801 300 re W n +q +0 0 349 300 re W n +[ 348.800011 0 0 -300 0 300 ] concat +/cairo_ascii85_file currentfile /ASCII85Decode filter def +/DeviceGray setcolorspace +<< + /ImageType 1 + /Width 436 + /Height 375 + /Interpolate true + /BitsPerComponent 8 + /Decode [ 0 1 ] + /DataSource cairo_ascii85_file /FlateDecode filter + /ImageMatrix [ 436 0 0 -375 0 375 ] +>> +cairo_image + Gb"/lH(7g`TuSOeAL4`-8N[J=[KqdsKl?`#\B2Y-bK;aiL\sj:3Fq4i3Q^rB\)o%"n;RVm3Qi=is1]h7qtbT7AWL*)Js4/BhTmp#cMBp + Kl[p_ZFQ=usl'[:eE-b]27Y^/YC'Q+6L3fC,Cp$FLYr[&pkfB1^#"Oj5hDU!GqagnYlRg#2 + Z_n^1*`FoLhCjShFu\L`cBs/=$Cl)9B?\./"jT)X1M5R(!bWLg))H5$JMReoN#=UM^_mAr` + XJA7i/@at@g:4,E5hpK0`u&&39("aR"7%#S8eOAbeP)"c8^>1B&JULB,n])1N5g71Ci?%)* + "D,)$b-#%%L2QMuu%L#0nW9`W;Sa"(r<-irIAlJMRY'EM+[lX\MN[UIEYti@OMtS13XqXVs + !)d8#IkiUq/UGZ;tW?6%>(EmfXX546kgH8nP[6"e?>Yle=8WVo3GJ:eb('KA`J6"dbYgR-VdX5L-pVdN#YP[Uq,6i%,2mg(aj3`XJA7i/@at@ + g:4,E5hpK0`u&&39("aR"7%#S8eOAbeP)"c8^>1B&JULB,n])1N5g71Ci?%)*"D,)$b-#%% + L2QMuu%L#0nW9`W;Sa"(r<-irIAlJMRY'E<'Xq^_m=$3.Nesi/@_M*5EFJE(5C7%cE9`32= + 8,#B7ZkS5J4'"#scpc7!YO!LtkHB,!>c!7$s_1CBXlTF5BsWbp\Te1`jT1d5P4di[;bab/[ + Z3(kqhB,N]V1FFO<0S?^M6Cl(%S0\k/ium%#B'3aG:!#:Q9B=j2SN/9>k3d%\`3I/s7<.#? + a0'9M:0ujP52]*ui(Q>m9KqB.52]*ui(Q>m9KqB.52]*ui(Q>m9KqB.52]*ui(Q>m9KqB.5 + 2]*ui(Q>m9KqB.52]*ui(Q>m9KqB.52]*ui(Q>m9KqB.52]*ui(Q>m9KqB.52]*ui(Q=FE2 + GHNFU'Lm++@61(@bL242$[`cC/r@qi#d.mh3=TJ7I9";8Tm1_m](/OhmH&>"PE49'=n2rs7 + 2uS4qo6f\:,5al(BHR2,`?3M"6_-JFl!>W3X8ah)NC!M%,'9P4Q^YjWN`U&1>tN!5q0)'jE + l=[$N'-jGrJG+1;JJgZ!nL0ngP9CC%%n>SHGS:&-%D9gA?YVqB4iG]=LSJ=89?J'T^4DaFD + B*D(e3_n!ci%,/(M#ko=JMT0&-3cF;#L:i7R2Fj5*&pk!B4?CtE8XD!S;@9l_LXL#E$bcK$ + O=u,^mQ%t/0$WJ"(u(nZZ+hr%@i7UcGG,g2/jlH3"#u:eA.Ihi%,j-;ZgZAJ?s4Q9F[MK!R + AQ51Gs+u"ultqcIBXt(uQqb3)]ol@Xte(i(OTMM#ko=JMT0&-3cF;#L:i7R2Fj5*&pk!B4? + CtE8XD!S;@9l_LXL#E$bcK$O=u,^mQ%t/0$WJ"(u(nZZ+hr%@i7UcGG,g2/jms<,lN!bhaO + uVIQnn1J?^YDtT#M`UN/r$70n.qIrrh-r+mE>4%'W@Smi^^*eNK>[AS2EjGdnNsGa_`C'pU + <5;YlUjt8UXBrcX^,m1E?d:h#/h[t5HTapQg04`OV2!EDF&PYl_ANU[cK#)Qj9*]g"4#s0cK#)Qj9*]g"4#s0cK#)Qj9*]g"4#s0cK + #)Qj9*]g"4#spGKpm6McSf^'K6j%gUtgP(OUN9`1lPI@^!,D6`ka.F=?!SgYtDDoFMN<(?K + .=(lUVrf4HI%Gqk/mMg'Qmog+@R]Y3FBCT!cf=2mV,dEi=7@gZ]ok5(Uc(ogQ[k^C@;r+,g + aJ=R%f:C7QNP0@GY#@OH=:LESb)nti&%J?YQ<;P7)`9S'B66iQ#=/'@(JZ6qj/p3rZ1 + p?oGeKT<2$hWsmGcYXVmkPJcWOJgD][/p6R;YRp^$[j6MZZtW%p==D`iGU72:s1CoqGDkhl + pMkM6#$75m0,MaY=7L0/Z7i3-JkG>#p!d#+^8_C4ZWb0MS"'/34$q+d`2Bl1>eIQKQ<9TpC&qVJi;Z3%oDN)ZROK(S,p6%G;B + ILskp>s%kKc?bIOK/]kAjgHO1Vk8r_D+-&D(n6#[fP"nkpqdZQN'ub<'Z%)1=0_#<>(Um#% + VU*lfb,.Pnb!0@6-&q&*2I:3q(i"mqEPB2\1mQ`W$RVh'-$f0qW8j0(Mu:^XDJ + U&o$)p'rh27CpN?tQK]';OEZ)OoSQ.^hT2Y?ZXuQ.!ndi,9epZD#d4HIZV;^&Y'm/kP)YIn + UfBI;@aUK'7Tk9nkM@DqTRq]"]17ZWQZ?tF!Bd;fOZ/XCtVhbi5?>IG3.KcAh*;epJqTVhn + I9/NUV"N6Wrji#t2`n)XC>FTlr8mdhFRESMGZ1-!1)/?4XtBA3cg#f%5;C[!#Iifkao8h@f + hqi0_V3:O)W2]Pj1Ds)#rkd#5$hAek8rd5cddo_iN0O!bkDXUMD`G"IlDsm[%>r+1bUOKs/ + 2gA\#ju*5W[Ec7m0q/TdCD5IErYI_$j)oPX0;;Y^fJ`Z?iT9MP2@*V=BK:r_"'I6(:Z.^#7 + C@m2s,ur/hh2U2\_%+!2YY'8=m(fB$TCTsj7UGmq+Ukot`n77SV@aLgNdF3*V*V<(Ym)4W+ + >L;0kSLr9gu>`B,PmHm.CSTa5-gVsTOn_!J%(.^->@.7WP8Oa%Uq>'*^]>lI:>$r + .M]?`rdU83A59_$mL0RUaIR.=t)Q2BKp_5'18l8,_N_UT>C3XW0? + *]l:?NDAYW[Ir9KJILrJP/4\VcBd\B)'X'Pa + 8XAS5_;5p?#l@LomPh9R6I1h8DKSp`fW5`M7.V1#3T/WS6`="B>-pL1jpTgeOm3b%*j!N^7 + BN[]4UB51l]Egf1.=m);KmQ#3Yh(flLu?Nh*"b,i3Q^irH[X;.p/(SZU8FZS[Z[h6se)"]h + A2qE=L'%O]pWcFD;j]OPFpr??6E_>+cBr*`g16Z,=SD^E]CX)hpf$NXbc-kbu(K6,lnLU4@ + F`"hI-(Ns>.SM/bYDt]e%(iRp=ZS[QX6Sc.W/($CZ'5'8Gi/F`qSd(=egU]11#3WXU3*Rtg + ZZM#AQ%nNKk%Nl6jZGV>=+n`I%))-lgpbdilr]1jVbhP'Xh+;4.43g$r,o(&$\C2cg0E-2c/3* + $T'\%<8sCa(!aG]l\JikZ&K?lC'G;Rk`kip;#T3?pHaB;AENY$)8ep.D]Pjkaq&]K9YFQV!S=5"H%B5:Y*V*:"q&m&!POCtQB@d`.pWDks^.;Lo_=^t*H1_U*m&/(Qk' + =^=oC%muR:MG)aG0'M3BX`Q`7[N3SD>j3Zd;8@Ln5i2eV_n0CmFP$7>uiI/?p^f`TIDaC!8 + #T+]EpLr@D-[/LK:?SI,-",C"\*L=p,oo;'G?_Y/'ghkk-23>X[X30?W:+E3K#?/TE80gAe + ?]hjE6hV*8)4\\[0)Lp&If2i'BI#3XV]0O-C:7C\-%hs/UR3]NfWNRXc'3ff,]4U3=XW=2H + :.C$)4\^)^:)^ok=gYnG]6%D8/[r;)e/FRHp_X/o0q[!ob31_2InIF*$Ks0JHp6IT^f=E2! + ?>#u[[ER::J-:H,4X7L/]2%.E&9=]%MioJCUsrt'mb\S4cXaL"u< + ^3ULeB_"+8kqe9.)T86h_%Fg3+%`eTaoe%EuM&#Z;2A4PYE$uT2acP+b42jk`hUs>?GCJ0H + '[d-"HMSteVO#pBplT0Zn%nNm5F_71:S3<%@cJ%#WWfe$P#;`lW)mX6a4MlC^EV:ernfoB: + @s?oWEK>N,qhFI?gGLRaA"AeRc:EAGi(0AKE#8:.A08H1k(`6:7E=$sYd.$tIcHms/[_.38 + :5R^,B6]fa0[#%lV:.^`DL84:N:%.H&RbSHpTb^in?>%f=:=LFWth6.HR+_$gWY+`*5uOhN + 6Q9GJ9A3TreuaZc>u$)0qN'!KhUt#04:u]5'!<[ZK1qV.ns@!KjlAK@@+LHi:XrflaBc**= + `)c3bUg$YS9:M5rRG^\KR1NDb7U^6[#3XQ,/DInp_jh&;.ADoc8"N]=Y*eX9tgEOIl5S98< + e*jQr9K[o!I;&iUY2T"^*LpK*A[LVYdEB"8)UGL"s^W%/09GZMCK5\anQ-_% + +H.7gP5'\;)qd4C`iZDQ@e2Y7`OYE?ALBAaic2sq6<^2e<0M]!Kf@^L?t3Bst?c9;O:?VXGE'nf + t-qtYd>=N1eo4#mg8jd.S?'0-,3P@u?V3J?^Nl9VS1^.S&Y!a4U27QJ]ZX5V*Ia?<\]_iKL + ECJk.a8Yo6Q"Z)Qn'ZG2eO%Q>$iU7R3$=?nM'io`)m]52-hptXE7#6b9[Y61\58Xn&NCf^& + rF4P022p%pe*WUeY(3ZKJPeS<'=04k0.t`b787tSl?5enA9p + )s+^5"k(MhYdO\MjKOl+0u!XKe_8/hNW.Lr>Ru5_EL'`kE)6rI%j,-rK+64QN"V;$^>&;b2Ki1f-n=t]14YRgF_+gk,d]4Z: + )M79#'SA@Y1ICP&?B32"/1\IL@"d:u9iZ?k/JIJ]K3J36AE+c`Qe('j9'$h&G`0J>WLg1ZMT#'MAW!o>4$V5_l/&PWNlHQ3s#W]!duucg:H/a?5.@Zbc==`# + =J3qJq1VZp@`EU5JoRYSBft\qs6MUc-4l-B&A$n14?/N8cR7f_pS^H1ZfL-AHpXnI,b4is/ + %T-(n+[^iqL>;(251~> +Q +Q Q +showpage +%%Trailer +end +%%EOF diff --git a/Documentation/rotation/rotate-180.png b/Documentation/rotation/rotate-180.png new file mode 100644 index 0000000000000000000000000000000000000000..dfa69340497ed87e137804a963b8d9f40047ba2d GIT binary patch literal 22182 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 IzWmSs1JOTWE&u=k literal 0 HcmV?d00001 diff --git a/Documentation/rotation/rotate-270.eps b/Documentation/rotation/rotate-270.eps new file mode 100644 index 000000000000..426f877a14a5 --- /dev/null +++ b/Documentation/rotation/rotate-270.eps @@ -0,0 +1,196 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.17.8 (https://cairographics.org) +%%CreationDate: Mon Jun 19 14:18:44 2023 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 3 +%%BoundingBox: 0 1 349 301 +%%EndComments +%%BeginProlog +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +/cairo_data_source { + CairoDataIndex CairoData length lt + { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def } + { () } ifelse +} def +/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def +/cairo_image { image cairo_flush_ascii85_file } def +/cairo_imagemask { imagemask cairo_flush_ascii85_file } def +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 1 349 301 +%%EndPageSetup +q 0 1 349 300 rectclip +1 0 0 -1 0 301 cm q +Q q +0 0 348.801 300 re W n +q +0 0 349 300 re W n +[ 348.800011 0 0 -300 0 300 ] concat +/cairo_ascii85_file currentfile /ASCII85Decode filter def +/DeviceGray setcolorspace +<< + /ImageType 1 + /Width 436 + /Height 375 + /Interpolate true + /BitsPerComponent 8 + /Decode [ 0 1 ] + /DataSource cairo_ascii85_file /FlateDecode filter + /ImageMatrix [ 436 0 0 -375 0 375 ] +>> +cairo_image + Gb"/lH#sa#^;i;oDIK#UTP-4e,Fa]WmDURE\3LspUh8 + mVV%S)4]kC<6>bJRWCEf@`sZ]d]umOkG.r3Y5Wqer2bV)d7hkQsu\p%R?3B.EMjkQ$s?njC + _>qCXg-R(MTk`(lemKtiVm']sXa+t$o56/caW1NiL:Krg6p#+mL;p[j`Uq3I`cTJL0 + TZmS]a4M@+$FJ^OShL(ipN!$gDp'<]XPQr]W&Mq[PMa)m?']i;4D.T5\U\I4?9MM\&*U%'G + 6t_DJ@!*1RP.92oKBQ!#54:kG<.FqZV[(V;MHh#p<^t,Ns7#e33`D+FCUB?]DSni&oaq + 4\sn;Jkt^cOZd,p%W*m[PIj&BePOB1\JhLf2foaSl\C'VBB5/lfV/DFcr)V&Y5oA02mLZP! + =E[oa#Z:)B0?GOdL:J<^q2.*+tif.q=k7=1o]-cICjb^+qlp&i^)dWC9Q+nI`2"5&^ok;i5 + JtQ?2;h4RNPu&39=%_*DbaK8"h`(f[c5b#mp$+3Y5E + SX"XjdUc[,(4MaHXc-PGQl]C2SCLpiiNb8E[llatYXNb0O$mW'f_:C,_W&n7WgOK;ZKV4/HG"YpNS6,!C1;3a(')s!'9 + ^3Sr6eQd$_(W(Urb*IKhk)20s78kc=jW6OhD1O"lMrL/>(4kfhYgMd*VnGRce+/RF?>!77- + 0nQsuPJBiNK:tu,&c@!a5VmVf;;fN0F3qFLrhQC=9AOL1F`$fM;RUbl5kfe7$`@V)Rb\+`1 + /HG"Y=-s]2!!(;nfet@?NEJ7gB`TY2lHH'6"TWN8n!=*UYS$C&s0BBuB%1p7bgu*I:-MTel/)(UjC33ZFN;bR + XGup.&b%q9$@["i/X@'Uu"c=rs5[K;Q-^^sq$_S*0Gf3qE\QE=2b-P7LZ5$NN5O%UF&^!'6 + ;R?#^5P3g1"aE=2b-P72;J$NN5O$uKtl!'6=e[tDeFTdXdZ5\Eug05^eUB2YEVD?3"81-%S + 3JqLA="TY)b`$fNf9N0^JJBfELV76[/S]O5PDQ3Eomht;]1MI]F/]e6##GEqf(r\(JDR0g> + BQ3YROeiYDN9-5rAm/HG!.0Qr@Y!7 + 7-Alk[&1TJNk*/oC\TB0rk1g]E#OKOV^+"TY*M`*M08\(V%WM8Uf[iOUe=1SM#e[fE'WEA/ + -:!2),f0GV%sTJL#\'t4191JohA[fE'W;/BhpD?3"8K(rq#=W&ai76jd&3YTD*f&@GFF=%4 + SiYDN9-3U*R`HJ'm#W`WM;;BUcKTPH^9E]Z]9DC7S.jI(gJl1nfd$,hcl#V=(:O::1QLrUD?3"8r8:c6!eASk_6pcV!1 + e+^DfH-b3o^D,iYDN9`XC)2/HG!n'1QubMu;iH]RnH(i%Aoh'DjO'k_p&-Md$2.)&N&a[fE + 'W*XF03!C19[&5_-`JG0c@J;E2#!)mM`+$!_a,Hps1)/$t3aLe%Z/#LT1F@ri+E^RSsj6V] + /#%F.f`@\@\V6,]LZdOG%B1?ma"F2LB3b-*6h"$kpl!?Vf9 + Sb3:!C19KI/SZ$iYDN9`k]h0Wfr>gUppR.SM;7m\-2l'fgf^q$NN5oNS*5+!-DflZ,J9pkf + bZ2Md$2.R8)JU/OqeHV4\5VgY^l\#"+_tSgq=]"[E6(s&cOFOZ4,;+eKMZ9]LKF_M_Uu<,f + 8i3k2%PW`:21n6N2p/AAUt5Qtd.Wgj"XPb#p$:K`'b$\/l8C.N;UpG7:?3A8+V"TY+Hi:\. + -AJA>'!hbLYWpq)k#bbaM-/QpX'Xn&jj")qP^cin]S6VDe1F^9p!6R8o(=ao">T^r:R@N7P + !-Oe!8M;'!p3fhZ,!b31Lm\-8Nn3]l-%l+@+4Z!HVn6Hmp3ID)5FL%sXCJ. + h)tXk)PpcCh8BtiYI%Wl"iiYoS: + `h;es[U3gu\I#9!)i>6%9kZQ1W\ZG'Ys[dAODU\Qp6=kj'T,+\\&)A^pX-9R:Ug2V0\[C?C + 56ooC<2u!+h0.`jq]07l\Ef4-%8u=E-SU[1m8,G5S?I%UI[fDXhB3*sO9QG+\!'6ldSMirP + #hKIJN0a:nB2H2]j`*n/TJKcs4A3]D9YJF*ScNmn![3T;6KI5)c7EF8c[()dBq>d\R8qNA.H_UNFb9'?C$KhagD51E0Rkd5G^6jk#]1TJJYL8gYc-1*5p) + 8e!hf_sLSMA7cq@Csp[u/^=hMS$]s[55F8'3jV=O;_k`U(;<`35\Kf#5)J>Pr*T$6-4QO!j + Kkbk:"nqhg::?1S_[YUD:6!:j#iY0FCpj]8!,FMJ2(WA6b6ehF7*b?D:2I)+)D-BZVA80D3 + NOXqRmTjR=3?j,_La+P?g;%c5=XRm[2aL]7A9?k_t(.'?DLpHGpjb@j/T')-pmXgscKgA)U + b*8GfZi;3E:2=2_UZEBNlEU0/GuoDIi#uG6,>mY)1DApU[cJdo;b\b + &EWl/3g1VE=2pYA`&X#&NCRV$fIAfu%lufKd4@1>5"0N&o7J;JS':K((#d0iaINtB#"[IDJ + ^3,#X>1a2F(ij-bCCrDnl0Dq:Vra,,MXVYSfnoTqM0*/qZAm+L\2a5V3s1'E959h"S2Bd"E + HZgF1lBYGc96N[biJ'733W'=hmO*h?;&/o!s`Vme;8c`9"6LFn++b;PN\m^mUSe^_bsc`+Z + foZe?FHfV)$!1?Ik_`+ZfoZX2<4Na(\bnoeTeRIe)(BY:m^JbD:pE9bQNjij-jV(Q5`7)'4 + kZTnECf&2`fPVHh&Vij2sT7jg]TJLJUrZesY2.m8W`hP>-4Og.r*JI#Dd2>0-B`':$qq0O* + ST3^e-Z[$A/e]4a7qWerU@Fs:C$:L'H8NA$,g*_QgB='e7?>G9C_ljkk_q$<1gY-N)*6f9& + WNE*>Ms:i1VVYnU[cH]"MP($j,>%=YF$Lf)NW0g@mo?YMVFr#1YrtrpqC)@HNeN2S[0u4b8 + *';=>V(in]-I*D\FuMSaf3l1`i1o5^VtZU@IG@!(JfZS"OFW3YT@(YA)DZ\&:\pd@$BRCeH + COTP-GK'8"SE4?=..&WQfU`$Pqa$"CSkf6AIdG]Y9gX5b]l"@_@uR4(i&,Zdc01`i3Eind! + R)W0RRmZZ%d0J8A.S$^=VF&-)71NDbt9s.ieot9I^1ND3=-70Xlc3/1M=`'AB3uX1*BXmf; + MZTGR/oKOY8TW4?LRHjCNH[3#S^FZSlkgOWkbP^*4o2ols2W)K/nV\^1#$1Ob11JUU@IH+L + (>9Cn>l1@+Wqo#P)G46++&C0&WL/A2&_P$BUE,?\?s+P8b;_qg[hdHg=';*([-e^gWl<*LQ + _YB^q]HqUnKR_loT:G24eG;*hC]O3NM%epon2EL(Ad1V09uYU7UR;GbT%taP$7\[7qRcBKS + >N6$(Uec]t,->eW*k]4Co9:?A+hcd+h`N;U8^Wn0/;1]>GC2.uE:`hP=.1hXMXT+%)K^tWoPE0=E&)_O+-j[S@RAXNtQ(_(O:EapLlZMUOgOT3uYku=6]jXd88KK + 3u4CWNlIhM)@AL:5Mi+jkLm[VU[dQ,L-j2R^$WpE3qW>e/]]_m7H;c5%BqX/:P>AqHZj5_[ + O!RcBCj.0X:=J[a]u;eor=8pbEjedP.io`'C#;T'ob^r1k'hCu#srOR,7t,XB&WK:n1mgA*ANkU= + (6*7;Q/tCjcl!;TcG8=ikZiI)MoNNM]LbJ'1iRGH7,pYsYbj&")%Ct`\YJ]8=AHhlcKO3Hb + T2Zb_mi9*B/FRJAjkZ(0&q!JRC>./E1KLi,[,T;TF^0HL+W?EeBE4T?CMD=eo4Spq_/;*dgt@4- + hRRKo]>o5`EbGAhB3Ug-G'7N4*f]nr:go6lZ^>0>NO@&9K,U%rB,03i5o\,%U@IBk==DG>* + kaKocBt?rk_o^Ac2uh$G?`?pU@IH+##EOE0KF3GH%la4'o`HhrKYo9Kc/IfLc]?4Hal+o9^ + /e=qUpDEZN"\G)m>'r]s`fecCC6YeG@@)7,pRG2h#/qa'4j*Ld-bXEuro,nR:"DnY!5:JZ@ + "5cNtn=X@MC?7H5b%ZhQY)7`2TR,+LZ7ot/4^ZM67u7`0Q_+jR5dXlar0T@IU + ;3hp,h(h_.CrQ$7bdD^N;g+.C].i.N!B$K%PlS;&pbD*+"m#;rCD;LeHS"$m$=B.,;4rTL-BE4Ub,e1 + Q<=0Ze2.Y1U#jG%bQ[3d'c=X5BR9=MomPiJf$*,GUtO7n:TVBbD@ + ((E]92fX,A!B[%EC1`i48!'8lu0?tUFQq)G.0`Z$9Zk/uf6b13SZ-,^[< + 1u:3Cjs*>(0;Z>0]9WS4PnSNiGOC]cS])877B[61^\0R0J':k#l1m'UZHYLc:U6oSV9d&H2RHB@n2S"5()S@_# + jr9n)(Tun"/@IGO=+pA&n<1gU;"QP*_Z-PI#P`VN'9^=eoX*PK_6nCY,^l]mA5/PtM>d3iJ + hDk_tS/BZ?NQS^aG)F(mOHk_t6FA-D8Cp?t:hgsPoW'ZZLSB>KL/Y36QT6Du[jdU@I>8>VnGNS^F)jM]Y$OnDQe&LBU2EQ + SR0oFclJh-mrZqB`(2\9c?'f6$)0icWFPhOq$%3 + )-]>i@"'A:l(U..I96JQWemRHB"``Gri;A\PUL7_3[I&V+-_m3jA\TrJ23]T2\S+lNa)4cs + D)NW/Xj76=>Y43`fr\ASm)L=6SI_,:Q13BB3k0\EqVB"cRB[QS]?8lT^9Ke@6Z>=H?UGMSi + U[d40)NW/X`$?7^c4n2B)NW0CjALlD8K7&BUQ3WajA7VZi[#M(cBQ8'`qT#58OI-*!_).sR + A/ompuYdC4G:uo7?>IcH]#h<1KF8;.;b8,qbFCdd$^oh?`n7o\e^@HUGHKWE>846=$Z:h4? + ?CW/I:bf)NW1nV-p1/8LkR97qW0MFs)n\oNi+kkY,Qnj+s8#d +Q +Q Q +showpage +%%Trailer +end +%%EOF diff --git a/Documentation/rotation/rotate-270.png b/Documentation/rotation/rotate-270.png new file mode 100644 index 0000000000000000000000000000000000000000..632f62e5ee7a8855d78f80692b2fa175ba6e5efe GIT binary patch literal 21016 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 +cairo_image + Gb"/lH!D-*rPq2l-!jR?4ob`e!Du_,n33"[[H90Fd2H@5M5el>A)jcD.nQM0RYo*(00G)AM + YA^Zd6nY;->a[%NNX04?IVqRijlg:B(rPOqom@RcHMo&XrVQ14E]c7KAGnu+?UD+!qnl5n!s"H_#N<]KLRcV))!^2n*f!"g5ab4.+J[>< + %2:+ZeqU?Cn*gfip\mO+Q/'L5(4RRrtW9sJ;A,Vb1IO#/DQ[1'l0ie%P5tD:[%-(Bk?n3P1K/2ehXhM-^l]K]Gh;1odY?PN>8@'"fWC#go&Sr#NBk%I9!(&D`VAs9%/r<_ + ZQd(JU%W';6cekh0A]s6&A]o+SIZ?F`nH58Kr"TQO-0\FV2:)2[c&;n"91VZIC5baX&7)>; + >c6Gl&A8[(HM:ObAgW"]_O9sp^Hg+&_2LCZStUb:f1/6Z%kE>c"U:rj$3Y!rco + J_K&9#uX*b@#MG#n5-m'RncA.L/FSY])/Il_%T+uhB3cC+7jE0Rp>)-:?u7dM\O)[2U-&Nb + @85O+$]4:f^GTld0uC4WOGbI5/W_p2_4[#Zsl"PgbB^HW+O%&%feFW0,44_oP2#0uR%lV*5 + V=.+6^mYnfLh7@d[cablad[<$4^Y@&c'>`GVnVO#1q_oagcoTXMn\aa3dWdiX*,`:do*]6% + C!l]:$Z/AnGro5._mutG8>r&(U[au/q2-Xo/i[>BPqt!1?a9XZQ)drf?G0tT>64*U,H]mJ(s^&.Nj5B*9gi8C:rLCYIeHL0;Sj.B#+#QSKGTQ + ?u!j3(K,(D.5s)-+F;KBS\iL(.YQio1n78k;K@^L9]Od^3_pPa(=T>GS.)Ct5P.lS`V/db; + *Ehkq"VAOfS2+8dErEg7n#j9 + 7b"J?[n`LJ[;+6n=eg<9C=T>=LP8a-nr(lAb*=GVXAGU<=nLI8,]=;-S=.En1Z__Oltkn*/ + Xn]^Dq_R<_hPhZgmjo-+(])g>ISe#RanH>X^%:%@`@nL9:%86P.>i-U.#G+/=8Y?hV>X`cC + $IMA(L"_eH519SMrMaO'-*SkMXiYO3]B'\02?Pfu'mIjm4,F?Y2G>O+.Z1Yd7EZ/A<6`hsia2WM@ + Qi635XS10doUXV_8Mp_mO&NZ/j,01nMS;A1Q\d!GD8!*Jg<][2+b"E;#'6]I**L;Q`c?!bI]%O_m>7WJh;djS&A-6eW&q/)B?Jj)eS)V;:"ht[.Y9I-cBMR,rFHL#e,EV19TZTT5G3 + KO5srkm/fo,#*pi(8+pYb@ei[j\NT9%m3Rn5Ffjlr=6"eZ!r7kGa@lJlqc],^6j5fS#@LLS + .lmu_[ptb/Yj(nQBu@c;+*6B,JA.DU(%^C-;KaJhmN(3n'hnji:;;dM>gdB? + "n6VX/,Z`e[ttG;V@TJ[[Ee)ZT,Q:gFOUB]/8OMoLOM;k4g;c=l/(9Nd?R(G2W#:uI9:rm' + #,I.42o;-XLSB]/>QMoJ7t;Jads)%?Y;C!h0o"bJNK"??!Bj8XAWn4IXhK*Z*n1d5?#iIsq + )JMUeh3%LSX*ps#D-3&=$_1G'M@#<4M)N&*%(& + 'jV5(cYG(VLc)NGoW>gdJ0A,eZ)WQ;6s'^k>qc7hSU)+NY+;aH\7:Nf5j)1rGY%S1kjf + W_&:LCWWS(S"pP3\uZ5C[D`;^mT.S#17[77Y>)]l8O1nFlqq,d_H_0U7H#Gp^Tf95Pnl6fl + A-#6:.8/PRDkk_XlPZMg9%1CR.Aq2[qI+]$Kdd3SED]Wk0Q1aZ\>SGM0Aq2\<'YT3\a0gD + 3]Qq;\ANoO>2edG2NAhA-Zcp[JGa$_G"S7`b!,'mYG.=Mb4>Xd@%Ff'=*+^su);r^C`UDb[ + )J(as);r^KC4@+41nGTCbSFrC)-o(j);r^SKl>C0j-]qnluAOZ)UAh2AriF&EIXCqF^"s98H)F%0Q-4QKuk0?R=NGiCo)% + SNR1]+,upu%:lo:+_?^_m4a[6mmB?S6#U#0n(TZPngQqGWDqg]ofKJJsNO0ZhJ:n`Bjb9Mh + MSan]0hnH."'TLIlG#hc#)1H&&tj-]qnfPkJ+,asH%NFrGT@t\hYSf-IF(#EW:fi-qU"3t" + G1)!1cn9N=N8ER#( + ne9'gF!@g"%*l4S>0T():5q2nABr%i]3:nF%4Rh'c6Pj=R3@tS><)&p)iYr_GHrMPOgBJU( + NRP:H@uk+jEVkQLb2k=u?3rY0m%/W:_^K`R@V&Uu,4AQ-9OfDi + ZYll]*LFR5Z&aV^ibMQu)LM2[,oHBi]9>_cc^.i2H(R@\"r.Ga$^#)ojD)#]LQfJE%`e&Ac + YL`hR3pcqobMG]:Zk'A_#_Flr;MUg[neV9cFBN9j1CrE0fV/Q"4(XC39.peIaNCZ`ei]!d&ET;rAgZ+^ + _nf>k_nTb&WI$.gfVNG)@t-'EG5i-_M(?6*h;c\==5qHrT1L+Nsj8.EFUo!BKS97aOrlC#q + >#aG]:ZdX\I3uXJ>=DN$h](T`-^tduF0#QKBDh9hj&p6 + I^_qX7dJ1V<`WKiT\1du&dU$Rn8HWTL37%l3T`Lo_)E8Br8U;,+Rl#(2KWf>O^@L#PU@I/8 + $sGKZWklLWE$bdTdWIcgYHj9Q + =i(W7u(X\eYr)b:A(RT2#4`%:a^R8*"dLQl60ZDN2Sae.E-Q#"*).s=lN5)ONQs;4qIX#gd + g"$Sh)-=%6_p;u8@'Ef/l&Y1tXU4RGn0X2^EQIHh,#O>U[[,luH`'cbX + hFZiYtl@V=e3gU?'-gVc]:GD?.\^bC+i^s4q"@V=Ts%],Q8$tFV]0f\48NJ7&PjDFTH*EC$ + fPQA\pH?7lmB4_uIrlq-0G3i-F9dL\,8%icaR;s("8H3 + 9.u[Aa!CCJEAq\NssP/1T"Mj4u,+XKR*c)ciE3P7W?A*>?T?eg6CtE`Wg('3;Fj!Bu + 559*6&1q>U]M5W[S4$i@>t%K/4S(?5\ABD7k_KkhqC)T0A7s$t\(NH9^>H".(B75^162^>L + e03+J!b_G/b"Bmb2r'lBR%h]DB4leRK;48\rBlCIGm:?0OXm#0bSL=r?mOE3JC$?pZ=&pg2 + pn6&M17[]cphUC\4VhXim4%i)NZb&4(BYoF-DDOiEXI!d:0?E)6oa8#4O$Y+TTe)TGG#d@TqPR!1_`_>MLFbc3V] + 4^o+\r!'%:oTAgUfi63gDMH^@:1Rmk`DBT#*Ci[$1)P2@s$NY3Y%rT?<"MgEWp_C7L!,&au + =56+BSCrI'E=2edAcnXD/HikW%FjC'nFq2B[h&OPf$T@ZqL?b=BHlBY145!a#_4_SI)<;$K + `F*=9$qmd`@V5.R76PHMaQNF.rHL1c7HiE\:joBZNg0`('?d`(UjqUBBBb+gd2"2R6t(r$NY3Y$?=$:"MgEC";\HX!,#mT=PQ4 + CS=)WQE=2ed7ZYpU('6oa8C=M7/Z@[s<#_4^7";eNY!,&YE/oDg4c7%(t>F`Ga + JhpT;ig."Xlj^i8E(5WPiYDURN!cu&-$\'f>GEkRSC*uE\$Y")B+S[*1E)9q6t:nrOQ"Ijc + D\8JReYkX!oV:i>FG93.(6X>!&udsj)4Y;.(6X>!&ud1n4b9f>6oa8,9/1N+TTfHn.rLSEb + >MfL(oY8`@[p>(UjqUB4SZo/bp16`<1'K`j+M=!jXhMlqDE^MH^?Wjt,_?-]_Ehj:Erh*%Y + tN+ITROkcS3mco$]=1C&hB#Y=+%*itnm=kl=DSGD=8H3]@4#Y=$XVep)FfK)+SA8qtXH(=j + +q2bsW#T<7fST-5CF1/T4J3;*ao4MXeA(Gh:Ih>_P3F(?+5TXRNYj0HkiYDURbQglZ[h&OP + 5&e*CK`F*]a78.)!oQ`gkDNOMJ2:K$05_p5cLd3k\:joBdm8`J('! + '#<.3Jq#HJ?qb-UUZ!X3-uK6MH^@:Z\Qnb><4iOgd2"24bR"o;J1QfG=HQF0PYT#R1U810$ + 4sfliB^6A1;C>!6uWn?Yabg%)je$^tJZkHkkNVALMF>TK:iroJ/B]OkuL"`@V4sZ^?U8Zi- + 3(oZdrS8!h@qgd2!&.p"7TJ,'8U1UX`hN#]eg"L'Zu5iGD>iYDURllL0^[h-W^mdM#k&B<# + Fig(]iMH^AIF_m<#ho(:I3KpSTKttHID"Mf"p7cRS>B,S%\NZJ%R<6D"Y,6FXKerO^>?hW& + 1\lo4>RcZK$&`"m%>?SUMd'EqKejU)>?m/m1N.9Vho%)R+CaP.cJfU@A*?V3iYGU*j@n"]( + 0>#(9\/2==(C/^f&@HH6ZsenEJpk@3g7%_`RPNja]mQ[C.QVq/oGYd,\NSbj#a#p`@\6Ii( + U7#W$l4sMlZC89Ik#F.:mLWX7>RNlJ`R\j3sFO`@\74QSZaA>?m.@B3XIMDK.NtS:*1imc# + !`U[RR'9`38L]YuJ*7c2lOfo''>NNP)5Md'GGT!QJ1\Ad"^3I;0l>?m/J1[0g%rZ@gWMn/~> +Q +Q Q +showpage +%%Trailer +end +%%EOF diff --git a/Documentation/rotation/rotate-90.png b/Documentation/rotation/rotate-90.png new file mode 100644 index 0000000000000000000000000000000000000000..da24302afa88732eed9655515dea2ad0478b35fa GIT binary patch literal 21528 zcmeFYbySsI*Dt*3k`N@MyQDTPjYy}IbZs`U=?3YoAkrm*AR#H;U0Woik(5R$X^;-( zyEb}1@AG`$8RHx88Rz`>-VVo*b*(kmTr+-i{?_7-(9%%E$ECytfk61mN{_WcAe36* zuMajRFfydnZUO>PclhZVcxqev(7U?3*uWg2^q$XLq4ZE+m<&@asAq0##`yLSzBY32xi2|E7B?uZO!kcn}zk8108ox)-Drm z_08{W6I!M#>P>rD-oIxbyzAH~4DS`cy6{LkS}9wZJlfjlRcSWgo!f{bSu}H6F%4+e zx*x}Txxs7SXl{Dp{=QenOu)VMZ5-ZYZ&+(fM`avd?NxobuIg`3hwY%icfslKo9N#= zBI&DFYug=iJ$?fGu|Cevwt0X1(e2^*{@RFfX;r?iYj@9H`?QW0zL_MFZV~^~+wZ1m z(9WUw+nQ`v>(AeNQ4Q;#1lLO%p8HdO@1S_t*3o`F|Mh(KLGQ69Q}|C>)-0)|DM_2- z?#teD|2KhqZ(HmbEVqsui+oBlqIPEPKawN=G(o(m+@D?DxCe4BO!|vcP1l>)Vw4|lW#hlR$@$}qW$8g_QHMz`jbAnGy-qO*Oaqy*}j^Cdv zXbBYz4LP*Ijvc&Ta(~I722<}od()Gr9o!Jd6!AgE6aMSD6DueOil1D9^{_u?*z&eyUj}QSL&Gl zh`~7t1efs389&^A{U#RO$0yovy5h03@BOoQFZUi|&`&0IxJ!WX8e%8EJ zkcc(y95XD~5-e{gD=4bZTWIP?^fGFasH)2C!9ra22c?LnY`5(suK&z^nvEMdIb`?v zNlB>kZ02LeQKq$gh=q-30*e=xxlsIY>Khe9?N$Z6RU=fEjp8CL`nkg|US?Q5bMB_EZ#B9d82)AzrCB>}~Wp5(lWSj@%stwyU*Q{TNU7S5E*gP@qst`2NzQkTD75x}Qc&E%wX_xW zc8fOqd7p|P!8!fHZ%|F5@5AVd-YkV_9FH#I8G&`>cxH8!+e?!Se{!YKHP)bNm zaX>`t(QqcG^?~cV(VMik&Tvp%b;BebqAW`dow#gTKKi1p=3U1;TVJPU*`LQ|p3J(t z;Mo>xYP3i$Dn_u(EaD%%FckmB5N{|El#TN)j_GmwJ_ot@(Ic4&9Gxd+z36Hc5w!Of zMmT?2*!HXIh|o9F-CMZB&U^4hq_-?O^!L3!IKeAOQzZwguvQ7{*A@?yXHV1OtG+PF zGrnC5Ku39y7nK9?Kbn`+^&6o_Y35Ml!Q*{(rN?_dGj0ol)_F^r5^GhjFy%XU%RxHIC{TH~@Og^~ z3@rCZ+a-7K3*uxS0_8`g6C^^=;a5%{U^Dq*BApn-^fpH0I}Vp6PtOq;9br_23RNHD z?^Z<^A=KR;Iqu<8%~&ZKB$qI&P$c`Rv9n<ybd)*_~$hWi?2 zX7^(ug_gwEf)ZwDr5z}kVZBgEghHh06-)Pm65Df6NbXx5Um|Ita3%ec8`J5P$zgTs z#|a|!mLBtLzu(PMdOq-7V4Z&c;b|PI zjIJ=Wl8GukY!ii}{?%hMCv*%{RI@YOLWjzhrf@isVb0Qbc)QGN+7O!ah0o|gabHuZ zPZn9+IdU}w0#NS?^f!M_Xk7nR`&2;Im+7l^xRoi4nk4o!)(lNvGxnSHVTOma6imO0 zecRZ!`akx$-XDFJ!MmK?>ID%9Twk^A&jD-V zT&JgMj1%$|Nk?VL_{QtJRcf79D2Oz#sgu{deev$uh)!pOeHbSa+ANBw@A&3qRXntGOzLaELepI9dN`TGCCd`OiKoCe z>|cFPGqbrJDA<1Uyk(yY8wWn9R=dWJBCz^wayt+BjQHM->BX{ z-4tJseJt;Ja2?Q~UA>|$`exJFw&CT`KvCn|w=j?Itm!4!5<04yT2SZGPWZkZ%bHs* z>ArL2CAV&o|21XQ;=vY{=oNwbI+Z?7+Q4zz(cMY(1=MDr7R;15(AE!~e4D2f+IK-M zi`5A#xvRD^%l9v0lM$?MhY8F5W2F^jP?+v_6eL`{R^+Yu!4&Zs)Fmo{mxfDT)Js?! zH}&`=LkfQ=^=#Sp$IFi;$A;J$sS{oF;5>Zl?PpW#-L=7@Pivg}n+VLLchcy!nY)N5?V?K!hL6;9+T$J&f$68k~o{eL}u0OI!776#XaZ=s_;Aq9aH4d zK3Q$h9BfGpW1Fo1?8YhiBQ5Q9_fKEAL7T!e=K;~Wms32$eCqM=tPBmbh!#$17>>e&fLn%%1jbijo-q zCa9k16mA@BqSM4%9*BLv$g^4_Vjsh^@Is@ML0)q#oGMG#B9C8&>h(~Ja6>EP5mb8l zWvKaz0@ueOb+71y^^j*e17k}sI`Dr{oYNCn_5c2m$SH8SR@;$T;^H!No>v`>Xt4eBytAmB2hlKWiXfI=)ltZJYAQf79 z*7Vpk+34Tun^%KaH%A!h`wHXlsCgfWUik`HP5TOat4X!K<`Se{>Cx&1N^ip}9&(<0 z=pNW57sR}eq!9gSD)$>dy|pPS9%prsu#>uQj^$F6oP zi@i(1g#U`n$0PMHt>5=$;;fr zD&wxN3?1LeH%*BBIQ}-}^z&_-9M5Xrkv4l?~K2OYY1!J}uirSOT z4%GPczz zC)SN`b@S!(_~zH;p^tUb*|jMrvSkFk?JuD_G|kjl*J*RXNj3i%M;JoSH4SuuMx|m zOO~GL!)fDIp#!JdZrl<(4D0c*riH3n9YU2RuhJ{=D{OL&OO;ua<{~mWp*;LEeBt#l zDHHX>ii48oK85HzE^9*P#_sPyXCJ#(vPm_bgjHS>7CX>& z|DG^zsFTI)+vBG6F?mdv0-n05ImdT>V1M;tSa#CY<9;J;>Y1Pj1eo>TE&Fh!X z&kOYnqn(W1(a*)wB=AzWI{-C>;&Z|(3TfO>-PTnk8C0ERa3(XucuwxGDNCECq<*gQ zBp&ZnM~JtE0vEW(O*{ zcKpKW1rUAM0ePVZV=?o3r zzY6HyjW6JjGk~eVLN0!!7R!E^d`-egHLu8|;Ffe2!nefqD5l_fO*!ZHSJY$9Oqy=8 zXK)1%fq7hPZ}Ui|e$1OPn3xJ`Gsq#$fQy+KwTJoO4^czToss8>t=@&g1O{6?3NehK`&-EVt&F5Y`kJ3 zFG2`Y#6PzlSKv~Z;6E$k%L>83g~wBm+V=od(>of-?*Y*;pvVABG87&p3iIDQIT=)ba+wE^(v3tIGpTA;I82W zo6Tb{fA+E04?aK1Rq~FM9Q~p9IC1+W4oK;|FV|q)wHy|nw?xs9-6SvE$00+e;6L;X zt%LQIv`3=Cgm+TfP=&knO^=y!;Jk!fPCR9Q=~xks4T@*^tJ$}5B|pL_;moJyNwpOA zd6jcc#g}2wmAVnS)fZ?T&Wde&n`t+*6TeI~rvn7NcB7^Z3UYdgUp9qGVG9RWPCnsH zuMwr*=P}6M)Sz+BQP_r~zkI{as?kn#$ASNSHngsQTU#zFIFa-Rxby2nx^YqrUhqRS z796a%?_)@4y6)Zw4cvpVCgORCF@BM`B2M>iHrTDJwz&5s#2O^e$JJS({gZLMsdLOG zBTzqaG+ozo!X8i3kYk#f7ZHlULDw&m^_pcX!#b8aVJv8Xvr ziAPRzwbGt`U}3ltJ=&CDFY8Dj4e~mX^`4Hcb*BsJ|I$#kIQ-13rvar}#|1C5ZD(^x zCm`O#sC@KIwPtpD0@D_2$`3jEI`qBKhx9a?gmjcm`X2b->2>f^4JWt0f!oP@ou8S8 z`-^b4{`AiJCH{o!714x=wvh;FoS%=4Jokw`j-ESo7}qg^&7p&N((=mp@uAR!n5e_f zFEawM2=Et`Phi>OwDwT)1fgeBEzoSYk9Hwwgn1KQ-zi0eMy9t1()BE_BzV{2HB&#`J=7TG^;b?1b1hgNo^{q;q13VlT1${^ zI2BV58+}dj+sc@6#@DiV-;(L}yHXzT)vl0YJ~8I6;llRDzNb_ml;qnFe=X5$eii*u z{(>l{j^4$NZNh5mr7U%JzNU&M(Utww$oocmt4Vs0XzgCzCTQKhirq)vMR=P1uqd2ZCEyjm|5Hq1#%%w0xSCrz@9 z8Y;vaemM}Hm!VxR-pEr2J8nyuiX>)To;rhxUbj z!Y92VtWg6B?5(B`O9g?WB2hba++J?HZiL_0o#}|hv|`6yCfsz=O-D65zI|M3*j3mTqY`;Zz7gZ+-4K{?E5nOx0DwQ z%U4dO#I~Nu6vNgSW)I&uS$O+yGu`?z+#XH*Af5=TC+?R}d5^K`Gq1d@ zv(zDlauL+!06l_*wiMa-`8m-^%olv$hVqpd&z`botCK!4d-DAIZ`s8{{$K6@2MU}FK zCc6clgqW5}GL7+m%S%IS5UKe-zm+$HPwGVXxjqcu@G@KyC9qSAEOL!&4meei?00vL!}8jzc3hPGA%GrO z(dV*O#$8u^%#2fie@le8z$vYV`d&a~RvM0WR;&5Z(a()EweFv5k@L9w>2#x)NtR}k zXxVOyw5MN8--g2oRD!_+aRk0XPme^vN1WD!OI?E{_tQHf-aci3{ART=8=AUSA8f_F zkNj-k!xwCR@_71LkZ0qwBIhWmi{Aezf%GE_;M11f#dZc z2H852PNQ81of%p`#rw+zoqHZR?Ec*K&puFhjsT9(_nKx@vYeeY`M`fLu!YIl3)Z39 z;t;W2M|Ul{(G~wv_VM_>(GZCucMjK+Akb%fCi%$D7ov2o3nBPpt!}94YPMY2(fs(N zRweniUm>~I6Yk#r=3YPe=Txzc_Bu6oN9O8LKR?uc%sNQvAurcAkb=;4ewt z^pS+fCZl@sJ^Ls>-osPnJqwLumk99?#*%t9gI)F4gjf%r%%P$LWvOfiS|)v$ae2Cit{YOCfEh^mhKD%`uuxPs}kWpd*;)p9n36r zwryuNQh^Rq!N2@-evOy(dHtR|sxi-M6AJdLuJ6^AB&vB0`ZQD1_&P_~?^HW|s{F?m zi)6&Tig95lSDkQt>teqj`rhsHGu<@>e6U=63T3y&7Xk=9*^y_V((ft~U!gxyvY#nx zniG#LRh)RwuK0Q@>5j$3=w#je)&RQmZsK0Q&e+$dyK2++Wv66ZsY&774|c__#j*mq z*obiCU7%~2PBE9ktn4Xnkl)9yeRC_-(xnG3jpJA-0u>ZrXZDW&w|gdd1VLQ-G$!x7yj)4qKN1o>C1;Z-=Qs>jelH)5)%(lWXW#9N zfQS-WU})+lGhSjN_Liuoi4=SgNgH~%3)BO(xnGm``uWCrb9h{Z4>)rzaBt*G;W{_w z`Qz`R0)w1~Vu!~zlgq7|)RruUEK+Q=0-Mjf;!K{J1g)5O8Z5uPE0C1Q6iXDQ^{~H}NYepY!7#(4wi2KFGY-IsbUG?9-rc>E5Z1%M!9jKKGjf1+_({#(8e3w|+qa z<$45>ym&nsK1r-`m~UT@on!9Rzy2?p|N2+^7P)Is3wZw`Bu$H8F^b z6OW~}ixrf|*U1%ldj^3dq4bf;@seeBAQBFmHZFDO`F9cWWCl?Z*m#MF2lZGTM21x{C4g`uOnwFjr5Qi!(h^rlpmOm!~8n zBk-O6AN`zM)z$wc-r3`?6##qi`dYg3f_eCOot$|8eT9doyf+}^uR{OJ6&||46Fsjs z)WgNg9Rij2hB|vP{ksTj$iLRRdbvB^9>*HO3w4A#0aHDIUBUmcrJ}OB*1uLDO<)Ui za=l#z82dkFdcth}%UJ)R8}iHTasFKqVEMn~{>SWp&VD-?n5C{R_SgmDg;Y=Zu_PmM ze=%zp2+UgS_Mev40zyKsbAZc!Uier{pmhYy8C9|}Mp+JOH}l(Msj zr=>FliWCJ1=Yauog!v#~!G{8Z-28%q{M>@pP(f}>AsYxcgkOZ8Uld{u7J>5pn+Q#J z7!Z|~j{mL|Qj|3y3Je7c^Mk>n+?EhgFt;GYMwr`5L>S5~D#$1L&{6~pu@)4%6=e+( zQ*d#2vIN`-bF#FB^13?P-hMzDTufF=S(1^T=g+RUBU+A@o;JV&Nk%o8vzPCGP1S`t zL3KPWk=6tYi;93nzyc5X1pyTv3jfz6eW<$!5Q#{cU_KrJ!P_rLw}=6U0Ss%2j8j0s z?Kp52F*$drrKgL#u8WJKBqLG*dgRJ~eO3q3$=cG>^0B2S6cEbCFCfMzECzn43+5LS z6c7XRJ>cUP!t>Tv^z65e;`mQpeC(h| zF8~JP<`d@rFN5*_H5l*T1M?y=z!5v@r#w8Gl9;EzOR@ZlScfq()Z?bLUaNodTw=E&&GXpcNBYwn7^jvn7eH@0x zeR3WvD~%Ht)4=`kz4EQS;-Iaq!XWWU!e8#i5A;k6i61{fw1j@>x}uTI#la!X;SMLU zBKlg%>oD|%5aL!%?f*X8WZh)@s%SPp7Nzkl*lFEm%VOu(R4H!HSi|3+pEd_dqTeX#8qKvv1v6) zUn0@e7+%yjsKI}vJvT+PA);o^-?zc0r?*dnj7Ak2wgZV^qRx zm8`ka+fzNcrZ)9eZVf6gCcB#K7=Y{gz;$7HIeVJ*zFlHJZ|DJk<;y+)asBAHxGdX0 z)}&ZrKOidlWnew78j`=Ko`m#JeUb*zGZ89jd;>~|iQ_+}Eb#uYJ5;~}dV^+O_2-b$ zhjL^7uo2HD;e`_WU0#i=SgoV%!OLlx8^jR|tw#p6~Z$)Ces$UMoR=G+9`(&vHb4!3aT7N+ZhRc^b3nr$%M^S8hO9=x>imV|g~o zrGupMuD-|0_$_S;&)wVqmQuhE#isG;u9|U_+E0{xbORfTq(!BzVPckR|7UO z!w|l-FLoooVdO@2w)r^&Nz`~JyZjS3Ad?CnhUi!sQ4~Z8i1IA{T#*`J)N!Yl#764C zCB(4(PNG!z-l^&AqvfsGLzJ?vCW)pyDv*87$uR=ke?3+)9x*a_eyQ=i>FDi)Lb`Z z9dC#zYci)=Wh-lY?SS^s$l`@f>D)Oh-%Z3)i+A#gnlX5^b{;389(x8{6?no=&+=CE z7kjxe#tuDyGFl+ScH3aPS)An^)r{*hwag(q{lN>3Hk1CaidK*- zo?Y|9!!{VmAD)5u80(<&yD{l{>0#tW?nPkMsY6_M)*QW)<&S`pf|+(@zES3)RqupM z=RgKmy_5^vknlP3(-9JhETQAr^^tRlU}sr-swFis$(wlnt4}gXdDSJ8_7$Y^Rb--Z zalF`X3ErVx6ZqB;s<>gnwmVZUFRwm!5GNKFw~6dNS$1Qkn>aAFFvPa>qkEk*Tov3> z;O^s#MAkVCKmMaPjscXe{?Tp`ESGAmkFb;d2!{cbd&UrI3&(;7&P)VYu#|^hbBT$# zQQ0MWJ}Peo?=kJF`!^2=?HMhA%U=M^jIX?c^C_vN7xH2@f%bZ)0L%we10L zs2c>J2V7{^b=y<8(kdX}TB5`=z#J7hAO05nA! zFC0W!$<=dis_JQS4>OIK2Eq`ko|k{^UsH6EhrtNoV=v37#_XaHpqgeRc#nab=vl#l z*S_C;`jiKNh>|5=>>L^DXnm}8YT)9KXmZ1RTE8}Kct2MtA2mcGSt?k=4BImJO7IR% zm`#mgJOPgx_O+@-CFGLW;{JidGNJx}Oj2wK#Y)2*dB#U69y!ULMgoIvpDx?#q}u3U z23Pss^Lt~9wbL(OzSNJ2iIG=@W-IrO2P`Z4;&xtP&Tce+3gqZH2l0`gTlG$uSX_Ml z`qgGRMZb6!zyYX_b_z;LDZ%BA&t-1j_<3;8s-EvsZpT@{$zVniU;}eUCg415R9VVm zt-fw_Q+XPMUR%Ja0+~V&1Ys^l4I2gA7{gmNiN_NhzuLnKI4@}qxDI@dr?z^r2SM#< zgGW#)0*qLoc%UX=Ak=3v`cDugbw<0r@=v1Al$GtD+)VhTjfGSY_ zmLIAzIX8n5ST8mulQfa?2%9&N?A5A|)lo=tZf@?zX=lo_#NZA9`+JR}59xt&rs@5* zow$)ZlyAP5rPyR(3|KX?$grz^< z2bE^uoECUp<{|90s+l$c8~$<@0W8?A8yr&mbhihn8KHVGESLMvAPYF~E21>nTK0g+wns z=-Zgd3D1=HWjKTOCQlRSkyv{gX;bmu&4N$Vm$T|_ei2?@9A6B_IYY7p&kTbCQMgzo z-%ZFQF?&rfrq|OpzB(4%4*o2*Y`^Td9G69`ph#s=mrL=&Gp*0HqeCCCNnj)#4lg4i zAvvqt?;qYwrNkU=c(k_cZ_Q*HDN6B&|(vu=swZ$UTsxSAXf zw5~<3y;09lDr{DClzOdAMMOn?8Ov+xKADU}XvvIzpvApg9)YpCZf>0aikhWM{)V*L9iaAN zPN7^?7hNE)>BXtw^YHNR2zz&HRXgL2!qKno#P2G?i3NGegG@s@wB{mYjx zkf!kMnA2Wc;ztyNoo7d(vyY?MZ2i-K1-%B?-|{I|#Kx*mfj;*S47s>npB2zlQLKo< zI*jr!Xn`7Z6(XwS=RDiP-xwz#v zBnZfE-1YmnPeB9c=PF9bls4K=AmCkm7ekmNY-|pVKrRR9*HPZt_)ncj>nH=tBRT-L zP+lX0%xj9p-1PmwK!!$p`*3>ZoXg@_^r5>d5{>j6nRnI2<70RMXFdExjNAjG1uleS zU?5ikS4f+gj|Tpv#v~cV(OK(wgoqoLO@-+Ld@$SyM--zERc`lT0b+!On`kCQJwtIe-8)wAHW+68$EVOVecpQC?lB1#6>TJK zBtLfovdGmo`jG!mD8Z~^D4kJ(>A5uvJ*uTAyZUYPf zo0tI=VJ=zyFHNlcW6Ef^JHFUoLHA~kt$<>}7wy7~~7{`W;eq!a0T&Yy^nW^TH-wUafngz{PE12*Su17M9iZ)#<~8t9Rr;GU>5 zWXR=L7o#$e z5*GGu|6>oU=v*LArO~W}+d_}$1nUqi-spo! z9_fgZkuajn^#lL$H)tNE#J*qii|sI7Wv{LpQi9kYgb2V5+q*8mYPy1hl#F^hK#dPu zIGRv=+w@C*sRJwtGfkJ<10FoLRyb+qikpf4-kE$`0pd_IV>0*Ka<4SDXa*6P!)}I^ zDKeU8fAQ!_Zi{NjrbZrc;N1fzWTT{Qaewnyz4Wm|jD~kh!JI!v*iv)i#N-viez^`w zjHz6mr1#au-}>0SkO`ul;XA-z)@-y`3%vnRJUXZEX>761dTJM}gbI}ZZi?x;iev%t zg7w7H0w>HMSaya%VV$&C#$glr>v@5tiU57B*u9#961tBn> z8+C86Jb4Li51XNt95Qd4ogrEXI&pNwTz;R<)=RrwL>y!`f^w7bJE)@pv-L;A2eDSP zdAxUo0X2{SR^Zm;9P=O*?u{Bedf;EJYs3<$z6fZw1z;~{&pADeaMrbV0s|;UE-3pa zbDBYkd66(6>_hrgPqqPniA>wq$?lJ8?3o%z0UNA7{zX5IIOE8-zmYGW6egFi!c6V$ zJuAq-Ddmd%uD*dgFHx$-%V_tb(W^Z z&wfQ3e=kQ76-l5^G!dWpDPHBF98Mm*0Mx%^v*>@QBjxfbQKv2t;kp?6wfkd188IV_ zK!KVEX6beJoMz0z9j}dn2)_^H1#s)rus`-Q{}K(Mj)*z&YqQl{00VHA!m|b39p&Lq z-(o^?nZ5%Y$O6u`)5TgvrK|C@nPbwtPf@l2mjxOZ6d(=$b#IidoXGjUO~i?2Q<*Yj z7)?K3;|_oax3EQ6ntug(UtWN98~hV3i>yFdbrKHx0|-ckNvQxr^J3N|&IO)Im6LJIqRRKWvGpNoHJXts37M=nbdm1Zf?9!X9Kh`0*8A2J5%J}`~ zeGyWf`dp9#QZ1<$83N$ycU^|(^Upwmfg#2yR;-ZoZ~!*6t2LLdZVKYU zY6rM;q6%-%Im2dKt!?w_CwyJIKUyPO6Q`y8wiNXtOrV7GA`Sf?cSRheGf4DI1TA9e zqg6mxlK=h)q!M~5n$%#y@OxDMaX?w(gQ_+d6+Bg)7X`?(clN-V;$>5yy6s!9u0+5lXa03=&EpZt+8Z6o2ioUjm~!Lwxq+~d}}-4u!; zw(y2#HC~i*BCP*10l0Ia!Ddn;xC+D2T~&c| zG;m8*=AwS!-dU-HvSL4xa0FBmVha6rjbF>ufRzdw#$|YidQi&8J%qsJ zbT6S-;hoy8rAU_;@NbIq3Pdo$<~@ob!ozR zRU@LO_L#E?OObIeiD&`Fk5=xul-PkTL4yQpUj(Oe@sE>T+%e9*nVAWKgC(4WlXJYPPoch_a7Im)23u_^@siUNWN$-ryY=5zsQ?wUS(T0W* zX+(e*3FaqQ2+h#sGPWFXQ2@%G8>nbjCZ=(rt2vEmL~ zFb(lRGU&<*LJsjs4<%L(rI&k<3{+@{TOSeA_H;4KhLY5mA+*e+c1oU-?(>`j1U7DYxa^pn}? zgt*j7Gb{Hl-p_jx&fC}1t86!yLb+x_q)-p{0E(pMyD$^9$NJjo;9s($mOKF5dN;v|l!qND96lM(ne(uu;_DqHF` z%4IzR)rYJH?3GeIqW0N=!gLA3Y+1A5Q(BnqC2t!<^c!3l7ocrRCMAdX zV0j6eqV&FkP8ksbI#sg+qDx6CIn$71IDB(gId& zmls>yDw&yhufI~$c6{i zLPEkb#M$PeeXDe6rDZ?>(2m{Cq?z?zzM%b0S#bi@7hwq91ouD@dZq;;C?$~Sma8gZ z;Et>RciZWH!R61wCW@4J0=mq%>P~3-_;>C&Zcfjhrzj*ALwJfNMWv~h2qi#{$ji#h zI#J|NfcFF4v7nmmW|Nj+lu}IZGmjV~bqb+a@qxD}jfij8(ikk*2`=uOQ6f9;AP+bl zh}?PwE5r*y0yMlo&KQxyRt%xAyxvZerM0wQ)IgXFs31q}!9Cpo{Oy7Cfi`gZmIy#a z!fPMjbUI$s7fqhqJ-MeofTUWmFrorfACQP=lfE=zDXRDF#g7Vik1vL+2%mWREJ|th zq#ZDibPz~)v(y+m^rdmr_4fi49~4rzT?yTJu)jy^SE zU-$Iy=7lsiQPqcT%M8nw#xcP0ldr5yO7Kw{P({$tW{w9CnjuTZ$V(@cGWJN-kYqJy zp&(Ex0Yj^GGLqZ02q+c8O%h|`(BeRZJruoMw}i3{d)od5f;-Q9MN9Y>=Yfu+5Rh!T z-n;rM3y74Oq6~y2Ln!&*{nIDxTe+xQP~%XyAlHS|if~v4WVTSa}6SlFV8$qZn0q(M;`amKVRD zwC4r|VFz%h|FJfdx_puXj-RK$67?rGdrQ}LY)~JBbkF#r3!|R(Qk)sxs_S59#}1kX{QOVC*CQ!$@+@%o8vtnkY-WPi zLLGR{x}~;7VMI2d0r&#|G_KzPs(-$XC?lOh4SaA<$sAl*GChdu)`xl@kqSP0eZP%BpJtmG%atTt(uCKR%*iD1m)cubr-a~`_$C)_J0oW?`d~Xb9i{z z`DZgA(-8d2#XRHbA(P;qg2uZEKMa}ObC zJA^H5sNmKm{SQLK&-p=;v*J4gr)qbc4QC{S_?47E!0FK9c)a zi@)%s{LC_QE_%RsU=i&$c&o`G9;8edd;XEV2my4w0wmr2C&Q`(W?l=%^M26;;a{puKpb-XU)^d0r1VA&(><(}XY}m&Uox_v~3L?@^VA zu&^-QISL<;M`%F*FF^{a)xu2ke6&B>-m{uNHTJCo_9*o(#Du_PW)16A768F?hDG)_ zc@LB&o%&yMF!cE1S5l{Ds&~X7T_Ohev92b_n)&hL#|02y8&I9AkUF4-mT8~Nxa-c4 zB2bp;Hyzu8^jxM9lW~eyI*4!oN>+{0?jQR=|Bol3xX(LzQ`=Hw9!4bP`K2=fNMZse zCZ?xJZ#J|3mB(UIQqEO(1UJut#ut;en)pVGFv|6wf`Y<&0`2Tf*`#kU_BY#=m6gSl zQ|u+Vq=^!rGvIRSZwZ}~=0gUb_R=$atplW=l<9*6xc-s_`_`!A)*6jD_+*U2iux^(%?z<*O!~?S2Z0Q* zB)&KbJKdHCGi1Tki&-#=8A&jTX}NuZ$R~rCsGaGr5LkGX>H9DI-Tp5vNHmIxBa{D9 ztA>P3eQZn4O?U=SFAF69_v_`0DRa<2^%BUY-ywZvJ-|bhL)~o2-*g1f@^wsH60OMb ztJ`y{0B=lTKnc4~@wvbps8LG|w+L<&efaZq!En+38e{-8;(dQKuYr>y{-3#`o^dCuhV_T$hwAuC|E_A>eEymB(&J0%mESey3Oo;2tL%Ox z^q?JFiEfGRHFS#)WL|4>j_IG}%Rv4~erNb6h8oN+`S4-s&5HEZg;%CucF>-zc|dZX z&LqB-SF@U317T&x#B*795|^e#`v6%v0U^0&w(h5?{I* zun0}PS;1Yw6Oq3iOmDyMNO!SX>BO-dING57 zaJgCc7nWD~&n?+)_}26q_Wj_}$~X6T6<_N0Ev{^DTt0*OqH};OOuYsyEEv|QZk1Y|3M_-d zO#fX1FaF5_E^YY?Z2AFP!nOxy2^iiIzjA?fQZ870Wp7{KJpWq`z$5gw@<&KJRa^qEh{~FOA&aGgE4mkC|J@HC z3V`dUe501tN15&A-H~2UP_P=j!0HNSer^RzYytMj;kg;uAYKdhuvqdRxtAXv&b)cW zEaB>b0|&%bgBEoGbE9qJFJMJ253i_!p#!O?SA7Il)N|t*R(qbeo(vXEj=8kYdiGS` zT=sXlCQ|uPs=!z{m8SFY!QcNuJL2=boFyt=akR{056Sj AivR!s literal 0 HcmV?d00001 diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h index 5bb065847e04..608774ce7768 100644 --- a/include/libcamera/camera.h +++ b/include/libcamera/camera.h @@ -38,6 +38,17 @@ public: Invalid, }; + enum Orientation { + rotate0, + flipRotate0, + rotate180, + flipRotate180, + flipRotate270, + rotate90, + flipRotate90, + rotate270, + }; + using iterator = std::vector::iterator; using const_iterator = std::vector::const_iterator; @@ -66,6 +77,7 @@ public: std::size_t size() const; Transform transform; + Orientation orientation; protected: CameraConfiguration(); diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp index 3e252f3b8f8d..5ca05719ebfc 100644 --- a/src/libcamera/camera.cpp +++ b/src/libcamera/camera.cpp @@ -145,6 +145,43 @@ LOG_DECLARE_CATEGORY(Camera) * The configuration is invalid and can't be adjusted automatically */ +/** + * \enum CameraConfiguration::Orientation + * \brief The image orientation + * + * The Orientation enumeration defines the possible transformation of the images + * produced by the camera pipeline. Its fields definition follows the ones + * provide by the EXIF Specification, Tag 247 "Orientation". + * + * The naming of the enumeration values reports the rotation in clockwise + * direction and any horizontal mirroring applied to the images. + * + * \var CameraConfiguration::rotate0 + * \image html rotation/rotate-0.png + * \image latex rotation/rotate-0.eps + * \var CameraConfiguration::flipRotate0 + * \image html rotation/flip-rotate-0.png + * \image latex rotation/flip-rotate-0.eps + * \var CameraConfiguration::rotate180 + * \image html rotation/rotate-180.png + * \image latex rotation/rotate-180.eps + * \var CameraConfiguration::flipRotate180 + * \image html rotation/flip-rotate-180.png + * \image latex rotation/flip-rotate-180.eps + * \var CameraConfiguration::flipRotate270 + * \image html rotation/flip-rotate-270.png + * \image latex rotation/flip-rotate-270.eps + * \var CameraConfiguration::rotate90 + * \image html rotation/rotate-90.png + * \image latex rotation/rotate-90.eps + * \var CameraConfiguration::flipRotate90 + * \image html rotation/flip-rotate-90.png + * \image latex rotation/flip-rotate-90.eps + * \var CameraConfiguration::rotate270 + * \image html rotation/rotate-270.png + * \image latex rotation/rotate-270.eps + */ + /** * \typedef CameraConfiguration::iterator * \brief Iterator for the stream configurations in the camera configuration @@ -160,7 +197,7 @@ LOG_DECLARE_CATEGORY(Camera) * \brief Create an empty camera configuration */ CameraConfiguration::CameraConfiguration() - : transform(Transform::Identity), config_({}) + : transform(Transform::Identity), orientation(rotate0), config_({}) { } @@ -404,6 +441,18 @@ CameraConfiguration::Status CameraConfiguration::validateColorSpaces(ColorSpaceF * may adjust this field at its discretion if the selection is not supported. */ +/** + * \var CameraConfiguration::orientation + * \brief The desired orientation of the video streams produced by the camera + * + * The orientation field is a user-specified 2D plane transform that specifies + * how the application wants the camera images to be rotated. + * + * If the application requested orientation cannot be obtained the validate() + * function will Adjust this field to the actual orientation of the images + * as produced by the camera pipeline. + */ + /** * \var CameraConfiguration::config_ * \brief The vector of stream configurations