Example usage for com.badlogic.gdx.graphics GL20 GL_EXTENSIONS

List of usage examples for com.badlogic.gdx.graphics GL20 GL_EXTENSIONS

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics GL20 GL_EXTENSIONS.

Prototype

int GL_EXTENSIONS

To view the source code for com.badlogic.gdx.graphics GL20 GL_EXTENSIONS.

Click Source Link

Usage

From source file:gaia.cu9.ari.gaiaorbit.desktop.gui.swing.HelpDialog.java

License:LGPL

private void initialize() {
    frame = this;
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

    // Build content
    frame.setLayout(new BorderLayout());

    /** BODY **//* w  w w  .  jav  a  2 s .co m*/
    JPanel body = new JPanel(new MigLayout("", "[grow,fill][]", ""));

    /** TABBED PANEL **/

    JTabbedPane tabbedPane = new JTabbedPane();

    /**
     * ====== HELP TAB =======
     */

    /** HELP **/
    JPanel help = new JPanel(new MigLayout("fillx", "[grow,fill][grow,fill]", ""));
    help.setBorder(new EmptyBorder(10, 10, 10, 10));

    ImageIcon icon = createImageIcon("/img/gaiasandboxlogo.png",
            txt("gui.help.logo", GlobalConf.APPLICATION_NAME));
    JLabel label1 = new JLabel(icon, JLabel.CENTER);

    help.add(label1, "span,wrap");

    JLabel aux = new JLabel(txt("gui.help.usermanual"));
    Font boldFont = new Font(aux.getFont().getFontName(), Font.BOLD, aux.getFont().getSize());
    aux.setFont(boldFont);
    help.add(aux);

    JTextArea help1 = new JTextArea(txt("gui.help.help1"));
    help1.setEditable(false);
    help1.setBackground(null);
    help1.setLineWrap(true);
    help1.setWrapStyleWord(true);
    help.add(help1, "wrap");

    LinkLabel helpWebsite = new LinkLabel(GlobalConf.WEBPAGE);
    help.add(helpWebsite, "span,wrap");

    aux = new JLabel("Wiki");
    aux.setFont(boldFont);
    help.add(aux);

    JTextArea help2 = new JTextArea(txt("gui.help.help2"));
    help2.setEditable(false);
    help2.setBackground(null);
    help2.setLineWrap(true);
    help2.setWrapStyleWord(true);
    help.add(help2, "wrap");

    LinkLabel wikiWebsite = new LinkLabel(GlobalConf.WIKI);

    help.add(wikiWebsite, "span,wrap");

    JPanel readmepanel = new JPanel(new MigLayout("fillx", "[grow,fill]", ""));
    readmepanel.setBorder(new TitledBorder(txt("gui.help.readme")));
    FileHandle readmefile = Gdx.files.internal("README.md");
    if (!readmefile.exists()) {
        readmefile = Gdx.files.internal("../README.md");
    }
    JTextArea readme = new JTextArea(readmefile.readString(), 15, 35);
    readme.setEditable(false);
    readme.setLineWrap(true);
    readme.setWrapStyleWord(true);
    JScrollPane readmescroll = new JScrollPane(readme);
    readmescroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    readmepanel.add(readmescroll, "span");

    help.add(readmepanel, "span, wrap");

    JPanel helpPanel = new JPanel(new MigLayout("", "[grow,fill][grow,fill]", ""));
    helpPanel.add(help);

    /** SYSTEM **/
    JPanel build = new JPanel(new MigLayout("fillx", "[grow,fill][grow,fill]", ""));
    build.setBorder(new TitledBorder(txt("gui.help.buildinfo")));
    aux = new JLabel(txt("gui.help.version", GlobalConf.APPLICATION_NAME));
    aux.setFont(boldFont);
    build.add(aux);
    build.add(new JLabel(GlobalConf.version.version), "wrap");
    aux = new JLabel(txt("gui.help.buildnumber"));
    aux.setFont(boldFont);
    build.add(aux);
    build.add(new JLabel(GlobalConf.version.build), "wrap");
    aux = new JLabel(txt("gui.help.buildtime"));
    aux.setFont(boldFont);
    build.add(aux);
    build.add(new JLabel(GlobalConf.version.buildtime), "wrap");
    aux = new JLabel(txt("gui.help.buildsys"));
    aux.setFont(boldFont);
    build.add(aux);

    JTextArea versionsystem = new JTextArea(GlobalConf.version.system);
    versionsystem.setEditable(false);
    versionsystem.setBackground(null);
    versionsystem.setLineWrap(true);
    versionsystem.setWrapStyleWord(true);
    build.add(versionsystem, "wrap");
    aux = new JLabel(txt("gui.help.builder"));
    aux.setFont(boldFont);
    build.add(aux);
    build.add(new JLabel(GlobalConf.version.builder), "wrap");

    JPanel java = new JPanel(new MigLayout("fillx", "[grow,fill][grow,fill]", ""));
    java.setBorder(new TitledBorder(txt("gui.help.javainfo")));
    aux = new JLabel(txt("gui.help.javaversion"));
    aux.setFont(boldFont);
    java.add(aux);
    java.add(new JLabel(System.getProperty("java.version")), "wrap");
    aux = new JLabel(txt("gui.help.javaname"));
    aux.setFont(boldFont);
    java.add(aux);
    java.add(new JLabel(System.getProperty("java.runtime.name")), "wrap");
    aux = new JLabel(txt("gui.help.javavmname"));
    aux.setFont(boldFont);
    java.add(aux);
    java.add(new JLabel(System.getProperty("java.vm.name")), "wrap");
    aux = new JLabel(txt("gui.help.javavmversion"));
    aux.setFont(boldFont);
    java.add(aux);
    java.add(new JLabel(System.getProperty("java.vm.version")), "wrap");
    aux = new JLabel(txt("gui.help.javavmvendor"));
    aux.setFont(boldFont);
    java.add(aux);
    java.add(new JLabel(System.getProperty("java.vm.vendor")), "wrap");

    String meminfostr = "";
    for (MemoryPoolMXBean mpBean : ManagementFactory.getMemoryPoolMXBeans()) {
        meminfostr += txt("gui.help.name") + ": " + mpBean.getName() + ": " + mpBean.getUsage() + "\n";
    }
    JTextArea meminfo = new JTextArea(meminfostr);
    meminfo.setEditable(false);
    JScrollPane memscroll = new JScrollPane(meminfo);
    memscroll.setPreferredSize(new Dimension(300, 80));

    aux = new JLabel(txt("gui.help.meminfo"));
    aux.setFont(boldFont);
    java.add(aux);
    java.add(memscroll, "wrap");

    JPanel opengl = new JPanel(new MigLayout("fillx", "[grow,fill][grow,fill]", ""));
    opengl.setBorder(new TitledBorder(txt("gui.help.openglinfo")));

    aux = new JLabel(txt("gui.help.openglversion"));
    aux.setFont(boldFont);
    opengl.add(aux);
    opengl.add(new JLabel(Gdx.gl.glGetString(GL20.GL_VERSION)), "wrap");
    aux = new JLabel(txt("gui.help.glslversion"));
    aux.setFont(boldFont);
    opengl.add(aux);
    opengl.add(new JLabel(Gdx.gl.glGetString(GL20.GL_SHADING_LANGUAGE_VERSION)), "wrap");
    aux = new JLabel(txt("gui.help.glextensions"));
    aux.setFont(boldFont);
    opengl.add(aux);
    String glExtensionsString = Gdx.gl.glGetString(GL20.GL_EXTENSIONS).replace(' ', '\n');
    IntBuffer buf = BufferUtils.newIntBuffer(16);
    Gdx.gl.glGetIntegerv(Gdx.graphics.getGL20().GL_MAX_TEXTURE_SIZE, buf);
    int maxSize = buf.get(0);
    JTextArea glExtensions = new JTextArea("Max texture size: " + maxSize + "\n" + glExtensionsString);
    JScrollPane glExtensionsScroll = new JScrollPane(glExtensions);
    glExtensionsScroll.setPreferredSize(new Dimension(300, 80));
    glExtensions.setEditable(false);
    opengl.add(glExtensionsScroll, "wrap");

    JPanel systemPanel = new JPanel(new MigLayout("", "[grow,fill][]", ""));
    systemPanel.add(build, "wrap");
    systemPanel.add(java, "wrap");
    systemPanel.add(opengl, "wrap");

    /** ABOUT **/

    JPanel about = new JPanel(new MigLayout("fillx", "[grow,fill][grow,fill][]", ""));
    about.setBorder(new EmptyBorder(10, 10, 10, 10));

    JTextArea intro = new JTextArea(txt("gui.help.gscredits", GlobalConf.version.version));
    intro.setEditable(false);
    intro.setBackground(null);
    intro.setLineWrap(true);
    intro.setWrapStyleWord(true);
    about.add(intro, "span,wrap");

    aux = new JLabel(txt("gui.help.homepage"));
    aux.setFont(boldFont);
    about.add(aux);
    about.add(new LinkLabel(GlobalConf.WEBPAGE), "span,wrap");
    about.add(new JLabel(" "), "span,wrap");

    JPanel author = new JPanel(new MigLayout("fillx", "[grow,fill][grow,fill][]", ""));
    author.setBorder(new LineBorder(Color.LIGHT_GRAY));

    aux = new JLabel(txt("gui.help.author"));
    aux.setFont(boldFont);
    author.add(aux);
    author.add(new JLabel("Toni Sagrist Sells"));
    author.add(new LinkLabel("tsagrista@ari.uni-heidelberg.de", "mailto:tsagrista@ari.uni-heidelberg.de"),
            "wrap");

    author.add(new JLabel(txt("gui.help.personalweb")));
    author.add(new LinkLabel("www.tonisagrista.com", "http://tonisagrista.com"), "span,wrap");

    JPanel contrib = new JPanel(new MigLayout("fillx", "[grow,fill][grow,fill][]", ""));
    contrib.setBorder(new LineBorder(Color.LIGHT_GRAY));

    aux = new JLabel(txt("gui.help.contributors"));
    aux.setFont(boldFont);
    contrib.add(aux);
    contrib.add(new JLabel("Apl. Prof. Dr. Stefan Jordan"));
    contrib.add(new LinkLabel("jordan@ari.uni-heidelberg.de", "mailto:jordan@ari.uni-heidelberg.de"), "wrap");

    JPanel license = new JPanel(new MigLayout("fillx", "[grow,fill][grow,fill][]", ""));
    license.setBorder(new LineBorder(Color.LIGHT_GRAY));
    ImageIcon lgpl = createImageIcon("/img/license.png", txt("gui.help.logo", GlobalConf.APPLICATION_NAME));
    license.add(new JLabel(lgpl, JLabel.CENTER));

    JTextArea licensetext = new JTextArea(txt("gui.help.license"));
    licensetext.setEditable(false);
    licensetext.setBackground(null);
    licensetext.setLineWrap(true);
    licensetext.setWrapStyleWord(true);
    license.add(licensetext, "wrap");

    license.add(new LinkLabel("https://www.gnu.org/licenses/lgpl.html"), "skip,wrap");

    JPanel supporting = new JPanel(new MigLayout("fillx", "[grow,fill][grow,fill][grow,fill]", ""));
    supporting.setBorder(new LineBorder(Color.LIGHT_GRAY));

    icon = createImageIcon("/img/zah.png", "ZAH");
    label1 = new JLabel(icon, JLabel.CENTER);
    supporting.add(label1);
    icon = createImageIcon("/img/dlr.png", "DLR");
    label1 = new JLabel(icon, JLabel.CENTER);
    supporting.add(label1);
    icon = createImageIcon("/img/bwt.png", "BWT");
    label1 = new JLabel(icon, JLabel.CENTER);
    supporting.add(label1);

    about.add(author, "span,wrap");
    about.add(contrib, "span,wrap");
    about.add(license, "span,wrap");
    about.add(supporting, "span,wrap");

    JPanel aboutPanel = new JPanel(new MigLayout("", "[grow,fill][]", ""));
    aboutPanel.add(about);

    /**
     * ADD PANELS
     */
    tabbedPane.addTab(txt("gui.help.help"), helpPanel);
    tabbedPane.addTab(txt("gui.help.about"), aboutPanel);
    tabbedPane.addTab(txt("gui.help.system"), systemPanel);

    body.add(tabbedPane, "wrap");

    /** BUTTONS **/
    JPanel buttons = new JPanel(new MigLayout("", "push[]", ""));

    okButton = new JButton("Ok");
    okButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            if (frame.isDisplayable()) {
                frame.dispose();
            }
        }

    });
    okButton.setMinimumSize(new Dimension(100, 20));

    buttons.add(okButton);

    frame.add(body, BorderLayout.CENTER);
    frame.add(buttons, BorderLayout.SOUTH);

    frame.pack();

}

From source file:gaia.cu9.ari.gaiaorbit.interfce.AboutWindow.java

License:Open Source License

public AboutWindow(Stage stg, Skin sk) {
    super(txt("gui.help.help") + " - " + GlobalConf.APPLICATION_NAME + " v" + GlobalConf.version.version, sk);

    this.stage = stg;
    this.skin = sk;
    this.me = this;
    this.linkStyle = skin.get("link", LabelStyle.class);

    float tawidth = 440 * GlobalConf.SCALE_FACTOR;
    float taheight = 250 * GlobalConf.SCALE_FACTOR;
    float taheight_s = 60 * GlobalConf.SCALE_FACTOR;
    float tabwidth = 60 * GlobalConf.SCALE_FACTOR;
    float pad = 5 * GlobalConf.SCALE_FACTOR;

    scrolls = new ArrayList<OwnScrollPane>(5);
    textareas = new ArrayList<Actor>();

    /** TABLE and SCROLL **/
    table = new Table(skin);

    // Create the tab buttons
    HorizontalGroup group = new HorizontalGroup();
    group.align(Align.left);//  w ww . j a va  2s .  c  o m

    final Button tab1 = new OwnTextButton(txt("gui.help.help"), skin, "toggle-big");
    tab1.pad(pad);
    tab1.setWidth(tabwidth);
    final Button tab2 = new OwnTextButton(txt("gui.help.about"), skin, "toggle-big");
    tab2.pad(pad);
    tab2.setWidth(tabwidth);
    final Button tab3 = new OwnTextButton(txt("gui.help.system"), skin, "toggle-big");
    tab3.pad(pad);
    tab3.setWidth(tabwidth);

    group.addActor(tab1);
    group.addActor(tab2);
    group.addActor(tab3);
    table.add(group).align(Align.left).padLeft(pad);
    table.row();

    // Create the tab content. Just using images here for simplicity.
    Stack content = new Stack();

    /** CONTENT 1 - HELP **/
    final Table content1 = new Table(skin);
    content1.align(Align.top);
    Image gaiasky = new Image(getSpriteDrawable(Gdx.files.internal("img/gaiaskylogo.png")));

    // User manual
    Label usermantitle = new OwnLabel(txt("gui.help.usermanual"), skin, "ui-12");
    Label usermantxt = new OwnLabel(txt("gui.help.help1"), skin, "ui-11");
    Link usermanlink = new Link(GlobalConf.WEBPAGE, linkStyle, GlobalConf.WEBPAGE);

    // Wiki
    Label wikititle = new OwnLabel("Docs", skin, "ui-12");
    Label wikitxt = new OwnLabel(txt("gui.help.help2"), skin, "ui-11");
    Link wikilink = new Link(GlobalConf.DOCUMENTATION, linkStyle, GlobalConf.DOCUMENTATION);

    // Readme
    Label readmetitle = new OwnLabel(txt("gui.help.readme"), skin, "ui-12");
    FileHandle readmefile = Gdx.files.internal("README.md");
    if (!readmefile.exists()) {
        readmefile = Gdx.files.internal("../README.md");
    }
    String readmestr = readmefile.readString();
    int lines = GlobalResources.countOccurrences(readmestr, '\n');
    TextArea readme = new TextArea(readmestr, skin);
    readme.setDisabled(true);
    readme.setPrefRows(lines);
    textareas.add(readme);

    OwnScrollPane readmescroll = new OwnScrollPane(readme, skin, "default-nobg");
    readmescroll.setWidth(tawidth);
    readmescroll.setHeight(taheight);
    readmescroll.setForceScroll(false, true);
    readmescroll.setSmoothScrolling(true);
    readmescroll.setFadeScrollBars(false);

    scrolls.add(readmescroll);

    // Add all to content
    content1.add(gaiasky).colspan(2);
    content1.row();
    content1.add(usermantitle).align(Align.left).padRight(pad * 2);
    content1.add(usermantxt).align(Align.left);
    content1.row();
    content1.add(new OwnLabel("", skin, "ui-11"));
    content1.add(usermanlink).align(Align.left);
    content1.row();
    content1.add(wikititle).align(Align.left).padRight(pad * 2);
    content1.add(wikitxt).align(Align.left);
    content1.row();
    content1.add(new OwnLabel("", skin, "ui-11"));
    content1.add(wikilink).align(Align.left);
    content1.row();
    content1.add(readmetitle).colspan(2).align(Align.left);
    content1.row();
    content1.add(readmescroll).colspan(2).expand().pad(pad * 2, 0, pad * 2, 0).align(Align.center);

    /** CONTENT 2 - ABOUT **/
    final Table content2 = new Table(skin);
    content2.align(Align.top);

    // Intro
    TextArea intro = new OwnTextArea(txt("gui.help.gscredits", GlobalConf.version.version),
            skin.get("msg-11", TextFieldStyle.class));
    intro.setDisabled(true);
    intro.setPrefRows(3);
    intro.setWidth(tawidth);
    textareas.add(intro);

    // Home page
    Label homepagetitle = new OwnLabel(txt("gui.help.homepage"), skin, "ui-12");
    Link homepage = new Link(GlobalConf.WEBPAGE, linkStyle, GlobalConf.WEBPAGE);

    // Author
    Label authortitle = new OwnLabel(txt("gui.help.author"), skin, "ui-12");

    VerticalGroup author = new VerticalGroup();
    author.align(Align.left);
    Label authorname = new OwnLabel("Toni Sagrist Sells", skin, "ui-11");
    Link authormail = new Link("tsagrista@ari.uni-heidelberg.de", linkStyle,
            "mailto:tsagrista@ari.uni-heidelberg.de");
    Link authorpage = new Link("www.tonisagrista.com", linkStyle, "http://tonisagrista.com");
    author.addActor(authorname);
    author.addActor(authormail);
    author.addActor(authorpage);

    // Contributor
    Label contribtitle = new OwnLabel(txt("gui.help.contributors"), skin, "ui-12");

    VerticalGroup contrib = new VerticalGroup();
    contrib.align(Align.left);
    Label contribname = new OwnLabel("Apl. Prof. Dr. Stefan Jordan", skin, "ui-11");
    Link contribmail = new Link("jordan@ari.uni-heidelberg.de", linkStyle,
            "mailto:jordan@ari.uni-heidelberg.de");
    contrib.addActor(contribname);
    contrib.addActor(contribmail);

    // License
    HorizontalGroup licenseh = new HorizontalGroup();
    licenseh.space(pad * 2);
    Image license = new Image(getSpriteDrawable(Gdx.files.internal("img/license.png")));

    VerticalGroup licensev = new VerticalGroup();
    TextArea licensetext = new OwnTextArea(txt("gui.help.license"), skin.get("msg-11", TextFieldStyle.class));
    licensetext.setDisabled(true);
    licensetext.setPrefRows(3);
    licensetext.setWidth(tawidth / 2f);
    Link licenselink = new Link("https://www.gnu.org/licenses/gpl.html", linkStyle,
            "https://www.gnu.org/licenses/gpl.html");

    licensev.addActor(licensetext);
    licensev.addActor(licenselink);

    licenseh.addActor(license);
    licenseh.addActor(licensev);

    // Thanks

    HorizontalGroup thanks = new HorizontalGroup();
    thanks.space(pad * 2);
    Container thanksc = new Container(thanks);
    thanksc.setBackground(skin.getDrawable("bg-clear"));

    Image zah = new Image(getSpriteDrawable(Gdx.files.internal("img/zah.png")));
    Image dlr = new Image(getSpriteDrawable(Gdx.files.internal("img/dlr.png")));
    Image bwt = new Image(getSpriteDrawable(Gdx.files.internal("img/bwt.png")));
    Image dpac = new Image(getSpriteDrawable(Gdx.files.internal("img/dpac.png")));

    thanks.addActor(zah);
    thanks.addActor(dlr);
    thanks.addActor(bwt);
    thanks.addActor(dpac);

    content2.add(intro).colspan(2).align(Align.left).padTop(pad * 2);
    content2.row();
    content2.add(homepagetitle).align(Align.topLeft).padRight(pad * 2);
    content2.add(homepage).align(Align.left);
    content2.row();
    content2.add(authortitle).align(Align.topLeft).padRight(pad * 2).padTop(pad);
    content2.add(author).align(Align.left).padTop(pad);
    content2.row();
    content2.add(contribtitle).align(Align.topLeft).padRight(pad * 2).padTop(pad);
    content2.add(contrib).align(Align.left).padTop(pad);
    content2.row();
    content2.add(licenseh).colspan(2).align(Align.center).padTop(pad * 4);
    content2.row();
    content2.add(thanksc).colspan(2).align(Align.center).padTop(pad * 8);

    /** CONTENT 3 - SYSTEM **/
    final Table content3 = new Table(skin);
    content3.align(Align.top);

    // Build info
    Label buildinfo = new OwnLabel(txt("gui.help.buildinfo"), skin, "help-title");

    Label versiontitle = new OwnLabel(txt("gui.help.version", GlobalConf.APPLICATION_NAME), skin, "ui-12");
    Label version = new OwnLabel(GlobalConf.version.version, skin, "ui-11");

    Label revisiontitle = new OwnLabel(txt("gui.help.buildnumber"), skin, "ui-12");
    Label revision = new OwnLabel(GlobalConf.version.build, skin, "ui-11");

    Label timetitle = new OwnLabel(txt("gui.help.buildtime"), skin, "ui-12");
    Label time = new OwnLabel(GlobalConf.version.buildtime, skin, "ui-11");

    Label systemtitle = new OwnLabel(txt("gui.help.buildsys"), skin, "ui-12");
    TextArea system = new OwnTextArea(GlobalConf.version.system, skin.get("msg-11", TextFieldStyle.class));
    system.setDisabled(true);
    system.setPrefRows(3);
    system.setWidth(tawidth * 2f / 3f);
    textareas.add(system);

    Label buildertitle = new OwnLabel(txt("gui.help.builder"), skin, "ui-12");
    Label builder = new OwnLabel(GlobalConf.version.builder, skin, "ui-11");

    // Java info
    Label javainfo = new OwnLabel(txt("gui.help.javainfo"), skin, "help-title");

    Label javaversiontitle = new OwnLabel(txt("gui.help.javaversion"), skin, "ui-12");
    Label javaversion = new OwnLabel(System.getProperty("java.version"), skin, "ui-11");

    Label javaruntimetitle = new OwnLabel(txt("gui.help.javaname"), skin, "ui-12");
    Label javaruntime = new OwnLabel(System.getProperty("java.runtime.name"), skin, "ui-11");

    Label javavmnametitle = new OwnLabel(txt("gui.help.javavmname"), skin, "ui-12");
    Label javavmname = new OwnLabel(System.getProperty("java.vm.name"), skin, "ui-11");

    Label javavmversiontitle = new OwnLabel(txt("gui.help.javavmversion"), skin, "ui-12");
    Label javavmversion = new OwnLabel(System.getProperty("java.vm.version"), skin, "ui-11");

    Label javavmvendortitle = new OwnLabel(txt("gui.help.javavmvendor"), skin, "ui-12");
    Label javavmvendor = new OwnLabel(System.getProperty("java.vm.vendor"), skin, "ui-11");

    TextButton memoryinfobutton = new OwnTextButton(txt("gui.help.meminfo"), skin, "default");
    memoryinfobutton.setName("memoryinfo");
    memoryinfobutton.setSize(150 * GlobalConf.SCALE_FACTOR, 20 * GlobalConf.SCALE_FACTOR);
    memoryinfobutton.addListener(new EventListener() {
        @Override
        public boolean handle(Event event) {
            if (event instanceof ChangeEvent) {
                EventManager.instance.post(Events.DISPLAY_MEM_INFO_WINDOW, stage, skin);
                return true;
            }

            return false;
        }

    });

    // OpenGL info
    Label glinfo = new OwnLabel(txt("gui.help.openglinfo"), skin, "help-title");

    Label glversiontitle = new OwnLabel(txt("gui.help.openglversion"), skin, "ui-12");
    Label glversion = new OwnLabel(Gdx.gl.glGetString(GL20.GL_VERSION), skin, "ui-11");

    Label glslversiontitle = new OwnLabel(txt("gui.help.glslversion"), skin, "ui-12");
    Label glslversion = new OwnLabel(Gdx.gl.glGetString(GL20.GL_SHADING_LANGUAGE_VERSION), skin, "ui-11");

    Label glextensionstitle = new OwnLabel(txt("gui.help.glextensions"), skin, "ui-12");
    String glextensionsstr = Gdx.gl.glGetString(GL20.GL_EXTENSIONS).replace(' ', '\r');
    lines = GlobalResources.countOccurrences(glextensionsstr, '\r') + 1;
    IntBuffer buf = BufferUtils.newIntBuffer(16);
    Gdx.gl.glGetIntegerv(Gdx.graphics.getGL20().GL_MAX_TEXTURE_SIZE, buf);
    int maxSize = buf.get(0);
    TextArea glextensions = new TextArea("Max texture size: " + maxSize + "\r" + glextensionsstr, skin);
    glextensions.setDisabled(true);
    glextensions.setPrefRows(lines);

    textareas.add(glextensions);

    OwnScrollPane glextensionsscroll = new OwnScrollPane(glextensions, skin, "default-nobg");
    glextensionsscroll.setWidth(tawidth / 1.7f);
    glextensionsscroll.setHeight(taheight_s);
    glextensionsscroll.setForceScroll(false, true);
    glextensionsscroll.setSmoothScrolling(true);
    glextensionsscroll.setFadeScrollBars(false);
    scrolls.add(glextensionsscroll);

    content3.add(buildinfo).colspan(2).align(Align.left).padTop(pad * 3);
    content3.row();
    content3.add(versiontitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(version).align(Align.left);
    content3.row();
    content3.add(revisiontitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(revision).align(Align.left);
    content3.row();
    content3.add(timetitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(time).align(Align.left);
    content3.row();
    content3.add(buildertitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(builder).align(Align.left).padBottom(pad * 3);
    content3.row();
    content3.add(systemtitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(system).align(Align.left);
    content3.row();

    content3.add(javainfo).colspan(2).align(Align.left).padTop(pad * 2);
    content3.row();
    content3.add(javaversiontitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(javaversion).align(Align.left);
    content3.row();
    content3.add(javaruntimetitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(javaruntime).align(Align.left);
    content3.row();
    content3.add(javavmnametitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(javavmname).align(Align.left);
    content3.row();
    content3.add(javavmversiontitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(javavmversion).align(Align.left);
    content3.row();
    content3.add(javavmvendortitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(javavmvendor).align(Align.left).padBottom(pad * 2);
    content3.row();
    content3.add(memoryinfobutton).colspan(2).align(Align.left).padBottom(pad * 3);
    content3.row();
    content3.add(glinfo).colspan(2).align(Align.left).padTop(pad * 2);
    content3.row();
    content3.add(glversiontitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(glversion).align(Align.left);
    content3.row();
    content3.add(glslversiontitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(glslversion).align(Align.left);
    content3.row();
    content3.add(glextensionstitle).align(Align.topLeft).padRight(pad * 2);
    content3.add(glextensionsscroll).align(Align.left);

    /** ADD ALL CONTENT **/
    content.addActor(content1);
    content.addActor(content2);
    content.addActor(content3);

    table.add(content).expand().fill();

    // Listen to changes in the tab button checked states
    // Set visibility of the tab content to match the checked state
    ChangeListener tab_listener = new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            content1.setVisible(tab1.isChecked());
            content2.setVisible(tab2.isChecked());
            content3.setVisible(tab3.isChecked());
        }
    };
    tab1.addListener(tab_listener);
    tab2.addListener(tab_listener);
    tab3.addListener(tab_listener);

    // Let only one tab button be checked at a time
    ButtonGroup tabs = new ButtonGroup();
    tabs.setMinCheckCount(1);
    tabs.setMaxCheckCount(1);
    tabs.add(tab1);
    tabs.add(tab2);
    tabs.add(tab3);

    /** BUTTONS **/
    HorizontalGroup buttonGroup = new HorizontalGroup();
    TextButton close = new OwnTextButton(txt("gui.close"), skin, "default");
    close.setName("close");
    close.setSize(70 * GlobalConf.SCALE_FACTOR, 20 * GlobalConf.SCALE_FACTOR);
    close.addListener(new EventListener() {
        @Override
        public boolean handle(Event event) {
            if (event instanceof ChangeEvent) {
                me.hide();
                return true;
            }

            return false;
        }

    });
    buttonGroup.addActor(close);

    add(table).pad(pad);
    row();
    add(buttonGroup).pad(pad).bottom().right();
    getTitleTable().align(Align.left);

    pack();

    this.setPosition(Math.round(stage.getWidth() / 2f - this.getWidth() / 2f),
            Math.round(stage.getHeight() / 2f - this.getHeight() / 2f));

    /** CAPTURE SCROLL FOCUS **/
    stage.addListener(new EventListener() {

        @Override
        public boolean handle(Event event) {
            if (event instanceof InputEvent) {
                InputEvent ie = (InputEvent) event;

                if (ie.getType() == Type.mouseMoved) {
                    for (OwnScrollPane scroll : scrolls) {
                        if (ie.getTarget().isDescendantOf(scroll)) {
                            stage.setScrollFocus(scroll);
                        }
                    }
                    return true;
                }
            }
            return false;
        }
    });

}

From source file:mobi.shad.s3lib.main.S3Screen.java

License:Apache License

public static void init() {
    graphics = Gdx.app.getGraphics();//from   ww  w . ja v a 2 s . c o  m
    gl20 = graphics.getGL20();
    type = graphics.getType();
    density = graphics.getDensity();
    virtualScreen = S3.cfg.virtualScreen;

    S3Log.info(TAG, "GL_VENDOR=" + gl20.glGetString(GL20.GL_VENDOR));
    S3Log.info(TAG, "GL_VENDOR=" + gl20.glGetString(GL20.GL_VENDOR));
    S3Log.info(TAG, "GL_RENDERER=" + gl20.glGetString(GL20.GL_RENDERER));
    S3Log.info(TAG, "GL_VERSION=" + gl20.glGetString(GL20.GL_VERSION));
    S3Log.info(TAG, "GL_EXTENSIONS :\n" + gl20.glGetString(GL20.GL_EXTENSIONS).trim().replace(" ", " "));

    String[] screenSize = S3.cfg.screenSize.split("x");
    if (Integer.parseInt(screenSize[0]) > 0 && Integer.parseInt(screenSize[1]) > 0) {
        VIRTUAL_WIDTH = Integer.parseInt(screenSize[0]);
        VIRTUAL_HEIGHT = Integer.parseInt(screenSize[1]);
    }

    if (virtualScreen) {
        width = VIRTUAL_WIDTH;
        height = VIRTUAL_HEIGHT;
    } else {
        width = graphics.getWidth();
        height = graphics.getHeight();
    }

    //
    // Detect screen type
    //
    if (S3.cfg.multiResolution) {
        if ((width > height && width <= 481) || (height > width && height <= 481)) {
            resolution = ResolutionType.ldpi;
        } else if ((width > height && width < 721) || (height > width && height < 721)) {
            resolution = ResolutionType.mdpi;
        } else if (((width > height && width < 1301) || (height > width && height < 1301)) && density < 1.75f) {
            resolution = ResolutionType.hdpi;
        } else {
            resolution = ResolutionType.xhdpi;
        }
    } else {
        resolution = ResolutionType.hdpi;
    }
    resize(graphics.getWidth(), graphics.getHeight());
}