Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmRenderTable(3X) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     XmRenderTable(3X)         UNIX System V         XmRenderTable(3X)



     NAME
          XmRenderTable - Data type for a render table

     SYNOPSIS
          #include <Xm/Xm.h>
          XmRenderTable

     VERSION
          This page documents Motif 2.1.

     DESCRIPTION
          XmRenderTable is the data type for a render table, which
          contains a table of renditions (XmRenditions). Each
          rendition consists of a set of attributes for rendering
          text, including a font or fontset, colors, tabs, and lines.
          Each rendition is identified with a tag.

          When a compound string is displayed, for each segment in the
          string, the rendition used to render that string is formed
          as follows. If the segment has at least one rendition begin
          tag or if the list of tags formed by accumulating from
          previous segments the rendition begin tags and removing the
          rendition end tags is not empty, these tags are matched with
          renditions in the render table. The effective rendition used
          to render the segment is formed by successively merging each
          rendition found into the current rendition with non-
          XmASIS(XmUNSPECIFIEDPIXEL for color resources) values for
          resources in the rendition to be merged, thus replacing the
          corresponding values of the resources in the current
          rendition. Finally, if the resulting rendition still has
          resources with unspecified values and the segment has a
          locale or charset tag (these are optional and mutually
          exclusive) this tag is matched with a rendition in the
          render table, and the missing rendition values are filled in
          from that entry.

          If no matching rendition is found for a particular tag, then
          the XmNnoRenditionCallback of the XmDisplay object is called
          and the render table is searched again for that tag.

          If the resulting rendition does not specify a font or
          fontset, then for segments whose text type is
          XmCHARSETTEXT, the render table will be searched for a
          rendition tagged with XmFONTLISTDEFAULTTAG, and if a
          matching rendition is found, it will be merged into the
          current rendition. If the resulting rendition contains no
          font or fontset, the XmNnoFontCallback will be called with
          the default rendition and "" as the font name. If no
          rendition matches or no font was found after the callback,
          then the first rendition in the render table will be merged
          into the current rendition. If this rendition still has no
          font, then the segment will not be rendered and a warning



     Page 1                                          (printed 1/22/99)





     XmRenderTable(3X)         UNIX System V         XmRenderTable(3X)



          will be emitted.

          For segments whose text type is XmMULTIBYTETEXT or
          XmWIDECHARTEXT, the render table will be searched for a
          rendition tagged with MOTIFDEFAULTLOCALE, and, if a
          matching rendition is found, it will be merged into the
          current rendition. If the resulting rendition contains no
          font, the XmNnoFontCallback will be called with the default
          rendition and "" as the font name.  An application can have
          this callback attempt to remedy this problem by calling
          XmRenditionUpdate on the input rendition to provide a font
          for the widget to use. This may be done by either providing
          an alternative font name to be loaded using the XmNfontName
          and XmNfontType resources or with an already loaded font
          using the XmNfont resource.  If no rendition matches or no
          font was found after the callback, then the segment will not
          be rendered and a warning will be issued.

          Render tables are specified in resource files with the
          following syntax:

          resource_spec: [ tag [, tag ]* ]

          where tag is some string suitable for the XmNtag resource of
          a rendition.

          If no tags are specified, then a render table will be
          created that is either empty or contains only a rendition
          with a tag of MOTIFDEFAULTLOCALE.

          Specific values for specific rendition resources are
          specified using the following syntax:

          resource_spec [*|.] rendition[*|.] resource_name: value

          where:

          resource_spec
                    Specifies the render table.

          rendition Is either the class Rendition or a tag.

          resource_name
                    Is either the class or name of a particular
                    resource.

          value     Is the specification of the value to be set.

          Any resource line that consists of just a resource name or
          class component with no rendition component or loose binding
          will be assumed to specify resource values for a rendition
          with a tag of MOTIFDEFAULTLOCALE. In effect, this creates



     Page 2                                          (printed 1/22/99)





     XmRenderTable(3X)         UNIX System V         XmRenderTable(3X)



          a default rendition in much the same way that specifying no
          fontlist tag for a fontlist resource causes the fontlist
          created to contain an entry tagged with
          XmFONTLISTDEFAULTTAG:

          resource_spec.resource_name: value

          For example, the following would set the XmNrenderTable
          resource of label1 to a render table consisting of three
          renditions tagged with MOTIFDEFAULTLOCALE, bold, and
          oblique, with values for resources set as described in the
          resource specifications.

          *label1.renderTable: bold, oblique
          *label1.renderTable.bold.renditionForeground: Green
          *label1.renderTable.bold.fontName: *-*-*-bold-*-iso8859-1
          *label1.renderTable.bold.fontType: FONT_IS_FONT
          *label1.renderTable.oblique.renditionBackground: Red
          *label1.renderTable.oblique.fontName: *-*-*-italic-*-iso8859-1
          *label1.renderTable.oblique.fontType: FONT_IS_FONT
          *label1.renderTable.oblique.underlineType: AS_IS
          *label1.renderTable.fontName: fixed
          *label1.renderTable.fontType: FONT_IS_FONT
          *label1.renderTable.renditionForegound: black
          *label1.renderTable*tabList: 1in, +1.5in, +3in

     RELATED
          XmRenderTableAddRenditions(3), XmRenderTableCopy(3),
          XmRenderTableCvtFromProp(3), XmRenderTableCvtToProp(3),
          XmRenderTableFree(3), XmRenderTableGetRendition(3),
          XmRenderTableGetRenditions(3), XmRenderTableGetTags(3),
          XmRenderTableRemoveRenditions(3), XmRendition(3), and
          XmString(3).






















     Page 3                                          (printed 1/22/99)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026