git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix spaces
[enigma2.git]
/
lib
/
gdi
/
font.cpp
diff --git
a/lib/gdi/font.cpp
b/lib/gdi/font.cpp
index ef92d53a2a5165922151e97d428405c4a8e6b1bf..1471aa5ef6e82435c6bdcd3f15f9ee8c72b0b017 100644
(file)
--- a/
lib/gdi/font.cpp
+++ b/
lib/gdi/font.cpp
@@
-331,31
+331,39
@@
int eTextPara::appendGlyph(Font *current_font, FT_Face current_face, FT_UInt gly
ng.bbox.setWidth( glyph->width );
ng.bbox.setHeight( glyph->height );
ng.bbox.setWidth( glyph->width );
ng.bbox.setHeight( glyph->height );
- xadvance
+=
kern;
+ xadvance
+=
kern;
ng.bbox.setWidth(xadvance);
ng.bbox.setWidth(xadvance);
- ng.x
=
cursor.x()+kern;
- ng.y
=
cursor.y();
- ng.w
=
xadvance;
- ng.font
=
current_font;
- ng.glyph_index
=
glyphIndex;
- ng.flags
=
flags;
+ ng.x
=
cursor.x()+kern;
+ ng.y
=
cursor.y();
+ ng.w
=
xadvance;
+ ng.font
=
current_font;
+ ng.glyph_index
=
glyphIndex;
+ ng.flags
=
flags;
glyphs.push_back(ng);
glyphs.push_back(ng);
- cursor
+=
ePoint(xadvance, 0);
- previous
=
glyphIndex;
+ cursor
+=
ePoint(xadvance, 0);
+ previous
=
glyphIndex;
return 0;
}
void eTextPara::calc_bbox()
{
return 0;
}
void eTextPara::calc_bbox()
{
- boundBox.setLeft( 32000 );
- boundBox.setTop( 32000 );
- boundBox.setRight( -32000 ); // for each glyph image, compute its bounding box, translate it,
- boundBox.setBottom( -32000 );
- // and grow the string bbox
+ if (!glyphs.size())
+ {
+ bboxValid = 0;
+ boundBox = eRect();
+ return;
+ }
+
+ bboxValid = 1;
+
+ glyphString::iterator i(glyphs.begin());
+
+ boundBox = i->bbox;
+ ++i;
- for (
glyphString::iterator i(glyphs.begin())
; i != glyphs.end(); ++i)
+ for (
i
; i != glyphs.end(); ++i)
{
if ( i->flags & GS_ISSPACE )
continue;
{
if ( i->flags & GS_ISSPACE )
continue;
@@
-369,8
+377,6
@@
void eTextPara::calc_bbox()
boundBox.setBottom( i->bbox.bottom() );
}
// eDebug("boundBox left = %i, top = %i, right = %i, bottom = %i", boundBox.left(), boundBox.top(), boundBox.right(), boundBox.bottom() );
boundBox.setBottom( i->bbox.bottom() );
}
// eDebug("boundBox left = %i, top = %i, right = %i, bottom = %i", boundBox.left(), boundBox.top(), boundBox.right(), boundBox.bottom() );
- if ( glyphs.size() )
- bboxValid=1;
}
void eTextPara::newLine(int flags)
}
void eTextPara::newLine(int flags)