[comp.archives] [xpert] Re: A decent bitmap editor for X ??

jef@well.sf.ca.us (Jef Poskanzer) (06/16/91)

Archive-name: x11/graphics/xpaint/1991-06-14
Archive: ftp.ee.lbl.gov:xpaint.tar.Z [128.3.254.68]
Original-posting-by: jef@well.sf.ca.us (Jef Poskanzer)
Original-subject: Re: A decent bitmap editor for X ??
Reposted-by: emv@msen.com (Edward Vielmetti, MSEN)


Brian Totty:
}	You might want to try the PixEditT program which is part of the
}	Free Widgets release available on a.cs.uiuc.edu (128.174.252.1)
}	in pub/fwf.shar.Z.

I could make another list of flaws, but since it's obviously another
preliminary version I'll refrain.  Besides, it's actually not too bad.
The only major problem is it's once again slow as molasses.  Do you folks
all have SPARC 2's?  I'm stuck with a poor old Sun 3/50, and I don't
like waiting a minute for each repaint.

}	Another advantage to using the Free Widgets pixel editor program
}	is that the program is built around a pixel editing widget.  This
}	makes the program very modular.  The goal was to isolate a "common
}	denominator" of functionality used in most image editing applications
}	(bitmap editors, paint programs, font editors, etc.) and encapsulate
}	this in one reusable module.  

Actually, it's fairly easy to convert any standalone program into a
widget.  Just stick all the static variables into a struct and write a
wrapper routine.  And another approach, for something as big as an
image editor, is to leave it standalone and have the calling program
use temp files and system().  Of course, this approach doesn't work on
the microtoys, which I suspect is where most of the impetus for
humongous all-in-one programs is coming from.

Rich Thomson:
}You should probably wait for R5 to hit the streets because they
}rewrote bitmap as a toolkit client.
Bob Scheifler:
}"They" is Davor Matic, an MIT undergrad.
}The one Jef was flaming about is an earlier snapshot of the same program. :-)

Does the current version paint faster?

For an example of a simple bitmap editor with what I consider to be
minimally acceptable performance, see ftp.ee.lbl.gov:xpaint.tar.Z.
It gets its speed mainly by storing the image in three different
places: in the client, in a Pixmap, and on the screen at the current
zoom factor.  All operations must update all three copies.  For most
operations it's possible to update the two server-side copies with
judicious CopyAreas and FillRectangles.

It's still slower than MacPaint running on a an original 68000 Mac,
but this is probably about as fast as you can get under X without
something like XIE.

Xpaint is based on a minimal X toolkit called libwin, which is included
in the tarfile.  Both xpaint and libwin are "preliminary versions",
with no real documentation and a few missing features.
---
Jef

  Jef Poskanzer  jef@well.sf.ca.us  {apple, ucbvax, hplabs}!well!jef
         If you've got the whipped cream, I've got the banana.

-- comp.archives file verification
ftp.ee.lbl.gov
-rwxr-xr-x jef           52406 Jun 15 12:39 xpaint.tar.Z
found xpaint ok
ftp.ee.lbl.gov:xpaint.tar.Z