97 lines
1.9 KiB
C
97 lines
1.9 KiB
C
/* Vertical ruby interfaces */
|
|
/* Contact: antons */
|
|
|
|
#ifndef VRUBY_DEFINED
|
|
#define VRUBY_DEFINED
|
|
|
|
#include "lsimeth.h"
|
|
|
|
/* Only valid version number for Ruby initialization */
|
|
|
|
#define VRUBY_VERSION 0x300
|
|
|
|
/* Used for intialization to tell Ruby object which line comes first */
|
|
|
|
typedef enum vrubysyntax { VRubyPronunciationLineFirst, VRubyMainLineFirst } VRUBYSYNTAX;
|
|
|
|
/*
|
|
*
|
|
* Vertical Ruby Object callbacks to client application
|
|
*
|
|
*/
|
|
|
|
typedef struct VRUBYCBK
|
|
{
|
|
LSERR (WINAPI *pfnFetchVRubyPosition)
|
|
(
|
|
/* in */
|
|
|
|
POLS pols,
|
|
LSCP cp,
|
|
LSTFLOW lstflow,
|
|
PLSRUN plsrun,
|
|
PCHEIGHTS pcheightsRefMain,
|
|
PCHEIGHTS pcheightsPresMain,
|
|
long dvrRuby,
|
|
|
|
/* out */
|
|
|
|
PHEIGHTS pheightsPresRubyT,
|
|
PHEIGHTS pheightsRefRubyT,
|
|
LONG* pdurAdjust
|
|
);
|
|
|
|
LSERR (WINAPI* pfnVRubyEnum)
|
|
(
|
|
POLS pols,
|
|
PLSRUN plsrun,
|
|
PCLSCHP plschp,
|
|
LSCP cp,
|
|
LSDCP dcp,
|
|
LSTFLOW lstflow,
|
|
BOOL fReverse,
|
|
BOOL fGeometryNeeded,
|
|
const POINT* pt,
|
|
PCHEIGHTS pcheights,
|
|
long dupRun,
|
|
const POINT *ptMain,
|
|
PCHEIGHTS pcheightsMain,
|
|
long dupMain,
|
|
const POINT *ptRuby,
|
|
PCHEIGHTS pcheightsRuby,
|
|
long dupRuby,
|
|
PLSSUBL plssublMain,
|
|
PLSSUBL plssublRuby
|
|
);
|
|
|
|
} VRUBYCBK;
|
|
|
|
/*
|
|
*
|
|
* Ruby Object initialization data that the client application must return
|
|
* when the Ruby object handler calls the GetObjectHandlerInfo callback.
|
|
*
|
|
*/
|
|
typedef struct VRUBYINIT
|
|
{
|
|
DWORD dwVersion; /* Version of the structure (must be VRUBY_VERSION) */
|
|
VRUBYSYNTAX vrubysyntax; /* Used to determine order of lines during format */
|
|
WCHAR wchEscRuby; /* Escape char for end of Ruby pronunciation line */
|
|
WCHAR wchEscMain; /* Escape char for end of main text */
|
|
VRUBYCBK vrcbk; /* Ruby callbacks */
|
|
|
|
} VRUBYINIT;
|
|
|
|
|
|
LSERR WINAPI LsGetVRubyLsimethods ( LSIMETHODS *plsim );
|
|
|
|
/* GetRubyLsimethods
|
|
*
|
|
* plsim (OUT): Ruby object methods for Line Services.
|
|
*
|
|
*/
|
|
|
|
|
|
#endif /* VRUBY_DEFINED */
|
|
|