TextComp, TextView, TextGraphic, PSText - multiline text component subject, view, structured graphic, and
Contents
Description
TextComp is a GraphicComp that defines a piece of multiline 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.
Name
TextComp, TextView, TextGraphic, PSText - multiline text component subject, view, structured graphic, and
PostScript external representation
Pstext Protected Operations
constchar*Filter(constchar*string,intlength)
Filter excapes embedded control or other special characters that would cause syntax errors in the
PostScript output.
Pstext Public Operations
PSText(TextComp*=nil)
Construct a PostScript external representation of the given subject, if any.
See Also
FontCmd(3U), GraphicComp(3U), GraphicCompTool(3U), GraphicView(3U), Grid(3U), Label(3U), PostScriptView(3U), ReshapeTool(3U), align(3U), edit(3U), manips(3U), pspaint(3U) Unidraw 23 January 1991 TextComp(3U)
Synopsis
#include<Unidraw/Components/text.h>
Textcomp Public Operations
TextComp(TextGraphic*=nil)
The constructor takes an optional TextGraphic that defines the attributes of the text.
virtualvoidInterpret(Command*)virtualvoidUninterpret(Command*)
TextComp redefines (Un)interpret to ignore BrushCmd and PatternCmd and to (un)interpret FontCmd.
TextGraphic*GetText()
Return the TextGraphic that defines the text component's attributes. GetText is simply a more
specific form of the GetGraphic operation.
Textgraphic Public Operations
TextGraphic(constchar*,inth,Graphic*=nil)TextGraphic(constchar*,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.
voidSetLineHeight(int)intGetLineHeight()
Explicitly set and get the inter-line spacing.
virtualbooleanoperator==(TextGraphic&)virtualbooleanoperator!=(TextGraphic&)
Report whether the given graphic contains or does not contain an identical copy of the text in
thisTextview Protected Operations
virtualbooleanTextChanged()
Return whether the text in the subject is any different from that in the view.
Textview Public Operations
TextView(TextComp*=nil)
Create an TextView, optionally supplying the subject.
virtualvoidInterpret(Command*)
TextView interprets AlignToGridCmd to align its lower-left to the grid.
virtualManipulator*CreateManipulator(Viewer*,Event&,Transformer*,Tool*)virtualvoidInterpretManipulator(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 subject
positioned at the original TextComp's location but reflecting the edited text.
TextComp*GetTextComp()
Return the subject.
