亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产精品99久久久久久久女警| 在线不卡a资源高清| 色综合久久综合网97色综合| 成人av电影在线| 在线观看av不卡| 欧美一区二区精品| 中文字幕第一区二区| 亚洲欧美日韩国产手机在线| 舔着乳尖日韩一区| 国产在线播放一区二区三区| 成人成人成人在线视频| 在线视频中文字幕一区二区| 日韩欧美激情在线| 国产精品免费久久| 日韩在线卡一卡二| youjizz久久| 欧美一区二区三区免费视频| 国产人成一区二区三区影院| 伊人婷婷欧美激情| 国产麻豆一精品一av一免费| 色综合久久综合网97色综合| 欧美v日韩v国产v| 亚洲午夜免费电影| 高清成人免费视频| 欧美一级欧美三级在线观看| 中文成人av在线| 亚洲三级免费观看| 国产午夜精品一区二区三区嫩草| 国产精品99久久久| 自拍av一区二区三区| 日本高清视频一区二区| 亚洲六月丁香色婷婷综合久久| 91免费观看视频在线| 亚洲一区二区精品3399| 欧美日韩一区 二区 三区 久久精品| 亚洲国产色一区| 欧美变态口味重另类| 国产精品羞羞答答xxdd| 欧美国产一区视频在线观看| 99国产欧美久久久精品| 婷婷成人激情在线网| 日本一区二区在线不卡| 狠狠色丁香久久婷婷综| 337p粉嫩大胆色噜噜噜噜亚洲| 免费看欧美美女黄的网站| 欧美亚洲愉拍一区二区| 婷婷激情综合网| 日韩精品一区二区三区swag| 国产中文一区二区三区| 欧美国产欧美综合| thepron国产精品| 亚洲成av人片一区二区三区| 欧美日韩国产不卡| 麻豆精品一二三| 中文字幕巨乱亚洲| 欧美日本乱大交xxxxx| 美女视频黄 久久| 国产精品久久毛片a| 欧美偷拍一区二区| 久久se这里有精品| 国产精品天天摸av网| 欧美性色黄大片手机版| 久久精品国内一区二区三区| 国产精品青草久久| 欧美日本在线视频| 91一区二区在线| 九九国产精品视频| 2023国产精华国产精品| 欧美日韩一区三区四区| 精品一区二区综合| 日韩va亚洲va欧美va久久| 亚洲欧美日韩系列| 国产拍欧美日韩视频二区| 欧美丝袜自拍制服另类| 91视频免费播放| 国产成人免费视| 日本va欧美va欧美va精品| 一区二区三区在线视频观看| 久久久一区二区三区| 日韩免费成人网| 欧美日韩小视频| 日本高清不卡aⅴ免费网站| 国产黑丝在线一区二区三区| 麻豆国产精品777777在线| 一区二区三区不卡在线观看| 国产精品国产a| 国产精品久久久久影院| 国产日韩成人精品| 国产欧美中文在线| 国产色产综合产在线视频| 日韩美女主播在线视频一区二区三区| 一本大道久久a久久精二百| 91在线观看高清| 91视频国产观看| 91看片淫黄大片一级在线观看| 风流少妇一区二区| 国内一区二区在线| 国产成人免费在线| 国产**成人网毛片九色 | 日韩欧美第一区| 国产精品理论片在线观看| 亚洲国产婷婷综合在线精品| 国产精品一级片在线观看| 一本色道亚洲精品aⅴ| 久久先锋影音av鲁色资源网| 一区二区三区加勒比av| 狠狠色丁香婷婷综合| 国产高清一区日本| 粉嫩av亚洲一区二区图片| 成人免费精品视频| 色94色欧美sute亚洲13| 国产在线播放一区| 丁香激情综合五月| 国产美女久久久久| 在线亚洲一区二区| 91精品国产免费久久综合| 精品久久人人做人人爰| 欧美激情中文字幕| 一区二区三区在线免费| 久久不见久久见中文字幕免费| 国产麻豆日韩欧美久久| 99久久精品国产一区二区三区 | 欧美久久高跟鞋激| 欧美三区免费完整视频在线观看| 久久精品一区二区三区不卡| 色爱区综合激月婷婷| 日韩精品一区二区在线| 亚洲高清免费视频| 丁香婷婷综合色啪| 欧美a级理论片| 成人免费高清视频在线观看| 日韩欧美国产综合| 国产欧美日韩综合| 看片网站欧美日韩| 5566中文字幕一区二区电影| **欧美大码日韩| 成人av网址在线| 精品国产伦一区二区三区观看方式 | 日本一区二区三区国色天香| 精品久久人人做人人爽| 成人黄色电影在线| 97久久久精品综合88久久| 不卡一区在线观看| 色婷婷亚洲一区二区三区| 91女神在线视频| 欧美日精品一区视频| 精品美女一区二区三区| 国产很黄免费观看久久| 综合亚洲深深色噜噜狠狠网站| 欧美三级午夜理伦三级中视频| 首页国产欧美久久| 国产欧美综合在线观看第十页| 色综合久久天天| 国产麻豆精品theporn| 亚洲五码中文字幕| 国产精品伦理在线| 日韩三级免费观看| av成人免费在线| 日韩黄色片在线观看| 1000部国产精品成人观看| 日韩欧美卡一卡二| 制服丝袜av成人在线看| youjizz久久| 国产一区二区剧情av在线| 亚洲一级片在线观看| 成人欧美一区二区三区小说 | 中文字幕一区二区三区不卡在线| 日韩一区二区电影在线| 国产精品99久久久久久似苏梦涵 | 5858s免费视频成人| 色偷偷久久人人79超碰人人澡| 国产ts人妖一区二区| 免费精品视频最新在线| 青椒成人免费视频| 亚洲国产一区二区三区| 中文字幕一区二区三中文字幕 | 国产成人免费在线观看不卡| 日韩电影免费在线观看网站| 亚洲一区二区视频| 综合电影一区二区三区| 欧美激情中文字幕| www国产亚洲精品久久麻豆| 日韩精品综合一本久道在线视频| 欧美片在线播放| 欧美亚洲高清一区| 欧美日本韩国一区二区三区视频 | 欧美亚洲日本国产| www.亚洲色图.com| 97国产精品videossex| 高清在线成人网| 国产成人av网站| 国产一区视频在线看| 亚洲国产你懂的| 全部av―极品视觉盛宴亚洲| 亚洲国产综合91精品麻豆 | 福利一区二区在线| 国产传媒一区在线| 国产福利电影一区二区三区| 国产不卡视频一区| 国产成人免费视频网站高清观看视频 |