public void zoomDraw(Graphics2D g) {
        double indent = 25;
        Path2D polygon = new Path2D.Double();
        polygon.moveTo(indent, indent);
        polygon.lineTo(CONST.zoomWindowWidth - indent, indent);
        polygon.lineTo(CONST.zoomWindowWidth / 2.0, CONST.zoomWindowHeight - indent);
        polygon.lineTo(indent, indent);
        g.setColor(gColor);
        g.fill(polygon);
        g.setColor(new Color(255, 255, 255));
        int fontSize = 14;
        g.setFont(new Font(null, Font.PLAIN, fontSize));
        double height = indent + fontSize;
        int position = 0;
        String[] parts = rawContent.split(" ");
        while (true) {
            if (height > CONST.zoomWindowHeight - indent - 2 * fontSize)
                break;
            if (position >= parts.length)
                break;
            double begin = indent
                    + (height - indent)
                    * ((CONST.zoomWindowWidth / 2 - indent) / (double) (CONST.zoomWindowHeight - 2 * indent));
            double end = CONST.zoomWindowHeight
                    - indent
                    - (height - indent)
                    * ((CONST.zoomWindowWidth / 2 - indent) / (double) (CONST.zoomWindowHeight - 2 * indent));
            String caption = "";
            while (position != parts.length
                    && g.getFontMetrics().stringWidth(caption + " " + parts[position]) + begin < end) {
                caption += " " + parts[position];
                position++;
            }
            g.drawString(caption, (float) begin, (float) height);
            height += fontSize;
        }
    }