2.2 Plugin types and Hollywood APIs

This documentation can be divided into two major parts: The first part describes all the different plugin types supported by Hollywood and their interfaces. There is detailed information on all the functions you will have to implement for the individual plugin types as well as on the way Hollywood interacts with them. As of Hollywood 9.1, the following plugin types are supported:

The second major part of this manual is the documentation of the functions that are publically exposed by Hollywood to every plugin. When Hollywood calls the InitPlugin() function of a plugin, it passes a pointer to a hwPluginAPI data structure which contains pointers to all the API functions that Hollywood has made publically available. Currently, the hwPluginAPI structure looks like this:

typedef struct _hwPluginAPI
    int hwVersion;
    int hwRevision;
    hwCRTBase *CRTBase;
    hwSysBase *SysBase;
    hwDOSBase *DOSBase;
    hwGfxBase *GfxBase;
    hwAudioBase *AudioBase;
    hwRequesterBase *RequesterBase;
    hwFontBase *FontBase;
    hwFT2Base *FT2Base;
    hwLuaBase *LuaBase;
    hwMiscBase *MiscBase;

    /****** V5.3 vectors start here *****/
    hwZBase *ZBase;
    hwJPEGBase *JPEGBase;

    /****** V6.0 vectors start here *****/
    hwPluginLibBase *PluginBase;
    hwUtilityBase *UtilityBase;

    /****** V7.0 vectors start here *****/
    hwUnicodeBase *UnicodeBase;

    /****** V7.1 vectors start here *****/
    hwLocaleBase *LocaleBase;
} hwPluginAPI;

All the individual structure members point to libraries, i.e. collections of functions that your plugin can use to interact with Hollywood. The way you have to call these functions is described in the second major part of this documentation. See GfxBase functions to find out about all functions supported by the GfxBase library, for example.

Show TOC