|
libgdx API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.badlogic.gdx.graphics.g2d.BitmapFont
public class BitmapFont
Renders bitmap fonts. The font consists of 2 files: an image file or TextureRegion
containing the glyphs and a file in
the AngleCode BMFont text format that describes where each glyph is on the image. Currently only a single image of glyphs is
supported.
Text is drawn using a SpriteBatch
. Text can be cached in a BitmapFontCache
for faster rendering of static text,
which saves needing to compute the location of each glyph each frame.
* The texture for a BitmapFont loaded from a file is managed. dispose()
must be called to free the texture when no
longer needed. A BitmapFont loaded using a TextureRegion
is managed if the region's texture is managed. Disposing the
BitmapFont disposes the region's texture, which may not be desirable if the texture is still being used elsewhere.
The code is based on Matthias Mann's TWL BitmapFont class. Thanks for sharing, Matthias! :)
Nested Class Summary | |
---|---|
static class |
BitmapFont.BitmapFontData
|
static class |
BitmapFont.HAlignment
|
static class |
BitmapFont.TextBounds
|
Constructor Summary | |
---|---|
BitmapFont()
Creates a BitmapFont using the default 15pt Arial font included in the libgdx JAR file. |
|
BitmapFont(BitmapFont.BitmapFontData data,
TextureRegion region,
boolean integer)
|
|
BitmapFont(boolean flip)
Creates a BitmapFont using the default 15pt Arial font included in the libgdx JAR file. |
|
BitmapFont(FileHandle fontFile,
boolean flip)
Creates a BitmapFont from a BMFont file. |
|
BitmapFont(FileHandle fontFile,
FileHandle imageFile,
boolean flip)
Creates a BitmapFont from a BMFont file, using the specified image for glyphs. |
|
BitmapFont(FileHandle fontFile,
FileHandle imageFile,
boolean flip,
boolean integer)
Creates a BitmapFont from a BMFont file, using the specified image for glyphs. |
|
BitmapFont(FileHandle fontFile,
TextureRegion region,
boolean flip)
Creates a BitmapFont with the glyphs relative to the specified region. |
Method Summary | |
---|---|
void |
computeGlyphAdvancesAndPositions(java.lang.CharSequence str,
FloatArray glyphAdvances,
FloatArray glyphPositions)
Computes the glyph advances for the given character sequence and stores them in the provided FloatArray . |
int |
computeVisibleGlyphs(java.lang.CharSequence str,
int start,
int end,
float availableWidth)
Returns the number of glyphs from the substring that can be rendered in the specified width. |
boolean |
containsCharacter(char character)
|
void |
dispose()
Disposes the texture used by this BitmapFont's region. |
BitmapFont.TextBounds |
draw(SpriteBatch spriteBatch,
java.lang.CharSequence str,
float x,
float y)
Draws a string at the specified position. |
BitmapFont.TextBounds |
draw(SpriteBatch spriteBatch,
java.lang.CharSequence str,
float x,
float y,
int start,
int end)
Draws a substring at the specified position. |
BitmapFont.TextBounds |
drawMultiLine(SpriteBatch spriteBatch,
java.lang.CharSequence str,
float x,
float y)
Draws a string, which may contain newlines (\n), at the specified position. |
BitmapFont.TextBounds |
drawMultiLine(SpriteBatch spriteBatch,
java.lang.CharSequence str,
float x,
float y,
float alignmentWidth,
BitmapFont.HAlignment alignment)
Draws a string, which may contain newlines (\n), at the specified position and alignment. |
BitmapFont.TextBounds |
drawWrapped(SpriteBatch spriteBatch,
java.lang.CharSequence str,
float x,
float y,
float wrapWidth)
Draws a string, which may contain newlines (\n), with the specified position. |
BitmapFont.TextBounds |
drawWrapped(SpriteBatch spriteBatch,
java.lang.CharSequence str,
float x,
float y,
float wrapWidth,
BitmapFont.HAlignment alignment)
Draws a string, which may contain newlines (\n), with the specified position. |
float |
getAscent()
Returns the ascent, which is the distance from the cap height to the top of the tallest glyph. |
BitmapFont.TextBounds |
getBounds(java.lang.CharSequence str)
Returns the size of the specified string. |
BitmapFont.TextBounds |
getBounds(java.lang.CharSequence str,
int start,
int end)
Returns the size of the specified substring. |
float |
getCapHeight()
Returns the cap height, which is the distance from the top of most uppercase characters to the baseline. |
Color |
getColor()
Returns the color of this font. |
BitmapFont.BitmapFontData |
getData()
|
float |
getDescent()
Returns the descent, which is the distance from the bottom of the glyph that extends the lowest to the baseline. |
float |
getLineHeight()
Returns the line height, which is the distance from one line of text to the next. |
BitmapFont.TextBounds |
getMultiLineBounds(java.lang.CharSequence str)
Returns the size of the specified string, which may contain newlines. |
TextureRegion |
getRegion()
|
float |
getScaleX()
|
float |
getScaleY()
|
float |
getSpaceWidth()
Returns the width of the space character. |
BitmapFont.TextBounds |
getWrappedBounds(java.lang.CharSequence str,
float wrapWidth)
Returns the size of the specified string, which may contain newlines and is wrapped to keep it within a rectangle of the specified width. |
float |
getXHeight()
Returns the x-height, which is the distance from the top of most lowercase characters to the baseline. |
boolean |
isFlipped()
Returns true if this BitmapFont has been flipped for use with a y-down coordinate system. |
void |
scale(float amount)
Sets the font's scale relative to the current scale. |
void |
setColor(Color tint)
|
void |
setColor(float color)
|
void |
setColor(float r,
float g,
float b,
float a)
|
void |
setFixedWidthGlyphs(java.lang.CharSequence glyphs)
Makes the specified glyphs fixed width. |
void |
setScale(float scaleXY)
Scales the font by the specified amount in both directions. Note that smoother scaling can be achieved if the texture backing the BitmapFont is using Texture.TextureFilter.Linear . |
void |
setScale(float scaleX,
float scaleY)
|
void |
setUseIntegerPositions(boolean use)
Specifies whether to use integer positions or not. |
boolean |
usesIntegerPositions()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BitmapFont()
public BitmapFont(boolean flip)
flip
- If true, the glyphs will be flipped for use with a perspective where 0,0 is the upper left corner.public BitmapFont(FileHandle fontFile, TextureRegion region, boolean flip)
region
- The texture region containing the glyphs. The glyphs must be relative to the lower left corner (ie, the region
should not be flipped).flip
- If true, the glyphs will be flipped for use with a perspective where 0,0 is the upper left corner.public BitmapFont(FileHandle fontFile, boolean flip)
flip
- If true, the glyphs will be flipped for use with a perspective where 0,0 is the upper left corner.public BitmapFont(FileHandle fontFile, FileHandle imageFile, boolean flip)
flip
- If true, the glyphs will be flipped for use with a perspective where 0,0 is the upper left corner.public BitmapFont(FileHandle fontFile, FileHandle imageFile, boolean flip, boolean integer)
flip
- If true, the glyphs will be flipped for use with a perspective where 0,0 is the upper left corner.integer
- If true, rendering positions will be at integer values to avoid filtering artifacts.spublic BitmapFont(BitmapFont.BitmapFontData data, TextureRegion region, boolean integer)
Method Detail |
---|
public BitmapFont.TextBounds draw(SpriteBatch spriteBatch, java.lang.CharSequence str, float x, float y)
x
- The x position for the left most character.y
- The y position for the top of most capital letters in the font (the cap height
).
public BitmapFont.TextBounds draw(SpriteBatch spriteBatch, java.lang.CharSequence str, float x, float y, int start, int end)
x
- The x position for the left most character.y
- The y position for the top of most capital letters in the font (the cap height
).start
- The first character of the string to draw.end
- The last character of the string to draw (exclusive).
public BitmapFont.TextBounds drawMultiLine(SpriteBatch spriteBatch, java.lang.CharSequence str, float x, float y)
x
- The x position for the left most character.y
- The y position for the top of most capital letters in the font (the cap height
).
public BitmapFont.TextBounds drawMultiLine(SpriteBatch spriteBatch, java.lang.CharSequence str, float x, float y, float alignmentWidth, BitmapFont.HAlignment alignment)
x
- The x position for the left most character.y
- The y position for the top of most capital letters in the font (the cap height
).
public BitmapFont.TextBounds drawWrapped(SpriteBatch spriteBatch, java.lang.CharSequence str, float x, float y, float wrapWidth)
x
- The x position for the left most character.y
- The y position for the top of most capital letters in the font (the cap height
).
public BitmapFont.TextBounds drawWrapped(SpriteBatch spriteBatch, java.lang.CharSequence str, float x, float y, float wrapWidth, BitmapFont.HAlignment alignment)
x
- The x position for the left most character.y
- The y position for the top of most capital letters in the font (the cap height
).
public BitmapFont.TextBounds getBounds(java.lang.CharSequence str)
cap height
) to the baseline. Note the same TextBounds instance is used for all methods that return
TextBounds.
public BitmapFont.TextBounds getBounds(java.lang.CharSequence str, int start, int end)
cap height
) to the baseline. Note the same TextBounds instance is used for all methods that
return TextBounds.
start
- The first character of the string.end
- The last character of the string (exclusive).public BitmapFont.TextBounds getMultiLineBounds(java.lang.CharSequence str)
cap height
) to the baseline of the last line of text. Note the same
TextBounds instance is used for all methods that return TextBounds.
public BitmapFont.TextBounds getWrappedBounds(java.lang.CharSequence str, float wrapWidth)
cap
height
) to the baseline of the last line of text. Note the same TextBounds instance is used for all methods that return
TextBounds.
public void computeGlyphAdvancesAndPositions(java.lang.CharSequence str, FloatArray glyphAdvances, FloatArray glyphPositions)
FloatArray
. The
FloatArray is cleared. This will add an additional element at the end.
str
- the character sequenceglyphAdvances
- the glyph advances output array.glyphPositions
- the glyph positions output array.public int computeVisibleGlyphs(java.lang.CharSequence str, int start, int end, float availableWidth)
start
- The first character of the string.end
- The last character of the string (exclusive).public void setColor(float color)
public void setColor(Color tint)
public void setColor(float r, float g, float b, float a)
public Color getColor()
setColor(Color)
or
setColor(float, float, float, float)
must be used.
public void setScale(float scaleX, float scaleY)
public void setScale(float scaleXY)
Texture.TextureFilter.Linear
. The
default is Nearest, so use a BitmapFont constructor that takes a TextureRegion
.
public void scale(float amount)
public float getScaleX()
public float getScaleY()
public TextureRegion getRegion()
public float getLineHeight()
public float getSpaceWidth()
public float getXHeight()
public float getCapHeight()
public float getAscent()
public float getDescent()
public boolean isFlipped()
public void dispose()
dispose
in interface Disposable
public void setFixedWidthGlyphs(java.lang.CharSequence glyphs)
public boolean containsCharacter(char character)
character
-
public void setUseIntegerPositions(boolean use)
use
- public boolean usesIntegerPositions()
public BitmapFont.BitmapFontData getData()
|
libgdx API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |