home *** CD-ROM | disk | FTP | other *** search
- #ifndef XTEXT_H
- #define XTEXT_H
-
-
- /* *** xtext.h **************************************************************
- *
- * XText Routines
- * from Book 1 of the Amiga Programmers' Suite by RJ Mical
- *
- * Copyright (C) 1986, 1987, Robert J. Mical
- * All Rights Reserved.
- *
- * Created for Amiga developers.
- * Any or all of this code can be used in any program as long as this
- * entire notice is retained, ok? Thanks.
- *
- * HISTORY NAME DESCRIPTION
- * ----------- -------------- --------------------------------------------
- * 27 Oct 86 RJ Add XText buffer stuff, prepare for release
- * March 86 RJ Incorporated this code in Sidecar
- * 26 Jan 86 RJ Mical Created this file (on my birthday!)
- *
- * *********************************************************************** */
-
-
- #include <exec/types.h>
- #include <exec/memory.h>
-
- #include <intuition/intuition.h>
-
-
-
-
- /* === System Macros ==================================================== */
- #define SetFlag(v,f) ((v)|=(f))
- #define ClearFlag(v,f) ((v)&=~(f))
- #define ToggleFlag(v,f) ((v)^=(f))
- #define FlagIsSet(v,f) ((BOOL)(((v)&(f))!=0))
- #define FlagIsClear(v,f) ((BOOL)(((v)&(f))==0))
-
-
-
- /* === XText Support Structure =========================================== */
- struct XTextSupport
- {
- BYTE FrontPen, BackPen;
- BYTE DrawMode;
-
- BYTE MaxTextWidth;
-
- SHORT CharHeight;
- SHORT Flags;
-
- UBYTE *NormalTextPlane;
- UBYTE *InverseTextPlane;
- UBYTE *AllClearPlane;
- UBYTE *AllSetPlane;
-
- struct Remember *XTextKey;
-
- struct RastPort *OutputRPort;
-
- SHORT FontSelect; /* Definitions for FontSelect are below */
- UBYTE *FontData[8];
-
- struct BitMap TextBitMap;
- };
-
-
- /* === FontSelect Definitions === */
- /* Though these are given names, these are basically just indices into the
- * FontData array.
- */
- #define NORMAL_FONT 0 /* The default, don'cha know */
- #define BOLD_FONT 1
- #define ULINE_FONT 2
- #define ULINE_BOLD_FONT 3
- #define ITALIC_FONT 4
- #define ITALIC_BOLD_FONT 5
- #define ITALIC_ULINE_FONT 6
- #define ITALIC_ULINE_BOLD_FONT 7
-
- /* === XTextSupport Flags Definitions === */
- #define SLIM_XTEXT 0x0001
-
-
-
- /* === XText Miscellaneous Definitions =================================== */
- #define XTEXT_CHARWIDTH 8 /* This is sacrosanct */
-
- /* The ITALIC_LEFT_EDGE is used to determine which slice of the italic
- * imagery is used for the font imagery.
- * The value of this constant is used as the starting left column of
- * font imagery after italics have been applied to the font.
- * If you haven't the foggiest notion what this means, leave this
- * constant alone and you'll be OK.
- */
- #define ITALIC_LEFT_EDGE 1
-
-
-
- /* === Function Definitions ============================================== */
- UBYTE *AllocMem();
- UBYTE *AllocRemember();
-
- struct XTextSupport *MakeXTextSupport();
-
- struct TextFont *OpenDiskFont();
- struct TextFont *OpenFont();
- UBYTE *OpenLibrary();
- struct Screen *OpenScreen();
- struct TmpRas *InitTmpRas();
- struct Window *OpenWindow();
-
-
-
- /* === And finally, eglobal inclusion ==================================== */
- #ifndef EGLOBAL_CANCEL
- #include "eglobal.c"
- #endif
-
-
- #endif /* of XTEXT_H */
-
-
-