gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog backend/render_handler_agg.cpp


From: Udo Giacomozzi
Subject: [Gnash-commit] gnash ChangeLog backend/render_handler_agg.cpp
Date: Tue, 06 May 2008 09:25:49 +0000

CVSROOT:        /cvsroot/gnash
Module name:    gnash
Changes by:     Udo Giacomozzi <udog>   08/05/06 09:25:49

Modified files:
        .              : ChangeLog 
        backend        : render_handler_agg.cpp 

Log message:
        * backend/render_handler_agg.cpp: fix doPixelHinting handling
          and improve pixel hinting generally

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6518&r2=1.6519
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/render_handler_agg.cpp?cvsroot=gnash&r1=1.142&r2=1.143

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/gnash/gnash/ChangeLog,v
retrieving revision 1.6518
retrieving revision 1.6519
diff -u -b -r1.6518 -r1.6519
--- ChangeLog   6 May 2008 08:59:42 -0000       1.6518
+++ ChangeLog   6 May 2008 09:25:48 -0000       1.6519
@@ -1,3 +1,8 @@
+2008-05-0U Udo Giacomozzi <address@hidden>
+
+       * backend/render_handler_agg.cpp: fix doPixelHinting handling
+         and improve pixel hinting generally
+
 2008-05-06 Benjamin Wolsey <address@hidden>
 
        * server/asobj/TextFormat.{cpp,h}: register ASnative functions

Index: backend/render_handler_agg.cpp
===================================================================
RCS file: /cvsroot/gnash/gnash/backend/render_handler_agg.cpp,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -b -r1.142 -r1.143
--- backend/render_handler_agg.cpp      5 May 2008 18:12:31 -0000       1.142
+++ backend/render_handler_agg.cpp      6 May 2008 09:25:49 -0000       1.143
@@ -1177,13 +1177,19 @@
       const Path<float>& this_path = paths[pno];
       agg::path_storage& new_path = dest[pno];
       
-      bool hinting=false, closed=false;
+      bool hinting=false, closed=false, hairline=false;
       
       if (this_path.m_line) {
         const line_style& lstyle = line_styles[this_path.m_line-1];
         
         hinting = lstyle.doPixelHinting();
         closed = this_path.isClosed() && !lstyle.noClose();
+        
+        // check if this line is a hairline ON SCREEN
+        // TODO: we currently only check for hairlines per definiton, not
+        // for thin lines that become hair lines due to scaling
+        if (lstyle.getThickness()<=20)
+          hairline = true;
       }
       
       float prev_ax = this_path.ap.x;
@@ -1204,11 +1210,11 @@
         float this_ax = this_edge.ap.x;  
         float this_ay = this_edge.ap.y;  
         
-        if (hinting && this_edge.is_straight()) {
+        if (hinting || this_edge.is_straight()) {
         
           // candidate for alignment?
-          bool align_x = prev_ax == this_ax;
-          bool align_y = prev_ay == this_ay;
+          bool align_x = hinting || (hairline && (prev_ax == this_ax));
+          bool align_y = hinting || (hairline && (prev_ay == this_ay));
           
           if (align_x) 
             this_ax = round(this_ax);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]