<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 07/01/2015 06:42 AM, Pierre Guillot
      wrote:<br>
    </div>
    <blockquote
cite="mid:CALPKkhr2aQu2yA0BPNQCUK0Oes2qNO-CadaWtdMoBMzwAMradw@mail.gmail.com"
      type="cite">
      <div dir="ltr"><span style="font-size:12.8000001907349px">> I'd
          be careful exposing the tk canvas api from within Pd.  It's a
          buggy</span><br style="font-size:12.8000001907349px">
        <span style="font-size:12.8000001907349px">> interface, as
          evidenced</span><br style="font-size:12.8000001907349px">
        <span style="font-size:12.8000001907349px">> by the
          off-by-one errors in the data-structure illustrations of
          Miller's</span><br style="font-size:12.8000001907349px">
        <span style="font-size:12.8000001907349px">> book.</span><br>
        <div><span style="font-size:12.8000001907349px"><br>
          </span></div>
        <div><span style="font-size:12.8000001907349px">Hi Jonathan,</span></div>
        <div><span style="font-size:12.8000001907349px"><br>
          </span></div>
      </div>
    </blockquote>
    <br>
    [...]<br>
    <br>
    <blockquote
cite="mid:CALPKkhr2aQu2yA0BPNQCUK0Oes2qNO-CadaWtdMoBMzwAMradw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><span style="font-size:12.8000001907349px">The fact is that
            I don't draw directly in the pd's canvas for many many
            reasons.</span></div>
      </div>
    </blockquote>
    <br>
    I had a look at your wrapper code.  It is extremely well-organized
    and readable, btw.<br>
    <br>
    On the one hand, you're giving users/devs a much improved API with
    which to create<br>
    and maintain GUI externals.  I've been porting Pd to a different
    toolkit (and completely<br>
    away from tcl/tk), so I am intimately familiar with the many, many
    reasons you don't<br>
    want to use or add to the existing widgetbehavior callbacks.<br>
    <br>
    On the other, your improved API ends in Tk canvas subcommands, and
    thus inherits<br>
    all the limitations and bugs of Tk canvas.  For simple/limited GUI
    widgets it's possible to<br>
    workaround these problems-- in most cases the external developer can
    hide the<br>
    problems completely from the end user.  But for complex things like
    a drawing surface<br>
    those bugs and limitations are exposed fairly directly to the end
    user.<br>
    <br>
    -Jonathan<br>
    <br>
    <blockquote
cite="mid:CALPKkhr2aQu2yA0BPNQCUK0Oes2qNO-CadaWtdMoBMzwAMradw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><span style="font-size:12.8000001907349px"> You should have
            a look at the CICM wrapper. </span></div>
        <div><span style="font-size:12.8000001907349px"><br>
          </span></div>
        <div><span style="font-size:12.8000001907349px">Cheers</span></div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
<a class="moz-txt-link-abbreviated" href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list
UNSUBSCRIBE and account-management -> <a class="moz-txt-link-freetext" href="http://lists.puredata.info/listinfo/pd-list">http://lists.puredata.info/listinfo/pd-list</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>