On Thu, May 28, 2015 at 9:27 AM, Rick Smith <
ricoch...@gmail.com> wrote:
> I'm therefore volunteering
> to do the work to try to include the following functions into
> src/image/draw/draw.go:
First of all, the standard library is currently in feature freeze up
until the Go 1.5 release, due August 1:
https://groups.google.com/d/msg/golang-dev/otCULnOjs7I/kmNcWjvcMvYJ
Even so, speaking as the maintainer of the image/draw package in the
standard library, I don't see a need for such functions to live there.
Furthermore, anything that ships in the stdlib has to have its API
frozen for ever more, so you couldn't add a draw.Op argument, or some
control over anti-aliasing, in the future, if you later changed your
mind on what the best API should be.
There's already metric tonnes of useful Go code out there that aren't
in the stdlib. I don't see why a Bresenham's algorithm implementation
is any different. Just make your own package, on
github.com or
somewhere else, that's as easy to install as "step 1 is go get
github.com/foo/draw; there is no step 2".
If there's overwhelming usage of your library, after it's released,
then I'm open to reconsidering merging those features into the stdlib.
But I think that adding it to the stdlib before there's clear demand
for it is doing things in the wrong order.
OTOH, X11 servers are bound by backwards compatibility to provide
functions like this (and stippling!) in the X protocol, but I can't
think of any modern GUI programs that use them (they use e.g. cairo
instead), so at this point in time such features have no benefit but
still have a maintenance cost.