⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mapper.java

📁 jrobin,使用纯java实现的RRD数据库,使用RRD数据库来统计数据.
💻 JAVA
字号:
/* ============================================================
 * JRobin : Pure java implementation of RRDTool's functionality
 * ============================================================
 *
 * Project Info:  http://www.jrobin.org
 * Project Lead:  Sasa Markovic (saxon@jrobin.org)
 *
 * Developers:    Sasa Markovic (saxon@jrobin.org)
 *
 *
 * (C) Copyright 2003-2005, by Sasa Markovic.
 *
 * This library is free software; you can redistribute it and/or modify it under the terms
 * of the GNU Lesser General Public License as published by the Free Software Foundation;
 * either version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License along with this
 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
 * Boston, MA 02111-1307, USA.
 */
package org.jrobin.graph;

class Mapper {
	private RrdGraphDef gdef;
	private ImageParameters im;
	private double pixieX, pixieY;

	Mapper(RrdGraph rrdGraph) {
		this.gdef = rrdGraph.gdef;
		this.im = rrdGraph.im;
		pixieX = (double) im.xsize / (double) (im.end - im.start);
		if (!gdef.logarithmic) {
			pixieY = (double) im.ysize / (im.maxval - im.minval);
		}
		else {
			pixieY = (double) im.ysize / (Math.log10(im.maxval) - Math.log10(im.minval));
		}
	}

	int xtr(double mytime) {
		return (int) ((double) im.xorigin + pixieX * (mytime - im.start));
	}

	int ytr(double value) {
		double yval;
		if (!gdef.logarithmic) {
			yval = im.yorigin - pixieY * (value - im.minval) + 0.5;
		}
		else {
			if (value < im.minval) {
				yval = im.yorigin;
			}
			else {
				yval = im.yorigin - pixieY * (Math.log10(value) - Math.log10(im.minval)) + 0.5;
			}
		}
		if (!gdef.rigid) {
			return (int) yval;
		}
		else if ((int) yval > im.yorigin) {
			return im.yorigin + 2;
		}
		else if ((int) yval < im.yorigin - im.ysize) {
			return im.yorigin - im.ysize - 2;
		}
		else {
			return (int) yval;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -