Result Object API
Summary
결과 오브젝트를 생성하고 관리하는 API로 구성되어 있습니다.
결과 오브젝트는 블록, 라인 오브젝트로 구성되어 있습니다. 인식엔진에서 인식한 결과 값(문자열)을 저장하고 관리하는 용도로 사용됩니다.
• 라인 오브젝트 : 라인 오브젝트는 블록 오브젝트의 리스트입니다.
• 결과 오브젝트 : 결과 오브젝트는 라인 오브젝트의 리스트입니다.
각 오브젝트 간의 관계는 아래를 참고하시기 바랍니다.
단, 수식은 블록, 라인, 결과 오브젝트가 1:1:1로 구성 됩니다.
- "hello" 한 단어를 필기 했다면, 다음과 같이 결과 오브젝트에 인식 결과가 저장됩니다.
사용자의 필기에 따라 후보 문자와 개수는 달라질 수 있으며, 1순위 후보가 best 후보가 됩니다.
- "hello world" 한 문장을 필기 했다면, 다음과 같이 결과 오브젝트에 인식 결과가 저장됩니다.
- "hello world" "good morning" 두 문장을 두 줄로 필기 했다면, 다음과 같이 결과 오브젝트에 인식 결과가 저장됩니다
Typedefs
// 설정 오브젝트 handle
typedef const void * DHWRResultObject
// 라인 오브젝트 handle
typedef const void * DHWRResultLine
// 블록 오브젝트 handle
typedef const void * DHWRResultBlock
Data Structures
// 블록 오브젝트 내 문자열의 획 정보를 정의한 구조체
typedef struct tagDHWRBlockInfo {
int stroke_count; // 블록 오브젝트 내의 문자열을 구성하는 획의 개수 (ex "hello" –> stroke count = 5)
int* stroke_indices; // 획의 인덱스 포인터
} DHWRBlockInfo;
DHWRBlockInfo
블록 오브젝트 내 문자열의 획 정보를 정의한 구조체
Members
Name | Description | Type |
---|---|---|
stroke_count |
블록 오브젝트 내의 문자열을 구성하는 획의 개수 (ex "hello" –> stroke count = 5) | int |
stroke_indices |
획의 인덱스 포인터 | int* |
Functions List
// 결과 오브젝트를 생성함
DHWRResultObject DHWRCreateResultObject(void)
// 결과 오브젝트를 제거함
void DHWRDestroyResultObject(DHWRResultObject result)
// 결과 오브젝트 내의 라인 오브젝트 개수를 반환
unsigned int DHWRGetLineSize(DHWRResultObject result)
// 결과 오브젝트로부터 지정된 index의 라인 오브젝트를 반환
DHWRResultLine DHWRGetLine(DHWRResultObject result, const unsigned int index)
// 라인 오브젝트 내의 블록 오브젝트 개수를 반환
unsigned int DHWRGetBlockSize(DHWRResultLine line)
// 라인 오브젝트로부터 지정된 index의 블록 오브젝트를 반환
DHWRResultBlock DHWRGetBlock(DHWRResultLine line, const unsigned int index)
// 블록 오브젝트 내의 후보문자(문자열)를 구성한 획의 개수를 반환
unsigned int DHWRGetStrokeSize(DHWRResultBlock block)
// 블록 오브젝트 내의 후보문자(문자열)를 구성한 획들의 index를 반환
unsigned int DHWRGetStrokeIndices(DHWRResultBlock block, int *indices, int size)
// 블록 오브젝트 내의 후보문자(문자열) 개수를 반환
unsigned int DHWRGetCandidateSize(DHWRResultBlock block)
// 블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열)를 반환
const wchar_t * DHWRGetCandidate(DHWRResultBlock block, const unsigned int index, unsigned int *length)
DHWRCreateResultObject
DHWRDestroyResultObject
DHWRGetLineSize
결과 오브젝트 내의 라인 오브젝트 개수를 반환
Parameters
DHWRGetLine
결과 오브젝트로부터 지정된 index의 라인 오브젝트를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | result |
결과 오브젝트 | DHWRResultObject |
[in] | index |
라인 오브젝트의 index | const unsigned int |
Returns
DHWRResultLine (라인 오브젝트)
DHWRGetBlockSize
라인 오브젝트 내의 블록 오브젝트 개수를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | line |
라인 오브젝트 | DHWRResultLine |
Returns
블록 오브젝트 개수
DHWRGetBlock
라인 오브젝트로부터 지정된 index의 블록 오브젝트를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | line |
라인 오브젝트 | DHWRResultLine |
[in] | index |
블록 오브젝트의 index | const unsigned int |
Returns
DHWRResultBlock (블록 오브젝트)
DHWRGetStrokeSize
블록 오브젝트 내의 후보문자(문자열)를 구성한 획의 개수를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트 | DHWRResultBlock |
Returns
획의 개수
DHWRGetStrokeIndices
블록 오브젝트 내의 후보문자(문자열)를 구성한 획들의 index를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트 | DHWRResultBlock |
[out] | indices |
index 포인터 | int * |
[in] | size |
index 포인터 사이즈 | int |
Returns
DHWRGetCandidateSize
블록 오브젝트 내의 후보문자(문자열) 개수를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트 | DHWRResultBlock |
Returns
후보문자(문자열)의 개수
DHWRGetCandidate
블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열)를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트 | DHWRResultBlock |
[in] | index |
후보문자(문자열)의 인덱스 | const unsigned int |
[out] | length |
후보문자(문자열)의 크기 | unsigned int * |
Returns
wchar_t * (후보문자의 포인터)
Functions List
// 결과 오브젝트를 생성함
public static extern IntPtr CreateResultObject()
// 결과 오브젝트를 제거함
public static extern void DestroyResultObject(IntPtr result)
// 결과 오브젝트 내의 라인 오브젝트 개수를 반환
public static extern int GetLineSize(IntPtr ink)
// 결과 오브젝트로부터 지정된 index의 라인 오브젝트를 반환
public static extern IntPtr GetLine(IntPtr result, int index)
// 라인 오브젝트 내의 블록 오브젝트 개수를 반환
public static extern int GetBlockSize(IntPtr line)
// 지정된 인덱스의 블록 오브젝트를 반환
public static extern IntPtr GetBlock(IntPtr line, int index)
// 블록 오브젝트 내의 후보문자(문자열)를 구성한 획의 개수를 반환
public static extern int GetStrokeSize(IntPtr block)
// 블록 오브젝트 내의 후보문자(문자열)를 구성한 획들의 index를 반환
public static extern int GetStrokeIndices(IntPtr block, [In, Out] ref int indices, int size)
// 블록 오브젝트 내의 후보문자(문자열) 개수를 반환
public static extern int GetCandidateSize(IntPtr block)
// 블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열)의 포인터를 반환
public static extern IntPtr GetCandidatePtr(IntPtr block, int index, [In, Out] ref int length)
// GetCandidatePtr()와 동일한 기능을 하며, GetCandidatePtr()를 사용하기 쉽도록 wrapping한 함수
public static String GetCandidate(IntPtr block, int index, [In, Out] ref int length)
CreateResultObjectstatic
결과 오브젝트를 생성함
Returns
IntPtr (결과 오브젝트 포인터)
DestroyResultObjectstatic
결과 오브젝트를 제거함
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | result |
제거할 결과 오브젝트 | IntPtr |
GetLineSizestatic
결과 오브젝트 내의 라인 오브젝트 개수를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | result |
결과 오브젝트 | IntPtr |
Returns
라인 오브젝트 개수
GetLinestatic
결과 오브젝트로부터 지정된 index의 라인 오브젝트를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | result |
결과 오브젝트 | IntPtr |
[in] | index |
라인 오브젝트의 index | int |
Returns
IntPtr (라인 오브젝트)
GetBlockSizestatic
라인 오브젝트 내의 블록 오브젝트 개수를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | line |
라인 오브젝트 | IntPtr |
Returns
블록 오브젝트 개수
GetBlockstatic
라인 오브젝트로부터 지정된 index의 블록 오브젝트를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | line |
라인 오브젝트 | IntPtr |
[in] | index |
블록 오브젝트의 index | int |
Returns
IntPtr (블록 오브젝트)
GetStrokeSizestatic
블록 오브젝트 내의 후보문자(문자열)를 구성한 획의 개수를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트 | IntPtr |
Returns
획의 개수
GetStrokeIndicesstatic
블록 오브젝트 내의 후보문자(문자열)를 구성한 획들의 index를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트 | IntPtr |
[out] | indices |
index 포인터 | ref int |
[in] | size |
index 포인터 사이즈 | int |
Returns
GetCandidateSizestatic
블록 오브젝트 내의 후보문자(문자열) 개수를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트 | IntPtr |
Returns
후보문자(문자열)의 개수
GetCandidatePtrstatic
블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열)의 포인터를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트 | IntPtr |
[in] | index |
후보문자(문자열)의 인덱스 | int |
[out] | length |
후보문자(문자열)의 크기 | ref int |
Returns
IntPtr (후보문자의 포인터)
GetCandidatestatic
블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열) 스트링을 반환
GetCandidatePtr()와 동일한 기능을 하며, GetCandidatePtr()를 사용하기 쉽도록 wrapping한 함수
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트 | IntPtr |
[in] | index |
후보문자(문자열)의 인덱스 | int |
[out] | length |
후보문자(문자열)의 크기 | ref int |
Returns
String (후보문자)
Classes
public static class BlockInfo {
public int stroke_count;
public int[] stroke_indices;
}
public static class Block {
public ArrayList<String> candidates = new ArrayList<String>();
public BlockInfo info;
}
public static class Line extends ArrayList<Block> {
private static final long serialVersionUID = -3254237493961808528L;
}
public static class Result extends ArrayList<Line> {
private static final long serialVersionUID = -318179353348774962L;
}
BlockInfoclassstatic
블록 오브젝트 내 문자열의 획 정보를 정의한 클래스
Member variables
Name | Description | Type | Access |
---|---|---|---|
stroke_count |
블록 오브젝트 내의 문자열을 구성하는 획의 개수 (ex "hello" –> stroke count = 5) | int | public |
stroke_indices |
획의 인덱스 array | int[] | public |
Blockclassstatic
블록 오브젝트 클래스
문자열 리스트로 구성됨
Member variables
Name | Description | Type | Access |
---|---|---|---|
candidates |
후보 문자의 스트링 리스트 | ArrayList<String> | public |
info |
블록 내 문자열의 획 정보 | BlockInfo | public |
Lineclassstatic
라인 오브젝트 클래스
블록 오브젝트의 리스트로 구성됨
Member variables
Name | Description | Type | Access |
---|---|---|---|
serialVersionUID |
직렬화를 위한 클래스 버전 정보 | final long | private |
Resultclassstatic
결과 오브젝트 클래스
라인 오브젝트의 리스트로 구성됨
Member variables
Name | Description | Type | Access |
---|---|---|---|
serialVersionUID |
직렬화를 위한 클래스 버전 정보 | final long | private |
Functions List
// 결과 오브젝트를 생성함
public final static native long CreateResultObject()
// 결과 오브젝트를 제거함
public final static native void DestroyResultObject(long context)
// 결과 오브젝트 내의 라인 오브젝트 개수를 반환
public final static native int GetLineSize(long context)
// 결과 오브젝트로부터 지정된 index의 라인 오브젝트를 반환
public final static native long GetLine(long context, int index)
// 라인 오브젝트 내의 블록 오브젝트 개수를 반환
public final static native int GetBlockSize(long line)
// 지정된 인덱스의 블록 오브젝트를 반환
public final static native long GetBlock(long line, int index)
// 블록 오브젝트 내의 후보문자(문자열)를 구성한 획의 개수를 반환
public final static native int GetStrokeSize(long block)
// 블록 오브젝트 내의 후보문자(문자열)를 구성한 획들의 index를 반환
public final static native int GetStrokeIndices(long block, int[] indices, int size)
// 블록 오브젝트 내의 후보문자(문자열) 개수를 반환
public final static native int GetCandidateSize(long block)
// 블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열) 스트링을 반환
public final static native String GetCandidate(long block, int index)
CreateResultObjectstatic
결과 오브젝트를 생성함
Returns
long (결과 오브젝트의 handle)
DestroyResultObjectstatic
결과 오브젝트를 제거함
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | context |
제거할 결과 오브젝트의 handle | long |
GetLineSizestatic
결과 오브젝트 내의 라인 오브젝트 개수를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | context |
결과 오브젝트의 handle | long |
Returns
라인 오브젝트 개수
GetLinestatic
결과 오브젝트로부터 지정된 index의 라인 오브젝트를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | context |
결과 오브젝트의 handle | long |
[in] | index |
라인 오브젝트의 index | int |
Returns
long (라인 오브젝트의 handle)
GetBlockSizestatic
라인 오브젝트 내의 블록 오브젝트 개수를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | line |
라인 오브젝트의 handle | long |
Returns
블록 오브젝트 개수
GetBlockstatic
라인 오브젝트로부터 지정된 index의 블록 오브젝트를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | line |
라인 오브젝트의 handle | long |
[in] | index |
블록 오브젝트의 index | int |
Returns
long (블록 오브젝트의 handle)
GetStrokeSizestatic
블록 오브젝트 내의 후보문자(문자열)를 구성한 획의 개수를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트의 handle | long |
Returns
획의 개수
GetStrokeIndicesstatic
블록 오브젝트 내의 후보문자(문자열)를 구성한 획들의 index를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트의 handle | long |
[out] | indices |
index array | int[] |
[in] | size |
index array 사이즈 | int |
Returns
GetCandidateSizestatic
블록 오브젝트 내의 후보문자(문자열) 개수를 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트의 handle | long |
Returns
후보문자(문자열)의 개수
GetCandidatestatic
블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열) 스트링을 반환
Parameters
# | Name | Description | Type |
---|---|---|---|
[in] | block |
블록 오브젝트의 handle | long |
[in] | index |
후보문자(문자열)의 인덱스 | int |
Returns
String (후보문자)