Drawing with a buffered bitmap. A complete sample

Hi,

- attached CommentedDrawing.py

Jean-Michel Fauth, Switzerland

begin 666 CommentedDrawing.py
M(RTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T-"B,@0V]M;65N=&5D1')A=VEN9RYP

0T*(R!$979E;&]P;65N=#H@=VEN9&]W<R Y.'-E+"!0>71H;VX@,BXR+C,L

M('=X4'ET:&]N(#(N-"XP+C<-"B,@86QS;R!O:R!U;F1E<B!W>%!Y=&AO;B R
M+C0N,2XR#0HC(#$W($IU;'D@,C P,PT*(R!*96%N+4UI8VAE;"!&875T:"P@
M4W=I='IE<FQA;F0-"B,M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#0H*9G)O;2!W

%!Y=&AO;BYW>"!I;7!O<G0@*@T*9G)O;2!T:6UE(&EM<&]R="!A<V-T:6UE

M#0H-"B,M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#0H-"F1E9B!J;71I;64H*3H-
M"B @("!R971U<FX@)ULG("L@87-C=&EM92@I6S$Q.C$Y72 K("==("<-"@T*
M(RTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T-"@T*(R!4:&4@8V]N=')O;"]W:61G
M970@8V]N=&%I;FEN9R!T:&4@9')A=VEN9RX@270@:7,@=VAI=&4@86YD(&AA
M<R!N;R!B;W)D97(N($ET#0HC(&ES(&YO="!N96-E<W-A<GD@=&\@9&5F:6YE
M9"!I=',@<&]S:71O;B!A;F0@<VEZ92P@<VEN8V4@=&AE<V4@<&%R86UE=&5R
M<R!A<F4@#0HC('-E="!U<"!B>2!T:&4@;&%Y;W5T(&-O;G-T<F%I;G1S(&UE
M8VAA;FES;2X@2&]W979E<BP@22!F;W)C960@=&AE(&-O;G1R;VP-"B,@=&\@
M:&%V92!N;R!B;W)D97(N#0IC;&%S<R!->41R87=I;F=!<F5A*'=X5VEN9&]W
M*3H-"B @(" -"B @("!D968@7U]I;FET7U\H<V5L9BP@<&%R96YT+"!I9"DZ
M#0H@(" @(" @('-T>2 ]('=X3D]?0D]21$52#0H@(" @(" @('=X5VEN9&]W
M+E]?:6YI=%]?*'-E;&8L('!A<F5N="P@:60L('-T>6QE/7-T>2D-"B @(" @
M(" @<V5L9BYP87)E;G0@/2!P87)E;G0-"B @(" @(" @<V5L9BY3971"86-K
M9W)O=6YD0V]L;W5R*'=X5TA)5$4I#0H@(" @(" @('-E;&8N4V5T0W5R<V]R
M*'=X0U)/4U-?0U524T]2*0T*#0H@(" @(" @(",@4V]M92!I;FET86QI<V%T
M:6]N+"!J=7-T('1O(')E;6EN9',@=&AE('5S97(@=&AA="!A('9A<FEA8FQE
M#0H@(" @(" @(",@8V%L;&5D('-E;&8N0G5F9F5R0FUP(&5X:7-T<RX@4V5E
M('-E;&8N3VY3:7IE*"DN#0H@(" @(" @('-E;&8N0G5F9F5R0FUP(#T@3F]N
M90T*(" @( T*(" @(" @("!%5E1?4TE:12AS96QF+"!S96QF+D]N4VEZ92D-
M"B @(" @(" @15947U!!24Y4*'-E;&8L('-E;&8N3VY086EN="D-"B @(" -
M"B @(" -"B @(" C($]N4VEZ92!I<R!F:7)E9"!A="!T:&4@87!P;&EC871I
M;VX@<W1A<G0@;W(@=VAE;B!T:&4@9G)A;64@:7,@<F5S:7IE9"X-"B @(" C
M(%1H92!/;E-I>F4@979E;G0@:7,@9FER960@0D5&3U)%('1H92!/;E!A:6YT
M(&5V96YT+B!W>%=I;F1O=W,-"B @(" C(&AA;F1L97,@=&AE(&5V96YT<R!I
M;B!T:&ES(&]R9&5R+B!4:&ES(&ES(&YO="!D=64@=&\@=&AE(&9A8W0L#0H@
M(" @(R!T:&%T('1H92!C;V1E(&QI;F4@15947U-)6D4H+BXN*2!I<R!P;&%C
M960@8F5F;W)E('1H92!L:6YE#0H@(" @(R!%5E1?4$%)3E0H+BXN*2X-"B @
M(" C(%1H92!P<F]C961U<F4@3VY3:7IE*"D@:7,@=&AE(')I9VAT('!L86-E
M('1O(&1E9FEN92!T:&4@#0H@(" @(R!"=69F97)";7 @86YD(&ET<R!S:7IE
M+B!S96QF+D)U9F9E<D)M<"!I<R!T:&4@<&EC='5R92!I;B!M96UO<GDL#0H@
M(" @(R!W:&EC:"!C;VYT86EN<R!Y;W5R(&1R87=I;F<N('-E;&8N0G5F9F5R
M0FUP(&ES(&%L<V\@=7-E9"!A<R!A(&9L86<L#0H@(" @(R!A($YO;F4@=F%L
M=64@:6YD:6-A=&5S(&YO('!I8W1U<F4N#0H@(" @(PT*(" @(&1E9B!/;E-I

F4H<V5L9BP@979E;G0I.@T*(" @(" @("!P<FEN="!J;71I;64H*2 K("=/

M;E-I>F4@:6X@37E$<F%W:6YG07)E82<-"B @(" @(" @(R!'970@=&AE('-I

F4@;V8@=&AE(&1R87=I;F<@87)E82!I;B!P:7AE;',N#0H@(" @(" @('-E

M;&8N=VDL('-E;&8N:&4@/2!S96QF+D=E=%-I>F54=7!L92@I#0H@(" @(" @
M(",@0W)E871E($)U9F9E<D)M<"!A;F0@<V5T('1H92!S86UE('-I>F4@87,@
M=&AE(&1R87=I;F<@87)E82X-"B @(" @(" @<V5L9BY"=69F97)";7 @/2!W

$5M<'1Y0FET;6%P*'-E;&8N=VDL('-E;&8N:&4I#0H@(" @(" @(&UE;61C

M(#T@=WA-96UO<GE$0R@I#0H@(" @(" @(&UE;61C+E-E;&5C=$]B:F5C="AS
M96QF+D)U9F9E<D)M<"D-"B @(" @(" @(R!$<F%W:6YG(&IO8@T*(" @(" @
M("!R970@/2!S96QF+D1O4V]M941R87=I;F<H;65M9&,I#0H@(" @(" @(&EF
M(&YO="!R970Z(" C97)R;W(-"B @(" @(" @(" @('-E;&8N0G5F9F5R0FUP
M(#T@3F]N90T*(" @(" @(" @(" @=WA-97-S86=E0F]X*"=%<G)O<B!I;B!D
M<F%W:6YG)RP@)T-O;6UE;G1E9$1R87=I;F<G+"!W>$]+('P@=WA)0T].7T58
M0TQ!34%424].*0T*(" @(" @(" C;65M9&,N4V5L96-T3V)J96-T*'=X3G5L
M;$)I=&UA<"D@(VES('1H:7,@:6UP;W)T86YT/PT*#0H@(" @#0H@(" @(R!/
M;E!A:6YT(&ES(&5X96-U=&5D(&%T('1H92!A<' @<W1A<G0L('=H96X@<F5S
M:7II;F<@;W(@=VAE;@T*(" @(",@=&AE(&%P<&QI8V%T:6]N('=I;F1O=W,@
M8F5C;VUE<R!A8W1I=F4N($]N4&%I;G0@8V]P:65S('1H90T*(" @(",@8G5F
M9F5R960@<&EC='5R92P@:6YS=&5A9"!O9B!P<F5P87)I;F<@*&%G86EN*2!T
M:&4@9')A=VEN9R!J;V(N#0H@(" @(R!4:&ES(&ES('1H92!T<FEC:RP@8V]P

6EN9R!I<R!V97)Y(&9A<W0N( T*(" @(",@3F]T93H@:68@>6]U(&9O<F=E

M="!T;R!D969I;F4@=&AE(&1C(&EN('1H:7,@<')O8V5D=7)E+ T*(" @(",@
M*&YO(&1C(#T@+BXN(&-O9&4@;&EN92DL('1H92!A<'!L:6-A=&EO;B!W:6QL
M(')U;B!I;@T*(" @(",@86X@:6YF:6YI=&4@;&]O<"X@5&AI<R!I<R!A(&-O
M;6UO;B!B96=I;FYE<B=S(&5R<F]R+B H22!T:&EN:RD-"B @(" C($)E9VEN
M1')A=VEN9R@I(&%N9"!%;F1$<F%W:6YG*"D@87)E(&9O<B!W:6YD;W=S('!L
M871F;W)M<R H<V5E(&1O8RDN#0H@(" @9&5F($]N4&%I;G0H<V5L9BP@979E
M;G0I.@T*(" @(" @("!P<FEN="!J;71I;64H*2 K("=/;E!A:6YT(&EN($UY
M1')A=VEN9T%R96$G#0H@(" @(" @(&1C(#T@=WA086EN=$1#*'-E;&8I#0H@
M(" @(" @(&1C+D)E9VEN1')A=VEN9R@I#0H@(" @(" @(&EF('-E;&8N0G5F
M9F5R0FUP("$]($YO;F4Z#0H@(" @(" @(" @("!P<FEN="!J;71I;64H*2 K
M("<N+BYD<F%W:6YG)PT*(" @(" @(" @(" @9&,N1')A=T)I=&UA<"AS96QF
M+D)U9F9E<D)M<"P@,"P@,"P@5')U92D-"B @(" @(" @96QS93H-"B @(" @
M(" @(" @('!R:6YT(&IM=&EM92@I("L@)RXN+FYO=&AI;F<@=&\@9')A=R<-
M"B @(" @(" @9&,N16YD1')A=VEN9R@I#0H-"B @(" -"B @(" C(%1H92!F
M=6YC=&EO;B!D969I;F5S('1H92!D<F%W:6YG(&IO8BX@179E<GET:&EN9R!I
M<R!D<F%W;B!O;B!T:&4@9&,N( T*(" @(",@26X@=&AA="!A<'!L:6-A=&EO
M;BP@=&AE(&1C(&-O<G)E<W!O;F1S('1O('1H92!"=69F97)";7 N#0H@(" @
M(R!4:')E92!T:&EN9W,@87)E(&1R87=N+"!A('-Q=6%R92!W:71H(&$@9FEX
M960@<VEZ92P@86YD('1W;PT*(" @(",@<F5C=&%N9VQE<R!W:71H('-I>F5S
M(&1E=&5R;6EN960@8GD@=&AE('-I>F4@;V8@=&AE(&1C+"!T:&%T#0H@(" @
M(R!M96%N<R!T:&4@<VEZ92!O9B!T:&4@9')A=VEN9R!A<F5A+B!+965P(&EN
M(&UI;F0L('1H92!S:7IE#0H@(" @(R!O9B!T:&4@9')A=VEN9R!A<F5A(&1E
M<&5N9',@;VX@=&AE('-I>F4@;V8@=&AE(&UA:6X@9G)A;64L#0H@(" @(R!W
M:&EC:"!C86X@8F4@<F5S:7IE9"!O;B!T:&4@9FQY('=I=&@@>6]U<B!M;W5S
M92X-"B @(" C($%T('1H:7,@<&]I;G0L($D@=VEL;"!I;G1R;V1U8V4@82!S
M;6%L;"!C;VUP;&EC871I;VXL('1H870@:7,-"B @(" C(&EN(&9A8W0@<75I
M=&4@<')A8W1I8V%L+B!)="!M87D@:&%P<&5N+"!T:&4@9')A=VEN9R!I<R!N
M;W0-"B @(" C('=O<FMI;F<@8V]R<F5C=&QY+B!%:71H97(@=&AE<F4@:7,@
M86X@97)R;W(@:6X@=&AE(&1R87=I;F<@:F]B#0H@(" @(R!O<B!T:&4@9&%T
M82!Y;W4@=V%N="!T;R!P;&]T(&-A;B!N;W0@8F4@9')A=VX@8V]R<F5C=&QY
M+B!!('1Y<&EC86P@#0H@(" @(R!E>&%M<&QE(&ES('1H92!P;&]T=&EN9R!O
M9B G<V-I96YT:69I8R!D871A)RX@5&AE(&1A=&$@87)E(&YO=" H;W(@#0H@
M(" @(R!M87D@;F]T(&)E*2!S8V%L960@8V]R<F5C=&QY+"!T:&%T(&QE861S
M('1O(&5R<F]R<RP@9V5N97)A;&QY(&EN=&5G97(@#0H@(" @(R!O=F5R9FQO
M=R!E<G)O<G,N#0H@(" @(R!4;R!C:7)C=6UV96YT('1H:7,L('1H92!P<F]C
M961U<F4@<F5T=7)N<R!4<G5E+"!I9B!T:&4@9')A=VEN9R!S=6-C965D+@T*
M(" @(",@270@<F5T=7)N<R!&86QS92P@:68@=&AE(&1R87=I;F<@9F%I;',N
M(%1H92!R971U<FYE9"!V86QU92!M87D@8F4@=7-E9 T*(" @(",@;&%T97(N
M#0H@(" @9&5F($1O4V]M941R87=I;F<H<V5L9BP@9&,I.@T*(" @(" @("!T
M<GDZ#0H@(" @(" @(" @("!P<FEN="!J;71I;64H*2 K("=$;U-O;65$<F%W
M:6YG(&EN($UY1')A=VEN9T%R96$G#0H@(" @(" @(" @(" -"B @(" @(" @
M(" @(&1C+D)E9VEN1')A=VEN9R@I#0H@(" @(" @(" @(" -"B @(" @(" @
M(" @("-^(')A:7-E($]V97)F;&]W17)R;W(@(V9O<B!T97-T#0H@(" @(" @
M(" @(" -"B @(" @(" @(" @(",@0VQE87(@979E<GET:&EN9PT*(" @(" @
M(" @(" @9&,N4V5T0G)U<V@H=WA"<G5S:"AW>%=(251%+"!W>%-/3$E$*2D-
M"B @(" @(" @(" @(&1C+D-L96%R*"D-"B @(" @(" @(" @( T*(" @(" @
M(" @(" @(R!$<F%W('1H92!S<75A<F4@=VET:"!A(&9I>&5D('-I>F4N#0H@
M(" @(" @(" @("!D8RY3971"<G5S:"AW>$)R=7-H*'=X0UE!3BP@=WA33TQ)
M1"DI#0H@(" @(" @(" @("!D8RY3971096XH=WA096XH=WA"3%5%+" Q+"!W

%-/3$E$*2D-"B @(" @(" @(" @(&1C+D1R87=296-T86YG;&4H,3 L(#$P

M+" R,# L(#(P,"D-"B @(" @(" @(" @( T*(" @(" @(" @(" @(R!$<F%W
M(&$@=')A;G-P87)E;G0@<F5C=&%N9VQE('=I=&@@82!R960@8F]R9&5R+"!P
M<F]P;W)T:6]N86P@=&\@#0H@(" @(" @(" @(" C('1H92!D8R!S:7IE+@T*
M(" @(" @(" @(" @9&-W:2P@9&-H92 ](&1C+D=E=%-I>F54=7!L92@I#0H@
M(" @(" @(" @("!D8RY3971"<G5S:"AW>$)R=7-H*'=X0UE!3BP@=WA44D%.
M4U!!4D5.5"DI#0H@(" @(" @(" @("!D8RY3971096XH=WA096XH=WA2140L
M(#$L('=X4T],240I*0T*(" @(" @(" @(" @9&,N1')A=U)E8W1A;F=L92@P
M+" P+"!D8W=I+"!D8VAE*0T*(" @(" @(" @(" @#0H@(" @(" @(" @(" C
M($1R87<@;VYE(&%N;W1H97(@<F5C=&%N9VQE+"!A(')E8W1A;F=L92!W:71H
M(&$@<VEZ92!P<F]P;W)T:6]N86P-"B @(" @(" @(" @(",@=&\@=&AE(&1C
M('-I>F4N#0H@(" @(" @(" @("!G87 @/2 U, T*(" @(" @(" @(" @9&,N
M4V5T0G)U<V@H=WA"<G5S:"AW>%=(251%+"!W>%1204Y34$%214Y4*2D-"B @
M(" @(" @(" @(&1C+E-E=%!E;BAW>%!E;BAW>$),04-++" Q+"!W>%-/3$E$
M*2D-"B @(" @(" @(" @(&1C+D1R87=296-T86YG;&4H," K(&=A<"P@," K
M(&=A<"P@9&-W:2 M(#(@*B!G87 L(&1C:&4@+2 R("H@9V%P*0T*(" @(" @
M(" @(" @#0H@(" @(" @(" @(" C(%1H97-E(&YE>'0@,B!L:6YE<R!W:6QL
M(')A:7-E(&%N(&]V97)F;&]W(&5R<F]R+@T*(" @(" @(" @(" @(WX@;&%R
M9V5V86P@/2 Q93$P#0H@(" @(" @(" @(" C?B!D8RY$<F%W3&EN92AD8W=I
M("\O(#(L(&1C:&4@+R\@,BP@;&%R9V5V86PL(&QA<F=E=F%L*0T*(" @(" @
M(" @(" @#0H@(" @(" @(" @("!D8RY%;F1$<F%W:6YG*"D-"B @(" @(" @
M(" @(')E='5R;B!4<G5E#0H@(" @(" @( T*(" @(" @("!E>&-E<'0Z#0H@
M(" @(" @(" @("!R971U<FX@1F%L<V4-"@T*(RTM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2T-"@T*(R!086YE;"!I;B!T:&4@;6%I;B!F<F%M92X@270@8V]V97)S
M(&%U=&]M871I8V%L;'D@=&AE(&-L:65N="!A<F5A(&]F#0HC(&ET<R!P87)E
M;G0@9G)A;64N(%1H92!P86YE;"!C;VYT86EN<R!A('-I;F=L92!C;VYT<F]L
M("AC;&%S<R!->41R87=I;F=!<F5A*2P-"B,@;VX@=VAI8V@@=&AE(&1R87=I
M;F<@=&%K97,@<&QA8V4N(%1H92!P;W-I=&EO;B!A;F0@<VEZ92!O9B!T:&ES
M(&-O;G1R;VP@:7,-"B,@<V5T('5P('=I=&@@;&%Y;W5T(&-O;G-T<F%I;G1S
M+"!S;R!T:&%T('1H92!U<V5R('-E92!W:&%T(&AA<'!E;G,@=&\@=&AE( T*
M(R!D<F%W:6YG('=H96X@=&AE(&UA:6X@9G)A;64@:7,@<F5S:7IE9"X-"F-L
M87-S($UY4&%N96PH=WA086YE;"DZ#0H-"B @("!D968@7U]I;FET7U\H<V5L
M9BP@<&%R96YT+"!I9"DZ#0H@(" @(" @('=X4&%N96PN7U]I;FET7U\H<V5L
M9BP@<&%R96YT+"!I9"P@=WA$969A=6QT4&]S:71I;VXL('=X1&5F875L=%-I

F4I#0H@(" @(" @( T*(" @(" @("!S96QF+F1R87=I;F=A<F5A(#T@37E$

M<F%W:6YG07)E82AS96QF+" M,2D-"@T*(" @(" @("!S96QF+E-E=$%U=&],
M87EO=70H5')U92D-"B @(" @(" @#0H@(" @(" @(&=A<" ](#,P("-I;B!P
M:7AE;',-"B @(" @(" @;&,@/2!W>$QA>6]U=$-O;G-T<F%I;G1S*"D-"B @
M(" @(" @;&,N=&]P+E-A;65!<RAS96QF+"!W>%1O<"P@9V%P*0T*(" @(" @
M("!L8RYL969T+E-A;65!<RAS96QF+"!W>$QE9G0L(&=A<"D-"B @(" @(" @
M;&,N<FEG:'0N4V%M94%S*'-E;&8L('=X5VED=&@L(&=A<"D-"B @(" @(" @
M;&,N8F]T=&]M+E-A;65!<RAS96QF+"!W>$)O='1O;2P@9V%P*0T*(" @(" @
M("!S96QF+F1R87=I;F=A<F5A+E-E=$-O;G-T<F%I;G1S*&QC*0T*#0HC+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+0T*#0HC(%5S=6%L(&9R86UE+B!#86X@8F4@
M<F5S:7IE9"P@;6%X:6UI>F5D(&%N9"!M:6YI;6EZ960N#0HC(%1H92!F<F%M
M92!C;VYT86EN<R!O;F4@<&%N96PN#0IC;&%S<R!->49R86UE*'=X1G)A;64I
M.@T*#0H@(" @9&5F(%]?:6YI=%]?*'-E;&8L('!A<F5N="P@:60I.@T*(" @
M(" @("!W>$9R86UE+E]?:6YI=%]?*'-E;&8L('!A<F5N="P@:60L("=#;VUM
M96YT961$<F%W:6YG)RP@=WA0;VEN="@P+" P*2P@=WA3:7IE*#4P,"P@-# P
M*2D-"B @(" @(" @<V5L9BYP86YE;" ]($UY4&%N96PH<V5L9BP@+3$I#0H-
M"B @(" @(" @15947T-,3U-%*'-E;&8L('-E;&8N3VY#;&]S95=I;F1O=RD-
M"@T*(" @(&1E9B!/;D-L;W-E5VEN9&]W*'-E;&8L(&5V96YT*3H-"B @(" @
M(" @<')I;G0@:FUT:6UE*"D@*R G3VY#;&]S95=I;F1O=R!I;B!->49R86UE
M)PT*(" @(" @("!S96QF+D1E<W1R;WDH*0T*#0HC+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+0T*#0IC;&%S<R!->4%P<"AW>$%P<"DZ#0H-"B @("!D968@3VY)
M;FET*'-E;&8I.@T*(" @(" @("!F<F%M92 ]($UY1G)A;64H3F]N92P@+3$I
M#0H@(" @(" @(&9R86UE+E-H;W<H5')U92D-"B @(" @(" @<V5L9BY39714
M;W!7:6YD;W<H9G)A;64I#0H@(" @(" @(')E='5R;B!4<G5E#0H-"B,M+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM#0H-"F1E9B!M86EN*"DZ#0H@(" @<')I;G0@
M)VUA:6X@:7,@<G5N;FEN9RXN+B<-"B @("!A<' @/2!->4%P<"@P*0T*(" @
M(&%P<"Y-86EN3&]O<"@I#0H-"B,M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#0H-
M"FEF(%]?;F%M95]?(#T](")?7VUA:6Y?7R(@.@T*(" @(&UA:6XH*0T*#0HC
M96]F+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
;+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0T*
`
end

Jean-Michel Fauth wrote:

Hi,

- attached CommentedDrawing.py

http://wiki.wxpython.org/index.cgi/YetAnotherDrawingSample

ยทยทยท

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!