⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bluecurveengineparser.java

📁 java jdk 1.4的源码
💻 JAVA
字号:
/* * @(#)BluecurveEngineParser.java	1.4 03/01/23 * * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.java.swing.plaf.gtk;import java.io.IOException;import java.util.ArrayList;import java.awt.Font;import java.awt.Insets;/** * A parser for the "bluecurve" engine sections in GTK rc theme files. * * @author  Shannon Hickey * @version 1.4 01/23/03 */class BluecurveEngineParser extends GTKEngineParser {    private static final int SYM_CONTRAST = GTKScanner.TOKEN_LAST + 1;    private static final int SYM_WIDE     = SYM_CONTRAST + 1;    private static final int SYM_TRUE     = SYM_WIDE + 1;    private static final int SYM_FALSE    = SYM_TRUE + 1;    private static final int[] symbolVals = {        SYM_CONTRAST, SYM_WIDE, SYM_TRUE, SYM_FALSE    };    private static final String[] symbolNames = {        "contrast",    // SYM_CONTRAST        "wide",        // SYM_WIDE        "TRUE",        // SYM_TRUE        "FALSE"        // SYM_FALSE    };    private static class BluecurveEngineInfo extends GTKParser.EngineInfo {        GTKStyle constructGTKStyle(GTKStyle.GTKStateInfo[] infoArray,                                   CircularIdentityList props,                                   Font font,                                   int xThickness,                                   int yThickness,                                   GTKStyle.GTKStockIconInfo[] stockArray) {            return new BluecurveStyle(infoArray,                                      props,                                      font,                                      xThickness,                                      yThickness,                                      stockArray);        }    }    private GTKScanner scanner;    private GTKParser parser;    private BluecurveEngineInfo engineInfo;    private void registerSymbolsIfNecessary() {        if (scanner.containsSymbol(symbolNames[0])) {            return;        }        for (int i = 0; i < symbolNames.length; i++) {            scanner.addSymbol(symbolNames[i], symbolVals[i]);        }    }    int parse(GTKScanner scanner,              GTKParser parser,              GTKParser.EngineInfo[] retVal) throws IOException {        this.scanner = scanner;        this.parser = parser;        if (retVal[0] == null) {            engineInfo = new BluecurveEngineInfo();        } else {            engineInfo = (BluecurveEngineInfo)retVal[0];        }        int oldScope = scanner.setScope(uniqueScopeID);        registerSymbolsIfNecessary();        // At this time we don't know how bluecurve allows        // itself to be customized, so we'll just skip over        // the block.        int token;        int curlys = 1;        while (curlys > 0) {            token = scanner.getToken();            switch(token) {                case GTKScanner.TOKEN_EOF:                case GTKScanner.TOKEN_ERROR:                    return GTKScanner.TOKEN_RIGHT_CURLY;                case GTKScanner.TOKEN_LEFT_CURLY:                    curlys++;                    break;                case GTKScanner.TOKEN_RIGHT_CURLY:                    curlys--;                    break;                default:                    // ignore            }        }        retVal[0] = engineInfo;        scanner.setScope(oldScope);        return GTKScanner.TOKEN_NONE;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -