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

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

?? layer.java

?? geotools的源碼
?? JAVA
字號:
package uk.ac.leeds.ccg.geotools;

import java.awt.*;

/**
 * A layer contains geographic feature of some kind that can be displayed in a map.
 * Anything that wants to end up on screen in a Viewer will need to 
 * implement this.<p>
 * Understanding Layers is key to understanding how geoTools works and if
 * you plan to add a new type of geographic feature then the layer interface is the place to
 * start.<p>
 * Layers are held in one or more themes which in turn are held in one or more
 * viewers.<p>
 * If you do write your own type of layer then extending simpleLayer will make 
 * life easyer for you.
 */
public interface Layer
{
    
		public static final int LOADING = 1;
		public static final int PENDING = 2;
		public static final int ERRORED = 4;
		public static final int ABORTED = 8;
		public static final int COMPLETED = 16;

    /**
     * Paints the layer to the screen.
     * The very hart of the layer mechanism, paintScaled is where layers
     * have to do most of their work.<br>
     * Calling and filling in of this method is handled by the theme to which
     * the layer has been added.<p>
     * The GeoGraphics object should provide you with everything
     * needed to plot a feature onto the screen.<br>
     * Inside gg you can use or not use the facilies provided as you see fit.<p>
     * gg.getGraphics() A Graphics object to which you should direct all of your output.
     * gg.getScale() A Scaler which you can use to convert real world(tm) co-ordinates
     * into on screen co-ordinates for use with the Graphics g object.
     * gg.getShade() shade A Shader, if you want to color your features based on a value (perhaps from the data peramiter) then
     * use shade.getColor(double value); to obtain the colours.
     * gg.getGeoData() A GeoData object, use this if your features have id's then you can obtain a coresponding value
     * from data.
     * gg.getStyle() style A style with hints on how to display the features
     */
    
    public void paintScaled(GeoGraphics gg);
    
    /**
     * Highligts the specified feature.
     * A simple version of paintScaled, this is used to paint a single feature
     * in some way that make it stand out from the other features.<br>
     * Todate, this has been by using a bright red colour, a more user-definable
     * system maybe implemented in later versions.<br>
     * Again the only thing that sould call this is a Theme<br>
     * @param g A Graphics object to paint the highlighted feature to.
     * @param scale A scaler that can be used to scale the feature.
     * @param id An int for the ID of the feature to be highlighted.
     * @param style A style with hints on how to display the highlight
     * @see uk.ac.leeds.ccg.geotools.Theme
     */
    public void paintHighlight(Graphics g,Scaler scale,int id,ShadeStyle style);
    
     /**
     * Dispays the specified features.
     * A simple version of paintScaled, this is used to paint a group of features
     * in some way that make it stand out from the other features.<br>
     * Todate, this has been by using a bright red colour, a more user-definable
     * system maybe implemented in later versions.<br>
     * Again the only thing that sould call this is a Theme<br>
     * @param g A Graphics object to paint the selected features to.
     * @param scale A scaler that can be used to scale the feature.
     * @param ids An int[] for the IDs of the features to be shown as selected.
     * @param style A style with hints on how to display the selection
     * @see uk.ac.leeds.ccg.geotools.Theme
     */
    public void paintSelection(Graphics g,Scaler scale,int ids[],ShadeStyle style);
    
    
    /**
     * Gets the smallest GeoRectangle that will contain all of this layers features. 
     * When implementing this, set up a new GeoRectangle that will define the region of interest for your
     * layer.<p>
     * @return GeoRectangle A GeoRectangle that will contain all of the features in the layer; For layers without geographic bounds it should return a null e.g. a scale bar or a norh arrow.
     */   
    public GeoRectangle getBounds();
    
    /**
     * Gets the smallest GeoRectangle that will contain the feature identified by the given ID.
     * @since 0.6.5
     * @param id The id of the feature to fetch the bounds of
     * @return GeoRectangle The bounds of the requested feature
     */
     public GeoRectangle getBoundsOf(int id);
     
     /**
     * Gets the smallest GeoRectangle that will contain the features identified by the given IDs.
     * @since 0.6.5
     * @param id[] The ids of the features to fetch the bounding rectangle
     * @return GeoRectangle The bounds of the requested feature
     */
     public GeoRectangle getBoundsOf(int id[]);
     
    
    /**
     * gets the ID of the feature that can be assosiated with a given point.
     * For example, the ID of a feature that contains the point.
     * @param p The GeoPoint of a location to test for a feature.
     * @return int The id of the feature assosiated with this point; return 0 if no feature is associated.
     */
    public int getID(GeoPoint p);
    
    /**
     * gets the ID of the features that can be assosiated with a given region.
     * For example, the IDs of all features that are within the rectangle.
     * @param box The GeoGeoractangle of the region of the query.
     *
     * @return int[] The ids of the features assosiated with this region; returns new int[0] if no features are selected.
     */
    public int[] getIDs(GeoRectangle box,int mode);
    
    /**
     * A convinence method that is the same as getID(GeoPoint) but witout having to construct a geoPoint.
     * @param x a double, the x co-ordinate.
     * @param y a double, the y co-ordinate.
     * @return int The id of the feature assosiated with this point; return 0 if no feature is associated.
     */
    public int getID(double x,double y);
    /*{
        GeoPoint p = new GeoPoint(x,y);
        return getID(p);
    }*/

		/** 
		 * get the status of this layer: in most cases this should be 
		 * Layer.COMPLETED to show that the layer is ready to paint.
		 * Where a layer has posponed loading it can be 
		 * Layer.PENDING, Layer.LOADING, Layer.ERRORED or Layer.ABORTED
		 */
		public int getStatus();
		/** 
		 * set the status of this layer: in most cases this should be 
		 * Layer.COMPLETED to show that the layer is ready to paint.
		 * Where a layer has posponed loading it can be 
		 * Layer.PENDING, Layer.LOADING, Layer.ERRORED or Layer.ABORTED<br>
                 * When the status becomes COMPLETED for the first time, a
                 * LayerChangedEvent is sent.
		 * <strong>Should only be called by the Layer Producer or 
		 * the Layer itself</strong>
		 */
		public void setStatus(int status);
    
    /**
     * Adds a LayerChangedListener to the layer, typicaly called by Theme
     * writen for you if you extend simpleLayer();
     */
    public void addLayerChangedListener(LayerChangedListener lcl);
    
    /**
     * Removes a LayerChangedListener to the layer, typicaly called by Theme
     * writen for you if you extend simpleLayer();
     */
    public void removeLayerChangedListener(LayerChangedListener lcl);
    
    /**
     * Notifis all LayerChangedListener's that this layer has been modified.
     * It should only normaly be called by the layer itself.
     * To make life easyer it has been writen for you if you extend simpleLayer.
     * Make sure you call it if some aspect of your feature changes such that you would like it
     * to be re-painted.<p>
     * @param reason An int code indicating what type of change has occured; LayerChangedEvent provides GEOGRAPHY and DATA as two
     * constants to use as reason codes.
     * @see LayerChangedListener
     */
    public void notifyLayerChangedListeners(int reason);

    /** Set the name of this layer so it can be viewed in toString() and
     * getName() later on.
     * @param n the name of the layer
     */
    public void setName(String n);
    
    /**
     * Get the name of this layer.  If it has not been set in setName(), then
     * the layer will be called "Unknown".
     */
    public String getName();
    
    /**
     * Get the name of this layer.  If it has not been set in setName(), then
     * the layer will be called "Unknown".
     */
    public String toString();

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区四区中文字幕| 欧美v亚洲v综合ⅴ国产v| 久久福利视频一区二区| 日韩高清不卡一区| 视频一区视频二区中文字幕| 亚洲一区中文日韩| 亚洲午夜电影在线观看| 一区二区免费看| 亚洲成av人综合在线观看| 亚洲成a人片综合在线| 天堂一区二区在线| 免费在线成人网| 国产综合一区二区| 成人激情开心网| 91亚洲精品久久久蜜桃网站| 色偷偷一区二区三区| 欧美艳星brazzers| 91麻豆精品国产91久久久 | 国内久久精品视频| 狠狠狠色丁香婷婷综合久久五月| 奇米精品一区二区三区在线观看一 | 中文字幕精品三区| 亚洲欧美偷拍三级| 亚洲一区二区三区影院| 久久国产精品露脸对白| 成人午夜大片免费观看| 欧美中文字幕亚洲一区二区va在线 | 欧美电影一区二区三区| 精品国产91乱码一区二区三区| 国产午夜久久久久| 亚洲精品国产无天堂网2021| 免费欧美日韩国产三级电影| 国产一区日韩二区欧美三区| 91亚洲精品乱码久久久久久蜜桃| 欧美一级搡bbbb搡bbbb| 亚洲国产电影在线观看| 亚洲va国产va欧美va观看| 久久草av在线| 91激情五月电影| 精品日韩欧美在线| 亚洲免费av在线| 国产一区二区在线看| 色婷婷亚洲婷婷| 久久久国际精品| 爽好久久久欧美精品| av亚洲精华国产精华精华| 欧美老年两性高潮| 亚洲欧美激情小说另类| 久久精品国产一区二区三| 在线国产亚洲欧美| 久久综合av免费| 三级在线观看一区二区| 色婷婷综合激情| 国产精品国产自产拍高清av王其| 日本怡春院一区二区| 日本精品视频一区二区| 日本一区二区久久| 久久成人免费网| 91麻豆精品91久久久久同性| 亚洲免费观看视频| 成人午夜av影视| 久久久亚洲精华液精华液精华液| 亚洲mv在线观看| 在线亚洲免费视频| 亚洲天堂成人在线观看| 成熟亚洲日本毛茸茸凸凹| 久久久噜噜噜久久人人看| 日本强好片久久久久久aaa| 在线日韩av片| 亚洲国产欧美在线| 在线精品视频免费播放| 亚洲一区自拍偷拍| 欧美自拍丝袜亚洲| 亚洲已满18点击进入久久| 91网站最新地址| 亚洲视频每日更新| 日本韩国一区二区三区视频| 一区二区三区四区高清精品免费观看 | 国产精品久久久久久久午夜片| 六月婷婷色综合| 日韩欧美在线1卡| 麻豆91在线播放| 欧美成人性福生活免费看| 久久精品99国产精品| ww亚洲ww在线观看国产| 国产高清久久久久| 国产精品嫩草久久久久| 91丨九色丨蝌蚪富婆spa| 亚洲免费色视频| 欧美日韩高清在线| 免费在线看成人av| 久久一区二区三区四区| 国产精品系列在线观看| 综合色中文字幕| 欧美日韩黄色影视| 久久99精品久久久久婷婷| 国产视频在线观看一区二区三区| 国产成人精品免费| 亚洲精品综合在线| 欧美高清视频不卡网| 黄色小说综合网站| 国产精品免费视频一区| 欧美综合亚洲图片综合区| 秋霞电影网一区二区| 欧美国产精品一区二区| 欧美亚洲国产一区二区三区va| 青娱乐精品视频在线| 国产人久久人人人人爽| 在线精品观看国产| 狠狠色伊人亚洲综合成人| 中文字幕一区二区三中文字幕| 欧美日韩在线三级| 国产精品白丝jk黑袜喷水| 亚洲图片你懂的| 久久综合色8888| 91久久精品日日躁夜夜躁欧美| 免费在线看成人av| 椎名由奈av一区二区三区| 日韩天堂在线观看| 99re在线视频这里只有精品| 喷白浆一区二区| 亚洲视频小说图片| 久久亚洲精品小早川怜子| 欧美视频一区二区三区在线观看| 国产一区啦啦啦在线观看| 亚洲一区av在线| 国产精品视频一二| 精品国产亚洲在线| 欧美日韩免费一区二区三区| 国产99久久久久| 精品一区二区三区蜜桃| 亚洲va欧美va人人爽午夜| 中文字幕中文在线不卡住| 欧美xxxx老人做受| 日韩亚洲国产中文字幕欧美| 91在线视频播放| 国产盗摄视频一区二区三区| 看电影不卡的网站| 日韩在线一区二区三区| 亚洲狠狠爱一区二区三区| 国产精品短视频| 国产欧美一区二区三区在线看蜜臀| 欧美男女性生活在线直播观看| 成人av网站大全| 国产成人午夜99999| 麻豆91免费观看| 久久91精品久久久久久秒播| 天天操天天色综合| 亚洲成人免费观看| 亚洲第一成年网| 亚洲图片有声小说| 午夜精品久久久久久久99水蜜桃| 亚洲欧洲一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟| 国产午夜精品一区二区三区嫩草| 精品欧美久久久| 精品对白一区国产伦| 久久九九全国免费| 久久九九久久九九| 国产精品麻豆久久久| 国产精品区一区二区三区| 国产精品素人一区二区| 亚洲人成网站在线| 亚洲国产一区视频| 日本不卡免费在线视频| 久久99蜜桃精品| 成人综合婷婷国产精品久久| 成人av在线一区二区三区| av电影在线不卡| 在线观看不卡一区| 制服丝袜亚洲精品中文字幕| 日韩精品一区二| 亚洲国产精品二十页| 亚洲人成网站影音先锋播放| 亚洲大片在线观看| 久久av资源站| gogogo免费视频观看亚洲一| 一本到不卡免费一区二区| 欧美日韩mp4| 久久青草国产手机看片福利盒子| 亚洲欧洲av在线| 日韩av不卡一区二区| 成人午夜短视频| 欧美乱妇23p| 中文字幕第一区综合| 亚洲国产另类精品专区| 久久av资源站| 在线观看成人免费视频| 久久色在线视频| 亚洲男帅同性gay1069| 麻豆成人免费电影| 91麻豆成人久久精品二区三区| 91精品一区二区三区久久久久久 | 久久亚洲影视婷婷| 亚洲私人黄色宅男| 久久www免费人成看片高清| 成人一区二区在线观看| 7777女厕盗摄久久久| 国产午夜亚洲精品午夜鲁丝片| 亚洲国产综合色|