TextComp,  TextView,  TextGraphic, PSText - multiline text
       component   subject,   view,   structured   graphic,   and
       PostScript external representation


SYNOPSIS

       #include <Unidraw/Components/text.h>


DESCRIPTION

       TextComp  is  a GraphicComp that defines a piece of multi-
       line text.  It uses a TextGraphic (a subclass of Label) to
       store its graphical attributes.  TextView is a GraphicView
       for displaying the text.  PSText is a PostScriptView  that
       externalizes the subject's information in PostScript form.


TEXTCOMP PUBLIC OPERATIONS

       TextComp(TextGraphic* = nil)
              The constructor takes an optional TextGraphic  that
              defines the attributes of the text.

       virtual void Interpret(Command*)
       virtual void Uninterpret(Command*)
              TextComp redefines (Un)interpret to ignore BrushCmd
              and PatternCmd and to (un)interpret FontCmd.

       TextGraphic* GetText()
              Return the TextGraphic that defines the text compo-
              nent's  attributes.   GetText is simply a more spe-
              cific form of the GetGraphic operation.


TEXTVIEW PUBLIC OPERATIONS

       TextView(TextComp* = nil)
              Create an TextView, optionally supplying  the  sub-
              ject.

       virtual void Interpret(Command*)
              TextView  interprets  AlignToGridCmd  to  align its
              lower-left to the grid.

       virtual Manipulator* CreateManipulator(
          Viewer*, Event&, Transformer*, Tool*
       )

       virtual void InterpretManipulator(Manipulator*)
              TextView redefines  its  response  to  manipulation
              with  a  GraphicCompTool.  GraphicCompTool will let
              the user position and type out the component's text
              using  TextManip.  Positioning  of the text will be
              influenced  by  gravity,  if  any.  TextView   also
              defines  a  response  to the ReshapeTool to let the
              user  edit  the  text.   The  subject  is  actually
              replaced  (via ReplaceCmd) with a new TextComp sub-
              ject positioned at the original TextComp's location
              Return the subject.


TEXTVIEW PROTECTED OPERATIONS

       virtual boolean TextChanged()
              Return  whether the text in the subject is any dif-
              ferent from that in the view.


TEXTGRAPHIC PUBLIC OPERATIONS

       TextGraphic(const char*, int h, Graphic* = nil)
       TextGraphic(const char*, Graphic*)
              Create a TextGraphic, specifying its text, optional
              inter-line spacing, and optional graphic from which
              to obtain default graphics attributes.  TextGraphic
              stores  a  copy  of  the  given string (behavior it
              inherits from Label).  If inter-line spacing is not
              specified,  then lines will be separated to reflect
              the font height reported by PSFont.

       void SetLineHeight(int)
       int GetLineHeight()
              Explicitly set and get the inter-line spacing.

       virtual boolean operator == (TextGraphic&)
       virtual boolean operator != (TextGraphic&)
              Report whether the given graphic contains  or  does
              not contain an identical copy of the text in this


PSTEXT PUBLIC OPERATIONS

       PSText(TextComp* = nil)
              Construct  a  PostScript external representation of
              the given subject, if any.


PSTEXT PROTECTED OPERATIONS

       const char* Filter(const char* string, int length)
              Filter excapes embedded control  or  other  special
              characters  that  would  cause syntax errors in the
              PostScript output.


SEE ALSO

       FontCmd(3U), GraphicComp(3U), GraphicCompTool(3U),  Graph-
       icView(3U),   Grid(3U),   Label(3U),   PostScriptView(3U),
       ReshapeTool(3U),    align(3U),    edit(3U),    manips(3U),
       pspaint(3U)










Man(1) output converted with man2html