From 4114d206cb9975d7671f3efe34a701fe34fbaacf Mon Sep 17 00:00:00 2001 From: Yoshi Askharoun Date: Wed, 16 Jul 2025 22:59:57 -0500 Subject: [PATCH] Add real-world tests from Zune 3.1, ported to UIX 4.8 --- test/ABOUTDIALOG.31.UIX | 119 +++++++++ test/ABOUTDIALOG.31_48.UIX | 119 +++++++++ test/ABOUTDIALOG.31_48.uib | Bin 0 -> 4783 bytes test/ABOUTDIALOG.31_48.uixa | 319 +++++++++++++++++++++++++ test/ABOUTDIALOG.31_48_decomp.uix | 12 + test/ABOUTDIALOG.48.UIX | Bin 0 -> 1699 bytes test/ABOUTDIALOG.48.uixa | 201 ++++++++++++++++ test/ADDTOCOLLECTION.31_48.UIX | 116 +++++++++ test/ADDTOCOLLECTION.31_48.uib | Bin 0 -> 3307 bytes test/ADDTOCOLLECTION.31_48_decomp.uixa | 237 ++++++++++++++++++ test/testA.uixa | 59 +++-- 11 files changed, 1164 insertions(+), 18 deletions(-) create mode 100644 test/ABOUTDIALOG.31.UIX create mode 100644 test/ABOUTDIALOG.31_48.UIX create mode 100644 test/ABOUTDIALOG.31_48.uib create mode 100644 test/ABOUTDIALOG.31_48.uixa create mode 100644 test/ABOUTDIALOG.31_48_decomp.uix create mode 100644 test/ABOUTDIALOG.48.UIX create mode 100644 test/ABOUTDIALOG.48.uixa create mode 100644 test/ADDTOCOLLECTION.31_48.UIX create mode 100644 test/ADDTOCOLLECTION.31_48.uib create mode 100644 test/ADDTOCOLLECTION.31_48_decomp.uixa diff --git a/test/ABOUTDIALOG.31.UIX b/test/ABOUTDIALOG.31.UIX new file mode 100644 index 0000000..282adfa --- /dev/null +++ b/test/ABOUTDIALOG.31.UIX @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/ABOUTDIALOG.31_48.UIX b/test/ABOUTDIALOG.31_48.UIX new file mode 100644 index 0000000..a623742 --- /dev/null +++ b/test/ABOUTDIALOG.31_48.UIX @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/ABOUTDIALOG.31_48.uib b/test/ABOUTDIALOG.31_48.uib new file mode 100644 index 0000000000000000000000000000000000000000..e62e368b6d19d6c546281ee4669f8e1e965e8110 GIT binary patch literal 4783 zcmWIbbdvhQ%)r3Q%fJxJ55en&7#RNlf5^hXz|8;wj0_A6j7%Vc8APyv2v!im29jq7 zu{b~kCy3x;U|?VZYX#}x0SSRrF=#XV`_Ie3!0_)s9|Hpe8v{R>EdZ7i1gjDPiwiR_ zF#P=wvijeD5e5bZb_S3dMg~!^8ZodgaWE+XCMCh76qu9-lQLjZ7EH>4NqI1-045c| z?o$G@mBFM6m{bLmY77hv91QAUQiFkkfs;WKtX>OjyEd5A0h795^?D2p46F?L3=9lh z3F1@Zs?U5q1m=3@o510(k+fik$&0Cc^-VWCjLCaFjAK zfYJlVP*6bIgETQXfCC9aI)cn%0Esg)I599V@Gv-oNl*j|Ft{)Tl4rYTQO_Tu?X;KUx3=9miU|CskM9DLFGB7YGFnEDUP(&#*cr!3CC^7he zP4fkleqdex3=9ma3<2OI1`1v^hCl`e26cuYum~tjH5ovW#>BwIzz_^}HaCMX149Uy z2}&Fc42ldL3=9nY3=9m@7#JAlGB7YKVPIfb&A`C0iGhJ(Cj$e+0R{$!;|vT8=NK3m zE-^4L++<*2c*4NI@REUn;R7f>7#SG27#SD@85tNP7#SF}85tOi7#SEW85tNH7#SGc z85tP-7#SEs85tNd7#SGy85tPL7#SF<7#SEE85tOQ7#SGmGlF895tJO585l!BrZO;s zJiyJs6b9jeJjl(!6wUz3)l3l(K~Os3W?+hBU|`Tb!080wiB7}}T_7$z_?FwA0RU|7h^ zz_6T|fnhx}1H*1+28L723=G$q85r&|GcY`1W?*>B%)kIDX#X%XFz~T3FvzelFlewa zFj%rMFgUOm4RV7D+9w8RtARCtPBiSSs57au`)2cWo2MsWMg0uVq;)XW@BJ5U}In~ zWn*BlW@BJ*VPjzMV`E?lWn*ASWn*9{Vq;*aV`E@wW@BJD#KypI5maWdGcd@pGccI4 zGcZ`OGcZK6GcY8uGcYu=GcYV-XJ9zY&cJY)oq^#qI|Bnh2Lpo!2Lpp_Lt=4pYHm_a zrIo&ZsAq(}Z)S2)esO+UiJoUsX0bG~bW~|xYH&tsPL4i^73!(nP?TD1r4QzT#e-6d z^Gl18Q;QXYODc0xi}gw~EAS|C$xO`2PX{Sd#ch&veqKpYeh%0y4cy9nGV`*XN=r)e z^S~-)pejQ>BVYz7BCOLu_Em6YaY<^fUO-W1Sz<}5o^yUts!wK;K15g=i#a}tNvSy? zS7Va|dmJQ*%>@t#f@HZH9Fy`(OCU}XLFRy*o0?Y=>dD&RoRe5w%+wI-$<_c-$kq^C zQk0pO&feghpPQSQm%`T&o|@#5no|Jf^FtNF4dH5V$xJTE%+E_Ks$^{dM-m6r5YH5j zhOo@ka?g^~T-Jtw#JtoTmWJTWs#LZHpTx@i(h{x)x19WP2%EP7q|7lVGd(XiHLrxb z!M`XoHLoNQWHd{IPiAomYlCNAacT*BgL_e8K}KdWYlCNQVtOjb$)Kbl0J1f;Bsn89 zFFhbXCo{Q{2V@zX$JOAHpPUV`j30^ZnO9I+!rA~1b5025lvtd~+5iq{o`&Fz#G=#` zFsGQa0hBJmp5$uqP0UM7PX#%azacn3t)x7$C^fVoC9x#6n7zR%KR+imF^{LgwW1`o zC@(PwlziA4Ao0Tmr9t*cLahX+tnkc|45!58?DV4i(!3P52LGh2)Z`NG2FHSeoXli! zSnxIkrRJrif+8uTvLKbS0Ui@<4bF*q$*DQ~4I!z?8NsCm1^GoKAZtY%9Fvn%i;FXp za#CGVi<65o3qYaD4UNi>%#xf`KB$wR(OfLl;F6k_SejD;aj|cHN@|V}R1KIDlJAzE zTw2W2;O^oH5&(xES3^KienDzcNoHy>cLS1L%nhMMIiN(9R|1Y)-^7Z{+|pc7Vi1Md zzbrMXF|Ma&HWo-Qm6eu=rM>kM7r%Q0Wi>ITHzk9sDw=S6L=;R+70u>8!b@uS{bawQK4-O3o z@DB=!_w;k~5At;k@$~nT0V@v=508%u^>dB)a}9y33JvlR1ys z7teTKe;3zyKmQOa=MHM=Gl04x zijbx(s71-d0B-ZMFeoxJh%+$ofMu9KGAsrk21Q;59u5XY zJ_a661|D_>kQ6@y4>wp!046BPAi~SQ!^5B`$iTzLpeV$^!_UCS1y(E!RxHJ!D8j%a z05(B}K~WTB9giS`h%f_>5CfYGSg{O)q8JWwactte42lvk10}I3kYNxJVGt5!5E5hH z5oA!50=Wd)MyLznhDhTuL>#wv83sie1|A6pMOg+ONfht!alt$#hhnTE7XyzJ%*!g^ zc#>h@kp`O}%b+OFz$3??r~q;*n+nJT9##fb)hq^Ch6Ah&Hy9ZdK(qiOgEEL-!2s&i zu`viRF<5~*!XAtawjlZe1A_yD0~cBa0 zF+5;oNM~^10`(fQKy(18Q+I%i;Q|9g5yJs4P~WHw)Y|u8V5kJq4;UC~K(quSLp_K- zz`)SN;J^*)g|vcb4Mv6z5beRh(8JIG7Vihq8jK8+K(q&_!|1>RQa_8qfd}ONxga`$ zkzpCb0UnS$R)XjR28J~t`UC^R1_lOR1`8&J%^0?JYYD$4-$XL;2^-zz`*bZ#Q(v-@QJ|z)F)y13Zfer z7=DB31E5|CNSuj*m+^ogNWB=NgAk~9APM3}Ffzz9ItYWh0ZJg6gONcML@!`q&;ZdZ z7#Xxd^bZCGbH)Q;bygsngOR}&L@xk!$PNfItYBnt2JwF|F!(b%h=9xs0?{0d451); z0Ruw>h+e_S5DlV#Ffe2>9uNV!qkyqNl;Hy-LotZfU}Pu*(FYh9DnaxKMur*?Ey2jp z!N?%Spuxz{4Wd^tGW3CH1}27yAo>6U!*mcW!N@QRMDJi`mJeHI*5bp*~-Wu z0kUTYh}K|a*bSl&Ffi-`(I*%g4uWV2MuxMD4HBUAb^$~mU|_fgq9qs^Zi46!ObmBG zv;z~vJH`W&AalQf=pPIW-$Aqo6T>eMJ%f>fhp9oDVFDuqKZriTz#s&o6BrmoL39Qq zg9M1)!N4E~q8XSOw3rxV7z!8|bV2kA1_lEVoxs3g2BI|>8Einb0TY80h + + + + + + + + + + + \ No newline at end of file diff --git a/test/ABOUTDIALOG.48.UIX b/test/ABOUTDIALOG.48.UIX new file mode 100644 index 0000000000000000000000000000000000000000..06f7d2f4041649a6e8f25848da676ee9a372a2e0 GIT binary patch literal 1699 zcmWIbbdvhQ%)sEn$iPs^48e=p7#P$Wic*WM^!1}k^HPH|Qgd>GQj7CTi;`1|72{nJ zOACs7`mky7#JBqfSF+pn32H1!0`Y7|NkH{bgaO@z`(-5 zz>vqtz`!WSaFK<9fl-Q~2V_P8a|c9F6r_m-tb~C9qK1J1qKJV3q6#DqQpLnDk8w8x z1A_?@1H&E$1_ovZ28Kii28J9428Jmh1xT2Ufq|g_WJ4i{CMR62(kh!qRGf`lT(m^fk9DUo*%^4WMnYn*Jc3wNHLjPoQZ)) zi-8{`sL9A+Any&5DPUGKln2Quv58+`;!$Da2T5r%GB^mvgN!l)N%DiZs;Y`$4i_VX zvMQr00~Zs6G6xd_2Lpppl8~q^l)=T!pbQb>Vqs8L6*1cFf)hRE|75y3>>Ts z0_sf4ipC&=K^zw*WmQ$iWz344j6A9giYD?ruNXnxL!2OP3oDNc1LFl|kvJiqhm4B( zTs*HC6_@ewJZ9umV*n|G=rWZDDbrFRx{QjJ*c9k8im);W?dK4R7vgbYQar}Pwz`$^kfq|bPfq~&Vh@QZ} zaF^i#Kd7X60HPZh7@mRX0}KprKr{mr!w&`r0fq(!hJPS>0|NsKBZDBr1x5yT5Y55J zzy+cgFfj0f=oO3%0wDSa1A`1>16Z9rh~{8qPy*2l7#LJR^a@4>4G{fsF^E3F$gm7VOE5BQVssE=s9ke?jyP1_ov(2T4$Y%+GW{lA(ZsK?p>zU| + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/ADDTOCOLLECTION.31_48.uib b/test/ADDTOCOLLECTION.31_48.uib new file mode 100644 index 0000000000000000000000000000000000000000..a87f3257b6f1338c4ee1a913ab98f1531a8dd023 GIT binary patch literal 3307 zcmWIbbdvhQ%)lVP!NB0i1;MX*7#RNlH)UpE;ADURMi9lsz`(%B3?f)STviZ^4a8yx z5gZ^cSOZ8M1A_#^zyDke3=IGNbAw49Fv$xh`M@MUm=s`OU|?YoWME)mW)K342!q)o zU{aKUfq{uZ3~aVIn3P~(U|?mC1d||@3=C3WUD9Au2ILe5Sq26MHU>Ec1_pKpc?Jds z4h99V-mQ!b4Br?*p8NkFtPpHB1A{9g14AMs14At%1H(*4ka`9NklPhOx|BdpPzJG7 zKrB@dOAW+Q2iXF0IFkm5s|k|uVu0ubt7l{YD`sK2JRD-$~d*feGauwG^c zuq})XV1qdrv_J-Og5AKt!T>UifdOI~C^$gIfr1NU9*Bl`1r(gxV5Sb(%er6^vnkz>v$pz)-@#z);P= zz|h3Nz|hISz|hOUz%Ye@fnhe-R)+uo|NrM@V6unsKxVQsFoHsWm4OiyD69;Opm1bm zU<7%Sm4OiyldKGkplD%bU<5@AD+41aT0ohAm4OiyHLMJbpr~;Gr5i>D21P~&20umy zhDt^ThEarA!PA8<`jw zb}}(A>}O(NILpMq@QR6n;WHBh0|zq$gDf)xgB~*jgAFqSgDW!wgEun+Lnt!?Lo71` zLnbo=Lm@K*LnSiZpP1LK%&C$fIAviNV&oj>@ zGchMWU9U8=LIc?u!Ii}&skwRqMVV!ZC8>JO`9-NdnMwK(VHv2Qp`H=W`FSNp`8mak z2y>K>%|TM4kHj`XRs%57j+)Fc4I2v5?%ky&b6I0k4{FAa$lS{Z7T=PnEQ;QNy@{8D@E@f+g zgf9=2_DIbsNG)P*@C3PnwIR49v8aR{6gm(-$Qi|g4Nj$*IVp}QDImdsjKtzpF1RN= zQ&=0o9%O0AEJ@Af0O2+qhaXNTI5 z!qwngTAZ02Qk0mS&B4eZ%D}+E#GoL<$iS%vszW)L8AKTwv_XY62Mee!lVM`uRD*Ik zSQ!ME8I(C#8AO>FR5@4~gjg69WVjeO)e=GV5122+%D~0MpbRlbm4k^vl$k+{ok49k zsP^Gxkm6?GWMdFvW8h$85Ml=vs-i3mG6D?z>MKB15(knvD_C5HlYvcb8_0M@kenzR zgLVc31A{U*8v_R;gAf;kA`^oQ69c#UeUN@`1|c4VHW5(u&d#79!_L5=_8U|uu`{r- zGjOppD06TyaIiB7@G>ZKurmnpF^F<7C~HfB)N_CWKvjeTWV|RRgE9vvgMth*1E-n= zNR|^Ms{rz$A_D^#3xl$%9;lWE*Fdg}3>+K`47!XA;3gCUhpHYE0~0H#lH*7O$+0r% zGJ_gGb_^gn76v9}u)bQ595aJ1D@b1wSdNW>i32P*6C}sMpvw-DlV)V#P}Kyr0*){; zFevbYSehUML3NQL0|P&ZtqE!}J!1qn-}pgnO;G#jD^vp;gQ@~QBLh3AamUZdzyYN> z85kKE_!$|v7#KMi6uB9Am>AeNKmt4<9zP=kFM|#TgK8)P1A_xMg9pfB2X2NAkjV@@ z3>n}`orhrqxIM(fFay-kIKTs{#l;v7@G!h!V31>Q;ANP=z@P}C85kK!N3p)qF*pDB!Qebfsvt-p+T4-fRUjFL>n+M z)Pv{KA5WRw#VIso;VUWA0fN4gC=^$EyiD4Fq=3r)+ z3!*I;85V%(3I>KHPh9?XML>Vd=7@mXZ9}EmHK=cC! zhL0e60VBhA5Us(;@SA}_j6s2s;U9>OU;stG7{dVu23AG~F;F~kfan7Z4BR042Lpo$ zqk}j|TpUC%U|^7DbdY4&!N4E~q8k_)6hSno*~)l8666mJ5PgAxK@&vpU|=v}bdUn+ zHwDov7#J)V9i&0=Y6+q}7#M6B8>B($#{oopfLiGXxEM}=TIvn_Ai9>ZK?p?8WIP}N jqW3W#U}0!rV0h2Szy?ZJ-xwX(LGdBQprWBhB3 literal 0 HcmV?d00001 diff --git a/test/ADDTOCOLLECTION.31_48_decomp.uixa b/test/ADDTOCOLLECTION.31_48_decomp.uixa new file mode 100644 index 0000000..ecde2e8 --- /dev/null +++ b/test/ADDTOCOLLECTION.31_48_decomp.uixa @@ -0,0 +1,237 @@ +.export AddToCollection 8 Class + +.import-ns res://ZuneShellResources!SignInDialog.uix as signInDialog +.import-ns res://ZuneShellResources!LibraryData.schema.xml as schema +.import-ns assembly://ZuneShell/Microsoft.Zune.Shell as shell +.import-ns assembly://ZuneDBApi/Microsoft.Zune.Service as service +.import-ns assembly://System.Private.CoreLib/System as system +.import-ns assembly://ZuneShell/ZuneUI as zuneUI +.import-ns res://UIXControls!Dialog.uix as dialog +.import-ns assembly://UIXControls/UIXControls as uIXControls +.import-ns assembly://System.Private.CoreLib/System.Collections as collections +.import-type Class +.import-type List +.import-type Int32 +.import-type Command +.import-type Dictionary +.import-type String +.import-type Null +.import-type signInDialog:SignInDialog +.import-type schema:LibraryPlaylistContentQuery +.import-type Boolean +.import-type schema:PlaylistContentList +.import-type schema:PlaylistContentItem +.import-type shell:ZuneApplication +.import-type service:EContentType +.import-type service:Service +.import-type system:Guid +.import-type system:Boolean +.import-type zuneUI:Download +.import-type Object +.import-type Enumerator +.import-type zuneUI:SignIn +.import-type dialog:Dialog +.import-type uIXControls:DialogHelper +.import-type collections:IList +.import-mthd List.Clear() +.import-mthd Command.Invoke() +.import-mthd schema:LibraryPlaylistContentQuery.Refresh() +.import-mthd List.GetEnumerator() +.import-mthd service:Service.InVisibleCollection(system:Guid, service:EContentType) +.import-mthd zuneUI:Download.IsDownloadingOrPending(system:Guid, service:EContentType) +.import-mthd List.Add(Object) +.import-mthd Enumerator.MoveNext() +.import-mthd uIXControls:DialogHelper.Show() +.import-mthd zuneUI:Download.AddToCollection(collections:IList) +.import-mbrs Class{Properties, Locals} +.import-mbrs schema:LibraryPlaylistContentQuery{Enabled, PlaylistId, Result} +.import-mbrs schema:PlaylistContentList{Items} +.import-mbrs shell:ZuneApplication{Service} +.import-mbrs schema:PlaylistContentItem{ZuneMediaId} +.import-mbrs zuneUI:Download{Instance} +.import-mbrs Enumerator{Current} +.import-mbrs List{Count} +.import-mbrs zuneUI:SignIn{Instance, SignedIn} +.import-mbrs signInDialog:SignInDialog{OnSuccess} +.import-mbrs dialog:Dialog{Helper} +.import-mbrs Command{Invoked} + +.constant const0 = Int32("-1") +.constant const1 = service:EContentType.bin(0x00000000) +.constant const2 = Int32("0") +.constant const3 = String("Items") +.constant const4 = String("PlaylistId") +.constant const5 = String("Start") +.constant const6 = String("OnSuccess") +.constant const7 = String("SignInDialog") +.constant const8 = String("BuildAddListPhase") +.constant const9 = String("AddPhase") +.constant const10 = String("AddList") +.constant const11 = Boolean("False") +.constant const12 = String("Query") +.constant const13 = String("ContentNotInLibrary") +.section object + + LSYM 1 + MINV 0 + LSYM 2 + PSHN + OPR 1, 9 + JMPF 30 + LSYM 3 + MINV 1 + JMP 61 + LSYM 4 + PSHC @const0 + OPR 2, 9 + JMPF 61 + LSYM 4 + LSYM 5 + PASS 3 + DIS + LSYM 5 + MINV 2 + RETV + LSYM 5 + PGET 4 + PSHN + OPR 10, 9 + JMPF 97 + LSYM 5 + PGET 4 + PGET 5 + WSYMP 2 + DIS + LSYM 3 + MINV 1 + RETV + LSYM 2 + MINV 3 + MINVP 7 + JMPF 187 + PGETP 9 + VTC 11 + WSYM 6 + PGETT 6 + LSYM 6 + PGET 7 + PSHC @const1 + MINV 4 + OPR 16, 15 + JMPFP 168 + PGETT 8 + LSYM 6 + PGET 7 + PSHC @const1 + MINV 5 + OPR 16, 15 + OPR 9, 6 + JMPF 182 + LSYM 1 + LSYM 6 + MINV 6 + JMP 104 + DIS + CSYM 6 + LSYM 1 + PGET 10 + PSHC @const2 + OPR 2, 11 + JMPFP 223 + PGETT 11 + PGET 12 + OPR 16, 15 + OPR 9, 6 + JMPF 276 + LSYM 7 + PSHN + OPR 7, 8 + JMPF 251 + COBJ 7 + INIT 7 + WSYMP 7 + DIS + LSYM 8 + LSYM 7 + PASS 13 + DIS + LSYM 7 + PGET 14 + MINV 8 + DIS + JMP 282 + LSYM 8 + MINV 1 + RETV + PGETT 8 + LSYM 1 + MINV 9 + DIS + LSYM 9 + PSHN + OPR 3, 9 + JMPF 312 + LSYM 9 + MINV 1 + PSHN + WSYMP 2 + DIS + PSHC @const0 + WSYMP 4 + DIS + RETV +AddToCollection_rfsh_0: + LISD 0, 2, 0, 4294967295, 134218053 + LSYM 0 + LIS 1, 1, 0, 134217728 + RETV +AddToCollection_rfsh_1: + LISD 2, 2, 5, 134217790, 134218081 + LSYM 5 + LIS 3, 0, 4, 134217790 + RETV +AddToCollection_rfsh_2: + LISD 4, 2, 3, 4294967295, 134218109 + LSYM 3 + LIS 5, 1, 0, 134217826 + RETV +AddToCollection_rfsh_3: + LISD 6, 2, 8, 4294967295, 134218137 + LSYM 8 + LIS 7, 1, 0, 134218011 + RETV +AddToCollection_prop: + JMPD 0, 3, 452 + PSHN + PDAD 0, @const3 + + JMPD 0, 4, 469 + PSHC @const0 + PDAD 0, @const4 + + JMPD 0, 5, 486 + COBJ 3 + PDAD 0, @const5 + + JMPD 0, 6, 501 + PSHN + PDAD 0, @const6 + RETV +AddToCollection_locl: + PSHN + PDAD 1, @const7 + COBJ 3 + PDAD 1, @const8 + COBJ 3 + PDAD 1, @const9 + COBJ 1 + PDAD 1, @const10 + COBJ 8 + PSHC @const11 + PINI 2 + INIT 8 + PDAD 1, @const12 + PSHC @const11 + PDAD 1, @const13 + CLIS 8 + RETV diff --git a/test/testA.uixa b/test/testA.uixa index f22ff84..80f689b 100644 --- a/test/testA.uixa +++ b/test/testA.uixa @@ -1,18 +1,41 @@ -COBJ 2 -PSHC 0 -PINI 1 -PSHC 1 -PINI 2 -PINI 0 -RETV -RETV -COBJ 2 -PSHC 2 -PINI 1 -PSHC 3 -PINI 3 -PSHC 4 -PINI 2 -PINI 0 -RETV -RETV \ No newline at end of file +.export Default 0 UI +.export Alt 0 UI + +.import-type UI +.import-type ViewItem +.import-type Text +.import-type Color +.import-type String +.import-type Font +.import-mbrs UI{Content} +.import-mbrs Text{Color, Content, Font} + +.constant const0 = Color("255, 255, 0, 0") +.constant const1 = String("Howdy from Microsoft.Iris!") +.constant const2 = Color("255, 0, 0, 255") +.constant const3 = Font("JetBrains Mono, 12") +.constant const4 = String("This is some blue text") +.section object + +Default_cont: + COBJ 2 + PSHC @const0 + PINI 1 + PSHC @const1 + PINI 2 + PINI 0 + RETV +Default_locl: + RETV +Alt_cont: + COBJ 2 + PSHC @const2 + PINI 1 + PSHC @const3 + PINI 3 + PSHC @const4 + PINI 2 + PINI 0 + RETV +Alt_locl: + RETV