<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 10, 2014 at 7:46 PM, Matthew Flatt <span dir="ltr"><<a href="mailto:mflatt@cs.utah.edu" target="_blank">mflatt@cs.utah.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">That's a bug in v6.1 and earlier (on platforms other than Mac OS X).<br>
<br>
The bug has been fixed for the next version, so you could try a<br>
snapshot from<br>
 <a href="http://pre.racket-lang.org/" target="_blank">http://pre.racket-lang.org/</a><br>
<br>
If you need to stick with a different version, I think you can work<br>
around the bug by creating a `canvas%` subclass that calls<br>
`init-auto-scrollbars` on each `on-resize`:<br></blockquote><div><br>Thanks, the workaround works great for my program.</div><div>Sincerely, Campbell Stahlman</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
 #lang racket<br>
 (require racket/gui)<br>
<br>
 (define frame (new frame%<br>
                    [label "Example"]<br>
                    [width 300]<br>
                    [height 300]))<br>
<br>
 (define workaround-canvas%<br>
   (class canvas%<br>
     (super-new)<br>
     (inherit init-auto-scrollbars)<br>
     (define/override (on-size w h)<br>
       (init-auto-scrollbars <a href="tel:500%20500%200.0%200.0" value="+15005000000">500 500 0.0 0.0</a>))))<br>
<br>
 (define canv (new workaround-canvas%<br>
                   [parent frame]<br>
                   [style '(vscroll hscroll)]<br>
                   [paint-callback<br>
                    (lambda (canvas dc)<br>
                      (send dc draw-ellipse 0 0 500 500))]))<br>
<br>
 (send frame show #t)<br>
<br>
At Wed, 10 Sep 2014 19:29:53 -0500, Amy Stahlman wrote:<br>
> I've been working on a program that uses "init-auto-scrollbars" and I<br>
> noticed that when the window is resized it actually changes the size of the<br>
> virtual canvas along with the literal canvas instead of just resizing the<br>
> scrollbar and changing the size of the literal canvas.<br>
><br>
> Here's an example that shows this:<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> *(require racket/gui)(define frame (new frame%                  [label<br>
> "Example"]                  [width 300]                  [height<br>
> 300]))(define canv (new canvas% [parent frame]    [style '(vscroll<br>
> hscroll)]            [paint-callback             (lambda (canvas dc)(send<br>
> dc draw-ellipse 0 0 500 500))]))(send frame show #t)(send canv<br>
> init-auto-scrollbars 500 500 0.0 0.0)*<br>
><br>
> Resize the window, making it large enough to show the entire ellipse;<br>
> notice how the scrollbar's relative size doesn't change, and there is blank<br>
> space at the bottom.<br>
> Is this by design or some kind of bug?<br>
> ____________________<br>
>   Racket Users list:<br>
>   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</blockquote></div><br></div></div>