gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] fenfire/org/fenfire/view PageSpanLayout.java pa...


From: Tuomas J. Lukka
Subject: [Gzz-commits] fenfire/org/fenfire/view PageSpanLayout.java pa...
Date: Thu, 14 Aug 2003 02:34:41 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Branch:         
Changes by:     Tuomas J. Lukka <address@hidden>        03/08/14 02:34:41

Modified files:
        org/fenfire/view: PageSpanLayout.java pagespanlayout.test 

Log message:
        Fix selection getting

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/PageSpanLayout.java.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/pagespanlayout.test.diff?tr1=1.11&tr2=1.12&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/view/PageSpanLayout.java
diff -u fenfire/org/fenfire/view/PageSpanLayout.java:1.21 
fenfire/org/fenfire/view/PageSpanLayout.java:1.22
--- fenfire/org/fenfire/view/PageSpanLayout.java:1.21   Thu Aug 14 01:38:08 2003
+++ fenfire/org/fenfire/view/PageSpanLayout.java        Thu Aug 14 02:34:41 2003
@@ -233,17 +233,21 @@
 
        Enfilade1D enf = enfilade1DMaker.makeEnfilade();
 
+       float w = 0;
+
        // Go into page where selection starts
        for (int p = 0; p<pages.length; p++)  {
            // Vob coordinates of the intersecting rectangle
            float sx0, sx1, sy0, sy1;
 
-           sx0 = x - xywh[4*p];
+           sx0 = x - xywh[4*p] - w;
            sy0 = y - xywh[4*p+1];
 
-           sx1 = x + width - xywh[4*p];
+           sx1 = x + width - xywh[4*p] - w;
            sy1 = y + height - xywh[4*p + 1];
 
+           w += xywh[4*p + 2];
+
            int rx0, rx1, ry0, ry1;
            
            rx0 = spivs[p].getSpanX(sx0);
@@ -257,6 +261,9 @@
            Dimension d = pages[p].getSize();
            if(rx0 >= d.width) continue;
            if(ry0 >= d.height) continue;
+           if(rx1 < 0) continue;
+           if(ry1 < 0) continue;
+
            if(rx1 >= d.width) rx1 = d.width - 1;
            if(ry1 >= d.height) ry1 = d.height - 1;
 
Index: fenfire/org/fenfire/view/pagespanlayout.test
diff -u fenfire/org/fenfire/view/pagespanlayout.test:1.11 
fenfire/org/fenfire/view/pagespanlayout.test:1.12
--- fenfire/org/fenfire/view/pagespanlayout.test:1.11   Thu Aug 14 01:38:08 2003
+++ fenfire/org/fenfire/view/pagespanlayout.test        Thu Aug 14 02:34:41 2003
@@ -162,6 +162,8 @@
 
     enf = pageSpanLayout.getSelection(0, 0, w, h)
     assert enf.length() == 2, (enf, enf.length())
+    enf = pageSpanLayout.getSelection(0, 0, 10, 10)
+    assert enf.length() == 1, (enf, enf.length())
 
 
 




reply via email to

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