From a9e12f6c508810604c8c91ee15451776b08ce1a1 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Mon, 22 Apr 2019 07:41:56 -0400
Subject: [PATCH] Camera capslock fix

---
 timeflow/vis/timeline/AxisTicMarks.java |  223 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 114 insertions(+), 109 deletions(-)

diff --git a/timeflow/vis/timeline/AxisTicMarks.java b/timeflow/vis/timeline/AxisTicMarks.java
index 85a16dd..8c786e4 100755
--- a/timeflow/vis/timeline/AxisTicMarks.java
+++ b/timeflow/vis/timeline/AxisTicMarks.java
@@ -4,114 +4,119 @@
 
 import timeflow.data.time.*;
 
-public class AxisTicMarks {
-	public TimeUnit unit;
-	public List<Long> tics;
-	
-	private static final TimeUnit[] units={
-		TimeUnit.YEAR, TimeUnit.MONTH, TimeUnit.DAY, TimeUnit.HOUR, TimeUnit.MINUTE, TimeUnit.SECOND
-	};
-	
-	private static final TimeUnit[] histUnits={
-		TimeUnit.YEAR.times(100), TimeUnit.YEAR.times(50), TimeUnit.YEAR.times(25), 
-			TimeUnit.YEAR.times(10), TimeUnit.YEAR.times(5), TimeUnit.YEAR.times(2), TimeUnit.YEAR,
-		TimeUnit.MONTH.times(6), TimeUnit.MONTH.times(3), TimeUnit.MONTH.times(2), TimeUnit.MONTH, 
-		TimeUnit.WEEK, TimeUnit.DAY.times(2), TimeUnit.DAY,
+public class AxisTicMarks
+{
+        public TimeUnit unit;
+        public List<Long> tics;
+        private static final TimeUnit[] units =
+        {
+                TimeUnit.YEAR, TimeUnit.MONTH, TimeUnit.DAY, TimeUnit.HOUR, TimeUnit.MINUTE, TimeUnit.SECOND, TimeUnit.REALTIME
+        };
+        private static final TimeUnit[] histUnits =
+        {
+                TimeUnit.YEAR.times(100), TimeUnit.YEAR.times(50), TimeUnit.YEAR.times(25),
+                TimeUnit.YEAR.times(10), TimeUnit.YEAR.times(5), TimeUnit.YEAR.times(2), TimeUnit.YEAR,
+                TimeUnit.MONTH.times(6), TimeUnit.MONTH.times(3), TimeUnit.MONTH.times(2), TimeUnit.MONTH,
+                TimeUnit.WEEK, TimeUnit.DAY.times(2), TimeUnit.DAY,
+                TimeUnit.HOUR,
+                TimeUnit.MINUTE,
+                TimeUnit.SECOND,
+                TimeUnit.REALTIME
+        };
 
-		TimeUnit.HOUR, 
-		TimeUnit.MINUTE, 
-		TimeUnit.SECOND
-	};
-	
-	public AxisTicMarks(TimeUnit unit, long start, long end)
-	{
-		this.unit=unit;
-		tics=new ArrayList<Long>();
-		RoughTime r=unit.roundDown(start);
-		tics.add(r.getTime());
-		do
-		{
-			unit.addTo(r);
-			tics.add(r.getTime());
-		} while (r.getTime()<end);	
-	}
-	
-	
-	
-	public static List<AxisTicMarks> allRelevant(Interval interval)
-	{
-		return allRelevant(interval.start, interval.end);
-	}
-	
-	public static List<AxisTicMarks> allRelevant(long start, long end)
-	{
-		return allRelevant(start, end, 40);
-	}
-	
-	public static AxisTicMarks histoTics(long start, long end)
-	{
-		for (int i=histUnits.length-1; i>=0; i--)
-		{
-			TimeUnit u=histUnits[i];
-			long estimate=u.approxNumInRange(start, end);		
-			if (estimate<200 || i==0)
-			{
-				AxisTicMarks t=new AxisTicMarks(u, start, end);
-				return t;
-			}
-		}
-		return null;
-	}
-	
-	public static List<AxisTicMarks> allRelevant(long start, long end, long maxTics)
-	{
-		List<AxisTicMarks> list=new ArrayList<AxisTicMarks>();
-		
-		
-		for (int i=0; i<units.length; i++)
-		{
-			TimeUnit u=units[i];
-			long estimate=u.approxNumInRange(start, end);
-			
-			if (estimate<maxTics)
-			{
-				AxisTicMarks t=new AxisTicMarks(u, start, end);
-				if (list.size()>0)
-				{
-					AxisTicMarks last=list.get(0);
-					if (last.tics.size()==t.tics.size())
-						list.remove(0);
-				}
-				list.add(t);
-				
-			}
-		}
-		while (list.size()>2)
-			list.remove(0);
-		
-		if (list.size()==0) // uh oh! must be many years. we will add in bigger increments.
-		{
-			long length=end-start;
-			long size=365*24*60*60*1000L;
-			int m=1;
-			maxTics=15;
-			while (m<2000000000 && length/(m*size)>maxTics)
-			{
-				if (length/(2*m*size)<=maxTics)
-				{
-					m*=2;
-					break;
-				}
-				if (length/(5*m*size)<=maxTics)
-				{
-					m*=5;
-					break;
-				}
-				m*=10;
-			}	
-			AxisTicMarks t=new AxisTicMarks(TimeUnit.multipleYears(m), start, end);
-			list.add(t);
-		}	
-		return list;
-	}
+        public AxisTicMarks(TimeUnit unit, long start, long end)
+        {
+                this.unit = unit;
+                tics = new ArrayList<Long>();
+                RoughTime r = unit.roundDown(start);
+                tics.add(r.getTime());
+                do
+                {
+                        unit.addTo(r);
+                        tics.add(r.getTime());
+                } while (r.getTime() < end);
+        }
+
+        public static List<AxisTicMarks> allRelevant(Interval interval)
+        {
+                return allRelevant(interval.start, interval.end);
+        }
+
+        public static List<AxisTicMarks> allRelevant(long start, long end)
+        {
+                return allRelevant(start, end, 4000);
+        }
+
+        public static AxisTicMarks histoTics(long start, long end)
+        {
+                for (int i = histUnits.length; --i >= 0;)
+                {
+                        TimeUnit u = histUnits[i];
+                        long estimate = u.approxNumInRange(start, end);
+                        if (estimate < 200 || i == 0)
+                        {
+                                if (i == 17)
+                                        i = 17;
+                                
+                                AxisTicMarks t = new AxisTicMarks(u, start, end);
+                                return t;
+                        }
+                }
+                return null;
+        }
+
+        public static List<AxisTicMarks> allRelevant(long start, long end, long maxTics)
+        {
+                List<AxisTicMarks> list = new ArrayList<AxisTicMarks>();
+
+                for (int i = 0; i < units.length; i++)
+                {
+                        TimeUnit u = units[i];
+                        long estimate = u.approxNumInRange(start, end);
+
+                        if (estimate < maxTics)
+                        {
+                                AxisTicMarks t = new AxisTicMarks(u, start, end);
+                                if (list.size() > 0)
+                                {
+                                        AxisTicMarks last = list.get(0);
+                                        if (last.tics.size() == t.tics.size())
+                                        {
+                                                list.remove(0);
+                                        }
+                                }
+                                list.add(t);
+
+                        }
+                }
+                while (list.size() > 2)
+                {
+                        list.remove(0);
+                }
+
+                if (list.size() == 0) // uh oh! must be many years. we will add in bigger increments.
+                {
+                        long length = end - start;
+                        long size = 365 * 24 * 60 * 60 * 1000L;
+                        int m = 1;
+                        maxTics = 15;
+                        while (m < 2000000000 && length / (m * size) > maxTics)
+                        {
+                                if (length / (2 * m * size) <= maxTics)
+                                {
+                                        m *= 2;
+                                        break;
+                                }
+                                if (length / (5 * m * size) <= maxTics)
+                                {
+                                        m *= 5;
+                                        break;
+                                }
+                                m *= 10;
+                        }
+                        AxisTicMarks t = new AxisTicMarks(TimeUnit.multipleYears(m), start, end);
+                        list.add(t);
+                }
+                return list;
+        }
 }

--
Gitblit v1.6.2