From: Tomas Frydrych (tomasfrydrych_at_yahoo.co.uk)
Date: Sat Feb 21 2004 - 13:32:11 EST
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