示例#1
0
        private static int smethod_0(TreeItem treeItem_1, int int_1, double double_7, double double_8, ref double double_9, ref double double_10)
        {
            int result;

            while (int_1 < treeItem_1.method_1())
            {
                double size = treeItem_1.method_2(int_1).Size;
                if (size != 0.0)
                {
                    double num  = double_10 + size;
                    double num2 = num * num;
                    double val  = double_7 * double_8 / num2;
                    double val2 = num2 / double_7 / size;
                    double num3 = Math.Max(val, val2);
                    if (num3 <= double_9)
                    {
                        double_10 += size;
                        int_1++;
                        double_9 = num3;
                        continue;
                    }
                    result = int_1;
                }
                else
                {
                    int_1  = treeItem_1.method_1();
                    result = int_1;
                }
                return(result);
            }
            result = int_1;
            return(result);
        }
示例#2
0
        public TreeItem FindItemByPoint(TreeItem item, Point point)
        {
            TreeItem result;

            if (!item.Bounds.Contains(point))
            {
                result = null;
            }
            else
            {
                TreeItem treeItem = null;
                if (item.method_5())
                {
                    treeItem = item;
                }
                else
                {
                    for (int i = 0; i < item.method_1(); i++)
                    {
                        TreeItem treeItem2 = item.method_2(i);
                        if (treeItem2.Bounds.Contains(point))
                        {
                            treeItem = this.FindItemByPoint(treeItem2, point);
                            break;
                        }
                    }
                }
                if (treeItem == null)
                {
                    treeItem = item;
                }
                result = treeItem;
            }
            return(result);
        }
示例#3
0
        private void method_1(TreeItem treeItem_1, TreeSurface treeSurface_0, double double_7)
        {
            Rect   bounds = treeItem_1.Bounds;
            double num    = treeItem_1.Size / bounds.Area();
            double num2   = treeItem_1.Size;
            int    i      = 0;

            while (i < treeItem_1.method_1())
            {
                TreemapHost.Enum2 @enum    = (bounds.Width >= bounds.Height) ? ((TreemapHost.Enum2) 0) : ((TreemapHost.Enum2) 1);
                double            num3     = (@enum == (TreemapHost.Enum2) 1) ? bounds.Width : bounds.Height;
                double            double_8 = num3 * num3 * num;
                int    num4 = i;
                int    num5 = i;
                double num6 = 0.0;
                double size = treeItem_1.method_2(num4).Size;
                double num7 = 1.7976931348623157E+308;
                num5 = TreemapHost.smethod_0(treeItem_1, num5, double_8, size, ref num7, ref num6);
                double num8 = (@enum == (TreemapHost.Enum2) 1) ? bounds.Height : bounds.Width;
                if (num6 < num2)
                {
                    num8 = (double)((int)(num6 / num2 * num8));
                }
                Rect   rect = default(Rect);
                double num9 = TreemapHost.smethod_1(bounds, @enum, num8, ref rect);
                this.method_2(treeItem_1, treeSurface_0, double_7, bounds, @enum, num3, num4, num5, num6, ref rect, ref num9);
                TreemapHost.smethod_2(ref bounds, @enum, num8);
                num2 -= num6;
                i    += num5 - num4;
                if (bounds.Width <= 0.0 || bounds.Height <= 0.0)
                {
                    if (i < treeItem_1.method_1())
                    {
                        treeItem_1.method_2(i).Bounds = default(Rect);
                    }
                    return;
                }
            }
        }
		public TreeItem FindItemByPoint(TreeItem item, Point point)
		{
			TreeItem result;
			if (!item.Bounds.Contains(point))
			{
				result = null;
			}
			else
			{
				TreeItem treeItem = null;
				if (item.method_5())
				{
					treeItem = item;
				}
				else
				{
					for (int i = 0; i < item.method_1(); i++)
					{
						TreeItem treeItem2 = item.method_2(i);
						if (treeItem2.Bounds.Contains(point))
						{
							treeItem = this.FindItemByPoint(treeItem2, point);
							break;
						}
					}
				}
				if (treeItem == null)
				{
					treeItem = item;
				}
				result = treeItem;
			}
			return result;
		}
		private static int smethod_0(TreeItem treeItem_1, int int_1, double double_7, double double_8, ref double double_9, ref double double_10)
		{
			int result;
			while (int_1 < treeItem_1.method_1())
			{
				double size = treeItem_1.method_2(int_1).Size;
				if (size != 0.0)
				{
					double num = double_10 + size;
					double num2 = num * num;
					double val = double_7 * double_8 / num2;
					double val2 = num2 / double_7 / size;
					double num3 = Math.Max(val, val2);
					if (num3 <= double_9)
					{
						double_10 += size;
						int_1++;
						double_9 = num3;
						continue;
					}
					result = int_1;
				}
				else
				{
					int_1 = treeItem_1.method_1();
					result = int_1;
				}
				return result;
			}
			result = int_1;
			return result;
		}
		private void method_1(TreeItem treeItem_1, TreeSurface treeSurface_0, double double_7)
		{
			Rect bounds = treeItem_1.Bounds;
			double num = treeItem_1.Size / bounds.Area();
			double num2 = treeItem_1.Size;
			int i = 0;
			while (i < treeItem_1.method_1())
			{
				TreemapHost.Enum2 @enum = (bounds.Width >= bounds.Height) ? ((TreemapHost.Enum2)0) : ((TreemapHost.Enum2)1);
				double num3 = (@enum == (TreemapHost.Enum2)1) ? bounds.Width : bounds.Height;
				double double_8 = num3 * num3 * num;
				int num4 = i;
				int num5 = i;
				double num6 = 0.0;
				double size = treeItem_1.method_2(num4).Size;
				double num7 = 1.7976931348623157E+308;
				num5 = TreemapHost.smethod_0(treeItem_1, num5, double_8, size, ref num7, ref num6);
				double num8 = (@enum == (TreemapHost.Enum2)1) ? bounds.Height : bounds.Width;
				if (num6 < num2)
				{
					num8 = (double)((int)(num6 / num2 * num8));
				}
				Rect rect = default(Rect);
				double num9 = TreemapHost.smethod_1(bounds, @enum, num8, ref rect);
				this.method_2(treeItem_1, treeSurface_0, double_7, bounds, @enum, num3, num4, num5, num6, ref rect, ref num9);
				TreemapHost.smethod_2(ref bounds, @enum, num8);
				num2 -= num6;
				i += num5 - num4;
				if (bounds.Width <= 0.0 || bounds.Height <= 0.0)
				{
					if (i < treeItem_1.method_1())
					{
						treeItem_1.method_2(i).Bounds = default(Rect);
					}
					return;
				}
			}
		}