enuSpace professional 2016 기준
enuSpace SDK를 이용한 동적 변수 생성 및 관리
응용 프로그램에서 변수를 생성하고 생성된 변수를 업데이트 수행하기 위한 인터페이스 API에 대하여 설명한다. (통합그래픽 편집기에서 제공되는 변수 추가 인터페이스 방법 별도참조)
변수 생성
아래는 샘플 코드는 전역 변수 생성/변경/확인 예시를 보여준다.
C++ |
#include <SvgDefine.h> #include <enuLibrary.h> BOOL CSampleDlg::OnInitDialog() { HPROJECT m_SpadeProject = enuCreateProject(); enuLoadProjectFile(L"Sample\\Sample.enup"); HSVG pSvgHandler = enuGetGlobalClass(L"global\\global.svg"); enuAddGlobalVariable(L"global\\global.svg", L"int", L"g_iGlobalCount", L"golbal count variable"); HNODE hNode = enuGetGlobalVariableNode(L"g_iGlobalCount"); if (hNode) { enuSetVariableValue(pSvgHandler, L"g_iGlobalCount", L"10"); VariableStruct Data; enuGetAttributeByNode(pSvgHandler, hNode, L"variable", &Data); AfxMessageBox(Data.strValue); // 출력 : g_iGlobalCount enuGetAttributeByNode(pSvgHandler, hNode, L"value", &Data); AfxMessageBox(Data.strValue);); // 출력 : 10 } return TRUE; } |
enuAddGlobalVariable();
기본 프로젝트를 생성하고 나면, global 파일(global\global.svg)이 기본 생성된다. 생성된 global 파일에 전역변수를 추가하고자 하는 경우에 위 함수를 호출하여 동적으로 생성할 수 있다. 변수가 정상적으로 생성되었을 경우, 리턴 값을 true를 반환한다.
Variable Type |
Description |
bool |
Boolean 변수 |
int |
Integer 변수 |
float |
Float 변수 |
double |
Double 변수 |
wchar |
Wide char 문자열 변수 |
enuGetGlobalClass();
본 함수는 파일이름을 통하여 글로벌 클래스의 핸들을 취득하는 함수이다. 정상적으로 핸들을 취득하였을 경우에는 핸들을 리턴 수행하며, 요청한 클래스의 핸들을 취득하지 못하였을 경우 NULL값을 반환한다.
enuSetGlobalValue();
본 함수는 전역변수의 값을 외부 코드상에서 변경하고자 할 경우에 사용하는 인터페이스 함수이다.
enuSetVariableValue()
본 함수는 SVG 핸들러를 이용하여 변수의 값을 변경하는 함수이다.
enuSetAttributeByNode()
본 함수는 SVG 노드의 속성값을 변경하는 함수이며, 각 노드의 타입 정보에 따라서 입력되는 파라미터의 정보가 달라진다.
enuGetAttributeByNode()
본 함수는 노드의 속성값을 반환받는 함수이며, 각 노드의 타입 정보에 따라서 입력되는 파라미터의 정보가 달라진다.
struct VariableStruct |
Description |
type |
리턴된 결과의 타입 정보 |
pValue |
리턴된 결과의 메모리 주소 |
strValue |
리턴된 결과의 문자열 결과 값 |
'enuSpace for moon(2016) > Development Toolkit' 카테고리의 다른 글
enuSpace SDK - 함수등록 및 호출하기 (0) | 2016.01.04 |
---|---|
enuSpace SDK - Getting started with enuSpace SDK (0) | 2016.01.04 |