00001
00061 #ifndef __NMEStyle__
00062 #define __NMEStyle__
00063
00064 #ifdef __cplusplus
00065 extern "C" {
00066 #endif
00067
00068 #include "NME.h"
00069
00071 enum
00072 {
00073 kNMEErrStyleTableTooSmall = kNMEErr1stNMEOpt
00074 };
00075
00077 typedef enum NMEStyleEnum
00078 {
00079 kNMEStyleCharPlain = 0,
00080 kNMEStyleCharBold,
00081 kNMEStyleCharItalic,
00082 kNMEStyleCharUnderline,
00083 kNMEStyleCharSuperscript,
00084 kNMEStyleCharSubscript,
00085 kNMEStyleCharMonospace,
00086 kNMEStyleCharLink,
00087 kNMEStyleCharImage,
00088 kNMEStyleCharDT,
00089 kNMEStyleCharTH,
00090
00091 kNMEStyleParPlain,
00092 kNMEStyleParHeading,
00093 kNMEStyleParTable,
00094 kNMEStyleParUL,
00095 kNMEStyleParOL,
00096 kNMEStyleParDL,
00097 kNMEStyleParDT,
00098 kNMEStyleParIndentedPar,
00099
00100 kNMEStyleCount
00101 } NMEStyleEnum;
00102
00104 typedef struct
00105 {
00106 NMEInt begin;
00107 NMEInt end;
00108 NMEStyleEnum style;
00109 NMEInt level;
00110 NMEInt linkOffset;
00111 NMEInt linkLength;
00112 } NMEStyleSpan;
00113
00115 typedef struct
00116 {
00117 NMEInt tableSize;
00118 NMEInt n;
00119 NMEBoolean convertOffsetsToUnicode;
00121 NMEInt depth;
00122 NMEInt spanStack[kNMEStyleCount];
00123 NMEStyleSpan span[1];
00124 } NMEStyleTable;
00125
00127 extern NMEOutputFormat const NMEOutputFormatBasicText;
00128
00137 void NMEStyleInit(NMEStyleTable *table, NMEInt size,
00138 NMEBoolean convertOffsetsToUnicode);
00139
00151 NMEErr NMEStyleSpanHook(NMEInt level,
00152 NMEInt item,
00153 NMEBoolean enter,
00154 NMEConstText markup,
00155 NMEInt srcIndex,
00156 NMEContext *context,
00157 void *data);
00158
00159 #ifdef __cplusplus
00160 }
00161 #endif
00162
00163 #endif