xprintview.java

来自「java写的浏览器」· Java 代码 · 共 66 行

JAVA
66
字号
/****************************************************************
*              XBrowser  -  eXtended web Browser                *
*                                                               *
*           Copyright (c) 2000-2001  Armond Avanes              *
*     Refer to ReadMe & License files for more information      *
*                                                               *
*                                                               *
*                      By: Armond Avanes                        *
*       Armond555@yahoo.com     &    Armond333@yahoo.com        *
*                http://xbrowser.sourceforge.net/               *
*****************************************************************/
package xbrowser.renderer.custom;

import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;

public class XPrintView extends BoxView
{
	public XPrintView(Element elem, View root, int w, int h)
	{
		super(elem, Y_AXIS);

		setParent(root);
		setSize(w, h);
		layout(w, h);
	}

	public boolean paintPage(Graphics g, int page_height, int page_index)
	{
		if( page_index>pageIndex )
		{
			firstOnPage = lastOnPage + 1;
			if( firstOnPage>=getViewCount() )
				return false;
			pageIndex = page_index;
		}

	int min = getOffset(Y_AXIS, firstOnPage);
	int max = min + page_height;
	Rectangle rc = new Rectangle();

		for( int i = firstOnPage; i<getViewCount(); i++ )
		{
			rc.x = getOffset(X_AXIS, i);
			rc.y = getOffset(Y_AXIS, i);
			rc.width = getSpan(X_AXIS, i);
			rc.height = getSpan(Y_AXIS, i);

			if( rc.y+rc.height>max )
				break;

			lastOnPage = i;
			rc.y -= min;
			paintChild(g, rc, i);
		}

		return true;
	}

// Attributes:
	private int firstOnPage = 0;
	private int lastOnPage = 0;
	private int pageIndex = 0;
}

⌨️ 快捷键说明

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