On 3/17/2014 11:46 AM, Johannes Pfau wrote:
With versions the user has no way to know if the library actually
supports PNG or not. He can only guess and the optional case can't be
implemented at all.

I don't know cairoD's design requirements or tradeoffs so I will speak 
generally.

I suggest solving this by raising the level of abstraction. At some point, in user code, there's got to be:

    if (CAIRO_HAS_PNG_SUPPORT)
        doThis();
    else
        doThat();


I suggest adding the following to the Cairo module:

    void doSomething()
    {
      if (CAIRO_HAS_PNG_SUPPORT)
        doThis();
      else
        doThat();

    }

and the user code becomes:

    doSomething();

Reply via email to