windows-nt/Source/XPSP1/NT/drivers/tpg/hwx/bear/inc/ligstate.h
2020-09-26 16:20:57 +08:00

60 lines
1.4 KiB
C

/*
File: ligstate.h
Contains: This file contains the definitions
needed to get/set letter image group state.
Written by: Mikhail Ovsiannikov
Copyright: © 1998 by ParaGraph Int'l, all rights reserved.
Change History (most recent first):
<1> 3/24/98 mbo New today
*/
#ifndef __LISTATE_H
#define __LISTATE_H
enum E_LIG_STATE {
LIG_STATE_UNDEF = 0,
LIG_STATE_OFTEN = 1,
LIG_STATE_RARELY = 2,
LIG_STATE_NEVER = 3
};
#define LIG_FIRST_LETTER 0x20
#define LIG_LAST_LETTER 0xFF
#define LIG_NUM_LETTERS (LIG_LAST_LETTER - LIG_FIRST_LETTER + 1)
#if LIG_NUM_LETTERS <= 0
#error
#endif
#define LIG_LET_NUM_GROUPS 8
#define LIG_NUM_BITS_PER_GROUP 2
#define LIG_NUM_BIT_GROUP_MASK 0x3
#define LIG_STATES_SIZE \
(LIG_NUM_LETTERS * LIG_LET_NUM_GROUPS * LIG_NUM_BITS_PER_GROUP / 8)
typedef unsigned char LIGStatesType[LIG_STATES_SIZE];
/*
* Sets state for a given letter and group.
* Returns 0 if letter and group are in the allowed range, -1 otherwise.
*/
int LIGSetGroupState(LIGStatesType *ioGStates,
int inLetter,
int inGroup,
E_LIG_STATE inGroupState);
/*
* Returns state for a given letter and group.
*/
E_LIG_STATE LIGGetGroupState(const LIGStatesType *inGStates,
int inLetter,
int inGroup);
#endif /* __LISTATE_H */