亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? virtuallist.java.svn-base

?? 類似QQ的功能
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
/******************************************************************************* Library of additional graphical screens for J2ME applications Copyright (C) 2003-08  Jimm Project 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA******************************************************************************** File: src/DrawControls/VirtualList.java Version: ###VERSION###  Date: ###DATE### Author(s): Artyomov Denis, Igor Palkin*******************************************************************************/package DrawControls;import javax.microedition.lcdui.*;import java.lang.Math;import java.util.Timer;import java.util.TimerTask;import java.util.Vector;import DrawControls.ListItem;import DrawControls.VirtualListCommands;class VirtualCanvas extends Canvas implements Runnable{	VirtualList currentControl;	private Timer repeatTimer = new Timer();	private TimerTask timerTask;	private int lastKeyKode;	private Display display;			public void setDisplay(Display display)	{		this.display = display;	}		public Display getDisplay()	{		return display;	}		public VirtualCanvas()	{		//#sijapp cond.if target="MIDP2" | target="MOTOROLA" | target="SIEMENS2"#		setFullScreenMode(true);		//#sijapp cond.elseif target="RIM"#		setFullScreenMode(false);		//#sijapp cond.end#	}		protected void paint(Graphics g)	{		if (currentControl != null) currentControl.paint(g);	}		protected void showNotify()	{		cancelKeyRepeatTask();		//#sijapp cond.if target="MIDP2" | target="MOTOROLA" | target="SIEMENS2"#		setFullScreenMode(true);		//#sijapp cond.elseif target="RIM"#		setFullScreenMode(false);		//#sijapp cond.end#		if (currentControl != null) currentControl.showNotify();	}		protected void hideNotify()	{		cancelKeyRepeatTask();//#sijapp cond.if target!="RIM" & target!="DEFAULT"#		currentControl.resetUiState();//#sijapp cond.end#				currentControl.onHide();	}		public void run()	{		if (timerTask == null) return;		currentControl.keyRepeated(lastKeyKode);	}	protected void keyPressed(int keyCode)	{		cancelKeyRepeatTask();		if (currentControl != null) currentControl.keyPressed(keyCode);		lastKeyKode = keyCode;		timerTask = new TimerTask() {			public void run()			{				display.callSerially(VirtualCanvas.this);			}		};		repeatTimer.schedule(timerTask, 500, 50);	}	protected void keyReleased(int keyCode)	{		if (currentControl != null) currentControl.keyReleased(keyCode);		cancelKeyRepeatTask();	}		void cancelKeyRepeatTask()	{		if (timerTask != null) timerTask.cancel();		lastKeyKode = 0;		timerTask = null;	}		//#sijapp cond.if target is "MIDP2"#	protected void pointerDragged(int x, int y)	{		if (currentControl != null) currentControl.pointerDragged(x, y); 	}		protected void pointerPressed(int x, int y)	{		if (currentControl != null) currentControl.pointerPressed(x, y); 	}		protected void pointerReleased(int x, int y)	{		if (currentControl != null) currentControl.pointerReleased(x, y);	}	//#sijapp cond.end#}public abstract class VirtualList{	private static VirtualCanvas virtualCanvas = new VirtualCanvas();  		/*! Use dotted mode of cursor. If item of list 	 is selected, dotted rectangle drawn around  it*/	public final static int CURSOR_MODE_ENABLED = 2;	/*! Does't show cursor at selected item. */	public final static int CURSOR_MODE_DISABLED = 3;	/*! Constant for medium sized font of caption and item text */	public final static int MEDIUM_FONT = Font.SIZE_MEDIUM;	/*! Constant for large sized font of caption and item text */	public final static int LARGE_FONT = Font.SIZE_LARGE;	/*! Constant for small sized font of caption and item text */	public final static int SMALL_FONT = Font.SIZE_SMALL;	// Key event type	public final static int KEY_PRESSED = 1;	public final static int KEY_REPEATED = 2;	public final static int KEY_RELEASED = 3;		// Mode for background image	private static boolean caveBgImage = true;		// Commands to react to VL events	private VirtualListCommands vlCommands;	// Used by "Invalidate" method to prevent invalidate when locked 	private boolean dontRepaint = false;	// Used for passing params of items when painting 	final static protected ListItem paintedItem;	// Used to catch changes to repaint data	private int lastCurrItem = 0, lastTopItem = 0;	private static int curMenuItemIndex;	private static int[] curXVals = new int[2];		private static final int KEY_CODE_LEFT_MENU = 1000001;	private static final int KEY_CODE_RIGHT_MENU = 1000002;	private static final int KEY_CODE_BACK_BUTTON = 1000003;	private static final int KEY_CODE_UNKNOWN = 1000004;	// Individual UI stuff	protected int     currItem         = 0;	private   Image   capImages[];//#sijapp cond.if target!="DEFAULT"#	private   static  Image backImage;//#sijapp cond.end#			protected boolean cyclingCursor    = false;	private   boolean fullScreen       = false;	protected int     borderWidth      = 0;	protected int     curFrameWidth    = 1;	private   int     topItem          = 0; // Index of top visilbe item 	private   int     fontSize         = MEDIUM_FONT; // Current font size of VL	private   int     bkgrndColor      = 0xFFFFFF; // bk color of VL	private   int     cursorColor      = 0x808080; // Used when drawing focus rect.	private   int     cursorFrameColor = 0xFF; // Used when drawing focus rect.	private   int     textColor        = 0x000000; // Default text color.	private   int     capBkCOlor       = 0xC0C0C0;	private   int     capTxtColor      = 0x00; // Color of caprion text	private   int     cursorMode       = CURSOR_MODE_ENABLED; // Cursor mode	private   String  caption;	private   int     fontHeight;	private   int     cursorAlpha      = 255;	private   int     menuAlpha        = 255;	protected Font    FONT_STYLE_BOLD;	protected Font    FONT_STYLE_PLAIN;	protected Font    FONT_STYLE_ITALIC;	// Common UI stuff	private   static Font    capAndMenuFont;	private   static boolean mirrorMenu = false;	private   static int     capOffset  = 0;	private   static String  bottomText = null;	protected static final int scrollerWidth;	private   static boolean	mpbEnable  = false;	private   static int		mpbPercent = 0;	static	{		capAndMenuFont = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD, Font.SIZE_SMALL);		int width = capAndMenuFont.getHeight() / 3;		scrollerWidth = width > 4 ? width : 4;		paintedItem = new ListItem();	}	/**	 * Sets mirror-style for menues. If value is true, left and right menus is changed over 	 * @param value values for mirror-style of menus	 */	public static void setMirrorMenu(boolean value)	{		mirrorMenu = value;	}		public static void setCapOffset(int value)	{		capOffset = value;	}		public static void setMiniProgressBar(boolean value)	{		mpbEnable = value;		System.out.println ("mpbEnable = " + value);	}	public static boolean getMpbState()	{		return mpbEnable;	}	public static void setMpbPercent(int value)	{		mpbPercent = value;		if (virtualCanvas.currentControl != null)			virtualCanvas.currentControl.repaint();		System.out.println ("mpbPercent = " + value + "%");	}	/**	 * Sets display reference for all VirtualList's instances. You have to set display	 * before usage of VirtualList objects	 * @param display reference to midlet's display	 */	static public void setDisplay(Display display)	{		virtualCanvas.setDisplay(display);	}		public void setFullScreen(boolean value)	{		if (fullScreen == value) return;		fullScreen = value;		if (isActive()) virtualCanvas.repaint();	}		public static void setFullScreenForCurrent(boolean value)	{		if (virtualCanvas.currentControl != null) 			virtualCanvas.currentControl.setFullScreen(value);	}	//! Create new virtual list with default values  	public VirtualList(String capt //!< Caption text of new virtual list	)	{		super();		setCaption(capt);		//#sijapp cond.if target is "SIEMENS2"# 		//#		this.fontSize = Font.SIZE_SMALL;		//#sijapp cond.else#		this.fontSize = Font.SIZE_MEDIUM;		//#sijapp cond.end#				this.cursorMode = CURSOR_MODE_ENABLED;		initVirtualList();	}	// public VirtualList	public VirtualList(String capt, //!< Caption text of new virtual list		int capTextColor, //!< Caption text color		int backColor, //!< Control back color		int fontSize, /*!< Control font size. This font size if used both for caption and text in tree nodes */		int cursorMode /*!< Cursor mode. Can be VirtualList.SEL_DOTTED or VirtualList.SEL_INVERTED */	)	{		super();		setCaption(capt);		this.capTxtColor = capTextColor;		this.bkgrndColor = backColor;		this.fontSize = fontSize;		this.cursorMode = cursorMode;		initVirtualList();	}		private void initVirtualList()	{		initFonts();		fontHeight = getQuickFont(Font.STYLE_PLAIN).getHeight();		curFrameWidth = (fontHeight > 16) ? 2 : 1;		borderWidth = fontHeight/6+1;	}	//! Request number of list elements to be shown in list	/*! You must return number of list elements in successtor of	 VirtualList. Class calls method "getSize" each time before it drawn */	abstract protected int getSize();	//! Request of data of one list item	/*! You have to reload this method. With help of method "get" class finds out	 data of each item. Method "get" is called each time when list item 	 is drawn */	abstract protected void get(int index, //!< Number of requested list item 		ListItem item //!< Data of list item. Fill this object with item data.	);	Font getQuickFont(int style)	{		switch (style)		{		case Font.STYLE_BOLD:			return FONT_STYLE_BOLD;					case Font.STYLE_PLAIN:			return FONT_STYLE_PLAIN;					case Font.STYLE_ITALIC:			return FONT_STYLE_ITALIC;		}				return Font.getFont(Font.FACE_SYSTEM, style, fontSize);	}	// returns height of draw area in pixels  	protected int getDrawHeight()	{		int menuBartHeight;//#sijapp cond.if target="RIM" | target="DEFAULT"#				menuBartHeight = 0;//#sijapp cond.else#		menuBartHeight = getMenuBarHeight();//#sijapp cond.end#				return getHeightInternal() - getCapHeight() - menuBartHeight;	}	//! Init static Fonts	private void initFonts()	{		FONT_STYLE_BOLD = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, fontSize);		FONT_STYLE_PLAIN = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, fontSize);		FONT_STYLE_ITALIC = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_ITALIC, fontSize);	}	//! Sets new font size and invalidates items	public void setFontSize(int value)	{		if (fontSize == value) return;		fontSize = value;		initFonts();		fontHeight = FONT_STYLE_PLAIN.getHeight();		checkTopItem();		invalidate();	}		public void setCyclingCursor(boolean value)	{		cyclingCursor = value;	}		public int getGameAction(int keyCode)	{		return virtualCanvas.getGameAction(keyCode);	}		public void repaint()	{		if (isActive()) virtualCanvas.repaint();	}	int capImagesHeight = 0;	public void setCapImage(Image[] images)	{		if (capImages == images) return;		capImages = images;		if (images == null) capImagesHeight = 0;		else		{			capImagesHeight = 0;			for (int i = 0; i < images.length; i++)			{				if (images[i] == null) continue;				int ih = images[i].getHeight();				if (ih > capImagesHeight) capImagesHeight = ih; 			}		}		invalidate(0, 0, getWidth(), getCapHeight());	}//#sijapp cond.if target!="DEFAULT"#	public static void setBackImage(Image image, boolean cave)	{		if (backImage == image) return;		backImage = image;		caveBgImage = cave;		if (backImage == null) return;		int width = image.getWidth();		int height = image.getHeight();		int[] pixels = new int[width*height]; 		int size = (width < height) ? width : height;		if (size == 0) return;		image.getRGB(pixels, 0, width, 0, 0, width, height);		long total = 0;		for (int i = 0; i < size; i++)		{			int pixel = pixels[i*width+i];			int r = pixel&0xFF;			int g = (pixel >> 8)&0xFF;			int b = (pixel >> 16)&0xFF;			total += (r+g+b);  		}		total /= size;		backImageInvColor = (total > 300) ? 0x000000 : 0xFFFFFF; 	}		public static Image getBackImage()	{		return backImage;	}		static private int backImageInvColor; 	//#sijapp cond.end#		static public int checkTextColor(int color)	{//#sijapp cond.if target!="DEFAULT"#				if (backImage == null) return color;		if (getInverseColor(color) == backImageInvColor) return backImageInvColor;//#sijapp cond.end#				return color;	}	public void setVLCommands(VirtualListCommands vlCommands)	{		this.vlCommands = vlCommands;	}		public static VirtualList getCurrent()	{		return virtualCanvas.isShown() ? virtualCanvas.currentControl : null; 	}	public void setColors(int capTxt, int capbk, int bkgrnd, int cursor, int text, int crsFrame, int cursorAlpha, int menuAlpha)	{		this.capBkCOlor = capbk;		this.capTxtColor = capTxt;		this.bkgrndColor = bkgrnd;		this.cursorColor = cursor;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区成人在线视频| 国产日韩影视精品| 在线视频一区二区免费| 成人不卡免费av| 成人综合日日夜夜| 成人综合在线视频| 成人自拍视频在线| 成人精品一区二区三区中文字幕 | 欧美久久免费观看| 欧美日本免费一区二区三区| 欧美日韩国产精品成人| 欧美老女人第四色| 日韩精品一区二| 久久久久久亚洲综合影院红桃| 久久久精品蜜桃| 亚洲天堂av一区| 夜夜亚洲天天久久| 麻豆91在线观看| 国产成人亚洲精品青草天美| av动漫一区二区| 欧美日韩一区二区三区在线看| 91精品国产欧美日韩| 天堂久久一区二区三区| 国产精品一线二线三线精华| 久久奇米777| 日韩成人dvd| 欧美一区二区高清| 六月婷婷色综合| 欧美日韩dvd在线观看| 成人ar影院免费观看视频| 91麻豆swag| 777久久久精品| 久久久久青草大香线综合精品| 国产精品免费av| 视频一区二区三区在线| 国产宾馆实践打屁股91| 欧美天天综合网| 国产喷白浆一区二区三区| 亚洲影视在线观看| 国产另类ts人妖一区二区| 99久久免费精品高清特色大片| 在线不卡中文字幕| 国产精品成人免费精品自在线观看| 91精品国产麻豆国产自产在线 | 国产精品系列在线| 亚洲国产你懂的| 懂色av一区二区三区免费看| 在线影院国内精品| 中文字幕乱码日本亚洲一区二区| 亚洲国产精品久久久久婷婷884| 国产99久久久国产精品| 日韩一区二区三区免费看| 亚洲人成网站精品片在线观看 | www.亚洲国产| 日韩精品一区二区三区在线播放 | 亚洲欧美日韩久久| 国产精品亚洲а∨天堂免在线| 欧美一区二区视频网站| 亚洲精品少妇30p| 成人精品视频一区二区三区 | 成人伦理片在线| 久久影视一区二区| 成人网在线免费视频| 欧美一区二区视频免费观看| 亚洲黄色录像片| 色婷婷香蕉在线一区二区| 国产精品丝袜一区| 国产激情精品久久久第一区二区 | 欧美日韩亚洲综合一区二区三区| 日韩美女精品在线| 国产**成人网毛片九色 | 欧美成人猛片aaaaaaa| 日韩精品电影在线观看| 欧美曰成人黄网| 丝袜亚洲精品中文字幕一区| 在线观看亚洲精品视频| 亚洲综合区在线| 欧美专区日韩专区| 亚洲国产欧美在线| 91精品啪在线观看国产60岁| 日韩av一级片| 日韩精品中文字幕在线一区| 狠狠色狠狠色综合系列| 欧美极品aⅴ影院| 成人动漫一区二区三区| 亚洲免费视频中文字幕| 日本乱码高清不卡字幕| 亚洲线精品一区二区三区| 欧美精品 日韩| 麻豆国产91在线播放| 久久久国产精品麻豆| 成人免费av资源| 亚洲美女在线国产| 欧美人与性动xxxx| 精品一区二区影视| 国产精品久久福利| 在线观看一区二区精品视频| 青青草伊人久久| 国产色一区二区| 色诱亚洲精品久久久久久| 亚洲国产一区二区三区青草影视| 日韩一卡二卡三卡国产欧美| 国产精品911| 亚洲尤物在线视频观看| 日韩欧美视频在线| 91麻豆自制传媒国产之光| 肉色丝袜一区二区| 久久久99久久| 欧美吻胸吃奶大尺度电影| 九一九一国产精品| 亚洲少妇30p| 日韩欧美在线观看一区二区三区| 国产 欧美在线| 亚洲高清在线精品| 国产日产亚洲精品系列| 欧美视频中文字幕| 国产福利一区二区三区| 性欧美大战久久久久久久久| 国产欧美一区二区精品秋霞影院| 欧美少妇一区二区| 高清不卡在线观看| 日韩国产高清在线| 亚洲特级片在线| 久久久久久**毛片大全| 欧美日本国产视频| 99久精品国产| 国产成人在线视频播放| 日本成人在线看| 亚洲一区影音先锋| 中文字幕一区二区三区在线播放| 日韩一区二区在线免费观看| 欧美性做爰猛烈叫床潮| 99热精品国产| 国产精一区二区三区| 久久精品国产成人一区二区三区| 亚洲国产美女搞黄色| 亚洲靠逼com| 国产精品精品国产色婷婷| 久久蜜臀中文字幕| 日韩欧美国产不卡| 日韩一区二区三区电影| 欧美日韩国产小视频在线观看| 色欧美片视频在线观看在线视频| 成人精品一区二区三区四区| 国产成人鲁色资源国产91色综| 久久成人免费电影| 麻豆精品视频在线观看视频| 亚洲成人免费电影| 无码av免费一区二区三区试看 | 精品一二三四区| 午夜精品一区在线观看| 亚洲成人av中文| 亚洲国产精品久久人人爱| 久久国产剧场电影| 日韩精品国产欧美| 国产亚洲精品超碰| 久久精品国产一区二区三| 亚洲女人的天堂| 伊人婷婷欧美激情| 一个色妞综合视频在线观看| 亚洲第一成年网| 日韩激情中文字幕| 蜜臂av日日欢夜夜爽一区| 美女视频黄a大片欧美| 蜜桃视频在线一区| 免费成人性网站| 国产精品99久| 成人免费高清在线观看| 色综合久久精品| 在线综合视频播放| 欧美成人一区二区三区| 久久综合资源网| 中文字幕在线不卡一区二区三区| 一级女性全黄久久生活片免费| 亚洲成人资源网| 麻豆精品一二三| 不卡一区二区三区四区| 91精彩视频在线观看| 亚洲综合视频网| 久久99精品久久久| 国产成人在线免费观看| 一本色道**综合亚洲精品蜜桃冫| 欧美日韩高清在线| 国产日韩精品一区| 亚瑟在线精品视频| 国产suv精品一区二区三区| 在线这里只有精品| 精品国产一区二区在线观看| 中文字幕一区日韩精品欧美| 视频一区中文字幕国产| 国产成人超碰人人澡人人澡| 欧美四级电影在线观看| 国产亚洲一区二区在线观看| 亚洲一区在线观看网站| 国产激情精品久久久第一区二区| 色婷婷久久一区二区三区麻豆| 亚洲精品一区在线观看| 亚洲综合视频网| 国产91在线看| 精品剧情v国产在线观看在线|