home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
wpentk.zip
/
WBPENTK4.DSK
/
IDRTEXT.IDL
< prev
next >
Wrap
Text File
|
1994-10-07
|
27KB
|
794 lines
//# This file was generated by the SOM Compiler.
//# FileName: idrtext.id2.
//# Generated using:
//# SOM Precompiler somopc: 2.7
//# SOM Emitter emitidl: 2.22
//
// CLASS: IDRText
//
// CLASS HIERARCHY:
//
// SOMObject
// └── IDRReco
// └── IDRText
//
// DESCRIPTION:
//
// Transformation of input data to text.
#ifndef idrtext_idl
#define idrtext_idl
#include "idrreco.idl"
#include <somcls.idl>
interface M_IDRText;
interface IDRText : IDRReco
{
VOID idrSetSymbolSubsetPriority(in ULONG ulSymSets) raises(IDR_PROB);
// Method : idrSetSymbolSubsetPriority
//
// Purpose : Specify the symbol sets to be given higher priority than
// others during recognition.
//
// Synopsis : VOID idrSetSymbolSubsetPriority( ULONG ulSymSets );
//
// ulSymSets... Symbol sets to be given priority
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
//
// Usage :
// Callable - Always.
// Override - Override by subclasses if specific symbols are implemented.
ULONG idrGetSymbolSubsetPriority( ) raises(IDR_PROB);
// Method : idrGetSymbolSubsetPriority
//
// Purpose : Get the symbol sets having higher priority in
// recognition over others.
//
// Synopsis : ULONG idrGetSymbolSubsetPriority( );
//
// ULONG ulSymSets... Pointer to symbol subsets mask having priority.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
//
// Usage :
// Callable - Always.
// Override - Override by subclasses if specific symbols are implemented.
VOID idrSetResultMaximum(in ULONG ulMaxResults ) raises(IDR_PROB);
// Method : idrSetResultMaximum
//
// Purpose : Set the maximum number of results that the engine should
// process during recognition.
//
// Synopsis : VOID idrSetResultMaximum
//
// ulMaxResults... Maximum number of results.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
//
// Notes : If this maximum is set to 0, the engine's default
// value will be used. The lower the number of resluts set,
// the less processing the engine has to do.
//
ULONG idrGetResultMaximum( ) raises(IDR_PROB);
// Method : idrGetResultMaximum
//
// Purpose : Get the maximum number of results that the engine will
// process during recognition for this instance.
//
// Synopsis : ULONG idrGetResultMaximum( )
//
// ULONG ulMaxResults... Maximum number of results.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
//
// Notes :
VOID idrRecoInput(in HWND hNotify,
in ULONG ulUser ) raises(IDR_PROB);
// Method : idrRecoInput
//
// Purpose : Indicate that all stroke input is complete; request
// recognition of training processing.
//
// Synopsis : VOID idrRecoInput( HWND hNotify, ULONG ulUser);
//
// hNotify... Window to notify when processing is complete.
// ulUser... User value.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
//
// Notes : An IDR_RESULT message will be send to hNotify when
// processing is done. The ulUser parameter will be
// passed back in mp1.
//
// Once the application returns from this message, all strokes
// are cleared from the engine.
//
VOID idrGetTopResult( in PULONG pulCnt,
in PIDR_TXTSYM pResults ) raises(IDR_PROB);
// Method : idrGetTopResult
//
// Purpose : Retrieve the most probable, highest level recognition result.
//
// Synopsis : VOID idrGetTopResult( INOUT PULONG pulCnt,
// INOUT PIDR_TXTSYM pResults )
//
// pulCnt....... Pointer to the count of clusters available.
// pResults..... Pointer to the array of IDR_TXTSYM to be returned
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_BUF_TOO_SMALL...A larger buffer is required.
//
// Notes :
// Two invocations may be required to get the data:
// 1) Allocate *pulCnt * sizeof (IDR_TXTSYM) and point to it with
// pResults.
// 2) If successful and the initial buffer was large enough,
// pResults will contain the information and *pulCnt will contain
// the number of symbols returned. Otherwise,
// IDRERR_BUF_TOO_SMALL will be returned and *pulCnt will contain
// the number of symbols to be returned.
// 3) Reallocate the block, point to it (via 'pResults') and invoke
// again. The 'pResults' is an array of *pulCnt IDR_TXTSYM structures.
//
// Usage :
// Callable - Always.
// Override - Override by subclasses.
VOID idrGetBoxResult( in ULONG ulLocation,
in PULONG pulMemSize,
in PIDR_TXTBOX pInfo) raises(IDR_PROB);
// Method : idGetBoxResult
//
// Purpose : Specialized retrieval of recognition information for a
// particular box.
//
// Synopsis : VOID idrGetBoxResult( INOUT ULONG ulLocation,
// INOUT PULONG pulMemSize,
// INOUT PIDR_TXTBOX pInfo )
//
// ulLocation... Location of the box, the box id.
// pulMemSize... Pointer to size variable.
// pInfo........ Pointer to the box info buffer of size *pulSize.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_BUF_TOO_SMALL...A larger buffer is required.
//
// Notes :
// Two invocations may be required to get the data:
// 1) Invoke with the 'pInfo' pointer variable pointing to an initial
// buffer of size *pulMemSize.
// 2) If successful, the size variable will contain the number of bytes
// required for the information. If the initial buffer was large enough,
// pInfo will contain the information. Otherwise, IDRERR_BUF_TOO_SMALL
// will be returned.
// 3) Reallocate the block, point to it (via 'pInfo') and invoke
// again. The 'paInfo' is an array of *pulCnt cluster info structures.
//
// Usage :
// Callable - Always.
// Override - Override by subclasses.
VOID idrGetClusterHandles ( in PULONG pulCnt,
in PHCLUSTER phClusters ) raises(IDR_PROB);
// Method : idrGetClusterHandles
//
// Purpose : Retrieve the handles to all available clusters.
//
// Synopsis : VOID idrGetClusterHandles( INOUT PULONG pulCnt,
// INOUT PHCLUSTER phClusters ),
//
// pulCnt....... Pointer to the count of clusters available.
// pClusters.... Pointer to the array of HCLUSTERS to be returned
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_BUF_TOO_SMALL...A larger buffer is required.
//
// Notes :
// Two invocations may be required to get the data:
// 1) Allocate *pulCnt * sizeof (HCLUSTER) and point to it with
// phClusters.
// 2) If successful and the initial buffer was large enough,
// phClusters will contain the information and *pulCnt will contain
// the number of cluster handles returned. Otherwise,
// IDRERR_BUF_TOO_SMALL will be returned and *pulCnt will contain
// the number of handles to be returned.
// 3) Reallocate the block, point to it (via 'phClusters') and invoke
// again. The 'pClusters' is an array of *pulCnt HCLUSTERs.
//
// Usage :
// Callable - Always.
// Override - Override by subclasses.
ULONG idrGetResultCount( in HCLUSTER hCluster ) raises(IDR_PROB);
// Method : idrGetResultCount
//
// Purpose : Get the number of possible results available from the
// recognition of this cluster.
//
// Synopsis : ULONG idrGetResultCount(IN HCLUSTER hCluster )
//
// hCluster.. Handle to the cluster.
//
// ULONG ulResultCnt.. Number of possible results for this cluster.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_NO_RESULTS_AVAIL... No results are available.
//
// Notes :
// Each cluster will have one result and possible alternative results.
// This method returns the total number of possible results.
VOID idrGetResultInfo( in HCLUSTER hCluster,
in ULONG ulResult,
in PULONG pulMemSize,
in PIDR_TXTCLUSTER pInfo ) raises(IDR_PROB);
// Method : idrGetResultInfo
//
// Purpose :
//
// Synopsis : VOID idrGetResultInfo( HCLUSTER hCluster,
// ULONG ulResult,
// PULONG pulMemSize,
// PIDR_TXTCLUSTER pInfo );
//
// hCluster... handle to the cluster of strokes
// ulResult... number of the result; >0 gives alternative result
// 0 is the top result.
// pulMemSize.. pointer to the number of bytes needed
// pInfo...... pointer to the cluster info
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_BUF_TOO_SMALL.. Buffer was not large enough for the data.
//
// Notes :
// Two invocations may be required to get the data:
// 1) Invoke with the 'pInfo' pointer variable pointing to an initial
// buffer of size *pulMemSize.
// 2) If successful, the size variable will contain the number of bytes
// required for the information. If the initial buffer was large enough,
// pInfo will contain the information. Otherwise, IDRERR_BUF_TOO_SMALL
// will be returned.
// 3) Reallocate the block, point to it (via 'pInfo') and invoke
// again. The 'pInfo' will contain the results for this cluster.
VOID idrSetDictionaryLangModel( in ULONG ulCoercion,
in ULONG ulDomSpecUse ) raises(IDR_PROB);
// Method : idrSetDictionaryLangModel
//
// Purpose : Set the usage level for language modeling.
//
// Synopsis : VOID idrSetDictionaryLangModel( ULONG ulCoercion,
// ULONG ulDomSpecUse);
//
// ulCoercion.... Dictionary coercion flag. See language modeling
// coercion flags.
// ulDomSpecUse.. Domain specific usage. See text-specific language
// modeling flags.
//
// Returns :
// NO_ERROR.................. Success.
// IDRERR_ERROR.............. Error.
// IDRERR_INVALID_PARM... Value not allowed.
//
// Notes :
VOID idrGetDictionaryLangModel( in PULONG pulCoercion,
in PULONG pulDomSpecUse ) raises(IDR_PROB);
// Method : idrGetDictionaryLangModel
//
// Purpose : Get the usage level for language modeling.
//
// Synopsis : VOID idrGetDictionaryLangModel( OUT PULONG pulCoercion,
// OUT PULONG pulDomSpecUse);
//
// pulCoercion... Pointer to the dictionary coercion flags. See
// language modeling coercion flags.
// pulDomSpecUse..Pointer to variable for domain specific usage. See
// text-specific language modeling flags.
//
// Returns :
// NO_ERROR.................. Success.
// IDRERR_ERROR.............. Error.
// IDRERR_INVALID_PARM... Value not allowed.
//
// Notes :
VOID idrSetWordList( in HWORD hWord,
in ULONG ulOptions ) raises(IDR_PROB);
// Method : idrSetWordList
//
// Purpose :
//
// Synopsis : VOID idrSetWordList( IN, IN ):
//
// ulStartBoxIndex.... Index of box to start at.
// ulEndBoxIndex...... Index of the final box.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_INVALID_STATE.. Invalid state.
// IDRERR_INVALID_HANDLE. Invalid handle.
//
// Notes :
HWORD idrGetWordList( ) raises(IDR_PROB);
// Method : idrGetWordList
//
// Purpose :
//
// Synopsis : HWORD idrGetWordList( ):
//
// HWORD hWord........ Current word list handle.
//
// Returns :
// NO_ERROR.................. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_INVALID_HANDLE..... Invalid handle.
//
// Notes :
// A NULL handle retruned means no word list was set.
// The word list will still be active after this call.
VOID idrSetWordListLangModel( in ULONG ulCoercion ) raises(IDR_PROB);
// Method : idrSetWordListLangModel
//
// Purpose :
//
// Synopsis : VOID idrSetWordListLangModel( IN );
//
// ulCoercion......... Word list coercion flag.
//
// Returns :
// NO_ERROR.................. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_INVALID_HANDLE..... Invalid handle.
//
// Notes :
ULONG idrGetWordListLangModel( ) raises(IDR_PROB);
// Method : idrGetWordListLangModel
//
// Purpose : Get the degree of coercion (the degree that input should
// match word lists) for a recognizer instance.
//
// Synopsis : ULONG idrGetWordListLangModel( )
//
// ULONG ulCoercion... Word list coercion flag.
//
// Returns :
// NO_ERROR.................. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_INVALID_HANDLE..... Invalid handle.
//
// Notes :
#ifdef __SOMIDL__
implementation {
releaseorder: idrSetSymbolSubsetPriority,idrGetSymbolSubsetPriority,
idrSetTrainString,idrGetTrainStatus,
idrSetResultMaximum,idrGetResultMaximum,
idrRecoInput,idrGetResultEnviron,
idrGetTopResult, idrGetBoxResult,
idrGetClusterHandles, idrGetResultCount,
idrSetDictionaryLangModel, idrGetDictionaryLangModel,
idrSetWordList, idrGetWordList,
idrSetWordListLangModel, idrGetWordListLangModel,
idrGetResultInfo,
idrGetBoxTopResult,idrGetBoxAltChars,
idrSetConstraints,idrSetBoxString,
idrGetConstraints,idrGetTrainStrings,idrGetBoxString,
idrSetLngMdlUse, idrGetLngMdlUse,
idrGetResultScore,
idrCopyResultsEnviron,
idrSetMTSemaphore,idrGetMTSemaphore,
idrISetSymbolSubset,idrISetMetrics,
idrIClearStrokes,
idrISetSymbolSubsetPriority, idrISetTrainString,
idrISetResultMaximum, idrISetDictionaryLangModel,
idrISetWordList, idrISetWordListLangModel,
idrIRecoInput, idrGetTrainingLevel ;
//# Class Modifiers
functionprefix = IDRText;
majorversion = 0;
minorversion = 1;
local;
filestem = idrtext;
metaclass = M_IDRText;
callstyle = idl;
passthru C_h_after = ""
"#pragma pack(2)"
""
""
"typedef LHANDLE HWORD, *PHWORD; /* Handle to a word list. */"
"typedef VOID *HCLUSTER, /* Handle to a cluster. */ "
" **PHCLUSTER;"
"/*"
"** Defines for word list string type specification."
"*/"
"#define IDR_WORDTYPE_ASCII (1)"
"#define IDR_WORDTYPE_NOLANG (2)"
"/*"
"** Word list type defines."
"*/"
"#define IDR_WORD_EMPTY (0x0001)"
"#define IDR_WORD_STRING (0x0002)"
"#define IDR_WORD_STRINGTABLE (0x0003)"
"#define IDR_WORD_FILENAME (0x0004)"
"#define IDR_WORD_FILEPOINTER (0x0005)"
"#define IDR_WORD_HANDLE (0x0006)"
"/*"
"** Text symbol descriptor status defines."
"*/"
""
"#define IDR_TXTSYM_VALID ((ULONG)0) /* valid symbol */"
"#define IDR_TXTSYM_EMPTY ((ULONG)1) /* no data for symbol(s) */"
"#define IDR_TXTSYM_UNKNOWN ((ULONG)2) /* unrecognized */"
"#define IDR_TXTSYM_NEWLINE ((ULONG)3) /* new line RULED/UNRULED */"
""
"/*"
"** Result types."
"*/"
"#define IDR_RESTYPE_BOXED ((ULONG) 0 ) /* Boxed mode. */"
"#define IDR_RESTYPE_LINED ((ULONG) 1 ) /* Lined mode. */"
"#define IDR_RESTYPE_UNLINED ((ULONG) 2 ) /* Unlined mode. */"
""
"typedef struct _IDR_TXTSYM /* Text symbol descriptor */"
"{"
" ULONG ulSSize; /* IDR_TXTSYM size */"
" ULONG ulStatus; /* Character status, see IDR_TXTSYMxx */"
" IDR_SYM Symbol; /* Symbol type/value */"
"} IDR_TXTSYM,"
" *PIDR_TXTSYM,"
" **PPIDR_TXTSYM;"
""
"/*"
"** Box result structure."
"*/"
"typedef struct _IDR_TXTBOX"
"{"
" ULONG ulSSize; /* Size of the structure. */"
" ULONG ulSymCnt; /* Count of IDR_TXTSYMs in pSyms. */"
" PIDR_TXTSYM pSyms; /* Recognition results for this box. This"
" provides all alternatives available for this"
" box, from most likely to least likely.*/"
" ULONG ulIdCnt; /* Stroke count returned. */"
" PULONG pStrokeId; /* Pointer to an array of stroke ids. */"
" ULONG ulLocation; /* Location information. This is the box id. */"
" ULONG ulReserved; /* Reserved. */"
" PVOID pReserved; /* Reserved. */"
"} IDR_TXTBOX,"
" *PIDR_TXTBOX,"
" **PPIDR_TXTBOX;"
""
"typedef struct _IDR_TXTCLUSTER /* Text cluster descriptor */"
"{"
" ULONG ulSSize; /* Size of the structure. */"
" HCLUSTER hCluster; /* Handle to the cluster. */"
" ULONG ulResultType; /* Type of result. */"
" ULONG ulSymCnt; /* Count of IDR_TXTSYMs in pSyms. */"
" PIDR_TXTSYM pSyms; /* Recognition results of this cluster. */"
" ULONG ulIdCnt; /* Stroke count returned. */"
" PULONG pStrokeId; /* Pointer to an array of stroke ids. */"
" ULONG ulLocation; /* Location information. Depends on"
" ulResultType. For Boxed mode, this is"
" the starting box id. For Lined mode,"
" this is the row id. For Unlined mode,"
" this is the baseline. */"
" RECTL rclBoundBox; /* Bounding box for strokes, in lined and"
" unline modes. */"
" ULONG ulReserved1; /* Reserved. */"
" PVOID pReserved1; /* Reserved. */"
" ULONG ulReserved2; /* Reserved. */"
" PVOID pReserved2; /* Reserved. */"
"} IDR_TXTCLUSTER, *PIDR_TXTCLUSTER,"
" **PPIDR_TXTCLUSTER;"
""
"/*"
"** Defines for training results status."
"*/"
"#define IDR_TRN_NOIMPACT (0x0001)"
"#define IDR_TRN_UPDATE (0x0002)"
"#define IDR_TRN_ADDED (0x0003)"
"#define IDR_TRN_REJECTED (0x0004)"
"#define IDR_TRN_CONFUSION (0x0005)"
""
"/*"
"** Word list and dictionary language modeling coercion flags."
"*/"
"#define IDR_LM_NONE (0x00000000) /* Disable it */"
"#define IDR_LM_ADVISE (0x00000001) /* Enable it */"
"#define IDR_LM_FORCE (0x00000002) /* Suggest results */"
"#define IDR_LM_REJECT (0x00000004) /* Constrain results */"
"#define IDR_LMCASE_FORCE (0x00000008) /* Force case sensitivity */"
"#define IDR_LM_UNKNOWN (0x80000000) /* Unknown/unsupported */"
""
"/*"
"** Defines for text-specific domain language modeling."
"*/"
""
"#define IDR_TXTLM_WRDCASE (0x00000001)"
" /* Advise recognition to all upper case, all lower case, or first letter capitalized. */"
"#define IDR_TXTLM_SENTCASE (0x00000002)"
" /* Advise recognition toward proper sentence capitalization. */"
"#define IDR_TXTLM_ALPHANUM (0x00000004)"
" /* Advise recognition to group alphabetic and digits separately. */"
"#define IDR_TXTLM_PUNCT (0x00000008)"
" /* Advise recognition to have punctuation at beginning and end of words. */"
" /* and end words only */"
""
"#pragma pack()"
""
"";
//# Method Modifiers
//# Overridden for Multi-threading purposes
idrSetSymbolSubset: override;
idrGetSymbolSubset: override;
idrGetSymbolSubsetInfo: override;
idrGetMetrics: override;
idrAddStroke: override;
idrAddStrokefromStrokeObject: override;
idrClearStrokes: override;
//# Overridden to add/change function
idrSetMetrics: override;
somInit: override;
somUninit: override;
//# Data Modifiers
};
#endif /* __SOMIDL__ */
};
interface M_IDRText
{
VOID idrclsAddToWordList( in HWORD hWord,
in PVOID pWord,
in ULONG ulWordType,
in ULONG ulStringType ) raises(IDR_PROB);
// Method : idrclsAddToWordList
//
// Purpose : Add to an existing local or global word list.
//
// Synopsis : VOID idrclsAddToWordList( IN, IN, IN, IN );
//
// hWord......... Handle of target word list.
// pWord......... Pointer to source of words; depends on ulWordType.
// ulWordType.... Word list type.
// ulStringType.. Word list string type.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_INVALID_HANDLE. Invalid handle.
//
// Notes : N/A.
HWORD idrclsCreateWordList( in PVOID pWord,
in ULONG ulWordType,
in ULONG ulStringType,
in PSZ pszGlobalName ) raises(IDR_PROB);
// Method : idrclsCreateWordList
//
// Purpose : Create a new word list.
//
// Synopsis : HWORD idrclsCreateWordList( IN, IN, IN, IN )
//
// pWord......... Pointer to source of words; depends on ulWordType.
// ulWordType.... Word list type.
// ulStringType.. Word list string type.
// pszGlobalName. Set to NULL for creation of local word list.
// If not NULL, this string will be used as the global name,
// allowing other objects to gain access to this word list
// via the idrclsGetWordListHandle() method.
// HWORD hWord... Handle to the new word list.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_ALREADY_EXISTS. Global name already exists.
//
// Notes :
HWORD idrclsCreateWordListFromRes( in HMODULE hModule,
in ULONG ulTypeID,
in ULONG ulNameID ) raises(IDR_PROB);
// Method : idrclsCreateWordListFromRes
//
// Purpose :
//
// Synopsis : HWORD idrclsCreateWordListFromRes( IN, IN, IN )
//
// hModule....... Handle of the module that has the resource.
// ulTypeID...... Resource type id specified in the resource file.
// ulNameID...... Resource type id specified in the resource file.
// HWORD hWord... Handle to the new word list.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
//
// Notes :
VOID idrclsDestroyWordList( in HWORD hWord ) raises(IDR_PROB);
// Method : idrclsDestroyWordList
//
// Purpose :
//
// Synopsis : VOID idrclsDestroyWordList( IN );
//
// hWord......... Handle to a word list.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_INVALID_HANDLE. Invalid handle.
//
// Notes :
HWORD idrclsGetWordListHandle( in PSZ pszWordList ) raises(IDR_PROB);
// Method : idrclsGetWordListHandle
//
// Purpose : Get handle to an existing global word list.
//
// Synopsis : HWORD idrclsGetWordListHandle( IN )
//
// pszWordList... Global name that identifies the word list.
// HWORD hWord... Handle to the word list.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_NOT_FOUND...... Global name not found.
// IDRERR_INVALID_HANDLE. Invalid handle.
//
// Notes :
VOID idrclsWriteWordList( in PVOID pFile,
in HWORD hWord,
in ULONG ulStringType,
in ULONG ulFileType ) raises(IDR_PROB);
// Method : idrclsWriteWordList
//
// Purpose :
//
// Synopsis : VOID idrclsWriteWordList( IN, IN, IN, IN );
//
// pFile......... Either file name string or file pointer; depending on ulFileType.
// hWord......... Handle of the word list to write.
// ulStringType.. Word list string type.
// ulFileType.... Identifies the type of pFile.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
// IDRERR_INVALID_HANDLE. Invalid handle.
//
// Notes :
// Word list remains active after this call.
IDRText idrclsNewIDRText(in PVOID pCfg ) raises(IDR_PROB);
// Method : idrclsNewIDRText
//
// Purpose : Construct an ink-data to text transformer object using a
// specific recognition configuration.
//
// Synopsis : IDRText * idrclsNewIDRText( IN PVOID pCfg )
//
// pCfg.......... Recognition configuration to use; if NULL the
// system default configuration will be used.
// This is private and must be NULL.
// IDRText *ppObject...... Pointer to newly created object.
//
// Returns :
// NO_ERROR.............. Success.
// IDRERR_ERROR.......... Error.
//
// Notes : N/A.
//
// Usage :
// Callable - Always.
// Override - Override by subclasses.
#ifdef __SOMIDL__
implementation {
releaseorder: idrclsAddToWordList,idrclsCreateWordList,
idrclsCreateWordListFromRes,idrclsDestroyWordList,
idrclsGetWordListHandle,idrclsWriteWordList,
idrclsNewIDRText,
idrclsINewIDRText,idrclsIFreeIDR ;
//# Class Modifiers
functionprefix = IDRTextM;
majorversion = 0;
minorversion = 1;
local;
filestem = idrtext;
callstyle = idl;
//# Method Modifiers
//# Overridden for Multi-threading purposes
idrclsFreeIDR: override;
//# Overridden to add/change function
somInit: override;
};
#endif /* __SOMIDL__ */
};
#endif /* idrtext_idl */