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

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

?? omgeometrylist.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
// **********************************************************************// // <copyright>// //  BBN Technologies//  10 Moulton Street//  Cambridge, MA 02138//  (617) 873-8000// //  Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/omGraphics/OMGeometryList.java,v $// $RCSfile: OMGeometryList.java,v $// $Revision: 1.8.2.3 $// $Date: 2005/08/09 21:17:44 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.omGraphics;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Paint;import java.awt.Shape;import java.awt.Stroke;import java.awt.TexturePaint;import java.awt.geom.GeneralPath;import java.io.EOFException;import java.io.IOException;import java.io.ObjectInputStream;import java.io.OptionalDataException;import java.io.Serializable;import java.util.ListIterator;import com.bbn.openmap.proj.Projection;import com.bbn.openmap.util.GraphicList;import com.bbn.openmap.util.Debug;/** * This class encapsulates a List of OMGeometries. It's an OMGraphic, * so it contains information on how to draw them. It's also a * subclass to the OMGraphicList, and relies on many OMGraphicList * methods. *  * <p> * The OMGeometryList assumes that all OMGeometries on it should be * rendered the same - same fill color, same edge color and stroke, * and will create one java.awt.Shape object from all the projected * OMGeometries for more efficient rendering. If your individual * OMGeometries have independing rendering characteristics, use the * OMGraphicList and OMGraphics. *  * <p> * Because the OMGeometryList creates a single java.awt.Shape object * for all of its contents, it needs to be generated() if an * OMGeometry is added or removed from the list. If you don't * regenerate the OMGeometryList, the list will iterate through its * contents and render each piece separately. */public class OMGeometryList extends OMGraphicList implements GraphicList,        Serializable {    /**     * Flag to mark that the parts should be connected, making this     * OMGeometryList a combination OMGraphic that sums disparate     * parts. False by default.     */    protected boolean connectParts = false;    /**     * Construct an OMGeometryList.     */    public OMGeometryList() {        super(10);    };    /**     * Construct an OMGeometryList with an initial capacity.     *      * @param initialCapacity the initial capacity of the list     */    public OMGeometryList(int initialCapacity) {        super(initialCapacity);    };    /**     * Construct an OMGeometryList around a List of OMGeometries. The     * OMGeometryList assumes that all the objects on the list are     * OMGeometries, and never does checking. Live with the     * consequences if you put other stuff in there.     *      * @param list List of OMGeometries.     */    public OMGeometryList(java.util.List list) {        super(list);    }    /**     * Add an OMGeometry to the GraphicList. The OMGeometry must not     * be null.     *      * @param g the non-null OMGeometry to add     * @exception IllegalArgumentException if OMGeometry is null     */    public void add(OMGeometry g) {        setNeedToRegenerate(true);        _add(g);    }    /**     * Remove the geometry from the list.     *      * @param geometry the geometry to remove.     * @return true if geometry was on the list, false if otherwise.     */    public boolean remove(OMGeometry geometry) {        setNeedToRegenerate(true);        return _remove(geometry);    }    /**     * Return the index of the OMGeometry in the list.     *      * @param geometry the geometry to look for     * @return the index in the list of the geometry, -1 if the object     *         is not found.     */    public int indexOf(OMGeometry geometry) {        return _indexOf(geometry);    }    /**     * Set the geometry at the specified location. The OMGeometry must     * not be null.     *      * @param geometry OMGeometry     * @param index index of the OMGeometry to return     * @exception ArrayIndexOutOfBoundsException if index is     *            out-of-bounds     */    public void setAt(OMGeometry geometry, int index) {        setNeedToRegenerate(true);        _setAt(geometry, index);    }    /**     * Get the geometry at the location number on the list.     *      * @param location the location of the OMGeometry to return     * @return OMGeometry or null if location &gt; list size     * @exception ArrayIndexOutOfBoundsException if     *            <code>location &lt; 0</code> or     *            <code>location &gt;=     * this.size()</code>     */    public OMGeometry getAt(int location) {        return _getAt(location);    }    /**     * Get the geometry with the appObject. Traverse mode doesn't     * matter. Tests object identity first, then tries equality.     *      * @param appObj appObject of the wanted geometry.     * @return OMGeometry or null if not found     * @see Object#equals     * @see OMGeometry#setAppObject     * @see OMGeometry#getAppObject     */    public OMGeometry getWithAppObject(Object appObj) {        return _getWithAppObject(appObj);    }    /**     * Remove the geometry at the location number.     *      * @param location the location of the OMGeometry to remove     */    public Object removeAt(int location) {        Object obj = _remove(location);        if (obj != null) {            setNeedToRegenerate(true);        }        return obj;    }    /**     * Insert the geometry at the location number. The OMGeometry must     * not be null.     *      * @param geometry the OMGeometry to insert.     * @param location the location of the OMGeometry to insert     * @exception ArrayIndexOutOfBoundsException if index is     *            out-of-bounds     */    public void insertAt(OMGeometry geometry, int location) {        setNeedToRegenerate(true);        _insert(geometry, location);    }    /**     * Set the stroke for this list object. All geometries will be     * rendered with this stroke.     *      * @param s the stroke object to use.     */    public void setStroke(Stroke s) {        if (s != null) {            stroke = s;        } else {            stroke = new BasicStroke();        }    }    /**     * Set the fill paint for this list object. All the geometries     * will be rendered with this fill paint.     *      * @param paint java.awt.Paint     */    public void setFillPaint(Paint paint) {        if (paint != null) {            fillPaint = paint;            if (Debug.debugging("omGraphics")) {                Debug.output("OMGraphic.setFillPaint(): fillPaint= "                        + fillPaint);            }        } else {            fillPaint = clear;            if (Debug.debugging("omGraphics")) {                Debug.output("OMGraphic.setFillPaint(): fillPaint is clear");            }        }        setEdgeMatchesFill();    }    /**     * Set the texture mask for the OMGeometries on the list. If not     * null, then it will be rendered on top of the fill paint. If the     * fill paint is clear, the texture mask will not be used. If you     * just want to render the texture mask as is, set the fill paint     * of the graphic instead. This is really to be used to have a     * texture added to the graphics, with the fill paint still     * influencing appearance.     */    public void setTextureMask(TexturePaint texture) {        textureMask = texture;    }    /**     * Set the line paint for this list object. All the geometries     * will be rendered with this fill paint.     *      * @param paint Set the line paint for all the objects on the     *        list.     */    public void setLinePaint(Paint paint) {        if (paint != null) {            linePaint = paint;        } else {            linePaint = Color.black;        }        if (!selected) {            displayPaint = linePaint;        }        setEdgeMatchesFill();    }    /**     * Set the select paint for this list object. All the geometries     * will be rendered with this fill paint.     *      * @param paint java.awt.Paint     */    public void setSelectPaint(Paint paint) {        if (paint != null) {            selectPaint = paint;        } else {            selectPaint = Color.black;        }        if (selected) {            displayPaint = selectPaint;        }        setEdgeMatchesFill();    }    /**     * Set the matting paint for all the objects on the list.     *      * @param paint java.awt.Paint     */    public void setMattingPaint(Paint paint) {        if (paint != null) {            mattingPaint = paint;        } else {            mattingPaint = Color.black;        }    }    /**     * Set the matting flag for all the list.     */    public void setMatted(boolean value) {        matted = value;    }    /**     * Renders all the objects in the list a geometries context. This     * is the same as <code>paint()</code> for AWT components. The     * geometries are rendered in the order of traverseMode. Any     * geometries where <code>isVisible()</code> returns false are     * not rendered.     *      * @param gr the AWT Graphics context     */    public synchronized void render(Graphics gr) {        Shape shp = getShape();        if (shp != null) {            if (matted) {                if (gr instanceof Graphics2D && stroke instanceof BasicStroke) {                    ((Graphics2D) gr).setStroke(new BasicStroke(((BasicStroke) stroke).getLineWidth() + 2f));                    setGraphicsColor(gr, mattingPaint);                    draw(gr);                }            }            setGraphicsForFill(gr);            ((Graphics2D) gr).fill(shp);            setGraphicsForEdge(gr);            ((Graphics2D) gr).draw(shp);        } else {            ListIterator iterator;            java.util.List targets = getTargets();            OMGeometry geometry;            if (traverseMode == FIRST_ADDED_ON_TOP) {                iterator = targets.listIterator(targets.size());                while (iterator.hasPrevious()) {                    geometry = (OMGeometry) iterator.previous();                    if (geometry.isVisible()) {                        renderGeometry(geometry, gr);                    }                }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美另类图片小说| 亚洲欧洲性图库| 久久色在线观看| 26uuu另类欧美亚洲曰本| 欧美mv和日韩mv的网站| 精品乱人伦小说| 久久久久久久免费视频了| 香蕉久久夜色精品国产使用方法 | 一区二区三区四区中文字幕| 久久精品噜噜噜成人av农村| 成人午夜av影视| 日本网站在线观看一区二区三区 | 国产成人午夜精品影院观看视频 | eeuss鲁片一区二区三区| 日韩在线一区二区| 日韩国产精品久久久久久亚洲| 亚洲一区二区视频在线观看| 亚洲一级二级三级在线免费观看| 综合欧美一区二区三区| 成人免费看黄yyy456| 欧美一区二区美女| 日本不卡一区二区三区高清视频| 日韩一区二区三区视频在线| 91麻豆蜜桃一区二区三区| 国产精一区二区三区| 欧美艳星brazzers| 精品一区二区影视| 在线综合视频播放| 欧美性猛片aaaaaaa做受| 国产精品一区二区x88av| 三级久久三级久久久| 天堂蜜桃一区二区三区| 成人欧美一区二区三区黑人麻豆| 欧美成人r级一区二区三区| 欧美色图一区二区三区| 欧美最猛性xxxxx直播| 日韩不卡一二三区| 香蕉久久一区二区不卡无毒影院 | 亚洲手机成人高清视频| 成人一级视频在线观看| 91麻豆swag| 欧美日韩成人激情| 欧美日韩在线亚洲一区蜜芽| 国产91清纯白嫩初高中在线观看| 亚洲免费资源在线播放| 亚洲国产另类av| 亚洲午夜精品一区二区三区他趣| 欧美激情在线看| 国产精品色哟哟网站| 日本一区二区免费在线观看视频| 精品美女一区二区三区| 欧美一区二区免费视频| 日韩视频免费直播| wwwwxxxxx欧美| 国产精品网站在线观看| 国产欧美一区二区三区沐欲| 久久精品综合网| 亚洲人成网站精品片在线观看| 1000部国产精品成人观看| 久久久青草青青国产亚洲免观| 久久综合色一综合色88| 国产精品不卡在线观看| 久久成人综合网| 激情国产一区二区| 高清shemale亚洲人妖| 欧美无砖砖区免费| 欧美一区二区黄| 国产精品久久三区| 亚洲一区二区av电影| 一区二区三区免费网站| 久久成人免费电影| 老司机午夜精品99久久| 国产九九视频一区二区三区| 国产精品亚洲人在线观看| 六月丁香婷婷色狠狠久久| 老司机精品视频一区二区三区| 久草中文综合在线| 色婷婷久久久久swag精品 | 欧美激情中文不卡| 黄色精品一二区| 欧美一区二区观看视频| 国产网站一区二区| 国模娜娜一区二区三区| 91视频一区二区三区| 538prom精品视频线放| 久久久国产综合精品女国产盗摄| 国产日产欧美精品一区二区三区| 日韩国产欧美在线播放| 麻豆精品新av中文字幕| 成人国产精品免费| 色婷婷亚洲精品| 欧美一级黄色大片| 亚洲欧美精品午睡沙发| 亚洲国产精品一区二区尤物区| av影院午夜一区| 欧美精品一二三| 中文字幕精品一区二区精品绿巨人 | 国产精品网站一区| 日韩精品一区二区三区老鸭窝| 欧美日韩一区久久| 日韩一级二级三级| 亚洲一二三四区| 亚洲精品免费在线| 精品一区二区三区视频在线观看 | 欧美电影免费观看高清完整版| 国产精品久久久久久久岛一牛影视 | 5858s免费视频成人| 国产精品乱子久久久久| 国产91丝袜在线观看| 一本大道综合伊人精品热热| 久久精品男人的天堂| 9人人澡人人爽人人精品| 欧美日韩激情一区| 日韩欧美你懂的| 日本亚洲最大的色成网站www| 欧美综合亚洲图片综合区| 国产人伦精品一区二区| 日韩电影一区二区三区| 欧美一区日本一区韩国一区| 国产视频在线观看一区二区三区 | 亚洲欧美日韩精品久久久久| 国产精品麻豆99久久久久久| 97精品久久久久中文字幕| 在线看不卡av| 亚洲综合久久久久| 韩国v欧美v亚洲v日本v| 久久精品视频在线看| 一本大道av伊人久久综合| 一区免费观看视频| 欧美va在线播放| 91网页版在线| 国产在线精品一区在线观看麻豆| 欧美日韩国产综合久久 | 91美女蜜桃在线| 欧美亚洲禁片免费| 亚洲人成精品久久久久| 成人午夜电影久久影院| 麻豆成人在线观看| 欧美电影在线免费观看| 亚洲国产精品综合小说图片区| 国产日韩欧美精品电影三级在线| 国产盗摄女厕一区二区三区| 国产一区二区三区久久悠悠色av| 亚洲美女在线国产| 国产亚洲欧洲一区高清在线观看| 91视频免费播放| 亚洲国产美国国产综合一区二区| 欧美v日韩v国产v| 日韩欧美一区二区久久婷婷| 国产成人福利片| 国产精品自拍三区| 日本成人在线不卡视频| 亚洲成人精品一区二区| 亚洲精品菠萝久久久久久久| 亚洲国产日韩在线一区模特| 亚洲黄色尤物视频| 日韩一区在线播放| 欧美肥妇free| 26uuu国产日韩综合| 一区二区三区在线不卡| 国产精品人人做人人爽人人添| 国产午夜精品久久| 欧美日本韩国一区二区三区视频| 国产一区二区在线观看视频| 亚洲大片免费看| 亚洲一区二区精品久久av| 久色婷婷小香蕉久久| 久久精品国产亚洲a| 天天av天天翘天天综合网| 久久精品噜噜噜成人88aⅴ| 国产一区二区在线免费观看| 高清日韩电视剧大全免费| 91免费视频网址| 亚洲同性同志一二三专区| 国产电影一区二区三区| 国产女主播在线一区二区| 欧美视频一区二区三区四区 | 91在线观看成人| 欧美经典一区二区三区| 99riav一区二区三区| 亚洲国产wwwccc36天堂| 久久久久久夜精品精品免费| 91国产丝袜在线播放| 亚洲天堂久久久久久久| 国产人久久人人人人爽| 日韩一区二区电影| 3atv一区二区三区| 全部av―极品视觉盛宴亚洲| 久久久影院官网| 国产精品网曝门| 国产在线精品国自产拍免费| 亚洲国产视频在线| 亚洲女同女同女同女同女同69| 久久精品日产第一区二区三区高清版| 不卡的av电影在线观看| 丁香网亚洲国际| 青青草国产成人av片免费 | 欧美午夜片在线观看| 九九视频精品免费| 国产精品麻豆网站|