sys7.1-doc-wip/Interfaces/PInterfaces/QuickdrawText.p
2019-07-27 22:37:48 +08:00

185 lines
6.2 KiB
OpenEdge ABL

{
File: QuickdrawText.p
Pascal Interface to the Macintosh Libraries
Copyright: © 1983-1992 by Apple Computer, Inc.
All rights reserved.
Change History (most recent first):
<3> 8/4/92 DCL Changed the textLen parameter to textLength in the prototypes
for PortionText, VisibleLength, PixelToChar & CharToPixel.
<2> 5/29/92 DCL Moved StdText from QuickDraw to QuickDrawText and fixed up some
comments.
<1> 5/5/92 DCL first checked in
}
{$IFC UNDEFINED UsingIncludes}
{$SETC UsingIncludes := 0}
{$ENDC}
{$IFC NOT UsingIncludes}
UNIT QuickdrawText;
INTERFACE
{$ENDC}
{$IFC UNDEFINED UsingQuickdrawText}
{$SETC UsingQuickdrawText := 1}
{$I+}
{$SETC QuickdrawTextIncludes := UsingIncludes}
{$SETC UsingIncludes := 1}
{$IFC UNDEFINED UsingTypes}
{$I $$Shell(PInterfaces)Types.p}
{$ENDC}
{$IFC UNDEFINED UsingIntlResources}
{$I $$Shell(PInterfaces)IntlResources.p}
{$ENDC}
{$SETC UsingIncludes := QuickdrawTextIncludes}
CONST
{ CharToPixel directions }
leftCaret = 0; {Place caret for left block}
rightCaret = -1; {Place caret for right block}
hilite = 1; {Direction is SysDirection}
smLeftCaret = 0; {Place caret for left block obsolete }
smRightCaret = -1; {Place caret for right block obsolete }
smHilite = 1; {Direction is TESysJust obsolete }
{Constants for styleRunPosition argument in PortionLine, DrawJustified,
MeasureJustified, CharToPixel, and PixelToChar.}
onlyStyleRun = 0; { This is the only style run on the line }
leftStyleRun = 1; { This is leftmost of multiple style runs on the line }
rightStyleRun = 2; { This is rightmost of multiple style runs on the line }
middleStyleRun = 3; { There are multiple style runs on the line and this
is neither the leftmost nor the rightmost. }
smOnlyStyleRun = 0; { obsolete }
smLeftStyleRun = 1; { obsolete }
smRightStyleRun = 2; { obsolete }
smMiddleStyleRun = 3; { obsolete }
TYPE
{ type for styleRunPosition parameter in PixelToChar etc. }
JustStyleCode = INTEGER;
FontInfo = RECORD
ascent: INTEGER;
descent: INTEGER;
widMax: INTEGER;
leading: INTEGER;
END;
FormatOrder = ARRAY [0..0] OF INTEGER;
FormatOrderPtr = ^FormatOrder;
FormatStatus = INTEGER;
FUNCTION Pixel2Char(textBuf: Ptr;textLen: INTEGER;slop: INTEGER;pixelWidth: INTEGER;
VAR leadingEdge: BOOLEAN): INTEGER;
INLINE $2F3C,$820E,$0014,$A8B5;
FUNCTION Char2Pixel(textBuf: Ptr;textLen: INTEGER;slop: INTEGER;offset: INTEGER;
direction: INTEGER): INTEGER;
INLINE $2F3C,$820C,$0016,$A8B5;
{ New for 7.0 }
FUNCTION PixelToChar(textBuf: Ptr;textLength: LONGINT;slop: Fixed;pixelWidth: Fixed;
VAR leadingEdge: BOOLEAN;VAR widthRemaining: Fixed;styleRunPosition: JustStyleCode;
numer: Point;denom: Point): INTEGER;
INLINE $2F3C,$8222,$002E,$A8B5;
FUNCTION NPixel2Char(textBuf: Ptr;textLen: LONGINT;slop: Fixed;pixelWidth: Fixed;
VAR leadingEdge: BOOLEAN;VAR widthRemaining: Fixed;styleRunPosition: JustStyleCode;
numer: Point;denom: Point): INTEGER;
INLINE $2F3C,$8222,$002E,$A8B5;
FUNCTION CharToPixel(textBuf: Ptr;textLength: LONGINT;slop: Fixed;offset: LONGINT;
direction: INTEGER;styleRunPosition: JustStyleCode;numer: Point;denom: Point): INTEGER;
INLINE $2F3C,$821C,$0030,$A8B5;
FUNCTION NChar2Pixel(textBuf: Ptr;textLen: LONGINT;slop: Fixed;offset: LONGINT;
direction: INTEGER;styleRunPosition: JustStyleCode;numer: Point;denom: Point): INTEGER;
INLINE $2F3C,$821C,$0030,$A8B5;
PROCEDURE DrawJustified(textPtr: Ptr;textLength: LONGINT;slop: Fixed;styleRunPosition: JustStyleCode;
numer: Point;denom: Point);
INLINE $2F3C,$8016,$0032,$A8B5;
PROCEDURE NDrawJust(textPtr: Ptr;textLength: LONGINT;slop: Fixed;styleRunPosition: JustStyleCode;
numer: Point;denom: Point);
INLINE $2F3C,$8016,$0032,$A8B5;
PROCEDURE MeasureJustified(textPtr: Ptr;textLength: LONGINT;slop: Fixed;charLocs: Ptr;
styleRunPosition: JustStyleCode;numer: Point;denom: Point);
INLINE $2F3C,$801A,$0034,$A8B5;
PROCEDURE NMeasureJust(textPtr: Ptr;textLength: LONGINT;slop: Fixed;charLocs: Ptr;
styleRunPosition: JustStyleCode;numer: Point;denom: Point);
INLINE $2F3C,$801A,$0034,$A8B5;
FUNCTION NPortionText(textPtr: Ptr;textLen: LONGINT;styleRunPosition: JustStyleCode;
numer: Point;denom: Point): Fixed;
INLINE $2F3C,$8412,$0036,$A8B5;
FUNCTION PortionLine(textPtr: Ptr;textLen: LONGINT;styleRunPosition: JustStyleCode;
numer: Point;denom: Point): Fixed;
INLINE $2F3C,$8412,$0036,$A8B5;
PROCEDURE HiliteText(textPtr: Ptr;textLength: INTEGER;firstOffset: INTEGER;
secondOffset: INTEGER;VAR offsets: OffsetTable);
INLINE $2F3C,$800E,$001C,$A8B5;
PROCEDURE DrawJust(textPtr: Ptr;textLength: INTEGER;slop: INTEGER);
INLINE $2F3C,$8008,$001E,$A8B5;
PROCEDURE MeasureJust(textPtr: Ptr;textLength: INTEGER;slop: INTEGER;charLocs: Ptr);
INLINE $2F3C,$800C,$0020,$A8B5;
FUNCTION PortionText(textPtr: Ptr;textLength: LONGINT): Fixed;
INLINE $2F3C,$8408,$0024,$A8B5;
FUNCTION VisibleLength(textPtr: Ptr;textLength: LONGINT): LONGINT;
INLINE $2F3C,$8408,$0028,$A8B5;
PROCEDURE GetFormatOrder(ordering: FormatOrderPtr;firstFormat: INTEGER;
lastFormat: INTEGER;lineRight: BOOLEAN;rlDirProc: Ptr;dirParam: Ptr);
INLINE $2F3C,$8012,$FFFC,$A8B5;
PROCEDURE TextFont(font: INTEGER);
INLINE $A887;
PROCEDURE TextFace(face: Style);
INLINE $A888;
PROCEDURE TextMode(mode: INTEGER);
INLINE $A889;
PROCEDURE TextSize(size: INTEGER);
INLINE $A88A;
PROCEDURE SpaceExtra(extra: Fixed);
INLINE $A88E;
PROCEDURE DrawChar(ch: CHAR);
INLINE $A883;
PROCEDURE DrawString(s: Str255);
INLINE $A884;
PROCEDURE DrawText(textBuf: Ptr;firstByte: INTEGER;byteCount: INTEGER);
INLINE $A885;
FUNCTION CharWidth(ch: CHAR): INTEGER;
INLINE $A88D;
FUNCTION StringWidth(s: Str255): INTEGER;
INLINE $A88C;
FUNCTION TextWidth(textBuf: Ptr;firstByte: INTEGER;byteCount: INTEGER): INTEGER;
INLINE $A886;
PROCEDURE MeasureText(count: INTEGER;textAddr: Ptr;charLocs: Ptr);
INLINE $A837;
PROCEDURE GetFontInfo(VAR info: FontInfo);
INLINE $A88B;
PROCEDURE CharExtra(extra: Fixed);
INLINE $AA23;
PROCEDURE StdText(count: INTEGER;textAddr: Ptr;numer: Point;denom: Point);
INLINE $A882;
FUNCTION StdTxMeas(byteCount: INTEGER;textAddr: Ptr;VAR numer: Point;VAR denom: Point;
VAR info: FontInfo): INTEGER;
INLINE $A8ED;
{$ENDC} { UsingQuickdrawText }
{$IFC NOT UsingIncludes}
END.
{$ENDC}