<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>