Fixed warnings.

Applied our style guide.
Removed fHeight from comparisons, fSize should be enough. Clarified comparisons.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10506 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2004-12-20 13:56:14 +00:00
parent 4d74cda31c
commit 50df61f891

View File

@ -1,5 +1,5 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// Copyright (c) 2001-2002, OpenBeOS // Copyright (c) 2001-2004, Haiku
// //
// Permission is hereby granted, free of charge, to any person obtaining a // Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software"), // copy of this software and associated documentation files (the "Software"),
@ -33,40 +33,51 @@
//---------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------
// The actual objects which the globals point to // The actual objects which the globals point to
BFont be_plain_bfont; static BFont sPlainFont;
BFont be_bold_bfont; static BFont sBoldFont;
BFont be_fixed_bfont; static BFont sFixedFont;
const BFont *be_plain_font=&be_plain_bfont; const BFont *be_plain_font = &sPlainFont;
const BFont *be_bold_font=&be_bold_bfont; const BFont *be_bold_font = &sBoldFont;
const BFont *be_fixed_font=&be_fixed_bfont; const BFont *be_fixed_font = &sFixedFont;
/*! /*!
\brief Private function used by Be. Exists only for compatibility. Does nothing. \brief Private function used by Be. Exists only for compatibility. Does nothing.
*/ */
void _font_control_(BFont *font, int32 cmd, void *data)
void
_font_control_(BFont *font, int32 cmd, void *data)
{ {
} }
/*! /*!
\brief Returns the number of installed font families \brief Returns the number of installed font families
\return The number of installed font families \return The number of installed font families
*/ */
int32 count_font_families(void)
int32
count_font_families(void)
{ {
// TODO: Implement // TODO: Implement
return 0;
} }
/*! /*!
\brief Returns the number of styles available for a font family \brief Returns the number of styles available for a font family
\return The number of styles available for a font family \return The number of styles available for a font family
*/ */
int32 count_font_styles(font_family name)
int32
count_font_styles(font_family name)
{ {
// TODO: Implement // TODO: Implement
return 0;
} }
/*! /*!
\brief Retrieves the family name at the specified index \brief Retrieves the family name at the specified index
\param index Unique font identifier code. \param index Unique font identifier code.
@ -74,15 +85,19 @@ int32 count_font_styles(font_family name)
\param flags iF non-NULL, the values of the flags IS_FIXED and B_HAS_TUNED_FONT are returned \param flags iF non-NULL, the values of the flags IS_FIXED and B_HAS_TUNED_FONT are returned
\return B_ERROR if the index does not correspond to a font family \return B_ERROR if the index does not correspond to a font family
*/ */
status_t get_font_family(int32 index, font_family *name, uint32 *flags)
status_t
get_font_family(int32 index, font_family *name, uint32 *flags)
{ {
// Fix over R5, which does not check for NULL font family names - it just crashes // Fix over R5, which does not check for NULL font family names - it just crashes
if(!name) if(!name)
return B_ERROR; return B_ERROR;
// TODO: Implement // TODO: Implement
return B_ERROR;
} }
/*! /*!
\brief Retrieves the family name at the specified index \brief Retrieves the family name at the specified index
\param index Unique font identifier code. \param index Unique font identifier code.
@ -90,15 +105,20 @@ status_t get_font_family(int32 index, font_family *name, uint32 *flags)
\param flags iF non-NULL, the values of the flags IS_FIXED and B_HAS_TUNED_FONT are returned \param flags iF non-NULL, the values of the flags IS_FIXED and B_HAS_TUNED_FONT are returned
\return B_ERROR if the index does not correspond to a font style \return B_ERROR if the index does not correspond to a font style
*/ */
status_t get_font_style(font_family family, int32 index, font_style *name, uint32 *flags)
status_t
get_font_style(font_family family, int32 index, font_style *name,
uint32 *flags)
{ {
// Fix over R5, which does not check for NULL font style names - it just crashes // Fix over R5, which does not check for NULL font style names - it just crashes
if(!name) if (!name)
return B_ERROR; return B_ERROR;
// TODO: Implement // TODO: Implement
return B_ERROR;
} }
/*! /*!
\brief Retrieves the family name at the specified index \brief Retrieves the family name at the specified index
\param index Unique font identifier code. \param index Unique font identifier code.
@ -110,16 +130,20 @@ status_t get_font_style(font_family family, int32 index, font_style *name, uint3
The face value returned by this function is not very reliable. At the same time, the value The face value returned by this function is not very reliable. At the same time, the value
returned should be fairly reliable, returning the proper flag for 90%-99% of font names. returned should be fairly reliable, returning the proper flag for 90%-99% of font names.
*/ */
status_t get_font_style(font_family family, int32 index, font_style *name,
uint16 *face, uint32 *flags) status_t
get_font_style(font_family family, int32 index, font_style *name,
uint16 *face, uint32 *flags)
{ {
// Fix over R5, which does not check for NULL font style names - it just crashes // Fix over R5, which does not check for NULL font style names - it just crashes
if(!name || !face) if (!name || !face)
return B_ERROR; return B_ERROR;
// TODO: Implement // TODO: Implement
return B_ERROR;
} }
/*! /*!
\brief Updates the font family list \brief Updates the font family list
\param check_only If true, the function only checks to see if the font list has changed \param check_only If true, the function only checks to see if the font list has changed
@ -130,27 +154,36 @@ status_t get_font_style(font_family family, int32 index, font_style *name,
applications is maintained, so calling this function will still be quite expensive, applications is maintained, so calling this function will still be quite expensive,
but it should be unnecessary in most applications. but it should be unnecessary in most applications.
*/ */
bool update_font_families(bool check_only)
bool
update_font_families(bool check_only)
{ {
// TODO: Implement // TODO: Implement
return false;
} }
status_t get_font_cache_info(uint32 id, void *set)
status_t
get_font_cache_info(uint32 id, void *set)
{ {
// TODO: Implement // TODO: Implement
// Note that the only reliable data from this function will probably be the cache size // Note that the only reliable data from this function will probably be the cache size
// Depending on how the font cache is implemented, this function and the corresponding // Depending on how the font cache is implemented, this function and the corresponding
// set function will either see major revision or completely disappear in R2. // set function will either see major revision or completely disappear in R2.
return B_ERROR;
} }
status_t set_font_cache_info(uint32 id, void *set)
status_t
set_font_cache_info(uint32 id, void *set)
{ {
// TODO: Implement // TODO: Implement
// Note that this function will likely only set the cache size in our implementation // Note that this function will likely only set the cache size in our implementation
// because of (a) the lack of knowledge on R5's font system and (b) the fact that it // because of (a) the lack of knowledge on R5's font system and (b) the fact that it
// is a completely different font engine. // is a completely different font engine.
return B_ERROR;
} }
@ -158,69 +191,79 @@ status_t set_font_cache_info(uint32 id, void *set)
// BFont Class Definition // BFont Class Definition
//---------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------
BFont::BFont(void) BFont::BFont(void)
//initialise for be_plain_font (avoid circular definition) :
: fFamilyID(0), fStyleID(0), fSize(10.0), fShear(0.0), fRotation(0.0), // initialise for be_plain_font (avoid circular definition)
fSpacing(0), fEncoding(0), fFace(0), fFlags(0) fFamilyID(0),
fStyleID(0),
fSize(10.0),
fShear(0.0),
fRotation(0.0),
fSpacing(0),
fEncoding(0),
fFace(0),
fFlags(0)
{ {
fHeight.ascent = 7.0; fHeight.ascent = 7.0;
fHeight.descent = 2.0; fHeight.descent = 2.0;
fHeight.leading = 13.0; fHeight.leading = 13.0;
fFamilyID=be_plain_font->fFamilyID; fFamilyID = be_plain_font->fFamilyID;
fStyleID=be_plain_font->fStyleID; fStyleID = be_plain_font->fStyleID;
fSize=be_plain_font->fSize; fSize = be_plain_font->fSize;
} }
BFont::BFont(const BFont &font) BFont::BFont(const BFont &font)
{ {
fFamilyID=font.fFamilyID; fFamilyID = font.fFamilyID;
fStyleID=font.fStyleID; fStyleID = font.fStyleID;
fSize=font.fSize; fSize = font.fSize;
fShear=font.fShear; fShear = font.fShear;
fRotation=font.fRotation; fRotation = font.fRotation;
fSpacing=font.fSpacing; fSpacing = font.fSpacing;
fEncoding=font.fEncoding; fEncoding = font.fEncoding;
fFace=font.fFace; fFace = font.fFace;
fHeight=font.fHeight; fHeight = font.fHeight;
} }
BFont::BFont(const BFont *font) BFont::BFont(const BFont *font)
{ {
if(font) if (font) {
{ fFamilyID = font->fFamilyID;
fFamilyID=font->fFamilyID; fStyleID = font->fStyleID;
fStyleID=font->fStyleID; fSize = font->fSize;
fSize=font->fSize; fShear = font->fShear;
fShear=font->fShear; fRotation = font->fRotation;
fRotation=font->fRotation; fSpacing = font->fSpacing;
fSpacing=font->fSpacing; fEncoding = font->fEncoding;
fEncoding=font->fEncoding; fFace = font->fFace;
fFace=font->fFace; fHeight = font->fHeight;
fHeight=font->fHeight; } else {
fFamilyID = be_plain_font->fFamilyID;
fStyleID = be_plain_font->fStyleID;
fSize = be_plain_font->fSize;
fShear = be_plain_font->fShear;
fRotation = be_plain_font->fRotation;
fSpacing = be_plain_font->fSpacing;
fEncoding = be_plain_font->fEncoding;
fFace = be_plain_font->fFace;
fHeight = be_plain_font->fHeight;
} }
else
{
fFamilyID=be_plain_font->fFamilyID;
fStyleID=be_plain_font->fStyleID;
fSize=be_plain_font->fSize;
fShear=be_plain_font->fShear;
fRotation=be_plain_font->fRotation;
fSpacing=be_plain_font->fSpacing;
fEncoding=be_plain_font->fEncoding;
fFace=be_plain_font->fFace;
fHeight=be_plain_font->fHeight;
}
} }
/*! /*!
\brief Sets the font's family and style all at once \brief Sets the font's family and style all at once
\param family Font family to set \param family Font family to set
\param style Font style to set \param style Font style to set
\return B_ERROR if family or style do not exist or if style does not belong to family. \return B_ERROR if family or style do not exist or if style does not belong to family.
*/ */
status_t BFont::SetFamilyAndStyle(const font_family family, const font_style style)
status_t
BFont::SetFamilyAndStyle(const font_family family, const font_style style)
{ {
// R5 version always returns B_OK. That's a problem... // R5 version always returns B_OK. That's a problem...
@ -231,16 +274,20 @@ status_t BFont::SetFamilyAndStyle(const font_family family, const font_style sty
return B_ERROR; return B_ERROR;
} }
/*! /*!
\brief Sets the font's family and style all at once \brief Sets the font's family and style all at once
\param code Unique font identifier obtained from the server. \param code Unique font identifier obtained from the server.
*/ */
void BFont::SetFamilyAndStyle(uint32 code)
void
BFont::SetFamilyAndStyle(uint32 code)
{ {
fStyleID=code & 0xFFFF; fStyleID = code & 0xFFFF;
fFamilyID=(code & 0xFFFF0000) >> 16; fFamilyID = (code & 0xFFFF0000) >> 16;
} }
/*! /*!
\brief Sets the font's family and face all at once \brief Sets the font's family and face all at once
\param family Font family to set \param family Font family to set
@ -251,176 +298,232 @@ void BFont::SetFamilyAndStyle(uint32 code)
nonexistent family will cause only the face to be set. Additionally, if a particular nonexistent family will cause only the face to be set. Additionally, if a particular
face does not exist in a family, the closest match will be chosen. face does not exist in a family, the closest match will be chosen.
*/ */
status_t BFont::SetFamilyAndFace(const font_family family, uint16 face)
status_t
BFont::SetFamilyAndFace(const font_family family, uint16 face)
{ {
if(face & ( B_ITALIC_FACE | B_UNDERSCORE_FACE | B_NEGATIVE_FACE | B_OUTLINED_FACE if (face & (B_ITALIC_FACE | B_UNDERSCORE_FACE | B_NEGATIVE_FACE | B_OUTLINED_FACE
| B_STRIKEOUT_FACE | B_BOLD_FACE | B_REGULAR_FACE) != 0) | B_STRIKEOUT_FACE | B_BOLD_FACE | B_REGULAR_FACE) != 0)
{ fFace = face;
fFace=face;
}
// TODO: finish this function by adding the app_server Family query protocol code // TODO: finish this function by adding the app_server Family query protocol code
// Query server for family id for the specified family // Query server for family id for the specified family
return B_OK; return B_OK;
} }
void BFont::SetSize(float size)
void
BFont::SetSize(float size)
{ {
fSize=size; fSize = size;
} }
void BFont::SetShear(float shear)
void
BFont::SetShear(float shear)
{ {
fShear=shear; fShear = shear;
} }
void BFont::SetRotation(float rotation)
void
BFont::SetRotation(float rotation)
{ {
fRotation=rotation; fRotation = rotation;
} }
void BFont::SetSpacing(uint8 spacing)
void
BFont::SetSpacing(uint8 spacing)
{ {
fSpacing=spacing; fSpacing = spacing;
} }
void BFont::SetEncoding(uint8 encoding)
void
BFont::SetEncoding(uint8 encoding)
{ {
fEncoding=encoding; fEncoding = encoding;
} }
void BFont::SetFace(uint16 face)
void
BFont::SetFace(uint16 face)
{ {
fFace=face; fFace = face;
} }
void BFont::SetFlags(uint32 flags)
void
BFont::SetFlags(uint32 flags)
{ {
fFlags=flags; fFlags = flags;
} }
void BFont::GetFamilyAndStyle(font_family *family, font_style *style) const
void
BFont::GetFamilyAndStyle(font_family *family, font_style *style) const
{ {
// TODO: implement // TODO: implement
// Query server for the names of this stuff given the family and style IDs kept internally // Query server for the names of this stuff given the family and style IDs kept internally
} }
uint32 BFont::FamilyAndStyle(void) const
uint32
BFont::FamilyAndStyle(void) const
{ {
uint32 token; //uint32 token = (fFamilyID << 16) | fStyleID;
token=(fFamilyID << 16) | fStyleID;
return 0L; return 0L;
} }
float BFont::Size(void) const
float
BFont::Size(void) const
{ {
return fSize; return fSize;
} }
float BFont::Shear(void) const
float
BFont::Shear(void) const
{ {
return fShear; return fShear;
} }
float BFont::Rotation(void) const
float
BFont::Rotation(void) const
{ {
return fRotation; return fRotation;
} }
uint8 BFont::Spacing(void) const
uint8
BFont::Spacing(void) const
{ {
return fSpacing; return fSpacing;
} }
uint8 BFont::Encoding(void) const
uint8
BFont::Encoding(void) const
{ {
return fEncoding; return fEncoding;
} }
uint16 BFont::Face(void) const
uint16
BFont::Face(void) const
{ {
return fFace; return fFace;
} }
uint32 BFont::Flags(void) const
uint32
BFont::Flags(void) const
{ {
return fFlags; return fFlags;
} }
font_direction BFont::Direction(void) const
font_direction
BFont::Direction(void) const
{ {
// TODO: Query the server for the value // TODO: Query the server for the value
return B_FONT_LEFT_TO_RIGHT; return B_FONT_LEFT_TO_RIGHT;
} }
bool BFont::IsFixed(void) const
bool
BFont::IsFixed(void) const
{ {
// TODO: query server for whether this bad boy is fixed-width // TODO: query server for whether this bad boy is fixed-width
return false; return false;
} }
/*! /*!
\brief Returns true if the font is fixed-width and contains both full and half-width characters \brief Returns true if the font is fixed-width and contains both full and half-width characters
This was left unimplemented as of R5. It was a way to work with both Kanji and Roman This was left unimplemented as of R5. It was a way to work with both Kanji and Roman
characters in the same fixed-width font. characters in the same fixed-width font.
*/ */
bool BFont::IsFullAndHalfFixed(void) const
bool
BFont::IsFullAndHalfFixed(void) const
{ {
return false; return false;
} }
BRect BFont::BoundingBox(void) const
BRect
BFont::BoundingBox(void) const
{ {
// TODO: query server for bounding box // TODO: query server for bounding box
return BRect(0,0,0,0); return BRect(0,0,0,0);
} }
unicode_block BFont::Blocks(void) const
unicode_block
BFont::Blocks(void) const
{ {
// TODO: Add Block support // TODO: Add Block support
return unicode_block(); return unicode_block();
} }
font_file_format BFont::FileFormat(void) const
font_file_format
BFont::FileFormat(void) const
{ {
// TODO: this will not work until I extend FreeType to handle this kind of call // TODO: this will not work until I extend FreeType to handle this kind of call
return B_TRUETYPE_WINDOWS; return B_TRUETYPE_WINDOWS;
} }
int32 BFont::CountTuned(void) const
int32
BFont::CountTuned(void) const
{ {
// TODO: query server for appropriate data // TODO: query server for appropriate data
return 0; return 0;
} }
void BFont::GetTunedInfo(int32 index, tuned_font_info *info) const
void
BFont::GetTunedInfo(int32 index, tuned_font_info *info) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::TruncateString(BString *in_out,uint32 mode,float width) const
void
BFont::TruncateString(BString *inOut, uint32 mode, float width) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::GetTruncatedStrings(const char *stringArray[], int32 numStrings,
uint32 mode, float width, BString resultArray[]) const void
BFont::GetTruncatedStrings(const char *stringArray[], int32 numStrings,
uint32 mode, float width, BString resultArray[]) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::GetTruncatedStrings(const char *stringArray[], int32 numStrings,
uint32 mode, float width, char *resultArray[]) const void
BFont::GetTruncatedStrings(const char *stringArray[], int32 numStrings,
uint32 mode, float width, char *resultArray[]) const
{ {
// TODO: implement // TODO: implement
} }
float BFont::StringWidth(const char *string) const
float
BFont::StringWidth(const char *string) const
{ {
// TODO: implement // TODO: implement
@ -428,7 +531,9 @@ float BFont::StringWidth(const char *string) const
return (fHeight.ascent - fHeight.descent) * strlen(string); return (fHeight.ascent - fHeight.descent) * strlen(string);
} }
float BFont::StringWidth(const char *string, int32 length) const
float
BFont::StringWidth(const char *string, int32 length) const
{ {
// TODO: implement // TODO: implement
@ -436,127 +541,145 @@ float BFont::StringWidth(const char *string, int32 length) const
return (fHeight.ascent - fHeight.descent) * length; return (fHeight.ascent - fHeight.descent) * length;
} }
void BFont::GetStringWidths(const char *stringArray[], const int32 lengthArray[],
int32 numStrings, float widthArray[]) const void
BFont::GetStringWidths(const char *stringArray[], const int32 lengthArray[],
int32 numStrings, float widthArray[]) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::GetEscapements(const char charArray[], int32 numChars, float escapementArray[]) const
void
BFont::GetEscapements(const char charArray[], int32 numChars, float escapementArray[]) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::GetEscapements(const char charArray[], int32 numChars, escapement_delta *delta,
float escapementArray[]) const void
BFont::GetEscapements(const char charArray[], int32 numChars, escapement_delta *delta,
float escapementArray[]) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::GetEscapements(const char charArray[], int32 numChars, escapement_delta *delta,
BPoint escapementArray[]) const void
BFont::GetEscapements(const char charArray[], int32 numChars, escapement_delta *delta,
BPoint escapementArray[]) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::GetEscapements(const char charArray[], int32 numChars, escapement_delta *delta,
BPoint escapementArray[], BPoint offsetArray[]) const void
BFont::GetEscapements(const char charArray[], int32 numChars, escapement_delta *delta,
BPoint escapementArray[], BPoint offsetArray[]) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::GetEdges(const char charArray[], int32 numBytes, edge_info edgeArray[]) const
void
BFont::GetEdges(const char charArray[], int32 numBytes, edge_info edgeArray[]) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::GetHeight(font_height *height) const
void
BFont::GetHeight(font_height *height) const
{ {
if(height) if (height)
{ *height = fHeight;
*height=fHeight;
}
} }
void BFont::GetBoundingBoxesAsGlyphs(const char charArray[], int32 numChars, font_metric_mode mode,
BRect boundingBoxArray[]) const void
BFont::GetBoundingBoxesAsGlyphs(const char charArray[], int32 numChars, font_metric_mode mode,
BRect boundingBoxArray[]) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::GetBoundingBoxesAsString(const char charArray[], int32 numChars, font_metric_mode mode,
escapement_delta *delta, BRect boundingBoxArray[]) const void
BFont::GetBoundingBoxesAsString(const char charArray[], int32 numChars, font_metric_mode mode,
escapement_delta *delta, BRect boundingBoxArray[]) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::GetBoundingBoxesForStrings(const char *stringArray[], int32 numStrings,
font_metric_mode mode, escapement_delta deltas[], BRect boundingBoxArray[]) const void
BFont::GetBoundingBoxesForStrings(const char *stringArray[], int32 numStrings,
font_metric_mode mode, escapement_delta deltas[], BRect boundingBoxArray[]) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::GetGlyphShapes(const char charArray[], int32 numChars, BShape *glyphShapeArray[]) const
void
BFont::GetGlyphShapes(const char charArray[], int32 numChars, BShape *glyphShapeArray[]) const
{ {
// TODO: implement // TODO: implement
} }
void BFont::GetHasGlyphs(const char charArray[], int32 numChars, bool hasArray[]) const
void
BFont::GetHasGlyphs(const char charArray[], int32 numChars, bool hasArray[]) const
{ {
// TODO: implement // TODO: implement
} }
BFont &BFont::operator=(const BFont &font)
BFont
&BFont::operator=(const BFont &font)
{ {
fFamilyID=font.fFamilyID; fFamilyID = font.fFamilyID;
fStyleID=font.fStyleID; fStyleID = font.fStyleID;
fSize=font.fSize; fSize = font.fSize;
fShear=font.fShear; fShear = font.fShear;
fRotation=font.fRotation; fRotation = font.fRotation;
fSpacing=font.fSpacing; fSpacing = font.fSpacing;
fEncoding=font.fEncoding; fEncoding = font.fEncoding;
fFace=font.fFace; fFace = font.fFace;
fHeight=font.fHeight; fHeight = font.fHeight;
return *this; return *this;
} }
bool BFont::operator==(const BFont &font) const
bool
BFont::operator==(const BFont &font) const
{ {
if( fFamilyID!=font.fFamilyID || return fFamilyID == font.fFamilyID
fStyleID!=font.fStyleID || && fStyleID == font.fStyleID
fSize!=font.fSize || && fSize == font.fSize
fShear!=font.fShear || && fShear == font.fShear
fRotation!=font.fRotation || && fRotation == font.fRotation
fSpacing!=font.fSpacing || && fSpacing == font.fSpacing
fEncoding!=font.fEncoding || && fEncoding == font.fEncoding
fFace!=font.fFace || && fFace == font.fFace;
fHeight.ascent!=font.fHeight.ascent ||
fHeight.descent!=font.fHeight.descent ||
fHeight.leading!=font.fHeight.leading //||
)
return false;
return true;
} }
bool BFont::operator!=(const BFont &font) const
bool
BFont::operator!=(const BFont &font) const
{ {
if( fFamilyID!=font.fFamilyID || return fFamilyID != font.fFamilyID
fStyleID!=font.fStyleID || || fStyleID != font.fStyleID
fSize!=font.fSize || || fSize != font.fSize
fShear!=font.fShear || || fShear != font.fShear
fRotation!=font.fRotation || || fRotation != font.fRotation
fSpacing!=font.fSpacing || || fSpacing != font.fSpacing
fEncoding!=font.fEncoding || || fEncoding != font.fEncoding
fFace!=font.fFace || || fFace != font.fFace;
fHeight.ascent!=font.fHeight.ascent ||
fHeight.descent!=font.fHeight.descent ||
fHeight.leading!=font.fHeight.leading //||
)
return true;
return false;
} }
void BFont::PrintToStream(void) const
void
BFont::PrintToStream(void) const
{ {
printf("FAMILY STYLE %f %f %f %f %f %f\n", fSize, fShear, fRotation, fHeight.ascent, printf("FAMILY STYLE %f %f %f %f %f %f\n", fSize, fShear, fRotation, fHeight.ascent,
fHeight.descent, fHeight.leading); fHeight.descent, fHeight.leading);