e $ & 新 0 ce 0 ce 100X100 opaque stippled 10X10 opaque stippled rectangle 1X1 opaque stippled rectangle 500X500 stippled rectangle 100X100 stippled rectangle 10X 10 stippled rectangle 1X1 stippled rectangle 500X500 rectangle 100X100 rectangle 10X10 rectangle 1 xl rectangle Dot 図に a x Ⅱ perf の結果 ( SS2 十 M ほサンプル 500- p ⅸ el filled ellipse 100- p ⅸ el filled ellipse 10-pixeI filled ellipse 100-pixel partial ellipse 10-pixel partial ellipse 100-pixeI wide double-dashed ellipse 1 OO-pixeI wide dashed ellipse 500- p ⅸ el wide ellipse 100-pixeI wide ellipse 10-pixel wide ellipse 100- p ⅸ el double-dashed ellipse 100-pixeI dashed ellipse 500-pixeI ellipse 100-pixeI ellipse 10-pixeI ellipse 100-pixeI 6 Ⅱ slice partial circle 10-pixel 6 Ⅱ slice partial circle 1 ()()-pixel 6 Ⅱ chord partial circle 10-pixeI fill chord partial circle 500- pixel solid circle 100-pixeI solid circle 10- pixel solid circle l-pixel solid circle 100-pixel partial circle 10-pixel partial circle wide double-dashed circle 100-pixeI wide dashed circle 5()()-pixeI wide circle l()()-pixel wide circle 10-pixel wide circle 100- p ⅸ el double-dashed circle 100- p ⅸ el dashed circle 500- p ⅸ el circle 100- p ⅸ el circle 10- p ⅸ el circle l-pixel circle 100X 10 wide double-dashed line 100X10 wide dashed line 500X50 wide line 100X10 wide line 10X1 wide line 100- p ⅸ el double-dashed line 100- p ⅸ el dashed line 1 p ⅸ el dashed line 50 p ⅸ el line 100-pixeI line 10-pixeI line l-pixel line 1 OO-pixeI double-dashed segment 100-pixeI dashed segment 10-pixel dashed segment 100-pixel line segment ( 3 kids) 100- p ⅸ el line segment ( 2 kids) 100-pixelline segment ( 1 kid ) 500-pixel line segment 100-pixel line segment 10-pixel line segment l-pixel line segment 500X500 161X145 tiled rectangle 100X100 161X145 tiled rectangle 10X10 161X145 tiled rectangle 1X1 161X145 tiled rectangle 500X500 4X4 tiled 100X 100 4X4 tiled rectangle 10X10 4X4 tiled rectangle lx 1 4X4 tiled rectangle 500X500 opaque stippled rectangle 4 1 こで紹介 UNIX MAGAZINE 1991.7 するのは、 dbxtool と pageview です。さらに psh とい ないものをいくつか紹介したいと思います。 っコ ~ ンド 10 も紹介します。 1.51 ( 92800.0 times/sec) 2.09 ( 31200.0 times/sec) 1.98 ( 19700.0 times/sec) 0.60 ( 717.0 times/sec) 0.26 ( 31.6 times/sec) 2.09 ( 26500.0 times/sec) 0.79 ( 5930.0 times/sec) 0.44 ( 334.0 times/sec) 0.38 ( 19.3 times/sec) 3.18 ( 29800.0 times/sec) 2.79 ( 8910.0 times/sec) 1.53 ( 531.0 times/sec) 0.54 ( 29.3 times/sec) 3.28 ( 40300.0 times/sec) 2.94 ( 18500.0 times/sec) 1.12 ( 713.0 times/sec) 0.47 ( 31.5 times/sec) 5.65 ( 31500.0 times/sec) 7.71 ( 11800.0 times/sec) 5.19 ( 465.0 times/sec) 2.21 ( 21.7 times/sec) 2.47 ( 44500.0 times/sec) 3.17 ( 34500.0 times/sec) 5.11 ( 13800.0 times/sec) 5.86 ( 3670.0 times/sec) 4.85 ( 11500.0 times/sec) 4.69 ( 9750.0 tirnes/sec) 4.72 ( 8780.0 times/sec) 3.93 ( 30000.0 times/sec) 6.58 ( 10200.0 times/sec) 6.29 ( 9310.0 times/sec) 3.88 78300.0 times/sec) 4.97 59700.0 times/sec) 6.00 ( 16500.0 times/sec) 6.13 ( 3830.0 tim€s/sec) 5.91 ( 47600.0 times/sec) 7.39 ( 11600.0 times/sec) 6.87 ( 10300.0 times/sec) 7.91 ( 7520.0 times/sec) 4.02 ( 1380.0 times/sec) 2.03 ( 160.0 times/sec) 7.79 ( 577.0 times/sec) 5.25 ( 562.0 times/sec) 3.54 ( 20800.0 times/sec) 5.17 ( 16500.0 times/sec) 8.43 ( 5200.0 times/sec) 8.90 ( 1210.0 times/sec) 5.17 ( 786.0 times/sec 3 5.32 ( 590.0 times/sec 8.07 ( 477.0 times/sec) 10.44 ( 119.0 times/sec) 8.96 ( 22.4 times/sec) 14.64 ( 36.6 times/sec) 12.76 ( 26.8 times/sec) 8.00 ( 10400.0 times/sec) 8.48 ( 4360.0 times/sec) 0.37 ( 18200.0 times/sec) 2.66 ( 12500.0 times/sec) 1.43 ( 763.0 times/sec) 0.51 ( 39.0 times/sec) 9.46 ( 6770.0 times/sec) 3.49 ( 974.0 times/sec) 8.28 ( 5760.0 times/sec) 3.53 ( 940.0 times/sec) 6.00 ( 18600.0 times/sec) 9.50 ( 5720.0 times/sec) 10.31 ( 1350.0 times/sec) 5.06 ( 931.0 times/sec) 5.23 ( 701.0 times/sec) 13.80 ( 236.0 times/sec) 16.63 ( 39.9 times/sec) 16.60 ( 8.3 times/sec) 16.44 14.8 times/sec) 17.40 8.7 times/sec) 7.86 ( 10300.0 times/sec) 8.09 ( 4700.0 times/sec) 3.37 17000.0 times/sec) 1.95 1350.0 times/sec) 0.68 ( 76.0 times/sec) 25
news¬ice 0 ce 図に b xllperf の結果 (SS2 十サー Dot 1X1 rectangle 10X10 rectangle 100X100 rectangle 500X500 rectangle lx 1 stippled rectangle 10X10 stippled rectangle 100X100 stippled rectangle 500X500 stippled rectangle 1X1 opaque stippled rectangle 10X10 opaque stippled rectangle 100X100 opaque stippled rectangle 500X500 opaque stippled rectangle 1X1 4X4 tiled rectangle 10X10 4X4 tiled rectangle 100X100 4X4 tiled rectangle 500X500 4X4 tiled rectangle 1X1 161X145 tiled rectangle 10X10 161X145 tiled rectangle 100X100 161X145 tiled rectangle 500X500 161X145 tiled rectangle l-pixel line segment 10-pixel line segment 100- p ⅸ el line segment 500- p ⅸ el line segment 100-pixeI line segment ( 1 kid) 10()-pixel line segment ( 2 kids) 100- p ⅸ el line segment ( 3 kids) 10-pixeI dashed segment 100- p ⅸ el dashed segment 100-pixeI double-dashed segment l-pixel line 10-pixel line 100- p ⅸ el line 5(K)-pixel line 10-pixel dashed line 100- p ⅸ el dashed line 1()0-pixeI double-dashed line 10X1 wide line 100X10 wide line 500X50 wide line 100X10 wide dashed line 100X10 wide double-dashed line l-pixel circle 10-pixeI circle 100- p ⅸ el circle 500- p ⅸ el circle 100- p ⅸ el dashed circle 10 p ⅸ el double-dashed circle 10-pixel wide circle 100-pixeI wide circle 500- p ⅸ el wide circle 100-pixeI wide dashed circle 10()-pixeI wide double-dashed circle 10-pixel partial circle 100- p ⅸ el partial circle l-pixel solid circle 10-pixeI solid circle 100- p ⅸ el solid circle 500- p ⅸ el solid circle 10-pixeI 6 Ⅱ chord partial circle 100-pixel fill chord partial circle 10-pixeI 6 Ⅱ slice partial circle 100-pixeI fill slice partial circle 10-pixeI ellipse 100- p ⅸ el ellipse 500- p ⅸ el ellipse 100-pixeI dashed ellipse 100- p ⅸ el double-dashed ellipse 10-pixel wide ellipse 100-pixeI wide ellipse 500- p ⅸ el wide ellipse 100-pixeI wide dashed ellipse l()()-pixel wide double-dashed ellipse 10-pixel partial ellipse 108P ⅸ el partial ellipse 10-pixeI filled ellipse 100-pixel filled ellipse 500- p ⅸ el filled ellipse dbx もなかなかよくできています。たとえは、次のよう 1 28 に dbx の引数として pid ( プロセス ID ) をとることがで 10 きます。 1.61 ( 98500.0 times/sec 3.90 58100.0 times/sec 4.86 485 .0 times/sec) 6.71 ( 8050.0 3.27 ( 393.0 times/sec) 3.90 49500.0 6.29 47500.0 times/sec) 10.64 ( 8020.0 times/sec) 7.77 ( 390.0 times/sec) 6.01 ( 564N.0 times/sec) 16.61 53000.0 23.07 8030.0 7.25 ( 390.0 times/sec) 1.41 ( 17300.0 times/sec) 2.03 12800.0 times/sec) 1.53 973.0 times/sec) 0.65 ( 43.9 times/sec) 3.75 20900.0 times/sec 7.91 12100.0 times/sec 6.33 ( 567.0 ti$sec) 2.67 ( 26.2 times/sec) 1.95 ( 35100.0 times/sec 3.44 ( 37500.0 times/sec 9.70 ( 26200.0 times/sec) 13.37 8370.0 times/sec) 11.56 27400.0 times/sec) 11.54 ( 24000.0 times/sec) 10.43 ( 19400.0 times/sec) 3.68 ( 281 .0 7.29 ( 11300.0 times/sec 6.76 ( 10000.0 5.20 ( 105000.0 times/sec) 8.05 ( 96600.0 13.53 ( 372 .0 times/sec) 14.26 ( 8910.0 4.78 ( 38500.0 times/sec 7.90 ( 12400.0 7.27 ( 10900.0 times/sec) 93.38 ( 88800.0 times/sec) 1.63 ( 558.0 times/sec) 4.79 ( 377.0 times/sec) 1.21 89.6 times/sec 0.74 79.1 times/sec 4.82 ( 283N.0 、 i 。 / ー 8.90 ( 28400.0 times/sec 4.99 ( 3080.0 times/sec) 2.00 ( 272.0 times/sec) 1.87 ( 284.0 2.60 ( 289.0 times/sec) 463.62 ( 27400.0 11.58 ( 132.0 times/sec) 21.76 ( 54.4 times/sec) 6.80 ( 17.0 times/sec) 5.19 ( 10.9 0.81 1050.0 times/sec) 1.39 717.0 times/sec) 0.63 ( 30600.0 times/sec) 5.96 280 ). 0 times/sec) 5.70 3030.0 times/sec) 3.74 ( 286.0 times/sec) 1.09 ( 783.0 times/sec) 1.94 ( 540.0 times/sec) 1.03 ( 716.0 times/sec) 1.82 ( 483.0 times/sec) 1.93 ( 5980.0 times/sec) 2.81 ( 1690.0 times/sec) 3.01 ( 394.0 times/sec) 2.16 398.0 times/sec) 2.96 397.0 times/sec) 358.48 ( 6130.0 times/sec) 55.83 ( 134.0 times/sec) 126.40 ( 63.2 times/sec) 25.00 ( 22.5 29.20 ( 14.6 times/sec) 0.74 969.0 1.33 771.0 times/sec) 1.55 ( 7820.0 times/sec) 3.65 2530.0 times/sec) 4.47 496.0 times/sec) UNIX MAGAZINE 1991.7
新 e 第 $ & 0 ee 0 ce 10-pixeI fill chord partial ellipse 100-pixeI fill chord ellipse 10-pixeI 升Ⅱ slice partial ellipse 100- p ⅸ el fill slice ellipse FiII l-pixel/side triangle Fill 10-pixeI/side triangle Fill 100-pixel/side triangle Fill 10X10 trapezoid Fill 100X100 trapezoid Fill 10X10 stippled trapezoid Fill 100X100 stippled trapezoid Fill 10X10 opaque stippled trapezoid Fill 100X100 opaque st ippled trapezoid Fill 10X10 tiled trapezoid Fill 100X 100 tiled trapezoid Fill 10-pixel/side complex polygon Fill 1(K)-pixel/side complex polygons Char ⅲ 80-char line ( 6X13 ) Char ⅲ 80-char line ()R 10 ) Char in 30-char line ()R 24 ) Char in 20 / 40 / 20 line ( 6X13 , TR 10 ) Char in 80-char image line ( 6X13 ) Char ⅲ 80-char image line ()R 10 ) Char ⅲ 30-char image line ()R 24 ) ScroII 10X 10 pixels Scroll 100X 100 pixels Scroll 500X500 pixels Copy 10X10 from window t0 window Copy 100X100 from window t0 window Copy 500X500 from window t0 window Copy 10X10 from pixmap tO window Copy 100X100 from pixmap tO window Copy 500X500 from pixmap tO window Copy 10X10 from window tO pixmap Copy 100X100 from window t0 pixmap Copy 500X500 from window t0 pixmap Copy 10X10 from pixmap tO pixmap Copy 100X100 from pixmap tO pixmap Copy 500X500 from pixmap tO pixmap Copy 10x 10 1-bit deep plane Copy 100X 100 1- bit deep plane Copy 500X500 1-bit deep plane PutImage 10X10 square PutImage 100X100 square PutImage 500X500 square GetImage 10X 10 square Get lmage 100X 100 square GetImage 500X500 square X protocol NoOperation GetAtomName GetProperty Change graphics context Create and map subwindows ( 4 kids) Create and map subwindows ( 16 kids) Create and map subwindows ( 25 kids) Create and map subwindows ( 50 kids) Create and map subwindows ( 75 kids) Create and map subwindows ( 100 kids) Create and map subwindows ( 200 kids) Create unmapped window ( 4 kids) Create unmapped window ( 16 kids) Create unmapped window ( 25 kids) Create unmapped window ( 50 kids) Create unmapped window ( 75 kids ) Create unmapped window ( 100 kids) Create unmapped window ( 200 kids) Map window via parent ( 4 kids) M ap window via parent ( 16 kids) Map window via parent ( 25 kids) Map window via parent ( 50 kids) Map window via parent ( 75 kids) Map window via parent ( 100 kids) Map window via parent ( 200 kids) Unmap window via parent ( 4 kids) Unmap window via parent ( 16 kids) Unmap window via parent ( 25 kids) Unmap window via parent ( 50 kids) Unmap window via parent ( 75 kids) Unmap window via parent ( 100 kids) U nmap window via parent ( 200 kids) 1 ・ dbxtool : ウインドウ・インターフェイスを備えた 26 dbx ( デバッガ ) 11.13 ( 8050.0 times/sec) 5.34 ( 1940.0 times/sec) 9.67 ( 6830.0 times/sec) 5.19 ( 1800.0 5.02 12000.0 times/sec) 4.62 6660.0 times/sec) 2.10 ( 496.0 times/sec) 3.67 ( 6200.0 times/sec) 1.74 ( 551.0 times/sec) 1.67 2590.0 times/sec) 0.18 46.5 times/sec) 1.76 ( 2640.0 times/sec) 0.20 ( 53.9 times/sec) 1.70 ( 25g.0 times/sec) 0.15 ( 41.8 times/sec) 4.25 ( 4110.0 times/sec) 3.15 ( 460.0 times/sec) 4.86 ( 53000.0 times/sec) 5.09 72300.0 times/sec) 2.83 23200.0 times/sec) 5.10 ( 54600.0 times/sec) 3.12 ( 69600.0 times/sec) 2.71 ( 38000.0 times/sec) 1.51 ( 11200.0 times/sec) 3.63 ( 7990.0 times/sec) 0.62 ( 296.0 times/sec) 0.28 ( 12.7 times/sec) 3.48 ( 7370.0 times/sec) 0.76 ( 272.0 times/sec) 0.38 ( 11.7 times/sec) 3.93 ( 9350.0 times/sec) 1.32 ( 571.0 times/sec) 0.57 ( 25.5 times/sec) 3.49 ( 7950.0 times/sec) 0.85 ( 338.0 times/sec) 0.43 ( 14.6 times/sec) 4.04 ( 10700.0 times/sec) 1.78 ( 905.0 times/sec) 0.83 ( 42.0 times/sec) 2.97 ( 6940.0 times/sec) 1.37 ( 590.0 times/sec) 0.66 ( 29.3 times/sec) 1.62 ( 2140.0 times/sec) 0.25 ( 39.6 times/sec) 0.11 ( 1.5 times/sec) 0.87 ( 220.0 times/sec) 0.23 ( 34.7 times/sec) 0.08 1.4 times/sec) 3.75 72000.0 times/sec) 0.86 ( 263.0 times/sec) 0.88 ( 269.0 times/sec) 4.40 ( 11400.0 times/sec) 6.55 ( 2280.0 times/sec) 2.16 ( 2780.0 times/sec) 2.05 ( 2790.0 3.03 ( 2780.0 times/sec) 2.61 ( 2690.0 times/sec) 2.41 ( 2630.0 times/sec) 2.47 ( 2490.0 times/sec) 3.95 ( 6120.0 times/sec) 3.98 ( 6250.0 times/sec) 3.99 ( 6310.0 times/sec) 3.99 ( 6310.0 times/sec) 4.11 ( 6450.0 4.03 ( 6250.0 tirnes/sec) 4.07 ( 6310.0 times/sec) 6.19 ( 2910.0 times/sec) 4.20 ( 4170.0 times/sec) 3.94 ( 4370.0 times/sec) 3.79 ( 4400.0 times/sec) 3.95 ( 4540.0 times/sec) 3.79 ( 4510.0 times/sec) 3.79 ( 4510.0 times/sec) 18.22 ( 13300.0 times/sec) 4.12 ( 26000.0 times/sec) 2.40 ( 28300.0 times/sec) 2.31 ( 32800.0 times/sec) 2.10 ( 31500.0 times/sec) 2.29 ( 35200.0 times/sec) 2.06 ( 35200.0 times/sec) 10 ・ NeWS 用の PostScript 言語プレピュ UNIX MAGAZINE 1991.7 ・ pagevlew ・
e s & 第 0 ee 0 ce 10-pixeI 6 Ⅱ chord partial ellipse 100-pixeI fill chord ellipse 10-pixel fill slice partial ellipse 100-pixeI 611 slice ellipse FiII l-pixel/side triangle Fill 10-pixeI/side triangle Fill 100-pixeI/side triangle Fill 10X10 trapezoid Fill 100X100 trapezoid Fill 10X10 stippled trapezoid Fill 100X 100 stippled trapezoid Fill 10X 10 opaque stippled trapezoid Fill 100X100 opaque stippled trapezoid Fill 10X10 tiled trapezoid Fill 100X 100 tiled trapezoid Fill 10-pixeI/side complex polygon Fill 1(Å)-pixeI/side complex polygons Char in 80-char line ( 6X13 ) Char in 80-char line ()R 10 ) Char in 30-char line ()R 24 ) Char ⅲ 20 / 40 / 20 line ( 6X13 , TR 10 ) Char ⅲ 80-char image line ( 6X13 ) Char in 80-char image line ()R 10 ) Char in 30-char image line ()R 24 ) ScroII 10X10 pixels ScroIl 100X100 pixels Scroll 500X500 pixels Copy 10X10 from window t0 window Copy 100X100 from window t0 window Copy 500X500 from window t0 window Copy 10X10 from prxmap tO window Copy 100X100 from plxmap tO window Copy 500X500 from pixmap tO window Copy 10X10 from window tO pixmap Copy 100X100 from window tO pixmap Copy 500X500 from window t0 pixmap Copy 10X10 from pixmap t0 pixmap Copy 100X100 from pixmap tO pixmap Copy 500X500 from prxmap to pixmap Copy 10X10 1-bit deep plane Copy 100X100 1-bit deep plane Copy 500X500 1-bit deep plane PutImage 10X10 square Putlmage 100X100 square PutImage 500X500 square GetImage 10X10 square GetImage 100X100 square GetImage 500X500 square X protocol NoOperation GetAtomName GetProperty Change graphics context Create and map subwindows ( 4 kids) Create and map subwindows ( 16 kids) Create and map subwindows ( 25 kids) Create and map subwindows ( 50 kids) Create and map subwindows ( 75 kids) Create and map subwindows ( 100 kids) Create and map subwindows ( 200 kids) Create unmapped window ( 4 kids) Create unmapped window ( 16 kids) Create unmapped window ( 25 kids) Create unmapped window ( 50 kids) Create unmapped window ( 75 kids) Create unmapped window ( 100 kids) Create unmapped window ( 200 kids) Map window via parent ( 4 kids) Map window via parent ( 16 kids) Map window via parent ( 25 kids) Map window via parent ( 50 kids) Map window via parent ( 75 kids) Map window via parent ( 100 kids ) Map window via parent ( 200 kids) Unmap window via parent ( 4 kids) Unmap window via parent ( 16 kids) Unmap window via parent ( 25 kids) Unmap window via parent ( 50 kids) Unmap window via parent ( 75 kids) Unmap window via parent ( 100 kids) Unmap window via parent ( 200 kids) % dbx a. out 17130 UNIX MAGAZINE 1991.7 1 1.11 ( 799.0 times/sec) 1.74 ( 631.0 times/sec) 1.11 ( 781.0 times/sec) 1.67 ( 580.0 times/sec) 3.21 ( 7670.0 times/sec) 5.33 ( 7670.0 times/sec) 21.57 ( 5090.0 times/sec) 4.40 ( 7430.0 16.09 ( 5100.0 times/sec) 4.33 ( 6710.0 times/sec) 19.33 ( 4870.0 times/sec) 4.44 ( 6660.0 times/sec) 17.93 ( 4860.0 times/sec) 2.99 ( 4550.0 times/sec) 8.54 ( 2340.0 times/sec) 5.18 ( 5010.0 times/sec) 13.90 ( 2030.0 times/sec) 7.04 76700.0 times/sec 3 6.54 92800.0 times/sec 7.32 ( 60100.0 times/sec) 6.24 ( 66800.0 times/sec) 2.94 ( 65500.0 times/sec 3 5.69 ( 79600.0 times/sec 5.66 ( 42000.0 times/sec) 1.53 ( 3360.0 times/sec) 5.57 ( 2670.0 times/sec) 3.03 ( 138.0 times/sec) 1.58 3360.0 times/sec 4.37 1560.0 times/sec 2.32 ( 71.8 times/sec) 1.48 ( 3530.0 times/sec) 1.53 ( 664.0 times/sec) 0.78 ( 34.7 times/sec) 1.06 ( 2420.0 times/sec) 0.69 ( 276.0 times/sec) 0.41 ( 13.7 times/sec) 1.52 ( 4040.0 times/sec) 1.26 ( 640.0 times/sec) 0.69 ( 35.0 times/sec) 1.45 ( 3390.0 times/sec) 3.85 ( 1660.0 times/sec) 4.60 ( 205.0 times/sec) 1.48 ( 1960.0 times/sec) 0.28 ( 45.0 times/sec) 0.12 ( 1.6 times/sec) 0.58 ( 147.0 times/sec) 0.16 ( 24.9 times/sec) 0.08 1.4 times/sec) 4.32 82900.0 times/sec) 0.73 ( 223.0 times/sec) 0.72 ( 220.0 times/sec) 3.59 ( 9310.0 times/sec) 4.05 1410.0 times/sec) 1.28 1650.0 times/sec) 1.22 ( 1660.0 times/sec) 1.87 ( 1710.0 times/sec) 1.68 ( 1730.0 times/sec) 1.57 ( 1710.0 times/sec 1.71 ( 1730.0 times/sec 1.51 ( 2340.0 times/sec) 1.50 2350.0 times/sec) 1.49 2350.0 times/sec 1.49 ( 2350.0 times/sec 1.52 ( 2380.0 times/sec) 1.54 ( 2380.0 times/sec) 1.54 ( 2380.0 9.40 ( 4420.0 times/sec) 8.10 ( 8040.0 times/sec) 7.86 ( 8730.0 times/sec) 8.09 ( 9380.0 times/sec) 8.78 ( 10100.0 times/sec) 8.49 ( 10100.0 times/sec) 8.74 ( 10400.0 times/sec) 16.85 ( 12300.0 times/sec) 5.72 ( 36100.0 times/sec) 3.89 ( 45900.0 times/sec) 2.82 ( 40000.0 times/sec) 4.64 69600.0 times/sec 5.12 78800.0 times/sec 4.07 ( 69600.0 times/sec) 10 とすると、動いているプログラム ( つまりプロセス ) を止 めて、デバッグをおこなうことができます。暴走してい 29
OSF/Motif のすべて 時・分・秒取得 を ー⑩ #defiqe k_hour—id #define k_minute—id #define k-second-id void scale—proc ( 町 id , Widget ; int *id; XmSca1eCa11backStruct switch (*id) { case k-hour—id: scale) *scale ; hour = scale—>value : アラームのセッ break; second = SCaIe—>VaIt.ie ; case k-second—id : break; minute = scale—>value ; case k_minute id : break; ト void alam—set-proc (widget , tag , callback-data) XmAnyCa11backStruct *callback—data ; *tag ; char Widget vidget; Widget widget; char *tag ; XmAnyCa11backStruct *callback—data; MmType vidget-class; if (FontsWindov = = NULL) { if (MmFetchWidget (hierarchy_id , "font_select " , toplevel , &FontsWindow, &vidget-class) ! = MmStJCCESS) { printf ( "error\n" ) ; initialize—font (XtNameToWidget (FontsWindow , "font—selection box" ) ) ; XtManageChi1d(FontsWindov) : デジタルクロックのフォント変更処理 void font_selected(widget, tag, callback_data) Widget widget; char *tag ; XmAnyCa11backStruct *callback_data; Widget Widget char select_vidget ; text—widget; 矼 gs [ 2 矚 *name; XFontStruct *font; Pixe1 fore ; printf(" アラーム " ) ; if (alam-on) printf()O N \ れ " ) ; else printf("() F F \ Ⅱ if (am-sv) printf(" 午後 ") ; else printf(" 午前 ") ; printf(" %d 時分 %d 秒 \ Ⅱ” , #define XmStringDefCreate(s) \ フォントリストの表示 XtUnmanageChi1d(A1amWindow) ; hour , minute , second) ; XmStringLtoRCreate((s) ,XmSIRING—DEFAULT-CHARSEI ・ ) void initialize-font (font-dialog—box) Widget font—dialog—box ; int XmString int Widget Widget **names_ret; num—names—ret; *items ; item_. count; 矼 g [ 2 ] ; IiSt ; text ・ select—wxdget XtNameToWidget(FontsWindov, "font_selection_box") ; text_vidget XmSe1ectionBoxGetChi1d (select_widget , XmDIAIn_TEXT) ; if (VersionWindow = = NULL) MrmType widget-class ; XmAnyCa11backStruct *callback_data ; *tag ; char Widget widget ; void version-proc(vidget, tag, callback—data) ハ・一ジョン・ウインドウの表示 XtUnmanageChi1d(FontsWindow) ; XtSetVa1ues (C10ck_Widget , args , 1 ) ; XtSetArg(args[O] , XtNforeground, fore) ; XtSetVa1ues(C10ck-Widget, args, XtNumber(args)) : XtSetArg(argsC1] , XtNforeground, の ; XtSetArg(args[O] , XtNfont, font) ; XtGetVa1ues(C10ck-Widget, args, 1 ) ; XtSetArg(args[0] , XtNforeground, &fore ・ font = XLoadQueryFont(XtDisp1ay(to level) , name) ; if (name) name = XmTextGetString(text—widget) ; XtManageChi1d(VersionWindow) ; printf("error\n") ; &VersionWindow, &vidget_class) ! = MmStJCCESS) { if (MmFetchWidget(hierarchy—id,"version-message" ,toplevel, names—ret = XListFonts(XtDisp1ay(font-dia10g—box) , ” * " 1000 , &num_names—ret) , if ( ! names-ret) { printf("No font 0 れ your server, exit\n") ; return. ・ items = (XmString *)calloc(num—names—ret, sizeof(XmString)) ; item-. count = num_names_ret; list = XmSe1ectionBoxGetChi1d(font—dia10g—box , XmDIALOG_LIST) ; XtSetArg(arg [ 1 ] , XmNitemCount , item—count) : XtSetArg(argCO] , XmNitems, items) ; XmStringDefCreate(names—retCnum—names-ret]) ; items[num—names—ret] = vhile (num-names-ret——) { 88 void font—proc (widget , tag , callback—data) デジタルクロックのフォント変更ウインドウの表示 XFreeFontNames (names-ret) ; XmStringFree ( items Citem-count] ) ; while (item-count-—) XtSetVa1ues(list, arg, 2 ) ; キャンセ ~ ル・ void cancel—proc ( , Widget v; int *tag; ボタン tag, て e on ) unsigned 10 れ g *reason; switch (*tag) { case k-font_id : XtUnmanageCh11d(FontsWindow) ; break ; case k_alam_id : XtUnmanageChi1d(A1amWindov) ; break ; 終了処理 void quit-proc ( , tag , Widget w ; int *tag ; unsigned long *reason ; if (tag ! = NULL) printf ( "C10ck exit(O) ; reason) UNIX MAGAZINE 1991.7