>
> Most of the interface we have on the core so far have specific needs and
> I'm sure future interfaces will too. This library interface would have
> to be extended to support cases like that. If we do that, then this
> would work as a low level interface that other interfaces can be layered
> on top of and plugins can create their own interfaces, which could make
> sense but I'm not sure.
>
>
> Anyhow, I'm not against this in it's current state even though it seems
> an awful lot like just providing dynamic library loading which it makes
> more sense to do using dlopen, dlsym...
>
> If we have a case where this interface makes more sense than anything
> else then fine with including it.
>
> The text_to_pixmap interface is very specific and I don't think the
> functionality itself is a good idea. What are the use cases for this?
> For rendering text, I suggest that we create an interface that hooks
> into the drawing framework and allow plugins to implement glyph caching
> similar to what I once created for xgl and cairo's glitz backend.
>
> Do you have other use cases for which this library interface fit in?
>
Yeah actually I tried loading functions from a plugin through dlsym(p->devPrivate.ptr, "fooFunc"), but we need this management-layer to do some advanced functionality with library functions. In my opinion it makes just more sense to have a updateLibraryFunction, then checking if a plugin, which provided a shared function, got unloaded.
Another example which we discussed on IRC are wrap-able library functions. This would let us do some really cool stuff with drawing. A future glow plugin could provide such a wrap-able function (paintGlow) and other plugins could hook into that if needed. The image plugins could use that too, which would eliminate the need for a image interface in core. As far as I know Roi Cohen is currently working on adding wrap-able functionality to shared functions.
I don't know how your glyph caching interface in xgl/glitz works, so I'm unsure with that. I'll probably take a look at that later.
Doing plain shared libraries as Mike suggested is just rubbish, it does have far less access to core then a plugin and would really be out of our needs.
Regards,
Patrick