[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/3.5/kdelibs/khtml/rendering
From: Germain Garand <germain () ebooksfrance ! com>
Date: 2007-01-07 7:03:36
Message-ID: 1168153416.772543.3933.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 620739 by ggarand:
backport 620738.
fix text-top/text-bottom vertical-align.
M +2 -10 render_object.cpp
--- branches/KDE/3.5/kdelibs/khtml/rendering/render_object.cpp #620738:620739
@@ -1849,27 +1849,19 @@
return vpos - style()->verticalAlignLength().width( lineHeight( \
firstLine ) );
const QFont &f = ref->font( firstLine );
- int fontheight = ref->lineHeight( firstLine );
int fontsize = f.pixelSize();
- int halfleading = ( fontheight - fontsize ) / 2;
if ( va == SUB )
vpos += fontsize/5 + 1;
else if ( va == SUPER )
vpos -= fontsize/3 + 1;
else if ( va == TEXT_TOP ) {
-// qDebug( "got TEXT_TOP vertical pos hint" );
-// qDebug( "parent:" );
-// qDebug( "CSSLH: %d, CSS_FS: %d, basepos: %d", fontheight, \
fontsize, ref->baselinePosition( firstLine ) );
-// qDebug( "this:" );
-// qDebug( "CSSLH: %d, CSS_FS: %d, basepos: %d", lineHeight( \
firstLine ), style()->font().pixelSize(), baselinePosition( firstLine \
) );
- vpos += ( baselinePosition( firstLine ) - ref->baselinePosition( \
firstLine ) +
- halfleading );
+ vpos += baselinePosition( firstLine ) - (QFontMetrics(f).ascent() + \
QFontMetrics(f).leading()/2); } else if ( va == MIDDLE ) {
QRect b = QFontMetrics(f).boundingRect('x');
vpos += -b.height()/2 - lineHeight( firstLine )/2 + \
baselinePosition( firstLine ); } else if ( va == TEXT_BOTTOM ) {
- vpos += QFontMetrics(f).descent();
+ vpos += QFontMetrics(f).descent() + QFontMetrics(f).leading()/2;
if ( !isReplaced() )
vpos -= fontMetrics(firstLine).descent();
} else if ( va == BASELINE_MIDDLE )
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic