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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? swtfont.java

?? Java開發(fā)圖文混排的編輯器
?? JAVA
字號(hào):
/*
 * Created on 2004-7-24
 * Author: Xuefeng, Copyright (C) 2004, Xuefeng.
 */
package jexi.ui.swt;

/**
 * SWTFont is a platform-dependent class and extends 
 * the abstract Font class. It has a real font resource 
 * and manage its life cycle. 
 * 
 * @author Xuefeng
 */
public class SWTFont implements jexi.ui.Font {

    // store the real font resource:
    private final org.eclipse.swt.graphics.Font font;

    // font attributes:
    private final String name;
    private final int size;
    private final boolean bold;
    private final boolean italic;
    private final boolean underlined;

    private int height; // font's height.

    private int refCount = 0; // reference count.

    private String m_toString = null; // cache "toString()"

    // store the defaultGraphics:
    private SWTGraphics g = null;

    SWTFont(String name, int size, boolean bold, boolean italic, boolean underlined,
        org.eclipse.swt.graphics.Font font)
    {
        // font attributes:
        this.name = name;
        this.size = size;
        this.bold = bold;
        this.italic = italic;
        this.underlined = underlined;
        // real resource:
        this.font = font;

        // try to measure the font height:
        if(g==null)
            g = (SWTGraphics)jexi.ui.Application.instance().getFrame().getDefaultGraphics();
        // store the original font:
        org.eclipse.swt.graphics.Font orgFont = g.gc.getFont();
        // set new font:
        g.gc.setFont(font);
        // get the font height:
        this.height = g.gc.getFontMetrics().getHeight();
        // ok, restore the original font:
        g.gc.setFont(orgFont);

        // once it created, it has one reference:
        addRef();
    }

    /**
     * @return Returns the font name.
     */
    public String getName() {
        return name;
    }

    /**
     * @return Returns the font size.
     */
    public int getSize() {
        return size;
    }

    /**
     * @return Returns the bold.
     */
    public boolean getBold() {
        return bold;
    }

    /**
     * @return Returns the italic.
     */
    public boolean getItalic() {
        return italic;
    }

    /**
     * @return Returns the underlined.
     */
    public boolean getUnderlined() {
        return underlined;
    }

    /**
     * Get the height of the font (pixel). 
     * 
     * @see jexi.ui.Font#height()
     */
    public int height() {
        return this.height;
    }

    /**
     * The font only equals when the name, the size, the bold... 
     * are exactly equals. 
     * 
     * @return True if all attributes equals.
     */
    public boolean equals(Object o) {
        if(o instanceof jexi.ui.Font) {
            jexi.ui.Font f = (jexi.ui.Font)o;
            return this.toString().equals(f.toString());
        }
        return false;
    }

    /**
     * Get the hash code. 
     * 
     * @return The hash code of this font.
     */
    public int hashCode() {
        return this.toString().hashCode();
    }

    /**
     * This is used to create the corresponding key of the font object.
     * 
     * @return A String like "name-size-bold-italic-underlined".
     */
    public String toString() {
        if(m_toString==null) {
            m_toString = toKey(name, size, bold, italic, underlined);
        }
        return m_toString;
    }

    /**
     * This static function is to identify a font. 
     */
    public static String toKey(String name, int size, boolean bold, boolean italic, boolean underlined) {
        return name + "_" + size + "_" + 
            (bold ? "B" : "b") + 
            (italic ? "I" : "i") + 
            (underlined ? "U" : "u");
    }

    /**
     * Distroy the font if no other object referenced it. 
     * 
     * @see jexi.ui.Font#dispose()
     */
    public void dispose() {
        this.removeRef();
        if(this.refCount()>0)
            return;
        // if no other object which referenced this font, 
        // then distroy it:
        font.dispose();
        ((SWTFontFactory)jexi.ui.FontFactory.instance()).remove(this);
    }

    /**
     * Get the native font resource. 
     */
    public org.eclipse.swt.graphics.Font nativeFont() {
        return this.font;
    }

    protected void addRef() {
        this.refCount ++;
    }

    private void removeRef() {
        this.refCount --;
    }

    // check if some one is referenced this font:
    public int refCount() {
        return refCount;
    }

    public void debug() {
        System.out.println("  [font info] " + toString() + ", height=" + height + ", ref=" + refCount);
    }

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品在线一区二区| 日韩午夜激情视频| 欧美大尺度电影在线| 欧美大片在线观看一区| 一本色道久久综合精品竹菊| 国产精品久久午夜| 91天堂素人约啪| 亚洲欧美日韩系列| 91超碰这里只有精品国产| 老鸭窝一区二区久久精品| 精品少妇一区二区三区日产乱码 | 日韩精品中文字幕一区二区三区| 欧美亚洲动漫另类| 蜜臀av性久久久久蜜臀aⅴ四虎 | 九一九一国产精品| 中文字幕国产一区| 欧美亚洲国产怡红院影院| 欧美中文字幕亚洲一区二区va在线 | 国产乱码精品一区二区三区五月婷| 国产亚洲欧洲997久久综合| 成人晚上爱看视频| 午夜精品成人在线| 国产欧美日韩在线观看| 欧美美女一区二区三区| 欧美性一二三区| 日韩欧美国产综合一区| 亚洲国产精品激情在线观看 | 在线精品视频免费播放| 欧美日韩aaa| www.亚洲免费av| 美女任你摸久久| 国产一区二区免费在线| 午夜不卡av免费| 国产一区二区h| 色综合一区二区三区| 黑人精品欧美一区二区蜜桃 | 久久久久国色av免费看影院| 在线观看成人小视频| 538在线一区二区精品国产| 国产午夜亚洲精品羞羞网站| 一区二区三区精品在线| 久久影视一区二区| 欧美精品一区二区三区在线| 欧美精品色一区二区三区| 久久丝袜美腿综合| 亚洲午夜电影网| 国产精品的网站| 亚洲超丰满肉感bbw| 亚洲影视在线播放| 亚洲欧美一区二区三区久本道91| 亚洲在线中文字幕| 成人av免费在线观看| 国产成人av一区二区三区在线观看| 久久草av在线| 日本精品一级二级| 欧美少妇bbb| 国产日韩精品一区| 美女精品一区二区| 欧美三级三级三级爽爽爽| 精品视频一区二区不卡| 国产精品久久久久久久裸模| 蜜臂av日日欢夜夜爽一区| 欧美在线视频不卡| 国产日产精品一区| 国内精品第一页| 91精品国产欧美日韩| 欧美一区二区三区婷婷月色| 亚洲午夜久久久久久久久久久| 成人性色生活片免费看爆迷你毛片| 欧美精品久久99久久在免费线 | 国产69精品久久久久毛片| 成人毛片在线观看| 亚洲精品一区二区三区影院| 一级日本不卡的影视| 99精品视频在线观看| 欧美午夜精品一区| 一区二区三区四区蜜桃| 91蜜桃视频在线| 亚洲女与黑人做爰| 欧美做爰猛烈大尺度电影无法无天| 中文字幕国产一区| 风间由美性色一区二区三区| 国产农村妇女毛片精品久久麻豆| 国产精品一区二区久激情瑜伽| 久久亚洲一级片| 国产成人综合在线播放| 国产精品理论片在线观看| 成人白浆超碰人人人人| 中文字幕一区免费在线观看| 一区二区欧美精品| 精品视频在线免费看| 日本欧美一区二区在线观看| 高清不卡一二三区| 国产欧美日本一区视频| 成人免费av资源| 一个色在线综合| 欧美一区二区免费视频| 国产综合色视频| 国产精品白丝在线| 欧美三级韩国三级日本三斤| 日本成人中文字幕| 国产偷v国产偷v亚洲高清| 成人app网站| 亚洲自拍与偷拍| 日韩视频免费观看高清完整版在线观看| 蜜桃在线一区二区三区| 欧美激情中文不卡| 欧美三级一区二区| 国产福利精品一区| 亚洲国产欧美一区二区三区丁香婷| 91麻豆精品国产综合久久久久久| 国内精品久久久久影院色| 亚洲女子a中天字幕| 久久综合九色综合欧美98| 91香蕉视频黄| 国产一区二区三区黄视频 | 国产精品久久久久四虎| 91精品欧美久久久久久动漫 | 国产网红主播福利一区二区| 欧美日韩综合色| 久久99精品久久久久久久久久久久| 中文字幕久久午夜不卡| 欧美精品久久99| 东方aⅴ免费观看久久av| 亚洲综合免费观看高清完整版 | 色婷婷av一区二区三区gif | 亚洲18色成人| 欧美极品aⅴ影院| 欧美一区二区三区免费| 91蜜桃在线观看| 国产99久久久国产精品潘金网站| 亚洲超碰97人人做人人爱| 中文字幕一区在线观看| 欧美精品一区二区三区蜜桃| 欧美日韩卡一卡二| 色婷婷亚洲一区二区三区| 国产91在线看| 国产成人高清视频| 黄网站免费久久| 奇米综合一区二区三区精品视频| 欧美影院一区二区三区| 成人精品国产免费网站| 国产精品中文字幕日韩精品| 久久疯狂做爰流白浆xx| 日日欢夜夜爽一区| 欧美一区二区不卡视频| 欧美色中文字幕| 欧美日韩综合一区| 欧美日韩国产美女| 欧美日本一区二区| 欧美亚洲综合网| 在线观看一区不卡| 在线视频国内自拍亚洲视频| 97久久精品人人爽人人爽蜜臀| 成人激情小说乱人伦| 不卡的av在线| 91浏览器入口在线观看| 在线精品视频小说1| 精品视频在线免费看| 欧美乱熟臀69xxxxxx| 欧美妇女性影城| 欧美一区二区三区四区视频| 日韩欧美123| 久久亚洲精华国产精华液| 国产亚洲欧美色| 国产精品午夜在线| 欧美日韩国产免费一区二区| 欧美日韩国产中文| 精品国产不卡一区二区三区| 精品国产乱码久久久久久闺蜜| 久久综合九色综合97婷婷| 久久久久久久久久久99999| 中文成人综合网| 一区二区三区精品视频| 日韩精品乱码av一区二区| 免费在线观看一区| 极品美女销魂一区二区三区免费| 国产精品夜夜嗨| 99国产精品久久久久久久久久久 | 亚洲永久精品国产| 日韩成人av影视| 国产精品自拍在线| 色域天天综合网| 欧美精品一卡二卡| 久久久亚洲精品一区二区三区| 国产精品嫩草99a| 亚洲成人激情自拍| 韩国一区二区视频| 91激情五月电影| 精品久久人人做人人爰| 亚洲欧美成aⅴ人在线观看| 奇米影视一区二区三区| 成人av手机在线观看| 91精品婷婷国产综合久久竹菊| 久久久久久免费网| 亚洲第一激情av| 丁香五精品蜜臀久久久久99网站| 欧美日韩夫妻久久| 中文字幕亚洲在| 国产一区二区三区av电影|