Is there a way to figure out the current virtual x and virtual y position of the (0,0) point of the client area when using automatic-scrollbars in a canvas? I would like to use these values to optimize my rendering.<br><br>
Thanks in advance,<br><br>-pp<br><br><br><br><br><div><span class="gmail_quote">On 12/7/06, <b class="gmail_sendername"><a href="mailto:plt-scheme-request@list.cs.brown.edu">plt-scheme-request@list.cs.brown.edu</a></b> &lt;
<a href="mailto:plt-scheme-request@list.cs.brown.edu">plt-scheme-request@list.cs.brown.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Send plt-scheme mailing list submissions to<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a><br><br>To subscribe or unsubscribe via the World Wide Web, visit<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme">
http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>or, via email, send a message with subject or body 'help' to<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="mailto:plt-scheme-request@list.cs.brown.edu">plt-scheme-request@list.cs.brown.edu
</a><br><br>You can reach the person managing the list at<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="mailto:plt-scheme-owner@list.cs.brown.edu">plt-scheme-owner@list.cs.brown.edu</a><br><br>When replying, please edit your Subject line so it is more specific
<br>than &quot;Re: Contents of plt-scheme digest...&quot;<br><br><br>[Please handle PLT Scheme list administrative tasks through the Web:<br>&nbsp;&nbsp; <a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme">http://list.cs.brown.edu/mailman/listinfo/plt-scheme
</a>]<br><br><br>Today's Topics:<br><br>&nbsp;&nbsp; 1. Re: [Mred] - syntax coloring in editor canvas (Robby Findler)<br>&nbsp;&nbsp; 2. Re: Syntax objects and strings (or &quot;stupid infix tricks&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Corey Sweeney)<br>&nbsp;&nbsp; 3. Shadowing syntax at the top (David Van Horn)
<br>&nbsp;&nbsp; 4. Re: Syntax objects and strings (or &quot;stupid infix tricks&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(John Clements)<br>&nbsp;&nbsp; 5. Re: Shadowing syntax at the top (Matthew Flatt)<br>&nbsp;&nbsp; 6. double on-paint (pedro pinto)<br>&nbsp;&nbsp; 7. Re: double on-paint (Matthew Flatt)
<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Thu, 7 Dec 2006 14:27:32 -0600<br>From: Robby Findler &lt;<a href="mailto:robby@cs.uchicago.edu">robby@cs.uchicago.edu
</a>&gt;<br>Subject: Re: [plt-scheme] [Mred] - syntax coloring in editor canvas<br>To: &quot;jack jack&quot; &lt;<a href="mailto:jack4746@hotmail.com">jack4746@hotmail.com</a>&gt;<br>Cc: <a href="mailto:plt-scheme@list.cs.brown.edu">
plt-scheme@list.cs.brown.edu</a><br>Message-ID: &lt;<a href="mailto:20061207202734.1E2BB6C696@laime.cs.uchicago.edu">20061207202734.1E2BB6C696@laime.cs.uchicago.edu</a>&gt;<br>Content-Type: text/plain; charset=UTF-8<br><br>
color:text does significantly more than what you write below. It takes<br>a higher-level spec (namely a lexer spec), and it does the coloring<br>online in an efficient manner.<br><br>FWIW, that's the colorer that drscheme uses for its own code.
<br><br>Robby<br><br>At Thu, 07 Dec 2006 21:05:28 +0100, &quot;jack jack&quot; wrote:<br>&gt; Here is what i got before viewing Framework GUI manual.<br>&gt; For the moment i used a button, but like you said, i could make the same
<br>&gt; using after-insert.<br>&gt;<br>&gt; ;; changes style of the given word<br>&gt; (define (button_fonc x y)<br>&gt;&nbsp;&nbsp; (let* ((txt (send Canvas1 get-editor))<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(mot (get-text-from-user &quot;Color Test&quot; &quot;whichword&quot;))
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(start (send txt find-string mot 'forward 0 'eof #t #f))<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(end (send txt find-string mot 'forward 0 'eof #f #f))<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;(start (send txt get-start-position))<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;(end (send txt get-end-position))
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(delta (make-object style-delta% )))<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; (send delta set-weight-on 'bold)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; (send delta set-delta-foreground (make-object color% 255 0 0) )<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; (send txt change-style&nbsp;&nbsp;delta start end)))
<br>&gt;<br>&gt;<br>&gt; Ok, I said i read the framework GUI (especially the color:text%), but i<br>&gt; didn't get the main idea of it (i'll retry tomorrow ;)).<br>&gt;<br>&gt; What would it bring me more than this code?
<br>&gt;<br>&gt; Plus, text:color% seems to work with multiple lexeme values on a lexeme<br>&gt; whereas in the precedent source, i can make it without changing the<br>&gt; lexer/parser part of my code.<br>&gt;<br>&gt; As i said, i might have missed something with text:color% ;)
<br>&gt;<br>&gt;<br>&gt; One more question, let such a definition be:<br>&gt;<br>&gt; (define if<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;....)<br>&gt;<br>&gt; in my case, define AND if would be colored, whereas only define should be...<br>&gt;<br>&gt; Could text:color% do the right job for me? :D
<br>&gt;<br>&gt; _________________________________________________________________<br>&gt; Les révélations de la starac 6 commentées par Jérémy!<br>&gt; <a href="http://starac2006.spaces.live.com/">http://starac2006.spaces.live.com/
</a><br><br><br>------------------------------<br><br>Message: 2<br>Date: Thu, 7 Dec 2006 14:46:11 -0600<br>From: &quot;Corey Sweeney&quot; &lt;<a href="mailto:corey.sweeney@gmail.com">corey.sweeney@gmail.com</a>&gt;<br>Subject: Re: [plt-scheme] Syntax objects and strings (or &quot;stupid infix
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tricks&quot;)<br>To: &quot;Danny Yoo&quot; &lt;<a href="mailto:dyoo@hkn.eecs.berkeley.edu">dyoo@hkn.eecs.berkeley.edu</a>&gt;<br>Cc: PLT Scheme &lt;<a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu
</a>&gt;<br>Message-ID:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;<a href="mailto:d1c0755b0612071246h1790aac5g689c0f3f6ff2e489@mail.gmail.com">d1c0755b0612071246h1790aac5g689c0f3f6ff2e489@mail.gmail.com</a>&gt;<br>Content-Type: text/plain; charset=&quot;iso-8859-1&quot;
<br><br>That works.&nbsp;&nbsp; (eval `(infix ,(read-syntax `thingy1 (open-input-string &quot;(2 +<br>3)&quot;)))) does produce 5.<br><br>Thanks<br><br>For fun I decided to test it's generality, I tried:<br><br>(read-syntax `thingy2 (open-input-string &quot;(((&quot;))
<br><br>Which immedately complained about missmatched parenthisis. I don't really<br>need to do this, but do you know what one would one do if they needed to<br>parse a language that didn't use parenthisis charactors in the traditional
<br>maner?<br><br>Corey<br><br><br><br>On 12/7/06, Danny Yoo &lt;<a href="mailto:dyoo@hkn.eecs.berkeley.edu">dyoo@hkn.eecs.berkeley.edu</a>&gt; wrote:<br>&gt;<br>&gt;<br>&gt;<br>&gt; &gt; Is there a way to turn a string into a syntax object without calling
<br>&gt; read?<br>&gt; &gt; Something feels wrong with what i'm doing.&nbsp;&nbsp;{I mean someting feels wrong<br>&gt; &gt; beond the fact that i'm dealing with infix notation ;)}<br>&gt;<br>&gt; Hi Corey,<br>&gt;<br>&gt; The function READ-SYNTAX, coupled with making a string look like a port
<br>&gt; through the OPEN-INPUT-STRING function, should do the trick.&nbsp;&nbsp;Take a look<br>&gt; at READ-SYNTAX in the help desk first, because it needs to take an extra<br>&gt; argument, compared to regular READ.<br>&gt;<br>&gt;
<br>&gt; &gt; i've written a re-infixer that does the reverse of Dannys &quot;infix&quot;<br>&gt; &gt; package.<br>&gt;<br>&gt; [some code cut]<br>&gt;<br>&gt; Ack!&nbsp;&nbsp;I didn't mean for things to get this perverse.<br>&gt;<br>
<br><br><br>--<br>((lambda (y) (y y)) (lambda (y) (y y)))<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <a href="http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20061207/94287ee3/attachment.html">
http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20061207/94287ee3/attachment.html</a><br><br>------------------------------<br><br>Message: 3<br>Date: Thu, 07 Dec 2006 16:10:47 -0500<br>From: David Van Horn &lt;
<a href="mailto:dvanhorn@cs.brandeis.edu">dvanhorn@cs.brandeis.edu</a>&gt;<br>Subject: [plt-scheme] Shadowing syntax at the top<br>To: <a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a><br>Message-ID: &lt;
<a href="mailto:ela018$bfo$1@sea.gmane.org">ela018$bfo$1@sea.gmane.org</a>&gt;<br>Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br><br>Welcome to DrScheme, version 360-svn20nov2006.<br>Language: Standard (R5RS).
<br> &gt; (define (let) (let))<br>let: bad syntax in: (let)<br><br>I'm pretty sure this should loop, and not be a syntax error.&nbsp;&nbsp;Is this<br>intended?<br><br>David<br><br><br><br>------------------------------<br><br>Message: 4
<br>Date: Thu, 7 Dec 2006 14:13:20 -0800<br>From: John Clements &lt;<a href="mailto:clements@brinckerhoff.org">clements@brinckerhoff.org</a>&gt;<br>Subject: Re: [plt-scheme] Syntax objects and strings (or &quot;stupid infix
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tricks&quot;)<br>To: Corey Sweeney &lt;<a href="mailto:corey.sweeney@gmail.com">corey.sweeney@gmail.com</a>&gt;<br>Cc: Danny Yoo &lt;<a href="mailto:dyoo@hkn.eecs.berkeley.edu">dyoo@hkn.eecs.berkeley.edu</a>&gt;,&nbsp;&nbsp;&nbsp;&nbsp; PLT Scheme
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;<a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a>&gt;<br>Message-ID: &lt;<a href="mailto:4430CFB5-0013-4667-84B0-F1C07B26F2F7@brinckerhoff.org">4430CFB5-0013-4667-84B0-F1C07B26F2F7@brinckerhoff.org
</a>&gt;<br>Content-Type: text/plain; charset=&quot;us-ascii&quot;<br><br><br>On Dec 7, 2006, at 12:46 PM, Corey Sweeney wrote:<br><br>&gt; That works.&nbsp;&nbsp; (eval `(infix ,(read-syntax `thingy1 (open-input-<br>&gt; string &quot;(2 + 3)&quot;)))) does produce 5.
<br>&gt;<br>&gt; Thanks<br>&gt;<br>&gt; For fun I decided to test it's generality, I tried:<br>&gt;<br>&gt; (read-syntax `thingy2 (open-input-string &quot;(((&quot;))<br>&gt;<br>&gt; Which immedately complained about missmatched parenthisis. I don't
<br>&gt; really need to do this, but do you know what one would one do if<br>&gt; they needed to parse a language that didn't use parenthisis<br>&gt; charactors in the traditional maner?<br><br>You'd probably want to use a traditional parser.&nbsp;&nbsp;One such parser is
<br>Scott Owens' parser-tools package, which (IIRC) is a part of the<br>standard DrScheme distribution.<br><br>HTH,<br><br>John Clements<br><br><br>-------------- next part --------------<br>A non-text attachment was scrubbed...
<br>Name: smime.p7s<br>Type: application/pkcs7-signature<br>Size: 2484 bytes<br>Desc: not available<br>Url : <a href="http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20061207/35d52434/smime-0001.bin">http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20061207/35d52434/smime-0001.bin
</a><br><br>------------------------------<br><br>Message: 5<br>Date: Fri, 8 Dec 2006 06:18:22 0800<br>From: Matthew Flatt &lt;<a href="mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>&gt;<br>Subject: Re: [plt-scheme] Shadowing syntax at the top
<br>To: David Van Horn &lt;<a href="mailto:dvanhorn@cs.brandeis.edu">dvanhorn@cs.brandeis.edu</a>&gt;<br>Cc: <a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a><br>Message-ID: &lt;<a href="mailto:20061207221808.31F3765008F@mail-svr1.cs.utah.edu">
20061207221808.31F3765008F@mail-svr1.cs.utah.edu</a>&gt;<br>Content-Type: text/plain; charset=UTF-8<br><br>At Thu, 07 Dec 2006 16:10:47 -0500, David Van Horn wrote:<br>&gt; Welcome to DrScheme, version 360-svn20nov2006.<br>
&gt; Language: Standard (R5RS).<br>&gt;&nbsp;&nbsp;&gt; (define (let) (let))<br>&gt; let: bad syntax in: (let)<br>&gt;<br>&gt; I'm pretty sure this should loop, and not be a syntax error.&nbsp;&nbsp;Is this<br>&gt; intended?<br><br>Yes, this is as intended.
<br><br>The new binding for `let' does not exist until the definition is<br>evaluated, so the old definition of `let' applies when the RHS of the<br>definition is expanded.<br><br>It's possible for the expander to notice that `let' is being defined,
<br>and thus expand the RHS of the definition with the special assumption<br>that `let' is a variable instead of a syntactic keyword. But then<br>consider a pair of definitions grouped with `begin':<br><br> (begin<br>&nbsp;&nbsp;(define (other) (let))
<br>&nbsp;&nbsp;(define (let) 10))<br><br>If you want this to work, then `begin' has to look ahead to other<br>definitions before expanding a definition. That's certainly possible,<br>but then it's no longer the case that wrapping a sequence of top-level
<br>forms with `begin' is the same as splicing the forms into the top<br>level. So, the choice is to make this work or keep the splicing nature<br>of `begin'. If you don't make it work but change the sngle-definition<br>case, then it seems inconsistent to me. If you drop the splicing nature
<br>of `begin' then other dominoes start to fall over, such as the handling<br>of `load' in a `begin' sequence.<br><br>In short, the top level is hopeless. I'm not entirely happy with the<br>current set of compromises, but I doubt that it's worth trying to
<br>change them.<br><br>Matthew<br><br><br><br>------------------------------<br><br>Message: 6<br>Date: Thu, 7 Dec 2006 16:31:00 -0600<br>From: &quot;pedro pinto&quot; &lt;<a href="mailto:pedro.e.pinto@gmail.com">pedro.e.pinto@gmail.com
</a>&gt;<br>Subject: [plt-scheme] double on-paint<br>To: <a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a><br>Message-ID:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;<a href="mailto:a9ba9b560612071431i19490c96qe9536a9c7f0d4759@mail.gmail.com">
a9ba9b560612071431i19490c96qe9536a9c7f0d4759@mail.gmail.com</a>&gt;<br>Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br><br>Hi there,<br><br>On Windows XP, with DrScheme v360, the following code:<br><br>(define f (new frame% (label &quot;Hello&quot;)))
<br><br>(define c (new canvas% (parent f)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (paint-callback (lambda _ (printf &quot;painting~n&quot;)))))<br><br>(send f show #t)<br><br>Will print &quot;painting&quot; twice, with a noticeable delay between the two
<br>messages, every time the frame is resized. That's not right is it?<br><br>-pp<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <a href="http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20061207/381ecf79/attachment-0001.html">
http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20061207/381ecf79/attachment-0001.html</a><br><br>------------------------------<br><br>Message: 7<br>Date: Fri, 8 Dec 2006 06:48:54 0800<br>From: Matthew Flatt &lt;
<a href="mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>&gt;<br>Subject: Re: [plt-scheme] double on-paint<br>To: <a href="mailto:pedro.e.pinto@gmail.com">pedro.e.pinto@gmail.com</a><br>Cc: <a href="mailto:plt-scheme@list.cs.brown.edu">
plt-scheme@list.cs.brown.edu</a><br>Message-ID: &lt;<a href="mailto:20061207224842.2AEC9650097@mail-svr1.cs.utah.edu">20061207224842.2AEC9650097@mail-svr1.cs.utah.edu</a>&gt;<br>Content-Type: text/plain; charset=UTF-8<br>
<br>At Thu, 7 Dec 2006 16:31:00 -0600, &quot;pedro pinto&quot; wrote:<br>&gt; On Windows XP, with DrScheme v360, the following code:<br>&gt;<br>&gt; (define f (new frame% (label &quot;Hello&quot;)))<br>&gt;<br>&gt; (define c (new canvas% (parent f)
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(paint-callback (lambda _ (printf &quot;painting~n&quot;)))))<br>&gt;<br>&gt; (send f show #t)<br>&gt;<br>&gt; Will print &quot;painting&quot; twice, with a noticeable delay between the two<br>&gt; messages, every time the frame is resized. That's not right is it?
<br><br>My guess is that both resize and refresh events from from the OS, and<br>MrEd at some point triggers a refresh to handle the resize event. I may<br>be able to improve that.<br><br>Is the delay you see just a delay in DrScheme's output? I see a
<br>significant delay, too, but when I include the result of<br>`(current-milliseconds)' in the printed message, then the printed<br>numbers usually differ by only 20 or 30 milliseconds.<br><br>Matthew<br><br><br><br>End of plt-scheme Digest, Vol 16, Issue 14
<br>******************************************<br></blockquote></div><br>