NL3D::UTextContext Class Reference

#include <u_text_context.h>

Inheritance diagram for NL3D::UTextContext:

NL3D::CTextContextUser

Detailed Description

A game interface to render string.
Author:
Lionel Berenguier

Nevrax France

Date:
2001

Definition at line 59 of file u_text_context.h.

Rendering.

virtual void clear ()=0
virtual void erase (uint32 i)=0
virtual float getLastXBound () const=0
virtual CStringInfo getStringInfo (const ucstring &ucstr)=0
virtual CStringInfo getStringInfo (uint32 i)=0
virtual void printAt (float x, float y, const ucstring &ucstr)=0
virtual void printAt (float x, float y, uint32 i)=0
virtual void printClipAt (URenderStringBuffer &renderBuffer, float x, float y, uint32 i, float xmin, float ymin, float xmax, float ymax)=0
virtual void printClipAtOld (float x, float y, uint32 i, float xmin, float ymin, float xmax, float ymax)=0
virtual void printClipAtUnProjected (URenderStringBuffer &renderBuffer, class NL3D::CFrustum &frustum, const NLMISC::CMatrix &worldSpaceMatrix, float x, float y, float depth, uint32 i, float xmin, float ymin, float xmax, float ymax)=0
virtual void printfAt (float x, float y, const char *format,...)=0
virtual void render3D (const NLMISC::CMatrix &mat, const char *format,...)=0
virtual void render3D (const NLMISC::CMatrix &mat, const ucstring &ucstr)=0
virtual void resetStringSelection (uint32 i)=0
virtual void setStringColor (uint32 i, NLMISC::CRGBA newCol)=0
virtual void setStringSelection (uint32 i, uint32 selectStart, uint32 selectSize)=0
virtual uint32 textPush (const ucstring &str)=0
virtual uint32 textPush (const char *format,...)=0

Public Types

enum  THotSpot {
  BottomLeft = 0, MiddleLeft, TopLeft, MiddleBottom,
  MiddleMiddle, MiddleTop, BottomRight, MiddleRight,
  TopRight, HotSpotCount
}

Public Member Functions

virtual URenderStringBuffercreateRenderBuffer ()=0
 create a renderBuffer for printClipAt(). Must delete it with deleteRenderBuffer()

virtual void deleteRenderBuffer (URenderStringBuffer *buffer)=0
virtual void dumpCacheTexture (const char *filename)=0
 Used for debug.

virtual void flushRenderBuffer (URenderStringBuffer *buffer)=0
 Flush the rendered string buffer. This method sets the driver matrix to a 2d11 matrix and sets ztest to always and disable z write.

virtual void flushRenderBufferUnProjected (URenderStringBuffer *buffer, bool zwrite)=0
 Flush the rendered string buffer. This method doesn't change the current matrices nor the material properties.

Text look.
virtual uint32 getFontSize () const=0
virtual THotSpot getHotSpot () const=0
virtual bool getKeep800x600Ratio () const=0
virtual float getScaleX () const=0
virtual float getScaleY () const=0
virtual NLMISC::CRGBA getShadeColor () const=0
virtual bool getShaded () const=0
virtual void setColor (NLMISC::CRGBA color)=0
virtual void setFontSize (uint32 fontSize)=0
virtual void setHotSpot (THotSpot hotSpot)=0
virtual void setKeep800x600Ratio (bool keep)=0
virtual void setScaleX (float scaleX)=0
virtual void setScaleY (float scaleY)=0
virtual void setShadeColor (NLMISC::CRGBA sc)=0
virtual void setShaded (bool b)=0
virtual void setShadeExtent (float shext)=0

Protected Member Functions

Object
 UTextContext ()
virtual ~UTextContext ()


Member Enumeration Documentation

enum NL3D::UTextContext::THotSpot
 

Enumeration values:
BottomLeft 
MiddleLeft 
TopLeft 
MiddleBottom 
MiddleMiddle 
MiddleTop 
BottomRight 
MiddleRight 
TopRight 
HotSpotCount 

Definition at line 70 of file u_text_context.h.

00071         {
00072                 BottomLeft=0,
00073                 MiddleLeft, 
00074                 TopLeft,
00075                 MiddleBottom, 
00076                 MiddleMiddle, 
00077                 MiddleTop, 
00078                 BottomRight, 
00079                 MiddleRight,
00080                 TopRight,
00081 
00082                 HotSpotCount
00083         };


Constructor & Destructor Documentation

NL3D::UTextContext::UTextContext  )  [inline, protected]
 

Definition at line 64 of file u_text_context.h.

00064 {}

virtual NL3D::UTextContext::~UTextContext  )  [inline, protected, virtual]
 

Definition at line 65 of file u_text_context.h.

00065 {}


Member Function Documentation

virtual void NL3D::UTextContext::clear  )  [pure virtual]
 

empty the map

Implemented in NL3D::CTextContextUser.

virtual URenderStringBuffer* NL3D::UTextContext::createRenderBuffer  )  [pure virtual]
 

create a renderBuffer for printClipAt(). Must delete it with deleteRenderBuffer()

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::deleteRenderBuffer URenderStringBuffer buffer  )  [pure virtual]
 

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::dumpCacheTexture const char *  filename  )  [pure virtual]
 

Used for debug.

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::erase uint32  i  )  [pure virtual]
 

remove a string from the list

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::flushRenderBuffer URenderStringBuffer buffer  )  [pure virtual]
 

Flush the rendered string buffer. This method sets the driver matrix to a 2d11 matrix and sets ztest to always and disable z write.

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::flushRenderBufferUnProjected URenderStringBuffer buffer,
bool  zwrite
[pure virtual]
 

Flush the rendered string buffer. This method doesn't change the current matrices nor the material properties.

Implemented in NL3D::CTextContextUser.

virtual uint32 NL3D::UTextContext::getFontSize  )  const [pure virtual]
 

get the font size

Returns:
the font size

Implemented in NL3D::CTextContextUser.

virtual THotSpot NL3D::UTextContext::getHotSpot  )  const [pure virtual]
 

get the hot spot

Returns:
the hot spot

Implemented in NL3D::CTextContextUser.

virtual bool NL3D::UTextContext::getKeep800x600Ratio  )  const [pure virtual]
 

return keep800x600Ratio state.

Implemented in NL3D::CTextContextUser.

virtual float NL3D::UTextContext::getLastXBound  )  const [pure virtual]
 

Return max x coordinate of last string printed. Useful to know if a string goes out of the screen (screen limit is supposed at x==4/3, should actually depend on driver's frustum).

Returns:
x coordinate

Implemented in NL3D::CTextContextUser.

virtual float NL3D::UTextContext::getScaleX  )  const [pure virtual]
 

Returns:
the X scale

Implemented in NL3D::CTextContextUser.

virtual float NL3D::UTextContext::getScaleY  )  const [pure virtual]
 

Returns:
the Y scale

Implemented in NL3D::CTextContextUser.

virtual NLMISC::CRGBA NL3D::UTextContext::getShadeColor  )  const [pure virtual]
 

get the shadow's color the shadow color

Implemented in NL3D::CTextContextUser.

virtual bool NL3D::UTextContext::getShaded  )  const [pure virtual]
 

Returns:
the shade state

Implemented in NL3D::CTextContextUser.

virtual CStringInfo NL3D::UTextContext::getStringInfo const ucstring ucstr  )  [pure virtual]
 

Get a string information from the ucstring The returned string info is in pixel size per default.

Implemented in NL3D::CTextContextUser.

virtual CStringInfo NL3D::UTextContext::getStringInfo uint32  i  )  [pure virtual]
 

Get a string information from the list. return CStringInfo(0,0) if not found. The returned string info is in pixel size per default.

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::printAt float  x,
float  y,
const ucstring ucstr
[pure virtual]
 

compute and print a ucstring at the location (2D method) x/y E [0,1]

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::printAt float  x,
float  y,
uint32  i
[pure virtual]
 

print a string of the list (2D method). x/y E [0,1] (rq : it leaves the string in the stack) z : if the hotspot is bottom z is the position of the line of the string, not the bottom of the string bounding box !

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::printClipAt URenderStringBuffer renderBuffer,
float  x,
float  y,
uint32  i,
float  xmin,
float  ymin,
float  xmax,
float  ymax
[pure virtual]
 

Same as printAt but special version for interface: clip and insert in a temp buffer. z : if the hotspot is bottom z is the position of the line of the string, not the bottom of the string bounding box !

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::printClipAtOld float  x,
float  y,
uint32  i,
float  xmin,
float  ymin,
float  xmax,
float  ymax
[pure virtual]
 

empty the map

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::printClipAtUnProjected URenderStringBuffer renderBuffer,
class NL3D::CFrustum frustum,
const NLMISC::CMatrix worldSpaceMatrix,
float  x,
float  y,
float  depth,
uint32  i,
float  xmin,
float  ymin,
float  xmax,
float  ymax
[pure virtual]
 

Same as printClipAt but special version for planar 3d interface: the final vertices are unproject using a frustum. depth is the positive depth to used to unproject the string worldSpaceMatrix is used to mul each vertex (when in 0..1 coordinate for x/y and in meter for z coordinate)

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::printfAt float  x,
float  y,
const char *  format,
... 
[pure virtual]
 

compute and print a string at the location (2D method) x/y E [0,1]

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::render3D const NLMISC::CMatrix mat,
const char *  format,
... 
[pure virtual]
 

compute and render a string at the location (3D method) render3D() use UDriver Matrix context for Frustum/ViewMatrix, but use its own modelmatrix (mat).

virtual void NL3D::UTextContext::render3D const NLMISC::CMatrix mat,
const ucstring ucstr
[pure virtual]
 

compute and render a ucstring at the location (3D method) render3D() use UDriver Matrix context for Frustum/ViewMatrix, but use its own modelmatrix (mat).

virtual void NL3D::UTextContext::resetStringSelection uint32  i  )  [pure virtual]
 

reset the letter selection of a string to 0/0xFFFFFFFF (all displayed)

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::setColor NLMISC::CRGBA  color  )  [pure virtual]
 

set the font color

Parameters:
color the font color

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::setFontSize uint32  fontSize  )  [pure virtual]
 

set the font size. Should be called before the first print

Parameters:
fonSize the font size

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::setHotSpot THotSpot  hotSpot  )  [pure virtual]
 

set the hot spot

Parameters:
fonSize the font size

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::setKeep800x600Ratio bool  keep  )  [pure virtual]
 

set to true if you want that the font manager look at Driver window size, and resize fontSize so it keeps same size than if it was in 800x600...

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::setScaleX float  scaleX  )  [pure virtual]
 

set the X scale

Parameters:
scaleX the X scale

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::setScaleY float  scaleY  )  [pure virtual]
 

set the Y scale

Parameters:
scaleY the Y scale

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::setShadeColor NLMISC::CRGBA  sc  )  [pure virtual]
 

set the shadow's color

Parameters:
the shadow color

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::setShaded bool  b  )  [pure virtual]
 

set the shade states

Parameters:
the shade state

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::setShadeExtent float  shext  )  [pure virtual]
 

set the shadow's size

Parameters:
the shade extent

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::setStringColor uint32  i,
NLMISC::CRGBA  newCol
[pure virtual]
 

set the color of a string.

Implemented in NL3D::CTextContextUser.

virtual void NL3D::UTextContext::setStringSelection uint32  i,
uint32  selectStart,
uint32  selectSize
[pure virtual]
 

set the letter selection of a string. Only letters in the range given are displayed. Default is 0/0xFFFFFFFF

Implemented in NL3D::CTextContextUser.

virtual uint32 NL3D::UTextContext::textPush const ucstring str  )  [pure virtual]
 

computes an ucstring and adds the result to the stack

Parameters:
an ucstring
Returns:
the index where computed string has been inserted

Implemented in NL3D::CTextContextUser.

virtual uint32 NL3D::UTextContext::textPush const char *  format,
... 
[pure virtual]
 

compute and add a string to the stack

Parameters:
a string
Returns:
the index where string has been inserted

Implemented in NL3D::CTextContextUser.


The documentation for this class was generated from the following file:
Generated on Tue Mar 16 08:51:11 2004 for NeL by doxygen 1.3.6