Class GCStringPrinter


  • public class GCStringPrinter
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      GCStringPrinter​(org.eclipse.swt.graphics.GC gc, java.lang.String string, org.eclipse.swt.graphics.Rectangle printArea, boolean skipClip, boolean fullLinesOnly, int swtFlags)  
      GCStringPrinter​(org.eclipse.swt.graphics.GC gc, java.lang.String string, org.eclipse.swt.graphics.Rectangle printArea, int printFlags, int swtFlags)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private boolean __printString()  
      private boolean _printString()  
      void calculateMetrics()  
      private void drawLine​(org.eclipse.swt.graphics.GC gc, GCStringPrinter.LineInfo lineInfo, int swtFlags, org.eclipse.swt.graphics.Rectangle printArea, boolean noDraw)
      printArea is updated to the position of the next row
      private static void drawText​(org.eclipse.swt.graphics.GC gc, java.lang.String text, int x, int y, boolean transparent)  
      private org.eclipse.swt.graphics.Point drawText​(org.eclipse.swt.graphics.GC gc, java.lang.String s, int x, int y, int height, java.util.List<org.eclipse.swt.graphics.Rectangle> hitAreas, boolean nodraw, boolean calcExtent)  
      org.eclipse.swt.graphics.Rectangle getCalculatedDrawRect()
      Get the area that was drawn to.
      org.eclipse.swt.graphics.Point getCalculatedPreferredSize()  
      org.eclipse.swt.graphics.Point getCalculatedSize()  
      GCStringPrinter.URLInfo getHitUrl​(int x, int y)  
      GCStringPrinter.URLInfo[] getHitUrlInfo()  
      float[] getImageScales()  
      org.eclipse.swt.graphics.Rectangle getPrintArea()  
      java.lang.String getText()  
      org.eclipse.swt.graphics.Color getUrlColor()  
      boolean hasHitUrl()  
      boolean isCutoff()  
      boolean isTruncated()  
      boolean isWordCut()  
      static void main​(java.lang.String[] args)  
      boolean printString()  
      boolean printString​(int _printFlags)  
      static boolean printString​(org.eclipse.swt.graphics.GC gc, java.lang.String string, org.eclipse.swt.graphics.Rectangle printArea)  
      static boolean printString​(org.eclipse.swt.graphics.GC gc, java.lang.String string, org.eclipse.swt.graphics.Rectangle printArea, boolean skipClip, boolean fullLinesOnly)  
      static boolean printString​(org.eclipse.swt.graphics.GC gc, java.lang.String string, org.eclipse.swt.graphics.Rectangle printArea, boolean skipClip, boolean fullLinesOnly, int swtFlags)  
      void printString​(org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle rectangle, int swtFlags)
      DO NOT REMOVE OR CHANGE RETURN TYPE -- USED BY PLUGINS
      boolean printString2​(org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle rectangle, int swtFlags)  
      private GCStringPrinter.LineInfo processLine​(org.eclipse.swt.graphics.GC gc, GCStringPrinter.LineInfo lineInfo, org.eclipse.swt.graphics.Rectangle printArea, boolean fullLinesOnly, boolean hasMoreElements)  
      private int processWord​(org.eclipse.swt.graphics.GC gc, java.lang.String sLine, java.lang.String word, org.eclipse.swt.graphics.Rectangle printArea, GCStringPrinter.LineInfo lineInfo, java.lang.StringBuffer outputLine, java.lang.StringBuffer space)  
      void setImages​(org.eclipse.swt.graphics.Image[] images)  
      void setImageScales​(float[] imageScales)  
      void setUrlColor​(org.eclipse.swt.graphics.Color urlColor)  
      private static org.eclipse.swt.graphics.Point stringExtent​(org.eclipse.swt.graphics.GC gc, java.lang.String text)  
      private boolean swt_printString()  
      private boolean swt_printString_NoAdvanced()  
      private static org.eclipse.swt.graphics.Point textExtent​(org.eclipse.swt.graphics.GC gc, java.lang.String text)  
      private java.lang.String truncate​(java.lang.String str)  
      private void truncate​(java.lang.StringBuffer buffer, int len)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • patHREF

        private static final java.util.regex.Pattern patHREF
      • patAHREF_TITLE

        private static final java.util.regex.Pattern patAHREF_TITLE
      • patAHREF_TARGET

        private static final java.util.regex.Pattern patAHREF_TARGET
      • cutoff

        private boolean cutoff
      • truncated

        private boolean truncated
      • isWordCut

        private boolean isWordCut
      • gc

        private org.eclipse.swt.graphics.GC gc
      • string

        private java.lang.String string
      • printArea

        private org.eclipse.swt.graphics.Rectangle printArea
      • swtFlags

        private int swtFlags
      • printFlags

        private int printFlags
      • size

        private org.eclipse.swt.graphics.Point size
      • preferredSize

        private org.eclipse.swt.graphics.Point preferredSize
      • urlColor

        private org.eclipse.swt.graphics.Color urlColor
      • images

        private org.eclipse.swt.graphics.Image[] images
      • imageScales

        private float[] imageScales
      • iCurrentHeight

        private int iCurrentHeight
      • wrap

        private boolean wrap
      • drawRect

        private org.eclipse.swt.graphics.Rectangle drawRect
    • Constructor Detail

      • GCStringPrinter

        public GCStringPrinter​(org.eclipse.swt.graphics.GC gc,
                               java.lang.String string,
                               org.eclipse.swt.graphics.Rectangle printArea,
                               boolean skipClip,
                               boolean fullLinesOnly,
                               int swtFlags)
      • GCStringPrinter

        public GCStringPrinter​(org.eclipse.swt.graphics.GC gc,
                               java.lang.String string,
                               org.eclipse.swt.graphics.Rectangle printArea,
                               int printFlags,
                               int swtFlags)
    • Method Detail

      • printString

        public static boolean printString​(org.eclipse.swt.graphics.GC gc,
                                          java.lang.String string,
                                          org.eclipse.swt.graphics.Rectangle printArea)
      • printString

        public static boolean printString​(org.eclipse.swt.graphics.GC gc,
                                          java.lang.String string,
                                          org.eclipse.swt.graphics.Rectangle printArea,
                                          boolean skipClip,
                                          boolean fullLinesOnly)
      • printString

        public static boolean printString​(org.eclipse.swt.graphics.GC gc,
                                          java.lang.String string,
                                          org.eclipse.swt.graphics.Rectangle printArea,
                                          boolean skipClip,
                                          boolean fullLinesOnly,
                                          int swtFlags)
        Parameters:
        gc - GC to print on
        string - Text to print
        printArea - Area of GC to print text to
        skipClip - Don't set any clipping on the GC. Text may overhang printArea when this is true
        fullLinesOnly - If bottom of a line will be chopped off, do not display it
        swtFlags - SWT flags. SWT.CENTER, SWT.BOTTOM, SWT.TOP, SWT.WRAP
        Returns:
        whether it fit
      • _printString

        private boolean _printString()
      • swt_printString_NoAdvanced

        private boolean swt_printString_NoAdvanced()
      • swt_printString

        private boolean swt_printString()
      • __printString

        private boolean __printString()
        Parameters:
        gc -
        string -
        printArea -
        printFlags -
        swtFlags -
        Returns:
        Since:
        3.0.4.3
      • processLine

        private GCStringPrinter.LineInfo processLine​(org.eclipse.swt.graphics.GC gc,
                                                     GCStringPrinter.LineInfo lineInfo,
                                                     org.eclipse.swt.graphics.Rectangle printArea,
                                                     boolean fullLinesOnly,
                                                     boolean hasMoreElements)
        Parameters:
        hasMoreElements -
        line -
        Since:
        3.0.0.7
      • truncate

        private void truncate​(java.lang.StringBuffer buffer,
                              int len)
      • truncate

        private java.lang.String truncate​(java.lang.String str)
      • processWord

        private int processWord​(org.eclipse.swt.graphics.GC gc,
                                java.lang.String sLine,
                                java.lang.String word,
                                org.eclipse.swt.graphics.Rectangle printArea,
                                GCStringPrinter.LineInfo lineInfo,
                                java.lang.StringBuffer outputLine,
                                java.lang.StringBuffer space)
        Parameters:
        int - Position of part of word that didn't fit
        Since:
        3.0.0.7
      • drawLine

        private void drawLine​(org.eclipse.swt.graphics.GC gc,
                              GCStringPrinter.LineInfo lineInfo,
                              int swtFlags,
                              org.eclipse.swt.graphics.Rectangle printArea,
                              boolean noDraw)
        printArea is updated to the position of the next row
        Parameters:
        gc -
        outputLine -
        swtFlags -
        printArea -
        noDraw -
      • drawText

        private org.eclipse.swt.graphics.Point drawText​(org.eclipse.swt.graphics.GC gc,
                                                        java.lang.String s,
                                                        int x,
                                                        int y,
                                                        int height,
                                                        java.util.List<org.eclipse.swt.graphics.Rectangle> hitAreas,
                                                        boolean nodraw,
                                                        boolean calcExtent)
      • stringExtent

        private static org.eclipse.swt.graphics.Point stringExtent​(org.eclipse.swt.graphics.GC gc,
                                                                   java.lang.String text)
      • textExtent

        private static org.eclipse.swt.graphics.Point textExtent​(org.eclipse.swt.graphics.GC gc,
                                                                 java.lang.String text)
      • drawText

        private static void drawText​(org.eclipse.swt.graphics.GC gc,
                                     java.lang.String text,
                                     int x,
                                     int y,
                                     boolean transparent)
      • main

        public static void main​(java.lang.String[] args)
      • printString

        public boolean printString()
      • printString

        public boolean printString​(int _printFlags)
      • calculateMetrics

        public void calculateMetrics()
      • printString

        public void printString​(org.eclipse.swt.graphics.GC gc,
                                org.eclipse.swt.graphics.Rectangle rectangle,
                                int swtFlags)
        DO NOT REMOVE OR CHANGE RETURN TYPE -- USED BY PLUGINS
      • printString2

        public boolean printString2​(org.eclipse.swt.graphics.GC gc,
                                    org.eclipse.swt.graphics.Rectangle rectangle,
                                    int swtFlags)
      • getCalculatedSize

        public org.eclipse.swt.graphics.Point getCalculatedSize()
      • getCalculatedPreferredSize

        public org.eclipse.swt.graphics.Point getCalculatedPreferredSize()
      • getUrlColor

        public org.eclipse.swt.graphics.Color getUrlColor()
      • setUrlColor

        public void setUrlColor​(org.eclipse.swt.graphics.Color urlColor)
      • hasHitUrl

        public boolean hasHitUrl()
      • isCutoff

        public boolean isCutoff()
      • isTruncated

        public boolean isTruncated()
      • setImages

        public void setImages​(org.eclipse.swt.graphics.Image[] images)
      • getImageScales

        public float[] getImageScales()
      • setImageScales

        public void setImageScales​(float[] imageScales)
      • getText

        public java.lang.String getText()
        Returns:
        Since:
        4.0.0.1
      • isWordCut

        public boolean isWordCut()
      • getCalculatedDrawRect

        public org.eclipse.swt.graphics.Rectangle getCalculatedDrawRect()
        Get the area that was drawn to. Draw Rectangle is a subset of the original printArea that was painted on. In cases where text was centered vertically, or bottom aligned, y may be larger than printArea.y. x may be difference if text is centered or right aligned. Note: x is only adjusted if text is drawn.

        Returned width and height are the same as getCalculatedSize()

      • getPrintArea

        public org.eclipse.swt.graphics.Rectangle getPrintArea()