Many misc. updates, including a couple new font classes

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1163 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
DarkWyrm 2002-09-24 22:49:57 +00:00
parent c9ea158353
commit 83a57b389a
7 changed files with 477 additions and 88 deletions

View File

@ -29,10 +29,10 @@
Member Functions</P>
<P class="Body" style="margin: 0px"><BR>
</P>
<TABLE WIDTH=617 HEIGHT=270 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TABLE WIDTH=463 HEIGHT=208 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TR>
<TD WIDTH=203 HEIGHT=32>
<P class="Body" style="margin: 0px">Decorator(SRect int32 wlook, int32 wfeel, int32 wflags)</P>
<P class="Body" style="margin: 0px">Decorator(BRect int32 wlook, int32 wfeel, int32 wflags)</P>
</TD>
<TD WIDTH=260 HEIGHT=32>
<P class="Body" style="margin: 0px">~Decorator(void)</P>
@ -95,10 +95,10 @@ Member Functions</P>
</TD>
</TR>
<TR>
<TD WIDTH=203 HEIGHT=17>
<TD WIDTH=203 HEIGHT=22>
<P class="Body" style="margin: 0px">void SetTitle(const char *string)</P>
</TD>
<TD WIDTH=260 HEIGHT=17>
<TD WIDTH=260 HEIGHT=22>
<P class="Body" style="margin: 0px">void SetFont(SFont *sf)</P>
</TD>
</TR>
@ -131,7 +131,7 @@ Virtual Functions</P>
<P class="Body" style="margin: 0px">void MoveBy(float x, float y)</P>
</TD>
<TD WIDTH=260 HEIGHT=17>
<P class="Body" style="margin: 0px">void MoveBy(SPoint pt)</P>
<P class="Body" style="margin: 0px">void MoveBy(BPoint pt)</P>
</TD>
</TR>
<TR>
@ -139,12 +139,12 @@ Virtual Functions</P>
<P class="Body" style="margin: 0px">void ResizeBy(float x, float y)</P>
</TD>
<TD WIDTH=260 HEIGHT=17>
<P class="Body" style="margin: 0px">void ResizeBy(SPoint pt)</P>
<P class="Body" style="margin: 0px">void ResizeBy(BPoint pt)</P>
</TD>
</TR>
<TR>
<TD WIDTH=203 HEIGHT=17>
<P class="Body" style="margin: 0px">void Draw(SRect r)</P>
<P class="Body" style="margin: 0px">void Draw(BRect r)</P>
</TD>
<TD WIDTH=260 HEIGHT=17>
<P class="Body" style="margin: 0px">void Draw(void)</P>
@ -176,26 +176,26 @@ Virtual Functions</P>
</TR>
<TR>
<TD WIDTH=203 HEIGHT=17>
<P class="Body" style="margin: 0px">void _DrawClose(SRect r)</P>
<P class="Body" style="margin: 0px">void _DrawClose(BRect r)</P>
</TD>
<TD WIDTH=260 HEIGHT=17>
<P class="Body" style="margin: 0px">void _DrawFrame(SRect r)</P>
<P class="Body" style="margin: 0px">void _DrawFrame(BRect r)</P>
</TD>
</TR>
<TR>
<TD WIDTH=203 HEIGHT=17>
<P class="Body" style="margin: 0px">void _DrawMinimize(SRect r)</P>
<P class="Body" style="margin: 0px">void _DrawMinimize(BRect r)</P>
</TD>
<TD WIDTH=260 HEIGHT=17>
<P class="Body" style="margin: 0px">void _DrawTab(SRect r)</P>
<P class="Body" style="margin: 0px">void _DrawTab(BRect r)</P>
</TD>
</TR>
<TR>
<TD WIDTH=203 HEIGHT=17>
<P class="Body" style="margin: 0px">void _DrawTitle(SRect r)</P>
<P class="Body" style="margin: 0px">void _DrawTitle(BRect r)</P>
</TD>
<TD WIDTH=260 HEIGHT=17>
<P class="Body" style="margin: 0px">void _DrawZoom(SRect r)</P>
<P class="Body" style="margin: 0px">void _DrawZoom(BRect r)</P>
</TD>
</TR>
<TR>
@ -203,7 +203,7 @@ Virtual Functions</P>
<P class="Body" style="margin: 0px">SRegion GetFootprint(void)</P>
</TD>
<TD WIDTH=260 HEIGHT=32>
<P class="Body" style="margin: 0px">click_type Clicked(SPoint pt, int32 buttons, int32 modifiers)</P>
<P class="Body" style="margin: 0px">click_type Clicked(BPoint pt, int32 buttons, int32 modifiers)</P>
</TD>
</TR>
<TR>
@ -221,7 +221,7 @@ _ Indicates a protected member function</P>
<P class="Body" style="margin: 0px"><BR>
Exported C Functions</P>
<P class="Body" style="margin: 0px"><BR>
Decorator *create_decorator(SRect frame, int32 wlook, int32 wfeel, int32 wflags)</P>
Decorator *create_decorator(BRect frame, int32 wlook, int32 wfeel, int32 wflags)</P>
<P class="Body" style="margin: 0px">float get_decorator_version(void)</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
@ -249,7 +249,7 @@ click_type {</P>
<P class="Body" style="margin: 0px"><BR>
<HR>
</P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">Decorator(SRect int32 wlook, int32 wfeel, int32 wflags)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">Decorator(BRect int32 wlook, int32 wfeel, int32 wflags)</span></P>
<P class="Body" style="margin: 0px"><BR>
Sets up internal variables common to all decorators.</P>
<P class="Body" style="margin: 0px"><BR>
@ -306,48 +306,48 @@ Returns the focus state held by the decorator</P>
Most of these functions have a default behavior which can be overridden, but are implemented to handle the more common implementations.</P>
<P class="Body" style="margin: 0px"><BR>
<span class="OBOS-Function-Def">void MoveBy(float x, float y)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void MoveBy(SPoint pt)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void MoveBy(BPoint pt)</span></P>
<P class="Body" style="margin: 0px"><BR>
Move all member rectangles of Decorator by the specified amount. </P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">void ResizeBy(float x, float y)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void ResizeBy(SPoint pt)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void ResizeBy(BPoint pt)</span></P>
<P class="Body" style="margin: 0px"><BR>
Resize the client frame, window frame, and the tab frame (width only) by the specified amount. Button rectangles - close, minimize, and zoom - are not modified.</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">void Draw(SRect r)</span></P>
<span class="OBOS-Function-Def">void Draw(BRect r)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void Draw(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
Main drawing call which checks the intersection of the rectangle passed to it and draws all items which intersect it. Draw(void) simply performs drawing calls to draw the entire decorator's footprint area.</P>
<P class="Body" style="margin: 0px"><BR>
1) Check for intersection with SRect which encompasses the decorator's footprint and return if no intersection.</P>
1) Check for intersection with BRect which encompasses the decorator's footprint and return if no intersection.</P>
<P class="Body" style="margin: 0px">2) Call _DrawFrame(intersection)</P>
<P class="Body" style="margin: 0px">3) Call _DrawTab(intersection)</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">void DrawClose(void)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">protected: void _DrawClose(SRect r)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">protected: void _DrawClose(BRect r)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void DrawMinimize(void)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">protected: void _DrawMinimize(SRect r)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">protected: void _DrawMinimize(BRect r)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void DrawZoom(void)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">protected: void _DrawZoom(SRect r)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">protected: void _DrawZoom(BRect r)</span></P>
<P class="Body" style="margin: 0px"><BR>
Each of these is designed to utilize their respective button rectangles. The public (void) versions simply call the internal protected ones with the button rectangle. These protected versions are, by default, empty. The rectangle passed to them is the invalid area to be drawn, which is not necessarily the entire button's rectangle.</P>
<P class="Body" style="margin: 0px"><BR>
<span class="OBOS-Function-Def">void DrawFrame(void)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">protected: void _DrawFrame(SRect r)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">protected: void _DrawFrame(BRect r)</span></P>
<P class="Body" style="margin: 0px"><BR>
Draws the frame, if any. The public version amounts to _DrawFrame(framerect). The protected version is expected to not cover up the client frame when drawing. Any drawing within the clientrect member will end up being drawn over by the window's child views.</P>
<P class="Body" style="margin: 0px"><BR>
<span class="OBOS-Function-Def">void DrawTab(void)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">protected: void _DrawTab(SRect r)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">protected: void _DrawTab(BRect r)</span></P>
<P class="Body" style="margin: 0px"><BR>
Draws the window's tab, if any. DrawTab() amounts to _DrawTab(tabrect). If window titles are displayed, the _DrawTitle call is expected to be made here. Button-drawing calls, assuming that a window's buttons are in the tab, should be made here, as well.</P>
<P class="Body" style="margin: 0px"><BR>
<span class="OBOS-Function-Def">void DrawTitle(void)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">protected: void _DrawTitle(SRect r)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">protected: void _DrawTitle(BRect r)</span></P>
<P class="Body" style="margin: 0px"><BR>
These cause the window's title to be drawn. DrawTitle() amounts to _DrawTitle(titlerect). _DrawTitle() should check the clip_title flag and call ClipTitle() only if it is true.</P>
<P class="Body" style="margin: 0px"><BR>
@ -364,12 +364,12 @@ This hook function is primarily used to change colors used when a window changes
This returns the "footprint" of the decorator, i.e. the area which is occupied by the window which is is the border surrounding the main client rectangle. It is possible to have oddly-shaped window borders, like ellipses and circles, but the resulting performance hit would reduce the said decorator to a novelty and not something useable. All versions are to construct an SRegion which the border occupies. This footprint is permitted to include the client rectangle area, but this area must not be actually drawn upon by the decorator itself. The default version returns the frame which encompasses all other rectangles - the "frame" member which belongs to its window border.</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">click_type Clicked(SPoint pt, int32 buttons, int32 modifiers)</span></P>
<span class="OBOS-Function-Def">click_type Clicked(BPoint pt, int32 buttons, int32 modifiers)</span></P>
<P class="Body" style="margin: 0px"><BR>
Clicked() performs hit testing for the decorator, given input conditions. This function is required by ALL subclasses expecting to do more than display itself. The return type will cause the server to take the appropriate actions, such as close the window, get ready to move it, etc.</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">extern "C" Decorator *create_decorator(SRect frame, int32 wlook, int32 wfeel, int32 wflags)</span></P>
<span class="OBOS-Function-Def">extern "C" Decorator *create_decorator(BRect frame, int32 wlook, int32 wfeel, int32 wflags)</span></P>
<P class="Body" style="margin: 0px"><BR>
Required export function which simply allocates an instance of the decorator and returns it.</P>
<P class="Body" style="margin: 0px"><BR>

View File

@ -21,15 +21,13 @@
<P class="Body" style="margin: 0px"><BR>
</P>
<P class="Body" style="margin: 0px">The DisplayDriver class is not a useful class unto itself. It is to provide a consistent interface for the rest of the app_server to whatever rendering context it is utilizing, whether it be a remote screen, a ServerBitmap, installed graphics hardware, or whatever. Documentation below will describe the role of each function.</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<P class="Body" style="margin: 0px">
<HR>
</P>
<P class="Body" style="margin: 0px"><BR>
Member Functions</P>
<P class="Body" style="margin: 0px">Member Functions</P>
<P class="Body" style="margin: 0px"><BR>
</P>
<TABLE WIDTH=618 HEIGHT=537 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TABLE WIDTH=618 HEIGHT=602 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TR>
<TD WIDTH=224 HEIGHT=17>
<P class="Body" style="margin: 0px">DisplayDriver(void)</P>
@ -48,47 +46,47 @@ Member Functions</P>
</TR>
<TR>
<TD WIDTH=224 HEIGHT=32>
<P class="Body" style="margin: 0px">void DrawBitmap(ServerBitmap *bmp, SRect src, SRect dest)</P>
<P class="Body" style="margin: 0px">void DrawBitmap(ServerBitmap *bmp, BRect src, BRect dest)</P>
</TD>
<TD WIDTH=240 HEIGHT=32>
<P class="Body" style="margin: 0px">void DrawChar(char c, SPoint pt)</P>
<P class="Body" style="margin: 0px">void DrawChar(char c, BPoint pt)</P>
</TD>
</TR>
<TR>
<TD WIDTH=224 HEIGHT=47>
<P class="Body" style="margin: 0px">void DrawString(const char *string, int32 length, SPoint pt, escapement_delta *delta=NULL)</P>
<P class="Body" style="margin: 0px">void DrawString(const char *string, int32 length, BPoint pt, escapement_delta *delta=NULL)</P>
</TD>
<TD WIDTH=240 HEIGHT=47>
<P class="Body" style="margin: 0px">void Stroke/FillBezier(SPoint *pts, layerdata *d, int8 *pat)</P>
<P class="Body" style="margin: 0px">void Stroke/FillBezier(BPoint *pts, layerdata *d, int8 *pat)</P>
</TD>
</TR>
<TR>
<TD WIDTH=224 HEIGHT=32>
<P class="Body" style="margin: 0px">void Stroke/FillEllipse(SRect r, layerdata *d, int8 *pattern)</P>
<P class="Body" style="margin: 0px">void Stroke/FillEllipse(BRect r, layerdata *d, int8 *pattern)</P>
</TD>
<TD WIDTH=240 HEIGHT=32>
<P class="Body" style="margin: 0px">void Stroke/FillArc(SRect r, float angle, float span, layerdata *d, int8 *pattern)</P>
<P class="Body" style="margin: 0px">void Stroke/FillArc(BRect r, float angle, float span, layerdata *d, int8 *pattern)</P>
</TD>
</TR>
<TR>
<TD WIDTH=224 HEIGHT=47>
<P class="Body" style="margin: 0px">void StrokeLine(SPoint start, SPoint end, layerdata *d, int8 *pattern)</P>
<P class="Body" style="margin: 0px">void StrokeLine(BPoint start, BPoint end, layerdata *d, int8 *pattern)</P>
</TD>
<TD WIDTH=240 HEIGHT=47>
<P class="Body" style="margin: 0px">void StrokePolygon(SPoint *ptlist, int32 numpts, SRect rect, layerdata *d, int8 *pattern, bool is_closed=true)</P>
<P class="Body" style="margin: 0px">void StrokePolygon(BPoint *ptlist, int32 numpts, BRect rect, layerdata *d, int8 *pattern, bool is_closed=true)</P>
</TD>
</TR>
<TR>
<TD WIDTH=224 HEIGHT=47>
<P class="Body" style="margin: 0px">void FillPolygon(SPoint *ptlist, int32 numpts, SRect rect, layerdata *d, int8 *pattern)</P>
<P class="Body" style="margin: 0px">void FillPolygon(BPoint *ptlist, int32 numpts, BRect rect, layerdata *d, int8 *pattern)</P>
</TD>
<TD WIDTH=240 HEIGHT=47>
<P class="Body" style="margin: 0px">void Stroke/FillRect(SRect r, layerdata *d, int8 *pattern)</P>
<P class="Body" style="margin: 0px">void Stroke/FillRect(BRect r, layerdata *d, int8 *pattern)</P>
</TD>
</TR>
<TR>
<TD WIDTH=224 HEIGHT=47>
<P class="Body" style="margin: 0px">void Stroke/FillRoundRect(SRect r, float xrad, float yrad, layerdata *d, int8 *pattern)</P>
<P class="Body" style="margin: 0px">void Stroke/FillRoundRect(BRect r, float xrad, float yrad, layerdata *d, int8 *pattern)</P>
</TD>
<TD WIDTH=240 HEIGHT=47>
<P class="Body" style="margin: 0px">void Stroke/FillShape(SShape *sh, layerdata *d, int8 *pattern)</P>
@ -96,23 +94,23 @@ Member Functions</P>
</TR>
<TR>
<TD WIDTH=224 HEIGHT=32>
<P class="Body" style="margin: 0px">void Stroke/FillTriangle(SPoints *pts, SRect r, layerdata *d, int8 *pattern)</P>
<P class="Body" style="margin: 0px">void Stroke/FillTriangle(BPoints *pts, BRect r, layerdata *d, int8 *pattern)</P>
</TD>
<TD WIDTH=240 HEIGHT=32>
<P class="Body" style="margin: 0px">void StrokeLineArray(SPoint *pts, int32 numlines, rgb_color *colors, layerdata *d)</P>
<P class="Body" style="margin: 0px">void StrokeLineArray(BPoint *pts, int32 numlines, rgb_color *colors, layerdata *d)</P>
</TD>
</TR>
<TR>
<TD WIDTH=224 HEIGHT=32>
<P class="Body" style="margin: 0px">void DrawPicture(SPicture *pic, BPoint pt)</P>
</TD>
<TD WIDTH=240 HEIGHT=32>
<P class="Body" style="margin: 0px">void CopyBits(BRect src, BRect dest)</P>
</TD>
</TR>
<TR>
<TD WIDTH=224 HEIGHT=17>
<P class="Body" style="margin: 0px">void DrawPicture(SPicture *pic, SPoint pt)</P>
</TD>
<TD WIDTH=240 HEIGHT=17>
<P class="Body" style="margin: 0px">void CopyBits(SRect src, SRect dest)</P>
</TD>
</TR>
<TR>
<TD WIDTH=224 HEIGHT=17>
<P class="Body" style="margin: 0px">void InvertRect(SRect r)</P>
<P class="Body" style="margin: 0px">void InvertRect(BRect r)</P>
</TD>
<TD WIDTH=240 HEIGHT=17>
<P class="Body" style="margin: 0px">uint8 GetDepth(void)</P>
@ -138,6 +136,22 @@ Member Functions</P>
<TD WIDTH=224 HEIGHT=17>
<P class="Body" style="margin: 0px">bool DumpToFile(const char *path)</P>
</TD>
<TD WIDTH=240 HEIGHT=17>
<P class="Body" style="margin: 0px">void ShowCursor(void)</P>
</TD>
</TR>
<TR>
<TD WIDTH=224 HEIGHT=17>
<P class="Body" style="margin: 0px">void HideCursor(void)</P>
</TD>
<TD WIDTH=240 HEIGHT=17>
<P class="Body" style="margin: 0px">void ObscureCursor(void)</P>
</TD>
</TR>
<TR>
<TD WIDTH=224 HEIGHT=17>
<P class="Body" style="margin: 0px">bool IsCursorHidden(void)</P>
</TD>
<TD WIDTH=240 HEIGHT=17>
&nbsp;
</TD>
@ -145,6 +159,44 @@ Member Functions</P>
</TABLE>
<P class="Body" style="margin: 0px"><BR>
<BR>
Protected Functions</P>
<P class="Body" style="margin: 0px"><BR>
</P>
<TABLE WIDTH=533 HEIGHT=90 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TR>
<TD WIDTH=200 HEIGHT=17>
<P class="Body" style="margin: 0px">void Lock(void)</P>
</TD>
<TD WIDTH=200 HEIGHT=17>
<P class="Body" style="margin: 0px">void Unlock(void)</P>
</TD>
</TR>
<TR>
<TD WIDTH=200 HEIGHT=17>
<P class="Body" style="margin: 0px">void SetDepth(void)</P>
</TD>
<TD WIDTH=200 HEIGHT=17>
<P class="Body" style="margin: 0px">void SetHeight(void)</P>
</TD>
</TR>
<TR>
<TD WIDTH=200 HEIGHT=17>
<P class="Body" style="margin: 0px">void SetWidth(void)</P>
</TD>
<TD WIDTH=200 HEIGHT=17>
<P class="Body" style="margin: 0px">void SetMode(void)</P>
</TD>
</TR>
<TR>
<TD WIDTH=200 HEIGHT=17>
<P class="Body" style="margin: 0px">void SetCursorHidden(void)</P>
</TD>
<TD WIDTH=200 HEIGHT=17>
<P class="Body" style="margin: 0px">void SetCursorObscured(void)</P>
</TD>
</TR>
</TABLE>
<P class="Body" style="margin: 0px"><BR>
<BR>
<HR>
</P>
@ -155,31 +207,35 @@ Member Functions</P>
<P class="Body" style="margin: 0px"><BR>
These four are for general start and stop procedures. The constructor and destructor concern themselves with the internal members common to all drivers, such as the current cursor and the access semaphore. Subclasses will probably end up using these to handle memory allocation-related issues, but likely not much else. Initialize() and Shutdown() are for general setup internal to the module. Note that if Initialize() returns false, the server will not use the module, call Shutdown(), and then delete it as accordingly.</P>
<P class="Body" style="margin: 0px"><BR>
<span class="OBOS-Function-Def">void CopyBits(SRect src, SRect dest)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void InvertRect(SRect r)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void DrawBitmap(ServerBitmap *bmp, SRect src, SRect dest, render_mode mode)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void DrawPicture(SPicture *pic, SPoint pt)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void DrawChar(char c, SPoint pt)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void DrawString(const char *string, int32 length, SPoint pt, escapement_delta *delta=NULL)</span></P>
<span class="OBOS-Function-Def">void CopyBits(BRect src, BRect dest)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void InvertRect(BRect r)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void DrawBitmap(ServerBitmap *bmp, BRect src, BRect dest, render_mode mode)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void DrawPicture(SPicture *pic, BPoint pt)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void DrawChar(char c, BPoint pt)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void DrawString(const char *string, int32 length, BPoint pt, escapement_delta *delta=NULL)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def"><BR>
void StrokeArc(SRect r, float angle, float span, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillArc(SRect r, float angle, float span, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeBezier(SPoint *pts, layerdata *d, int8 *pat)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillBezier(SPoint *pts, layerdata *d, int8 *pat)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeEllipse(SRect r, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillEllipse(SRect r, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeLine(SPoint start, SPoint end, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeLineArray(SPoint *pts, int32 numlines, rgb_color *colors, layerdata *d)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokePolygon(SPoint *ptlist, int32 numpts, SRect rect, layerdata *d, int8 *pattern, bool is_closed=true)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillPolygon(SPoint *ptlist, int32 numpts, SRect rect, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeRect(SRect r, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillRect(SRect r, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeRoundRect(SRect r, float xrad, float yrad, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillRoundRect(SRect r, float xrad, float yrad, layerdata *d, int8 *pattern)</span></P>
void StrokeArc(BRect r, float angle, float span, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillArc(BRect r, float angle, float span, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeBezier(BPoint *pts, layerdata *d, int8 *pat)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillBezier(BPoint *pts, layerdata *d, int8 *pat)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeEllipse(BRect r, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillEllipse(BRect r, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeLine(BPoint start, BPoint end, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeLineArray(BPoint *pts, int32 numlines, rgb_color *colors, layerdata *d)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokePolygon(BPoint *ptlist, int32 numpts, BRect rect, layerdata *d, int8 *pattern, bool is_closed=true)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillPolygon(BPoint *ptlist, int32 numpts, BRect rect, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeRect(BRect r, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillRect(BRect r, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeRoundRect(BRect r, float xrad, float yrad, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillRoundRect(BRect r, float xrad, float yrad, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeShape(SShape *sh, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillShape(SShape *sh, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeTriangle(SPoints *pts, SRect r, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillTriangle(SPoints *pts, SRect r, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void StrokeTriangle(BPoints *pts, BRect r, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void FillTriangle(BPoints *pts, BRect r, layerdata *d, int8 *pattern)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void ShowCursor(void)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void HideCursor(void)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void ObscureCursor(void)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">bool IsCursorHidden(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
These drawing functions are the meat and potatoes of the graphics module. Defining any or all of them is completely optional. However, the default versions of these functions will do nothing. Thus, implementing them is likely a good idea, even if not required.</P>
<P class="Body" style="margin: 0px"><BR>
@ -195,6 +251,27 @@ These five functions are called internally in order to get information about the
<span class="OBOS-Function-Def">bool DumpToFile(const char *path)</span></P>
<P class="Body" style="margin: 0px"><BR>
DumpToFile is completely optional, providing a hook which allows screenshots to be taken. The default version does nothing but return false. If a screenshot is successful, return true.</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">void Lock(void)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void Unlock(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
These two functions provide a locking scheme for the driver in order to easily make it thread safe. Note that it is not publicly callable.</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">void SetDepthInternal(uint8 d)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void SetHeightInternal(uint16 h)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void SetWidthInternal(uint16 w)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void SetModeInternal(int32 m)</span></P>
<P class="Body" style="margin: 0px"><BR>
These four functions set the internal state variables for height, width, etc. If the driver reimplements the public members SetDepth(), etc, be sure to call the respective internal call so that calls to GetDepth(), etc. return the proper values.</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">void SetCursorHidden(bool state)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void SetCursorObscured(bool state)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">bool IsCursorObscured(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
These calls handle internal state tracking so that subclasses don't have to.</P>
<DIV class="layer" id="Layer 1">
</DIV>
</DIV>

View File

@ -0,0 +1,101 @@
<HTML>
<HEAD>
<TITLE>FontFamily.htm</TITLE>
<style type="text/css">
<!--
.Default {background-color: rgb(255,255,255); color: rgb(0,0,0); font-family: 'Dutch801 Rm BT'; font-size: 12pt}
.OBOS-Function-Def {background-color: rgb(255,255,255); color: rgb(0,0,0); font-family: 'Dutch801 Rm BT'; font-size: 16pt}
.OBOS-Title {background-color: rgb(255,255,255); color: rgb(0,128,0); font-family: 'Dutch801 Rm BT'; font-size: 24pt}
.Text-Background {background-color: rgb(255,255,255)}
.GR-Default {}
.Body {margin: 0px}
.Footer {margin: 0px}
.Header {margin: 0px}
.WP-Default {text-align: left; text-indent: 0px; margin-left: 0px; margin-right: 0px}
-->
</style>
</HEAD>
<BODY BGCOLOR="#ffffff">
<DIV class="sheet" id="Sheet 1">
<P class="Body" style="margin: 0px"><span class="OBOS-Title">FontFamily class</span><span style="color: rgb(0,0,0); font-size: 24pt"></span></P>
<P class="Body" style="margin: 0px"><BR>
FontFamily objects are used to house all related font styles allocated as FontStyle objects.</P>
<P class="Body" style="margin: 0px"><BR>
<HR>
</P>
<P class="Body" style="margin: 0px">Member Functions</P>
<P class="Body" style="margin: 0px"><BR>
</P>
<TABLE WIDTH=617 HEIGHT=68 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TR>
<TD WIDTH=203 HEIGHT=17>
<P class="Body" style="margin: 0px">FontFamily(font_family name)</P>
</TD>
<TD WIDTH=260 HEIGHT=17>
<P class="Body" style="margin: 0px">~FontFamily(void)</P>
</TD>
</TR>
<TR>
<TD WIDTH=203 HEIGHT=17>
<P class="Body" style="margin: 0px">font_family GetName(void)</P>
</TD>
<TD WIDTH=260 HEIGHT=17>
<P class="Body" style="margin: 0px">void AddStyle(FontStyle *style)</P>
</TD>
</TR>
<TR>
<TD WIDTH=203 HEIGHT=17>
<P class="Body" style="margin: 0px">void RemoveStyle(FontStyle *style)</P>
</TD>
<TD WIDTH=260 HEIGHT=17>
<P class="Body" style="margin: 0px">FontStyle *FindStyle(font_style name)</P>
</TD>
</TR>
</TABLE>
<P class="Body" style="margin: 0px"><BR>
<BR>
<BR>
<HR>
</P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">FontFamily(font_family name)</span></P>
<P class="Body" style="margin: 0px"><BR>
1) Set internal name to the one passed to the constructor</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">~FontFamily(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
1) Does nothing</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">font_family GetName(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
Returns the internal family name</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">void AddStyle(FontStyle *style)</span></P>
<P class="Body" style="margin: 0px"><BR>
Adds the style to the family. Note that the FontFamily object is not responsible for freeing FontStyle objects added in this way.</P>
<P class="Body" style="margin: 0px"><BR>
1) Add the style object to the internal STL map object for styles</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">void RemoveStyle(FontStyle *style)</span></P>
<P class="Body" style="margin: 0px"><BR>
Removes the style from the FontFamily object.</P>
<P class="Body" style="margin: 0px"><BR>
1) Find the style in the style list. Return if not found.</P>
<P class="Body" style="margin: 0px">2) Delete the style list's item</P>
<P class="Body" style="margin: 0px">3) If the style list is now empty, ask the FontServer to remove it from the family list</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">FontStyle *FindStyle(font_style name)</span></P>
<P class="Body" style="margin: 0px"><BR>
Looks up a FontStyle object based on its style name. Returns NULL if not found.</P>
<P class="Body" style="margin: 0px"><BR>
1) Call the style list's find() method.</P>
<P class="Body" style="margin: 0px">2) Return the appropriate FontStyle object or NULL if not found.</P>
<DIV class="layer" id="Layer 1">
</DIV>
</DIV>
</BODY>
</HTML>

View File

@ -0,0 +1,204 @@
<HTML>
<HEAD>
<TITLE>FontServer.htm</TITLE>
<style type="text/css">
<!--
.Default {background-color: rgb(255,255,255); color: rgb(0,0,0); font-family: 'Dutch801 Rm BT'; font-size: 12pt}
.OBOS-Function-Def {background-color: rgb(255,255,255); color: rgb(0,0,0); font-family: 'Dutch801 Rm BT'; font-size: 16pt}
.OBOS-Title {background-color: rgb(255,255,255); color: rgb(0,128,0); font-family: 'Dutch801 Rm BT'; font-size: 24pt}
.Text-Background {background-color: rgb(255,255,255)}
.GR-Default {}
.Body {margin: 0px}
.Footer {margin: 0px}
.Header {margin: 0px}
.WP-Default {text-align: left; text-indent: 0px; margin-left: 0px; margin-right: 0px}
-->
</style>
</HEAD>
<BODY BGCOLOR="#ffffff">
<DIV class="sheet" id="Sheet 1">
<P class="Body" style="margin: 0px"><span class="OBOS-Title">FontServer class</span><span style="color: rgb(0,0,0); font-size: 24pt"></span></P>
<P class="Body" style="margin: 0px"><BR>
</P>
<P class="Body" style="margin: 0px">The FontServer provides the base functionality for providing font support for the rest of the system and insulates the rest of the server from having to deal too much with FreeType.</P>
<P class="Body" style="margin: 0px"><BR>
<HR>
</P>
<P class="Body" style="margin: 0px">Member Functions</P>
<P class="Body" style="margin: 0px"><BR>
</P>
<TABLE WIDTH=466 HEIGHT=185 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TR>
<TD WIDTH=225 HEIGHT=17>
<P class="Body" style="margin: 0px">FontServer(void)</P>
</TD>
<TD WIDTH=240 HEIGHT=17>
<P class="Body" style="margin: 0px">~FontServer(void)</P>
</TD>
</TR>
<TR>
<TD WIDTH=225 HEIGHT=17>
<P class="Body" style="margin: 0px">void Lock(void)</P>
</TD>
<TD WIDTH=240 HEIGHT=17>
<P class="Body" style="margin: 0px">void Unlock(void)</P>
</TD>
</TR>
<TR>
<TD WIDTH=225 HEIGHT=17>
<P class="Body" style="margin: 0px">FT_Library GetLibrary(void)</P>
</TD>
<TD WIDTH=240 HEIGHT=17>
<P class="Body" style="margin: 0px">void ScanDirectory(const char *path)</P>
</TD>
</TR>
<TR>
<TD WIDTH=225 HEIGHT=47>
<P class="Body" style="margin: 0px">FontStyle *GetFont(font_family family, font_style face)</P>
</TD>
<TD WIDTH=240 HEIGHT=47>
<P class="Body" style="margin: 0px">FontInstance *GetInstance(font_family family, font_style face, int16 size, int16 rotation, int16 shear)</P>
</TD>
</TR>
<TR>
<TD WIDTH=225 HEIGHT=38>
<P class="Body" style="margin: 0px">int32 CountFontFamilies(void)</P>
</TD>
<TD WIDTH=240 HEIGHT=38>
<P class="Body" style="margin: 0px">status_t GetFamily(int32 index, font_family family)</P>
</TD>
</TR>
<TR>
<TD WIDTH=225 HEIGHT=32>
<P class="Body" style="margin: 0px">int32 CountFontStyles(font_family family)</P>
</TD>
<TD WIDTH=240 HEIGHT=32>
<P class="Body" style="margin: 0px">status_t GetStyle(font_family family, font_style style, int32 *flags)</P>
</TD>
</TR>
<TR>
<TD WIDTH=225 HEIGHT=17>
<P class="Body" style="margin: 0px">void RemoveFamily(FontFamily *family)</P>
</TD>
<TD WIDTH=240 HEIGHT=17>
<P class="Body" style="margin: 0px">FontFamily *_FindFamily(const char *name)</P>
</TD>
</TR>
</TABLE>
<P class="Body" style="margin: 0px"><BR>
<BR>
<HR>
</P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">FontServer(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
1) Create access semaphore</P>
<P class="Body" style="margin: 0px">2) Call FT_Init_FreeType()</P>
<P class="Body" style="margin: 0px">3) If no error initializing the FreeType library, set init flag to true</P>
<P class="Body" style="margin: 0px">4) Call ScanDirectory() on /boot/beos/etc/fonts/psfonts, .../ttfonts, ~/config/fonts/psfonts and .../ttfonts</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">~FontServer(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
1) Call FT_Done_FreeType()</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">void Lock(void)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void Unlock(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
These functions simply acquire and release the internal access semaphore.</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">FT_Library GetLibrary(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
Returns the internal FT_Library object</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">void ScanDirectory(const char *path)</span></P>
<P class="Body" style="margin: 0px"><BR>
ScanDirectory is where the brunt of the work of the FontServer is done - scans the directory of all fonts which can be loaded.</P>
<P class="Body" style="margin: 0px"><BR>
1) Iterate through the font family STL map and set each FontFamily object's Delete flag to true</P>
<P class="Body" style="margin: 0px">2) Enter a while() loop, iterating through each entry in the given directory, executing as follows:</P>
<P class="Body" style="margin: 0px"> a) Ensure that the entry is not '.' or '..'</P>
<P class="Body" style="margin: 0px"> b) Call FT_New_Face on the entry's full path</P>
<P class="Body" style="margin: 0px"> c) If a valid FT_Face is returned, iterate through to see if there are any supported character mappings in the current entry.</P>
<P class="Body" style="margin: 0px"> d) If there are no supported character mappings, dump the supported mappings to debug output, call FT_Done_Face(), and continue to the next entry</P>
<P class="Body" style="margin: 0px"> e) See if the entry's family has been added to the family list. If it hasn't, create one and add it.</P>
<P class="Body" style="margin: 0px"> f) Check to see if the font's style has been added to its family. If so, call set the family's Delete flag to false, call FT_Done_Face, and continue to the next entry</P>
<P class="Body" style="margin: 0px"> g) If the style has not been added, create a new SFont for that family and face, increment the font count, and continue to the next entry.</P>
<P class="Body" style="margin: 0px">3) Iterate through all styles in each family and delete all SFont objects which have a true Delete flag</P>
<P class="Body" style="margin: 0px"><BR>
Supported character mappings are Windows and Apple Unicode, Windows symbol, and Apple Roman character mappings, in order of preference from first to last.</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">FontStyle *GetFont(font_family family, font_style face)</span></P>
<P class="Body" style="margin: 0px"><BR>
Returns an FontStyle object for the specified family and style or NULL if not found.</P>
<P class="Body" style="margin: 0px"><BR>
1) Call _FindFamily() for the given family</P>
<P class="Body" style="margin: 0px">2) If non-NULL, call its FindStyle() method</P>
<P class="Body" style="margin: 0px">3) Return the result</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">FontInstance *GetInstance(font_family family, font_style face, int16 size, int16 rotation, int16 shear)</span></P>
<P class="Body" style="margin: 0px"><BR>
Returns a usable instance of a specified font object with specified properties.</P>
<P class="Body" style="margin: 0px"><BR>
1) Duplicates and performs the code found in GetFont</P>
<P class="Body" style="margin: 0px">2) Assuming that the FontStyle object is non-NULL, it calls its GetInstance method and returns the result.</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">int32 CountFontFamilies(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
Returns the number of valid font families available to the system.</P>
<P class="Body" style="margin: 0px"><BR>
1) Return the number of items in the family list</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">status_t GetFamily(int32 index, font_family family)</span></P>
<P class="Body" style="margin: 0px"><BR>
Gets the name of the family with the index passed to the function and sets the font_family object to the appropriate value.</P>
<P class="Body" style="margin: 0px"><BR>
1) If index &gt; family list count, return B_ERROR</P>
<P class="Body" style="margin: 0px">2) Look up the string at the index, copy it, and return B_OK</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">int32 CountFontStyles(font_family family)</span></P>
<P class="Body" style="margin: 0px"><BR>
Returns the number of styles available for a given font family.</P>
<P class="Body" style="margin: 0px"><BR>
1) Call _FindFamily() to get the appropriate font family</P>
<P class="Body" style="margin: 0px">2) If non-NULL, call its return the result of its CountStyles method</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">status_t GetStyle(font_family family, font_style style, int32 *flags)</span></P>
<P class="Body" style="margin: 0px"><BR>
Gets the name of the family with the index passed to the function and sets the font_family object to the appropriate value.</P>
<P class="Body" style="margin: 0px"><BR>
1) Call _FindFamily() to get the appropriate font family</P>
<P class="Body" style="margin: 0px">2) If non-NULL, look up the string at the index, and copy it to the passed style object, otherwise, return B_ERROR</P>
<P class="Body" style="margin: 0px">3) Get the style's FontStyle object and set flags to the flags contained in the FontStyle object</P>
<P class="Body" style="margin: 0px">4) Return B_OK</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">void RemoveFamily(FontFamily *family)</span></P>
<P class="Body" style="margin: 0px"><BR>
Removes a font family from the family list</P>
<P class="Body" style="margin: 0px"><BR>
1) Look up font family in the family list</P>
<P class="Body" style="margin: 0px">2) If it exists, delete it</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
protected:</P>
<P class="Body" style="margin: 0px"><BR>
<span class="OBOS-Function-Def">FontFamily *_FindFamily(const char *name)</span></P>
<P class="Body" style="margin: 0px"><BR>
Looks up a FontFamily object based on its family name. Returns NULL if not found.</P>
<P class="Body" style="margin: 0px"><BR>
1) Call the family list's find() method.</P>
<P class="Body" style="margin: 0px">2) Return the appropriate FontFamily object or NULL if not found.</P>
<DIV class="layer" id="Layer 1">
</DIV>
</DIV>
</BODY>
</HTML>

View File

@ -48,7 +48,7 @@ Member Functions</P>
</TR>
<TR>
<TD WIDTH=219 HEIGHT=17>
<P class="Body" style="margin: 0px">RGBColor GetColor(SPoint pt)</P>
<P class="Body" style="margin: 0px">RGBColor GetColor(BPoint pt)</P>
</TD>
<TD WIDTH=245 HEIGHT=17>
<P class="Body" style="margin: 0px">RGBColor GetColor(float x, float y)</P>
@ -59,7 +59,7 @@ Member Functions</P>
<P class="Body" style="margin: 0px">bool GetValue(float x, float y)</P>
</TD>
<TD WIDTH=245 HEIGHT=17>
<P class="Body" style="margin: 0px">bool GetValue(SPoint pt)</P>
<P class="Body" style="margin: 0px">bool GetValue(BPoint pt)</P>
</TD>
</TR>
</TABLE>
@ -99,10 +99,10 @@ Sets the internal high and low colors for the pattern handler. These will be the
1) Assign c1 to high color and c2 to low color</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">RGBColor GetColor(SPoint pt)
<span class="OBOS-Function-Def">RGBColor GetColor(BPoint pt)
RGBColor GetColor (float x, float y)</span></P>
<P class="Body" style="margin: 0px"><BR>
<span class="OBOS-Function-Def">bool GetValue(SPoint pt)
<span class="OBOS-Function-Def">bool GetValue(BPoint pt)
bool GetValue (float x, float y)</span></P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def"><BR>
</span><span class="Default">GetColor returns the color in the pattern at the specified location. GetValue returns true for the high color and false for the low color.</span></P>

View File

@ -32,7 +32,7 @@ Member Functions</P>
<TABLE WIDTH=621 HEIGHT=150 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TR>
<TD WIDTH=253 HEIGHT=47>
<P class="Body" style="margin: 0px">ServerBitmap(SRect r, color_space cspace, int32 flags, int32 bytesperrow=-1, screen_id screen=B_MAIN_SCREEN_ID)</P>
<P class="Body" style="margin: 0px">ServerBitmap(BRect r, color_space cspace, int32 flags, int32 bytesperrow=-1, screen_id screen=B_MAIN_SCREEN_ID)</P>
</TD>
<TD WIDTH=213 HEIGHT=47>
<P class="Body" style="margin: 0px">~ServerBitmap(void)</P>
@ -40,7 +40,7 @@ Member Functions</P>
</TR>
<TR>
<TD WIDTH=253 HEIGHT=17>
<P class="Body" style="margin: 0px">uint8 *Buffer(void)</P>
<P class="Body" style="margin: 0px">uint8 *Bits(void)</P>
</TD>
<TD WIDTH=213 HEIGHT=17>
<P class="Body" style="margin: 0px">area_id Area(void)</P>
@ -51,7 +51,7 @@ Member Functions</P>
<P class="Body" style="margin: 0px">uint32 BitsLength(void)</P>
</TD>
<TD WIDTH=213 HEIGHT=17>
<P class="Body" style="margin: 0px">SRect Bounds(void)</P>
<P class="Body" style="margin: 0px">BRect Bounds(void)</P>
</TD>
</TR>
<TR>
@ -72,7 +72,7 @@ If there are any global functions associated with the class, they are listed her
<BR>
<HR>
</P>
<P class="Body" style="margin: 0px">ServerBitmap(SRect r, color_space cspace, int32 flags, int32 bytesperrow=-1, screen_id screen=B_MAIN_SCREEN_ID)</P>
<P class="Body" style="margin: 0px">ServerBitmap(BRect r, color_space cspace, int32 flags, int32 bytesperrow=-1, screen_id screen=B_MAIN_SCREEN_ID)</P>
<P class="Body" style="margin: 0px"><BR>
1) Call _HandleSpace()</P>
<P class="Body" style="margin: 0px">2) Call _HandleFlags()</P>
@ -83,7 +83,7 @@ If there are any global functions associated with the class, they are listed her
Empty</span></P>
<P class="Body" style="margin: 0px"><span class="Default"><BR>
<BR>
</span><span class="OBOS-Function-Def">uint8 *Buffer(void)</span></P>
</span><span class="OBOS-Function-Def">uint8 *Bits(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
Returns the bitmap's buffer member</P>
<P class="Body" style="margin: 0px"><BR>
@ -98,9 +98,9 @@ Returns the bitmap's buffer member.</P>
Returns bytes_per_row * height</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">SRect Bounds(void)</span></P>
<span class="OBOS-Function-Def">BRect Bounds(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
returns SRect(width-1,height-1)</P>
returns BRect(width-1,height-1)</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">int32 BytesPerRow(void)</span></P>

View File

@ -30,6 +30,13 @@
<li><a href="WinBorder.htm">WinBorder</a></li>
</ul>
<dd>Font Infrastructure</dd>
<P>
<ul>
<li><a href="FontServer.htm">FontServer</li>
<li><a href="FontFamily.htm">FontFamily</li>
</ul>
<h3>Other Documents</h3>
<ul>