More Module Madness
BlitzMax Forums/Brucey's Modules/More Module Madness
| ||
Just playing around with my module parser, and the cairo+graphviz modules, but it looks kind of interesting. This is the module import tree for BaH.CEGUI : ![]() Modules are colour-coded by "namespace". Each module node also stores Functions, Globals, Consts, Types and Methods. It takes about a second to generate this from a full parse of the source. Fun fun :-p |
| ||
So, the first one doesn't show ALL the relationships. Here is one that does : ![]() Not so neat, but a bit more accurate :-p In theory, you don't need to Import modules which are already imported down the tree, but I've found that for C/C++ files that require #includes of certain resources in those modules, it works better when you Import them just before you define the header imports. |
| ||
You should give BRL.Blitz a big red heart shape. :) |
| ||
A little off topic, but I thought bah.cegui required GlMax2d? (not in the list) |
| ||
I thought bah.cegui required GlMax2d? Ah... the magic of abstraction :-) Your application requires an Import of BaH.CEGUIOpenGL. BaH.CEGUI simply defines the API for a "renderer", not the implementation of it. I'm also looking to implement a BaH.CEGUID3D9 module, which will of course allow you to render using the BlitzMax dx9 backend. Why do I do it this way? Well, if I included everything in BaH.CEGUI, your Windows app would require both the dx9 and gl code to be compiled into it, but you may only be using one of them. |
| ||
BaH.CEGUID3D9 would be pretty awesome. |