There are several forms of feedback I get for paintlib. The most prevalent is a request for help in getting the library to do something specific. The others are feature requests and people contributing code... My email address is mailto:uzadow@cs.tu-berlin.de.

I'll start with the sort of mails I like most ;-):

Contributing Code

paintlib is far from complete. I will implement new features as time permits, but during the last year or so, most new features have come from other contributors. (This is really encouraging and probably the reason I still support paintlib).

Contributing code is easy. Just write the code and send it to me. If you want to make my job easy, attach the complete source files you changed to the mail so I can use windiff to merge the files. Also, you can help me document the library by adding lines starting with //! in front of function headers or class declarations. These lines are recognized by the documentation generation system I use, so they'll appear in the reference section of the docs automatically.

There's one other thing I have to mention because it's caused problems in the past: If you'd like to contribute stuff to paintlib, please make sure it's free of copyrights of other people. To avoid complications, the core paintlib library will need to stay (c) Ulrich von Zadow. I commit to supporting paintlib as open source software for as long as I can, but having parts of the code copyrighted by different people - all of whom I'd have to ask if a word changes in the terms of use - would generate too much hassle. (If you can't live with this arrangement, you can always submit code for inclusion as a sample.)

This is the current todo-list in no particular order:

  • Support more file formats. Support for photoshop files (including loading of several layers as an array of bitmaps) is planned. Other formats? Don't know yet. Everybody seems to want gif support...
  • Support for user-defined error and warning handlers.
  • Image file encoding.
  • Integrating color quantization and conversion from 24 to 8 bits.
  • Support for DirectX surfaces.
  • Integration of image-manipulation classes into the library. Besides the bitblt classes in the Windows GUI demo, this would include things like gamma correction, brightness/contrast, sharpening, blurring, accessing photoshop plugins, making coffee, and achieving world peace.

Asking for Help

As I've already said in the introduction: I welcome emails, and I really try to answer each email. However, a lot of help requests (not all) are completely vague, so all I can do is reply with questions in return because I don't know what the problem is. So if you want a clear answer the first time, please:

  1. tell me what compiler you're using and what system you're compiling paintlib on (including version numbers),
  2. try to compile and link the example programs first,
  3. if you get compiler or linker errors, copy the first few error messages into the mail and
  4. if you get asserts or exceptions, copy the message and the call stack into the mail.

Also, if you can't decode a specific picture, you might want to attach it to the mail. Don't do this, however, if it's large (>500 kb), since I pay for download time.

Oh, and try not to ask questions that are answered in the documentation ;-).

Feature Requests

Go ahead, keep me working...