javax.swing.text

Class GlyphView.GlyphPainter

  • Enclosing class:
    GlyphView

    public abstract static class GlyphView.GlyphPainter
    extends Object
    A class to perform rendering of the glyphs. This can be implemented to be stateless, or to hold some information as a cache to facilitate faster rendering and model/view translation. At a minimum, the GlyphPainter allows a View implementation to perform its duties independant of a particular version of JVM and selection of capabilities (i.e. shaping for i18n, etc).
    Since:
    1.3
    • Constructor Detail

      • GlyphView.GlyphPainter

        public GlyphView.GlyphPainter()
    • Method Detail

      • getSpan

        public abstract float getSpan(GlyphView v,
                    int p0,
                    int p1,
                    TabExpander e,
                    float x)
        Determine the span the glyphs given a start location (for tab expansion).
      • getHeight

        public abstract float getHeight(GlyphView v)
      • getAscent

        public abstract float getAscent(GlyphView v)
      • getDescent

        public abstract float getDescent(GlyphView v)
      • paint

        public abstract void paint(GlyphView v,
                 Graphics g,
                 Shape a,
                 int p0,
                 int p1)
        Paint the glyphs representing the given range.
      • viewToModel

        public abstract int viewToModel(GlyphView v,
                      float x,
                      float y,
                      Shape a,
                      Position.Bias[] biasReturn)
        Provides a mapping from the view coordinate space to the logical coordinate space of the model.
        Parameters:
        v - the GlyphView to provide a mapping for
        x - the X coordinate
        y - the Y coordinate
        a - the allocated region to render into
        biasReturn - either Position.Bias.Forward or Position.Bias.Backward is returned as the zero-th element of this array
        Returns:
        the location within the model that best represents the given point of view
        See Also:
        View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
      • getBoundedPosition

        public abstract int getBoundedPosition(GlyphView v,
                             int p0,
                             float x,
                             float len)
        Determines the model location that represents the maximum advance that fits within the given span. This could be used to break the given view. The result should be a location just shy of the given advance. This differs from viewToModel which returns the closest position which might be proud of the maximum advance.
        Parameters:
        v - the view to find the model location to break at.
        p0 - the location in the model where the fragment should start it's representation >= 0.
        x - the graphic location along the axis that the broken view would occupy >= 0. This may be useful for things like tab calculations.
        len - specifies the distance into the view where a potential break is desired >= 0.
        Returns:
        the maximum model location possible for a break.
        See Also:
        View.breakView(int, int, float, float)
      • getPainter

        public GlyphView.GlyphPainter getPainter(GlyphView v,
                                        int p0,
                                        int p1)
        Create a painter to use for the given GlyphView. If the painter carries state it can create another painter to represent a new GlyphView that is being created. If the painter doesn't hold any significant state, it can return itself. The default behavior is to return itself.
        Parameters:
        v - the GlyphView to provide a painter for
        p0 - the starting document offset >= 0
        p1 - the ending document offset >= p0
      • getNextVisualPositionFrom

        public int getNextVisualPositionFrom(GlyphView v,
                                    int pos,
                                    Position.Bias b,
                                    Shape a,
                                    int direction,
                                    Position.Bias[] biasRet)
                                      throws BadLocationException
        Provides a way to determine the next visually represented model location that one might place a caret. Some views may not be visible, they might not be in the same order found in the model, or they just might not allow access to some of the locations in the model.
        Parameters:
        v - the view to use
        pos - the position to convert >= 0
        b - either Position.Bias.Forward or Position.Bias.Backward
        a - the allocated region to render into
        direction - the direction from the current position that can be thought of as the arrow keys typically found on a keyboard. This may be SwingConstants.WEST, SwingConstants.EAST, SwingConstants.NORTH, or SwingConstants.SOUTH.
        biasRet - either Position.Bias.Forward or Position.Bias.Backward is returned as the zero-th element of this array
        Returns:
        the location within the model that best represents the next location visual position.
        Throws:
        BadLocationException
        IllegalArgumentException - for an invalid direction

Traduction non disponible

Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.

Document créé le 31/08/2006, dernière modification le 04/03/2020
Source du document imprimé : https://www.gaudry.be/java-api-rf-javax/swing/text/GlyphView.GlyphPainter.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : https://docs.oracle.com, GlyphView.GlyphPainter

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut