commit (head): bidi refactoring

From: Tomas Frydrych (tomasfrydrych_at_yahoo.co.uk)
Date: Sat Feb 21 2004 - 13:32:11 EST

  • Next message: Marc Maurer: "Re: [Fwd: Re: Commit (STABLE): Require gucharmap < 1.3.0]"

    This commit contains two things:

        refactoring of fp_TextRun justification code; the details of how
        justification is done are moved into a handfull of GR_Graphics
        functions that fp_TextRun calls.

        further work on GR_GraphicsFactory. All graphics classes need to
        implement two new functions:

            virtual getCapability(): identifies whether the graphics class is
            capable of output on screen, printer, or both

            static graphicsAllocator(): described in detail with
            GR_RenderInfo::registerClass()

        I have provided placeholders for both of these, so things should
        compile and run, but you will get asserts reminding you to
        implement them.

    In addition, I have provided reasonble amount of documentation to the
    various shaping functions in GR_RenderInfo.cpp and GR_Graphics.cpp;
    this should give folk some idea what it will take to implement a new
    graphics class using a particular shaping engine. In essence, you
    design a GR_*RenderInfo class to hold all the data you needed to pass
    between the GR_*Graphics functions used for shaping and drawing. Each
    fp_TextRun keeps an instance of this class without needing to know
    what is in it and passes it to the various graphics functions it
    calls.

    Win32 debug build needs to be linked agains version.lib; changed the
    makefile, but not MSVC project file.

    Tomas



    This archive was generated by hypermail 2.1.4 : Sat Feb 21 2004 - 13:32:43 EST