<div dir="ltr">> Wrt the code I included before, what it does is to keep at the same pixel position whe place under the cursor. I feel it is the intuitive behavior.<div><br></div><div>That's perfect-- it's exactly what Google Maps does so everyone's already used to it.</div><div><br></div><div>I also updated [the panning method](<a href="https://github.com/seagreen/Cuis-Smalltalk-RoadTrip/blob/3ded234c0e2db1903b7af1c4de54e4352b7a4652/RoadTrip.pck.st#L280">https://github.com/seagreen/Cuis-Smalltalk-RoadTrip/blob/3ded234c0e2db1903b7af1c4de54e4352b7a4652/RoadTrip.pck.st#L280</a>) and got rid of `#adjustPositionInOwner` as you suggested.</div><div><br></div><div>PS: Added you as a contributor in the README. Thanks!</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 8, 2024 at 7:38 AM Juan Vuletich <<a href="mailto:juan@cuis.st">juan@cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>

  
    
    
  
  <div bgcolor="#ffffff">
    On 3/7/2024 11:33 AM, Ian Jeffries via Cuis-dev wrote:
    <blockquote type="cite">
      <div dir="ltr"><span style="color:rgb(80,0,80)">> Welcome to the Cuis community!
          <div><br>
          </div>
        </span>
        <div>Glad to be here, what a cool project. I'm very fond of
          small things in software, especially for fun (small in scope
          that is, not in the amount of work since getting something
          small isn't easy).</div>
      </div>
    </blockquote>
    <br>
    Yep. The difference between "simple" and "easy"!<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>I'll go ahead and respond about the things I've already
          done, and leave the rest for a later message.</div>
        <span style="color:rgb(80,0,80)">
          <div><br>
          </div>
          <div>> But then I tried to understand what was going on
            with your code, and I<br>
            > found a bug in the Cuis image, Rectangle class >>
            #center:extent: This<br>
            > is the real reason for the jerking you see. I just
            pushed an update for<br>
            > that. Please pull & install. It will be much
            better.<br>
          </div>
          <div><br>
          </div>
        </span>
        <div>Amazing! Thank you. I wasn't sure about posting before my
          car "game" even had roads, now I'm glad I did.</div>
        <span style="color:rgb(80,0,80)">
          <div><br>
          </div>
          <div>> One last comment. You'd add ‘JSON’ as a prerequisite
            to your package, so</div>
          > it is loaded automatically if needed.
          <div><br>
          </div>
        </span>
        <div>Done!</div>
        <span style="color:rgb(80,0,80)">
          <div><br>
          </div>
          <div>> My first thought was "you'd use a
            PluggableScrollPane". You can put a</div>
          > simpler morph, that knows nothing about panning and
          scaling in a<br>
          > ScrollPane, and play with the halo to scale it. Most
          likely<br>
          > PluggableScrollPane could use some tweaks (like handling
          the scaling,<br>
          > and the pan / zoom gestures), but it is not far from what
          you need.<br>
          > Separating RoadTrip from Zoom/Pan issues, by composing
          them instead of<br>
          > subclassing, is better IMO. Besides, in places like
          City>>drawOn: you're<br>
          > hiding cities out of bounds yourself, while
          PluggableScrollPane already<br>
          > clips for you. At least that what I'd do.
          <div><br>
          </div>
        </span>
        <div>That does seem better. There's a wrinkle though in my case
          though: I don't want to set `clipsSubmorphs` to true since I
          want to be able to use the car's halo to move it off of the
          map. Having the car drive across the screen to get back to the
          game has melted people's minds when I show them Cuis. </div>
      </div>
    </blockquote>
    <br>
    Hehehe. Yes, that's cool!<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div>So directly using the strategy of `PluggableScrollPane` is
          out, since my understanding is it works by a combination of
          moving the interior morph around while clipping what part of
          it's shown with `clipsSubmorphs`. I'll think about this some
          more.</div>
      </div>
    </blockquote>
    <br>
    Right. Your approach is perfectly fine and works great.<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div>More to follow once I've tried out your code. Thank you for
          the help and encouragement.</div>
      </div>
      <br>
    </blockquote>
    <br>
    You're most welcome!<br>
    <br>
    Wrt the code I included before, what it does is to keep at the same
    pixel position whe place under the cursor. I feel it is the
    intuitive behavior.<br>
    <br>
    <br>
    Cheers,<br>
    <pre cols="72">-- 
Juan Vuletich
<a href="http://cuis.st" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" target="_blank">twitter.com/JuanVuletich</a></pre>
  </div>

</blockquote></div>