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

hyatt hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:46:26 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 1802c7b36d1c9c5066eb8f54093573c9b74ddaa5
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Jun 15 08:01:43 2004 +0000

    	Add a truncation variable to text run boxes that will eventually be used to know how to cut out some of the glyphs when
    	rendering.
    
            Reviewed by darin
    
            * khtml/rendering/render_text.cpp:
            (RenderText::clearTextOverflowTruncation):
            * khtml/rendering/render_text.h:
            (khtml::InlineTextBox:::InlineRunBox):
            (khtml::InlineTextBox::clearTruncation):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6849 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index b0671e0..39f7bac 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,16 @@
+2004-06-15  David Hyatt  <hyatt at apple.com>
+
+	Add a truncation variable to text run boxes that will eventually be used to know how to cut out some of the glyphs when
+	rendering.
+	
+        Reviewed by darin
+
+        * khtml/rendering/render_text.cpp:
+        (RenderText::clearTextOverflowTruncation):
+        * khtml/rendering/render_text.h:
+        (khtml::InlineTextBox:::InlineRunBox):
+        (khtml::InlineTextBox::clearTruncation):
+
 2004-06-14  Darin Adler  <darin at apple.com>
 
         Reviewed by Maciej.
diff --git a/WebCore/khtml/rendering/render_text.cpp b/WebCore/khtml/rendering/render_text.cpp
index 3eb2793..c77b682 100644
--- a/WebCore/khtml/rendering/render_text.cpp
+++ b/WebCore/khtml/rendering/render_text.cpp
@@ -1464,6 +1464,9 @@ InlineBox *RenderText::inlineBox(long offset)
 
 void RenderText::clearTextOverflowTruncation()
 {
+    // Walk our text boxes and clear any truncation bits that might be set.
+    for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox())
+        box->clearTruncation();
 }
    
 RenderTextFragment::RenderTextFragment(DOM::NodeImpl* _node, DOM::DOMStringImpl* _str,
diff --git a/WebCore/khtml/rendering/render_text.h b/WebCore/khtml/rendering/render_text.h
index 169ce30..112dd44 100644
--- a/WebCore/khtml/rendering/render_text.h
+++ b/WebCore/khtml/rendering/render_text.h
@@ -43,6 +43,9 @@ namespace DOM {
 // Define a constant for soft hyphen's unicode value.
 #define SOFT_HYPHEN 173
 
+const int cNoTruncation = -1;
+const int cFullTruncation = -2;
+
 namespace khtml
 {
     class RenderText;
@@ -58,6 +61,7 @@ public:
         m_len = 0;
         m_reversed = false;
         m_toAdd = 0;
+        m_truncation = cNoTruncation;
     }
     
     InlineTextBox* nextTextBox() const { return static_cast<InlineTextBox*>(nextLineBox()); }
@@ -75,6 +79,8 @@ public:
     virtual void extractLine();
     virtual void attachLine();
 
+    void clearTruncation() { m_truncation = cNoTruncation; }
+
     // Overloaded new operator.  Derived classes must override operator new
     // in order to allocate out of the RenderArena.
     void* operator new(size_t sz, RenderArena* renderArena) throw();    
@@ -112,6 +118,9 @@ public:
     int m_start;
     unsigned short m_len;
     
+    int m_truncation; // Where to truncate when text overflow is applied.  We use special constants to
+                      // denote no truncation (the whole run paints) and full truncation (nothing paints at all).
+
     bool m_reversed : 1;
     int m_toAdd : 14; // for justified text
 private:
@@ -217,7 +226,7 @@ public:
     virtual InlineBox *inlineBox(long offset);
     
     void clearTextOverflowTruncation();
-
+    
 #if APPLE_CHANGES
     int widthFromCache(const Font *, int start, int len) const;
     bool shouldUseMonospaceCache(const Font *) const;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list