[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 05:57:48 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit bf420759f9737d21648a775511492e5afb080a3b
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Mar 18 17:34:21 2002 +0000

            * src/kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getInfo),
            (QFontMetrics::width), (QFontMetrics::_width), (QFontMetrics::boundingRect),
            (QFontMetrics::size): Don't make the info object right away, in case the
            metrics object is only used to compute ascent and descent.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@771 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index eff12c6..d7d37fc 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,10 @@
+2002-03-18  Darin Adler  <darin at apple.com>
+
+	* src/kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getInfo),
+	(QFontMetrics::width), (QFontMetrics::_width), (QFontMetrics::boundingRect),
+	(QFontMetrics::size): Don't make the info object right away, in case the
+	metrics object is only used to compute ascent and descent.
+
 2002-03-17  Richard Williamson  <rjw at apple.com>
 
         Implementation of replacement code for NSLayoutManager.  Huge
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index eff12c6..d7d37fc 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,10 @@
+2002-03-18  Darin Adler  <darin at apple.com>
+
+	* src/kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getInfo),
+	(QFontMetrics::width), (QFontMetrics::_width), (QFontMetrics::boundingRect),
+	(QFontMetrics::size): Don't make the info object right away, in case the
+	metrics object is only used to compute ascent and descent.
+
 2002-03-17  Richard Williamson  <rjw at apple.com>
 
         Implementation of replacement code for NSLayoutManager.  Huge
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index eff12c6..d7d37fc 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,10 @@
+2002-03-18  Darin Adler  <darin at apple.com>
+
+	* src/kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getInfo),
+	(QFontMetrics::width), (QFontMetrics::_width), (QFontMetrics::boundingRect),
+	(QFontMetrics::size): Don't make the info object right away, in case the
+	metrics object is only used to compute ascent and descent.
+
 2002-03-17  Richard Williamson  <rjw at apple.com>
 
         Implementation of replacement code for NSLayoutManager.  Huge
diff --git a/WebCore/kwq/KWQFontMetrics.mm b/WebCore/kwq/KWQFontMetrics.mm
index 4195628..bf4f97f 100644
--- a/WebCore/kwq/KWQFontMetrics.mm
+++ b/WebCore/kwq/KWQFontMetrics.mm
@@ -673,8 +673,8 @@ struct QFontMetricsPrivate {
     QFontMetricsPrivate(NSFont *aFont)
     {
         refCount = 0;
-        font = [aFont retain];	
-        info = [[KWQLayoutInfo getMetricsForFont: aFont] retain];
+        font = [aFont retain];
+        info = nil;
         spaceWidth = -1;
         xWidth = -1;
         ascent = -1;
@@ -685,15 +685,24 @@ struct QFontMetricsPrivate {
         [info release];
         [font release];
     }
+    KWQLayoutInfo *getInfo();
     int refCount;
-    KWQLayoutInfo *info;
     NSFont *font;
     int spaceWidth;
     int xWidth;
     int ascent;
     int descent;
+private:
+    KWQLayoutInfo *info;
 };
 
+KWQLayoutInfo *QFontMetricsPrivate::getInfo()
+{
+    if (!info)
+        info = [[KWQLayoutInfo getMetricsForFont:font] retain];
+    return info;
+}
+
 QFontMetrics::QFontMetrics()
 {
 }
@@ -761,15 +770,13 @@ int QFontMetrics::width(QChar qc) const
             return data->xWidth;
     }
     NSString *string = [NSString stringWithCharacters: (const unichar *)&c length: 1];
-    int stringWidth = ROUND_TO_INT([data->info rectForString: string].size.width);
-    return stringWidth;
+    return ROUND_TO_INT([data->getInfo() rectForString: string].size.width);
 }
 
 int QFontMetrics::width(char c) const
 {
     NSString *string = [NSString stringWithCString: &c length: 1];
-    int stringWidth = ROUND_TO_INT([data->info rectForString: string].size.width);
-    return stringWidth;
+    return ROUND_TO_INT([data->getInfo() rectForString: string].size.width);
 }
 
 int QFontMetrics::width(const QString &qstring, int len) const
@@ -780,20 +787,18 @@ int QFontMetrics::width(const QString &qstring, int len) const
         string = QSTRING_TO_NSSTRING_LENGTH (qstring, len);
     else
         string = _FAST_QSTRING_TO_NSSTRING (qstring);
-    int stringWidth = ROUND_TO_INT([data->info rectForString: string].size.width);
-    return stringWidth;
+    return ROUND_TO_INT([data->getInfo() rectForString: string].size.width);
 }
 
 int QFontMetrics::_width(const UniChar *uchars, int len) const
 {
-    int stringWidth = ROUND_TO_INT(_rectForString(data->info, uchars, len).size.width);
-    return stringWidth;
+    return ROUND_TO_INT(_rectForString(data->getInfo(), uchars, len).size.width);
 }
 
 
 int QFontMetrics::_width(CFStringRef string) const
 {
-    return ROUND_TO_INT([data->info rectForString: (NSString *)string].size.width);
+    return ROUND_TO_INT([data->getInfo() rectForString: (NSString *)string].size.width);
 }
 
 QRect QFontMetrics::boundingRect(const QString &qstring, int len) const
@@ -804,7 +809,7 @@ QRect QFontMetrics::boundingRect(const QString &qstring, int len) const
         string = QSTRING_TO_NSSTRING_LENGTH (qstring, len);
     else
         string = _FAST_QSTRING_TO_NSSTRING (qstring);
-    NSRect rect = [data->info rectForString: string];
+    NSRect rect = [data->getInfo() rectForString: string];
 
     return QRect(ROUND_TO_INT(rect.origin.x),
             ROUND_TO_INT(rect.origin.y),
@@ -814,9 +819,9 @@ QRect QFontMetrics::boundingRect(const QString &qstring, int len) const
 
 QRect QFontMetrics::boundingRect(QChar qc) const
 {
-    ushort c = qc.unicode();
-    NSString *string = [NSString stringWithCharacters: (const unichar *)&c length: 1];
-    NSRect rect = [data->info rectForString: string];
+    unichar c = qc.unicode();
+    NSString *string = [NSString stringWithCharacters: &c length: 1];
+    NSRect rect = [data->getInfo() rectForString: string];
 
     return QRect(ROUND_TO_INT(rect.origin.x),
             ROUND_TO_INT(rect.origin.y),
@@ -838,7 +843,7 @@ QSize QFontMetrics::size(int, const QString &qstring, int len, int tabstops,
         string = QSTRING_TO_NSSTRING_LENGTH (qstring, len);
     else
         string = _FAST_QSTRING_TO_NSSTRING (qstring);
-    NSRect rect = [data->info rectForString: string];
+    NSRect rect = [data->getInfo() rectForString: string];
 
     return QSize (ROUND_TO_INT(rect.size.width),ROUND_TO_INT(rect.size.height));
 }
diff --git a/WebCore/src/kwq/KWQFontMetrics.mm b/WebCore/src/kwq/KWQFontMetrics.mm
index 4195628..bf4f97f 100644
--- a/WebCore/src/kwq/KWQFontMetrics.mm
+++ b/WebCore/src/kwq/KWQFontMetrics.mm
@@ -673,8 +673,8 @@ struct QFontMetricsPrivate {
     QFontMetricsPrivate(NSFont *aFont)
     {
         refCount = 0;
-        font = [aFont retain];	
-        info = [[KWQLayoutInfo getMetricsForFont: aFont] retain];
+        font = [aFont retain];
+        info = nil;
         spaceWidth = -1;
         xWidth = -1;
         ascent = -1;
@@ -685,15 +685,24 @@ struct QFontMetricsPrivate {
         [info release];
         [font release];
     }
+    KWQLayoutInfo *getInfo();
     int refCount;
-    KWQLayoutInfo *info;
     NSFont *font;
     int spaceWidth;
     int xWidth;
     int ascent;
     int descent;
+private:
+    KWQLayoutInfo *info;
 };
 
+KWQLayoutInfo *QFontMetricsPrivate::getInfo()
+{
+    if (!info)
+        info = [[KWQLayoutInfo getMetricsForFont:font] retain];
+    return info;
+}
+
 QFontMetrics::QFontMetrics()
 {
 }
@@ -761,15 +770,13 @@ int QFontMetrics::width(QChar qc) const
             return data->xWidth;
     }
     NSString *string = [NSString stringWithCharacters: (const unichar *)&c length: 1];
-    int stringWidth = ROUND_TO_INT([data->info rectForString: string].size.width);
-    return stringWidth;
+    return ROUND_TO_INT([data->getInfo() rectForString: string].size.width);
 }
 
 int QFontMetrics::width(char c) const
 {
     NSString *string = [NSString stringWithCString: &c length: 1];
-    int stringWidth = ROUND_TO_INT([data->info rectForString: string].size.width);
-    return stringWidth;
+    return ROUND_TO_INT([data->getInfo() rectForString: string].size.width);
 }
 
 int QFontMetrics::width(const QString &qstring, int len) const
@@ -780,20 +787,18 @@ int QFontMetrics::width(const QString &qstring, int len) const
         string = QSTRING_TO_NSSTRING_LENGTH (qstring, len);
     else
         string = _FAST_QSTRING_TO_NSSTRING (qstring);
-    int stringWidth = ROUND_TO_INT([data->info rectForString: string].size.width);
-    return stringWidth;
+    return ROUND_TO_INT([data->getInfo() rectForString: string].size.width);
 }
 
 int QFontMetrics::_width(const UniChar *uchars, int len) const
 {
-    int stringWidth = ROUND_TO_INT(_rectForString(data->info, uchars, len).size.width);
-    return stringWidth;
+    return ROUND_TO_INT(_rectForString(data->getInfo(), uchars, len).size.width);
 }
 
 
 int QFontMetrics::_width(CFStringRef string) const
 {
-    return ROUND_TO_INT([data->info rectForString: (NSString *)string].size.width);
+    return ROUND_TO_INT([data->getInfo() rectForString: (NSString *)string].size.width);
 }
 
 QRect QFontMetrics::boundingRect(const QString &qstring, int len) const
@@ -804,7 +809,7 @@ QRect QFontMetrics::boundingRect(const QString &qstring, int len) const
         string = QSTRING_TO_NSSTRING_LENGTH (qstring, len);
     else
         string = _FAST_QSTRING_TO_NSSTRING (qstring);
-    NSRect rect = [data->info rectForString: string];
+    NSRect rect = [data->getInfo() rectForString: string];
 
     return QRect(ROUND_TO_INT(rect.origin.x),
             ROUND_TO_INT(rect.origin.y),
@@ -814,9 +819,9 @@ QRect QFontMetrics::boundingRect(const QString &qstring, int len) const
 
 QRect QFontMetrics::boundingRect(QChar qc) const
 {
-    ushort c = qc.unicode();
-    NSString *string = [NSString stringWithCharacters: (const unichar *)&c length: 1];
-    NSRect rect = [data->info rectForString: string];
+    unichar c = qc.unicode();
+    NSString *string = [NSString stringWithCharacters: &c length: 1];
+    NSRect rect = [data->getInfo() rectForString: string];
 
     return QRect(ROUND_TO_INT(rect.origin.x),
             ROUND_TO_INT(rect.origin.y),
@@ -838,7 +843,7 @@ QSize QFontMetrics::size(int, const QString &qstring, int len, int tabstops,
         string = QSTRING_TO_NSSTRING_LENGTH (qstring, len);
     else
         string = _FAST_QSTRING_TO_NSSTRING (qstring);
-    NSRect rect = [data->info rectForString: string];
+    NSRect rect = [data->getInfo() rectForString: string];
 
     return QSize (ROUND_TO_INT(rect.size.width),ROUND_TO_INT(rect.size.height));
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list