Well I'm interested in just the basic 2D functions such as the ones that are in the GD library...

Draw a Pixel (x, y, color)
Draw a Line (x1, y1, x2, y2)
Draw a Rectangle (x1, y1, width, height)
Draw an Arc/Circle/Ellipse (x, y, width, height, start degrees, end degrees, color)
Draw a Polygon (array of points, number of points, color)

And filled versions of all of the rectangles, polygons, etc. It also has text display functions with some default font files. Check out The Docs for the functions they have.

It also has the ability to write fonts to the screen, but I wanted to use the tiny anti-aliased font from the empeg player, and the GD library doesn't have anti-aliased fonts. So I found a different way to do my text which requires a lot of image copying, but it works.

GD was really written for creating GIF, PNG, JPG images, not really for writing those images to a 128x32 display. So each of the above functions has to be given an "image pointer" to which the shapes are drawn. So brianosaurus wrote a function to convert that image object into a 2048-byte buffer which can be written to the display via normal methods (I'm using mlord's hijack ioctl for this and it's working well.)

I think the slowness I'm seeing is from three factors. First, as I mentioned, GD is not optimized for the Empeg. Second, I think the process of creating an image object and then iterating through the entire image and getting the color value of each pixel (as needs to be done to blit it to the Empeg's screen) is less efficient than simply writing to the display in the first place. Third, all the image copies I'm doing are probably not the best idea for writing text to the screen. Probably some slowdown there.

So I'm not sure how your library was taking shape, but those are the things I would like to see. Were you going to do you libraries in C or in assembler? What does it look like so far? I'm happy to hear that some work has been done in this area. Right now I have a servicable graphics library, but in the future it'd be nice to see something more Empeg-friendly. It's the least we can do after what mlord has put into his kernel mods.
_________________________
- Tony C
my empeg stuff