public void printScreen(
     int renderModes, GLAutoDrawable drawable, String dir, String objName, boolean exportAlpha)
     throws GLException, IOException {
   final String modeS = Region.getRenderModeString(renderModes);
   final String bname =
       String.format(
           "%s-msaa%02d-fontsz%02.1f-%03dx%03d-%s%04d",
           objName,
           drawable.getChosenGLCapabilities().getNumSamples(),
           TestTextRendererNEWT00.fontSizeFixed,
           drawable.getWidth(),
           drawable.getHeight(),
           modeS,
           vbaaSampleCount[0]);
   final String filename = dir + bname + ".png";
   if (screenshot.readPixels(drawable.getGL(), false)) {
     screenshot.write(new File(filename));
   }
 }
    @Override
    public void display(GLAutoDrawable drawable) {
      final GL2ES2 gl = drawable.getGL().getGL2ES2();

      gl.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
      gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);

      final GLAnimatorControl anim = drawable.getAnimator();
      final float lfps = null != anim ? anim.getLastFPS() : 0f;
      final float tfps = null != anim ? anim.getTotalFPS() : 0f;

      // Note: MODELVIEW is from [ 0 .. height ]

      final long t1 = Platform.currentTimeMillis();

      // final float fontSize = TestTextRendererNEWT00.fontSize;

      fontSizeAnim += fontSizeDelta;
      if (fontSizeMin >= fontSizeAnim || fontSizeAnim >= fontSizeMax) {
        fontSizeDelta *= -1f;
      }

      final float pixelSize = font.getPixelSize(fontSizeFixed, dpiH);
      final float pixelSizeAnim = font.getPixelSize(fontSizeAnim, dpiH);

      final String modeS = Region.getRenderModeString(renderModes);

      if (false) {
        // renderString(drawable, font, pixelSize, "I - / H P 7 0", 0, 0, 0, 0, -1000f, true);
        // renderString(drawable, font, pixelSize, "A M > } ] ", 0, 0, 0, 0, -1000f, true);
        // renderString(drawable, font, pixelSize, "M", 0, 0, 0, 0, -1000f, true);
        // renderString(drawable, font, pixelSize, "0 6 9 a b O Q A M > } ] ", 0, 0, 0, 0, -1000f,
        // true);
        // renderString(drawable, font, pixelSize, "012345678901234567890123456789", 0, 0, 0, -1000,
        // true);
        // renderString(drawable, font, pixelSize, textX2,        0, 0,   0, 0, -1000f, true);
        // renderString(drawable, font, pixelSize, text1,         0,    0, 0, -1000f, regionFPS); //
        // no-cache
        final String text1 =
            lfps
                + " / "
                + tfps
                + " fps, vsync "
                + gl.getSwapInterval()
                + ", elapsed "
                + (t1 - t0) / 1000.0
                + " s, fontSize "
                + fontSizeFixed
                + ", msaa "
                + drawable.getChosenGLCapabilities().getNumSamples()
                + ", "
                + modeS
                + "-samples "
                + vbaaSampleCount[0];
        renderString(drawable, font, pixelSize, text1, 0, 0, 0, 0, -1000, regionFPS); // no-cache
      } else {
        final String text1 =
            String.format(
                "%03.1f/%03.1f fps, vsync %d, elapsed %4.1f s, fontSize %2.2f, msaa %d, %s-samples %d",
                lfps,
                tfps,
                gl.getSwapInterval(),
                (t1 - t0) / 1000.0,
                fontSizeFixed,
                drawable.getChosenGLCapabilities().getNumSamples(),
                modeS,
                vbaaSampleCount[0]);
        renderString(drawable, font, pixelSize, getFontInfo(), 0, 0, 0, 0, -1000, true);
        renderString(
            drawable, font, pixelSize, "012345678901234567890123456789", 0, 0, 0, -1000, true);
        renderString(
            drawable, font, pixelSize, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 0, 0, 0, -1000, true);
        renderString(drawable, font, pixelSize, "Hello World", 0, 0, 0, -1000, true);
        renderString(drawable, font, pixelSize, "4567890123456", 4, 0, 0, -1000, true);
        renderString(drawable, font, pixelSize, "I like JogAmp", 4, 0, 0, -1000, true);
        renderString(drawable, font, pixelSize, "Hello World", 0, 0, 0, -1000, true);
        renderString(drawable, font, pixelSize, textX2, 0, 0, 0, -1000, true);
        renderString(drawable, font, pixelSize, text1, 0, 0, 0, -1000, regionFPS); // no-cache
        if (TextAnim) {
          renderString(
              drawable, font, pixelSizeAnim, text1, 0, 0, 0, -1000, regionFPSAnim); // no-cache
        }
      }
    }