/* @ts-self-types="./rhwp.d.ts" */ /** * WASM에서 사용할 HWP 문서 래퍼 * * 도메인 로직은 `DocumentCore`에 구현되어 있으며, * `Deref`/`DerefMut`를 통해 투명하게 접근한다. */ export class HwpDocument { static __wrap(ptr) { ptr = ptr >>> 0; const obj = Object.create(HwpDocument.prototype); obj.__wbg_ptr = ptr; HwpDocumentFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; HwpDocumentFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_hwpdocument_free(ptr, 0); } /** * 책갈피 추가 * @param {number} sec * @param {number} para * @param {number} char_offset * @param {string} name * @returns {string} */ addBookmark(sec, para, char_offset, name) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_addBookmark(this.__wbg_ptr, sec, para, char_offset, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 스타일을 적용한다 (셀 내 문단). * @param {number} sec_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} style_id * @returns {string} */ applyCellStyle(sec_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, style_id) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_applyCellStyle(this.__wbg_ptr, sec_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, style_id); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 글자 서식을 적용한다 (본문 문단). * @param {number} sec_idx * @param {number} para_idx * @param {number} start_offset * @param {number} end_offset * @param {string} props_json * @returns {string} */ applyCharFormat(sec_idx, para_idx, start_offset, end_offset, props_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(props_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_applyCharFormat(this.__wbg_ptr, sec_idx, para_idx, start_offset, end_offset, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 글자 서식을 적용한다 (셀 내 문단). * @param {number} sec_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} start_offset * @param {number} end_offset * @param {string} props_json * @returns {string} */ applyCharFormatInCell(sec_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, start_offset, end_offset, props_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(props_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_applyCharFormatInCell(this.__wbg_ptr, sec_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, start_offset, end_offset, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 머리말/꼬리말 마당(템플릿)을 적용한다. * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @param {number} template_id * @returns {string} */ applyHfTemplate(section_idx, is_header, apply_to, template_id) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_applyHfTemplate(this.__wbg_ptr, section_idx, is_header, apply_to, template_id); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * @param {number} sec_idx * @param {number} para_idx * @param {string} props_json * @returns {string} */ applyParaFormat(sec_idx, para_idx, props_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(props_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_applyParaFormat(this.__wbg_ptr, sec_idx, para_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 문단 서식을 적용한다 (셀 내 문단). * @param {number} sec_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {string} props_json * @returns {string} */ applyParaFormatInCell(sec_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, props_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(props_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_applyParaFormatInCell(this.__wbg_ptr, sec_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 머리말/꼬리말 문단에 문단 서식을 적용한다. * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @param {number} hf_para_idx * @param {string} props_json * @returns {string} */ applyParaFormatInHf(section_idx, is_header, apply_to, hf_para_idx, props_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(props_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_applyParaFormatInHf(this.__wbg_ptr, section_idx, is_header, apply_to, hf_para_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 스타일을 적용한다 (본문 문단). * @param {number} sec_idx * @param {number} para_idx * @param {number} style_id * @returns {string} */ applyStyle(sec_idx, para_idx, style_id) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_applyStyle(this.__wbg_ptr, sec_idx, para_idx, style_id); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * Batch 모드를 시작한다. 이후 Command 호출 시 paginate()를 건너뛴다. * @returns {string} */ beginBatch() { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_beginBatch(this.__wbg_ptr); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * Shape z-order 변경 * operation: "front" | "back" | "forward" | "backward" * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {string} operation * @returns {string} */ changeShapeZOrder(section_idx, parent_para_idx, control_idx, operation) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(operation, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_changeShapeZOrder(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 활성 필드를 해제한다 (안내문 다시 표시). */ clearActiveField() { wasm.hwpdocument_clearActiveField(this.__wbg_ptr); } /** * 내부 클립보드를 초기화한다. */ clearClipboard() { wasm.hwpdocument_clearClipboard(this.__wbg_ptr); } /** * 내부 클립보드에 컨트롤(표/그림/도형)이 포함되어 있는지 확인한다. * @returns {boolean} */ clipboardHasControl() { const ret = wasm.hwpdocument_clipboardHasControl(this.__wbg_ptr); return ret !== 0; } /** * 배포용(읽기전용) 문서를 편집 가능한 일반 문서로 변환한다. * * 반환값: JSON `{"ok":true,"converted":true}` 또는 `{"ok":true,"converted":false}` * @returns {string} */ convertToEditable() { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_convertToEditable(this.__wbg_ptr); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 컨트롤 객체(표, 이미지, 도형)를 내부 클립보드에 복사한다. * @param {number} section_idx * @param {number} para_idx * @param {number} control_idx * @returns {string} */ copyControl(section_idx, para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_copyControl(this.__wbg_ptr, section_idx, para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 선택 영역을 내부 클립보드에 복사한다. * * 반환값: JSON `{"ok":true,"text":""}` * @param {number} section_idx * @param {number} start_para_idx * @param {number} start_char_offset * @param {number} end_para_idx * @param {number} end_char_offset * @returns {string} */ copySelection(section_idx, start_para_idx, start_char_offset, end_para_idx, end_char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_copySelection(this.__wbg_ptr, section_idx, start_para_idx, start_char_offset, end_para_idx, end_char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 표 셀 내부 선택 영역을 내부 클립보드에 복사한다. * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} start_cell_para_idx * @param {number} start_char_offset * @param {number} end_cell_para_idx * @param {number} end_char_offset * @returns {string} */ copySelectionInCell(section_idx, parent_para_idx, control_idx, cell_idx, start_cell_para_idx, start_char_offset, end_cell_para_idx, end_char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_copySelectionInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, start_cell_para_idx, start_char_offset, end_cell_para_idx, end_char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 내장 템플릿에서 빈 문서를 생성한다. * * saved/blank2010.hwp를 WASM 바이너리에 포함하여 유효한 HWP 문서를 즉시 생성. * DocInfo raw_stream이 온전하므로 FIX-4 워크어라운드와 호환됨. * @returns {string} */ createBlankDocument() { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_createBlankDocument(this.__wbg_ptr); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 빈 문서 생성 (테스트/미리보기용) * @returns {HwpDocument} */ static createEmpty() { const ret = wasm.hwpdocument_createEmpty(); return HwpDocument.__wrap(ret); } /** * 머리말/꼬리말 생성 (빈 문단 1개 포함) * * 반환: JSON `{"ok":true,"kind":"header/footer","applyTo":N,...}` * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @returns {string} */ createHeaderFooter(section_idx, is_header, apply_to) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_createHeaderFooter(this.__wbg_ptr, section_idx, is_header, apply_to); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * JSON으로 지정된 번호 형식으로 Numbering 정의를 생성한다. * * json: {"levelFormats":["^1.","^2)",...],"numberFormats":[0,8,...],"startNumber":1} * 반환값: Numbering ID (1-based) * @param {string} json * @returns {number} */ createNumbering(json) { const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_createNumbering(this.__wbg_ptr, ptr0, len0); return ret; } /** * 커서 위치에 글상자(Rectangle + TextBox)를 삽입한다. * * json: `{"sectionIdx":N,"paraIdx":N,"charOffset":N,"width":N,"height":N, * "horzOffset":N,"vertOffset":N,"treatAsChar":bool,"textWrap":"Square"}` * 반환: JSON `{"ok":true,"paraIdx":,"controlIdx":0}` * @param {string} json * @returns {string} */ createShapeControl(json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_createShapeControl(this.__wbg_ptr, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 새 스타일을 생성한다. * * json: {"name":"...", "englishName":"...", "type":0, "nextStyleId":0} * 반환값: 새 스타일 ID (0-based) * @param {string} json * @returns {number} */ createStyle(json) { const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_createStyle(this.__wbg_ptr, ptr0, len0); return ret; } /** * 커서 위치에 새 표를 삽입한다. * * 반환: JSON `{"ok":true,"paraIdx":,"controlIdx":0}` * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @param {number} row_count * @param {number} col_count * @returns {string} */ createTable(section_idx, para_idx, char_offset, row_count, col_count) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_createTable(this.__wbg_ptr, section_idx, para_idx, char_offset, row_count, col_count); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 커서 위치에 표를 삽입한다 (확장, JSON 옵션). * * options JSON: { sectionIdx, paraIdx, charOffset, rowCount, colCount, * treatAsChar?: bool, colWidths?: [u32, ...] } * @param {string} options_json * @returns {string} */ createTableEx(options_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(options_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_createTableEx(this.__wbg_ptr, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 책갈피 삭제 * @param {number} sec * @param {number} para * @param {number} ctrl_idx * @returns {string} */ deleteBookmark(sec, para, ctrl_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deleteBookmark(this.__wbg_ptr, sec, para, ctrl_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 머리말/꼬리말을 삭제한다 (컨트롤 자체 제거). * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @returns {string} */ deleteHeaderFooter(section_idx, is_header, apply_to) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deleteHeaderFooter(this.__wbg_ptr, section_idx, is_header, apply_to); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 그림 컨트롤을 문단에서 삭제한다. * * 반환: JSON `{"ok":true}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @returns {string} */ deletePictureControl(section_idx, parent_para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deletePictureControl(this.__wbg_ptr, section_idx, parent_para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 본문 선택 영역을 삭제한다. * * 반환: JSON `{"ok":true,"paraIdx":N,"charOffset":N}` * @param {number} section_idx * @param {number} start_para_idx * @param {number} start_char_offset * @param {number} end_para_idx * @param {number} end_char_offset * @returns {string} */ deleteRange(section_idx, start_para_idx, start_char_offset, end_para_idx, end_char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deleteRange(this.__wbg_ptr, section_idx, start_para_idx, start_char_offset, end_para_idx, end_char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 셀 내 선택 영역을 삭제한다. * * 반환: JSON `{"ok":true,"paraIdx":N,"charOffset":N}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} start_cell_para_idx * @param {number} start_char_offset * @param {number} end_cell_para_idx * @param {number} end_char_offset * @returns {string} */ deleteRangeInCell(section_idx, parent_para_idx, control_idx, cell_idx, start_cell_para_idx, start_char_offset, end_cell_para_idx, end_char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deleteRangeInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, start_cell_para_idx, start_char_offset, end_cell_para_idx, end_char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * Shape(글상자) 컨트롤을 문단에서 삭제한다. * * 반환: JSON `{"ok":true}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @returns {string} */ deleteShapeControl(section_idx, parent_para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deleteShapeControl(this.__wbg_ptr, section_idx, parent_para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 스타일을 삭제한다. * * 바탕글(ID 0)은 삭제할 수 없다. * 삭제된 스타일을 사용 중인 문단은 바탕글(ID 0)로 변경된다. * @param {number} style_id * @returns {boolean} */ deleteStyle(style_id) { const ret = wasm.hwpdocument_deleteStyle(this.__wbg_ptr, style_id); return ret !== 0; } /** * 표에서 열을 삭제한다. * * 반환값: JSON `{"ok":true,"rowCount":,"colCount":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} col_idx * @returns {string} */ deleteTableColumn(section_idx, parent_para_idx, control_idx, col_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deleteTableColumn(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, col_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 표 컨트롤을 문단에서 삭제한다. * * 반환: JSON `{"ok":true}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @returns {string} */ deleteTableControl(section_idx, parent_para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deleteTableControl(this.__wbg_ptr, section_idx, parent_para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 표에서 행을 삭제한다. * * 반환값: JSON `{"ok":true,"rowCount":,"colCount":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} row_idx * @returns {string} */ deleteTableRow(section_idx, parent_para_idx, control_idx, row_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deleteTableRow(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, row_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 문단에서 텍스트를 삭제한다. * * 삭제 후 구역을 재구성하고 재페이지네이션한다. * 반환값: JSON `{"ok":true,"charOffset":}` * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @param {number} count * @returns {string} */ deleteText(section_idx, para_idx, char_offset, count) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deleteText(this.__wbg_ptr, section_idx, para_idx, char_offset, count); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 표 셀 내부 문단에서 텍스트를 삭제한다. * * 반환값: JSON `{"ok":true,"charOffset":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} char_offset * @param {number} count * @returns {string} */ deleteTextInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, count) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deleteTextInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, count); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @param {number} char_offset * @param {number} count * @returns {string} */ deleteTextInCellByPath(section_idx, parent_para_idx, path_json, char_offset, count) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_deleteTextInCellByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, char_offset, count); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 각주 내 텍스트를 삭제한다. * @param {number} section_idx * @param {number} para_idx * @param {number} control_idx * @param {number} fn_para_idx * @param {number} char_offset * @param {number} count * @returns {string} */ deleteTextInFootnote(section_idx, para_idx, control_idx, fn_para_idx, char_offset, count) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deleteTextInFootnote(this.__wbg_ptr, section_idx, para_idx, control_idx, fn_para_idx, char_offset, count); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 머리말/꼬리말 내 텍스트 삭제 * * 반환: JSON `{"ok":true,"charOffset":}` * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @param {number} hf_para_idx * @param {number} char_offset * @param {number} count * @returns {string} */ deleteTextInHeaderFooter(section_idx, is_header, apply_to, hf_para_idx, char_offset, count) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_deleteTextInHeaderFooter(this.__wbg_ptr, section_idx, is_header, apply_to, hf_para_idx, char_offset, count); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 지정 ID의 스냅샷을 제거하여 메모리를 해제한다. * @param {number} id */ discardSnapshot(id) { wasm.hwpdocument_discardSnapshot(this.__wbg_ptr, id); } /** * Batch 모드를 종료하고 누적된 이벤트를 반환한다. * @returns {string} */ endBatch() { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_endBatch(this.__wbg_ptr); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 특정 문자의 글머리표 정의가 없으면 생성한다. * * 반환값: Bullet ID (1-based) * @param {string} bullet_char_str * @returns {number} */ ensureDefaultBullet(bullet_char_str) { const ptr0 = passStringToWasm0(bullet_char_str, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_ensureDefaultBullet(this.__wbg_ptr, ptr0, len0); return ret; } /** * 문서에 기본 문단 번호 정의가 없으면 생성한다. * * 반환값: Numbering ID (1-based) * @returns {number} */ ensureDefaultNumbering() { const ret = wasm.hwpdocument_ensureDefaultNumbering(this.__wbg_ptr); return ret; } /** * 표 셀에서 계산식을 실행한다. * * formula: "=SUM(A1:A5)", "=A1+B2*3" 등 * write_result: true이면 결과를 셀에 기록 * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} target_row * @param {number} target_col * @param {string} formula * @param {boolean} write_result * @returns {string} */ evaluateTableFormula(section_idx, parent_para_idx, control_idx, target_row, target_col, formula, write_result) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(formula, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_evaluateTableFormula(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, target_row, target_col, ptr0, len0, write_result); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 컨트롤 객체를 HTML 문자열로 변환한다. * @param {number} section_idx * @param {number} para_idx * @param {number} control_idx * @returns {string} */ exportControlHtml(section_idx, para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_exportControlHtml(this.__wbg_ptr, section_idx, para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 문서를 HWP 바이너리로 내보낸다. * * Document IR을 HWP 5.0 CFB 바이너리로 직렬화하여 반환한다. * @returns {Uint8Array} */ exportHwp() { const ret = wasm.hwpdocument_exportHwp(this.__wbg_ptr); if (ret[3]) { throw takeFromExternrefTable0(ret[2]); } var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); return v1; } /** * Document IR을 HWPX(ZIP+XML)로 직렬화하여 반환한다. * @returns {Uint8Array} */ exportHwpx() { const ret = wasm.hwpdocument_exportHwpx(this.__wbg_ptr); if (ret[3]) { throw takeFromExternrefTable0(ret[2]); } var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); return v1; } /** * 선택 영역을 HTML 문자열로 변환한다 (본문). * @param {number} section_idx * @param {number} start_para_idx * @param {number} start_char_offset * @param {number} end_para_idx * @param {number} end_char_offset * @returns {string} */ exportSelectionHtml(section_idx, start_para_idx, start_char_offset, end_para_idx, end_char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_exportSelectionHtml(this.__wbg_ptr, section_idx, start_para_idx, start_char_offset, end_para_idx, end_char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 선택 영역을 HTML 문자열로 변환한다 (셀 내부). * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} start_cell_para_idx * @param {number} start_char_offset * @param {number} end_cell_para_idx * @param {number} end_char_offset * @returns {string} */ exportSelectionInCellHtml(section_idx, parent_para_idx, control_idx, cell_idx, start_cell_para_idx, start_char_offset, end_cell_para_idx, end_char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_exportSelectionInCellHtml(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, start_cell_para_idx, start_char_offset, end_cell_para_idx, end_char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 커서에서 이전 방향으로 가장 가까운 선택 가능 컨트롤을 찾는다 (F11 키). * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ findNearestControlBackward(section_idx, para_idx, char_offset) { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_findNearestControlBackward(this.__wbg_ptr, section_idx, para_idx, char_offset); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 현재 위치 이후의 가장 가까운 선택 가능 컨트롤을 찾는다 (Shift+F11). * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ findNearestControlForward(section_idx, para_idx, char_offset) { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_findNearestControlForward(this.__wbg_ptr, section_idx, para_idx, char_offset); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 문서 트리에서 다음 편집 가능한 컨트롤/본문을 찾는다. * delta=+1(앞), delta=-1(뒤). ctrl_idx=-1이면 본문 텍스트에서 출발. * @param {number} section_idx * @param {number} para_idx * @param {number} ctrl_idx * @param {number} delta * @returns {string} */ findNextEditableControl(section_idx, para_idx, ctrl_idx, delta) { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_findNextEditableControl(this.__wbg_ptr, section_idx, para_idx, ctrl_idx, delta); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 글꼴 이름으로 font_id를 조회하거나 새로 생성한다. * * 한글(0번) 카테고리에서 이름 검색 → 없으면 7개 전체 카테고리에 신규 등록. * 반환값: font_id (u16), 실패 시 -1 * @param {string} name * @returns {number} */ findOrCreateFontId(name) { const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_findOrCreateFontId(this.__wbg_ptr, ptr0, len0); return ret; } /** * 특정 언어 카테고리에서 글꼴 이름으로 ID를 찾거나 등록한다. * @param {number} lang * @param {string} name * @returns {number} */ findOrCreateFontIdForLang(lang, name) { const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_findOrCreateFontIdForLang(this.__wbg_ptr, lang, ptr0, len0); return ret; } /** * 문서 내 모든 책갈피 목록 반환 * @returns {string} */ getBookmarks() { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getBookmarks(this.__wbg_ptr); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 문서에 정의된 글머리표(Bullet) 목록을 조회한다. * * 반환값: JSON 배열 [{ id, char }, ...] * id는 1-based (ParaShape.numbering_id와 동일) * @returns {string} */ getBulletList() { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getBulletList(this.__wbg_ptr); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 문서에 저장된 캐럿 위치를 반환한다 (문서 로딩 시 캐럿 자동 배치용). * * 반환: JSON `{"sectionIndex":N,"paragraphIndex":N,"charOffset":N}` * @returns {string} */ getCaretPosition() { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getCaretPosition(this.__wbg_ptr); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 셀 내부 문단의 글자 속성을 조회한다. * @param {number} sec_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} char_offset * @returns {string} */ getCellCharPropertiesAt(sec_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getCellCharPropertiesAt(this.__wbg_ptr, sec_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 표 셀의 행/열/병합 정보를 반환한다. * * 반환: JSON `{"row":N,"col":N,"rowSpan":N,"colSpan":N}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @returns {string} */ getCellInfo(section_idx, parent_para_idx, control_idx, cell_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getCellInfo(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 경로 기반 셀 정보 조회 (중첩 표용). * * 반환: JSON `{"row":N,"col":N,"rowSpan":N,"colSpan":N}` * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @returns {string} */ getCellInfoByPath(section_idx, parent_para_idx, path_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_getCellInfoByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 셀 내부 문단의 문단 속성을 조회한다. * @param {number} sec_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @returns {string} */ getCellParaPropertiesAt(sec_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getCellParaPropertiesAt(this.__wbg_ptr, sec_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 표 셀 내 문단 수를 반환한다. * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @returns {number} */ getCellParagraphCount(section_idx, parent_para_idx, control_idx, cell_idx) { const ret = wasm.hwpdocument_getCellParagraphCount(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] >>> 0; } /** * 경로 기반: 셀/글상자 내 문단 수를 반환한다 (중첩 표/글상자 지원). * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @returns {number} */ getCellParagraphCountByPath(section_idx, parent_para_idx, path_json) { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_getCellParagraphCountByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] >>> 0; } /** * 표 셀 내 문단의 글자 수를 반환한다. * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @returns {number} */ getCellParagraphLength(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx) { const ret = wasm.hwpdocument_getCellParagraphLength(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] >>> 0; } /** * 경로 기반: 셀 내 문단의 글자 수를 반환한다 (중첩 표 지원). * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @returns {number} */ getCellParagraphLengthByPath(section_idx, parent_para_idx, path_json) { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_getCellParagraphLengthByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] >>> 0; } /** * 셀 속성을 조회한다. * * 반환: JSON `{width, height, paddingLeft, paddingRight, paddingTop, paddingBottom, verticalAlign, textDirection, isHeader}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @returns {string} */ getCellProperties(section_idx, parent_para_idx, control_idx, cell_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getCellProperties(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 셀 내부 문단의 스타일을 조회한다. * @param {number} sec_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @returns {string} */ getCellStyleAt(sec_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx) { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getCellStyleAt(this.__wbg_ptr, sec_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 표 셀의 텍스트 방향을 반환한다 (0=가로, 1=세로/영문눕힘, 2=세로/영문세움). * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @returns {number} */ getCellTextDirection(section_idx, parent_para_idx, control_idx, cell_idx) { const ret = wasm.hwpdocument_getCellTextDirection(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] >>> 0; } /** * 캐럿 위치의 글자 속성을 조회한다. * * 반환값: JSON 객체 (fontFamily, fontSize, bold, italic, underline, strikethrough, textColor 등) * @param {number} sec_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ getCharPropertiesAt(sec_idx, para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getCharPropertiesAt(this.__wbg_ptr, sec_idx, para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 누름틀 필드의 속성을 조회한다. * * 반환: JSON `{"ok":true,"guide":"안내문","memo":"메모","name":"이름","editable":true}` * @param {number} field_id * @returns {string} */ getClickHereProps(field_id) { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getClickHereProps(this.__wbg_ptr, field_id); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 내부 클립보드의 플레인 텍스트를 반환한다. * @returns {string} */ getClipboardText() { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getClipboardText(this.__wbg_ptr); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 컨트롤의 이미지 바이너리 데이터를 반환한다 (Uint8Array). * @param {number} section_idx * @param {number} para_idx * @param {number} control_idx * @returns {Uint8Array} */ getControlImageData(section_idx, para_idx, control_idx) { const ret = wasm.hwpdocument_getControlImageData(this.__wbg_ptr, section_idx, para_idx, control_idx); if (ret[3]) { throw takeFromExternrefTable0(ret[2]); } var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); return v1; } /** * 컨트롤의 이미지 MIME 타입을 반환한다. * @param {number} section_idx * @param {number} para_idx * @param {number} control_idx * @returns {string} */ getControlImageMime(section_idx, para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getControlImageMime(this.__wbg_ptr, section_idx, para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 문단 내 컨트롤의 텍스트 위치 배열을 반환한다. * @param {number} section_idx * @param {number} para_idx * @returns {string} */ getControlTextPositions(section_idx, para_idx) { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getControlTextPositions(this.__wbg_ptr, section_idx, para_idx); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 커서 위치의 픽셀 좌표를 반환한다. * * 반환: JSON `{"pageIndex":N,"x":F,"y":F,"height":F}` * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ getCursorRect(section_idx, para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getCursorRect(this.__wbg_ptr, section_idx, para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 경로 기반 커서 좌표 조회 (중첩 표용). * * path_json: `[{"controlIndex":N,"cellIndex":N,"cellParaIndex":N}, ...]` * 반환: JSON `{"pageIndex":N,"x":F,"y":F,"height":F}` * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @param {number} char_offset * @returns {string} */ getCursorRectByPath(section_idx, parent_para_idx, path_json, char_offset) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_getCursorRectByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, char_offset); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 표 셀 내부 커서 위치의 픽셀 좌표를 반환한다. * * 반환: JSON `{"pageIndex":N,"x":F,"y":F,"height":F}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} char_offset * @returns {string} */ getCursorRectInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getCursorRectInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 각주 내 커서 렉트 계산 * @param {number} page_num * @param {number} footnote_index * @param {number} fn_para_idx * @param {number} char_offset * @returns {string} */ getCursorRectInFootnote(page_num, footnote_index, fn_para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getCursorRectInFootnote(this.__wbg_ptr, page_num, footnote_index, fn_para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 머리말/꼬리말 내 커서 위치의 픽셀 좌표를 반환한다. * * preferred_page: 선호 페이지 (더블클릭한 페이지). -1이면 첫 번째 발견 페이지 사용. * 반환: JSON `{"pageIndex":N,"x":F,"y":F,"height":F}` * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @param {number} hf_para_idx * @param {number} char_offset * @param {number} preferred_page * @returns {string} */ getCursorRectInHeaderFooter(section_idx, is_header, apply_to, hf_para_idx, char_offset, preferred_page) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getCursorRectInHeaderFooter(this.__wbg_ptr, section_idx, is_header, apply_to, hf_para_idx, char_offset, preferred_page); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 문서 정보를 JSON 문자열로 반환한다. * @returns {string} */ getDocumentInfo() { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getDocumentInfo(this.__wbg_ptr); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 현재 DPI를 반환한다. * @returns {number} */ getDpi() { const ret = wasm.hwpdocument_getDpi(this.__wbg_ptr); return ret; } /** * 수식 컨트롤의 속성을 조회한다. * * 반환: JSON `{ script, fontSize, color, baseline, fontName }` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @returns {string} */ getEquationProperties(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getEquationProperties(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 현재 이벤트 로그를 JSON으로 반환한다. * @returns {string} */ getEventLog() { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getEventLog(this.__wbg_ptr); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 현재 대체 폰트 경로를 반환한다. * @returns {string} */ getFallbackFont() { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getFallbackFont(this.__wbg_ptr); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 커서 위치의 필드 범위 정보를 조회한다 (본문 문단). * * 반환: `{inField, fieldId?, startCharIdx?, endCharIdx?, isGuide?, guideName?}` * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ getFieldInfoAt(section_idx, para_idx, char_offset) { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getFieldInfoAt(this.__wbg_ptr, section_idx, para_idx, char_offset); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * path 기반: 중첩 표 셀의 필드 범위 정보를 조회한다. * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @param {number} char_offset * @returns {string} */ getFieldInfoAtByPath(section_idx, parent_para_idx, path_json, char_offset) { let deferred2_0; let deferred2_1; try { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_getFieldInfoAtByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, char_offset); deferred2_0 = ret[0]; deferred2_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 커서 위치의 필드 범위 정보를 조회한다 (셀/글상자 내 문단). * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} char_offset * @param {boolean} is_textbox * @returns {string} */ getFieldInfoAtInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, is_textbox) { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getFieldInfoAtInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, is_textbox); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 문서 내 모든 필드 목록을 JSON 배열로 반환한다. * * 반환: `[{fieldId, fieldType, name, guide, command, value, location}]` * @returns {string} */ getFieldList() { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getFieldList(this.__wbg_ptr); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * field_id로 필드 값을 조회한다. * * 반환: `{ok, value}` * @param {number} field_id * @returns {string} */ getFieldValue(field_id) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getFieldValue(this.__wbg_ptr, field_id); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 필드 이름으로 값을 조회한다. * * 반환: `{ok, fieldId, value}` * @param {string} name * @returns {string} */ getFieldValueByName(name) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_getFieldValueByName(this.__wbg_ptr, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 각주 정보를 조회한다. * @param {number} section_idx * @param {number} para_idx * @param {number} control_idx * @returns {string} */ getFootnoteInfo(section_idx, para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getFootnoteInfo(this.__wbg_ptr, section_idx, para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 페이지 좌표에서 양식 개체를 찾는다. * * 반환: `{found, sec, para, ci, formType, name, value, caption, text, bbox}` * @param {number} page_num * @param {number} x * @param {number} y * @returns {string} */ getFormObjectAt(page_num, x, y) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getFormObjectAt(this.__wbg_ptr, page_num, x, y); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 양식 개체 상세 정보를 반환한다 (properties 포함). * * 반환: `{ok, formType, name, value, text, caption, enabled, width, height, foreColor, backColor, properties}` * @param {number} sec * @param {number} para * @param {number} ci * @returns {string} */ getFormObjectInfo(sec, para, ci) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getFormObjectInfo(this.__wbg_ptr, sec, para, ci); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 양식 개체 값을 조회한다. * * 반환: `{ok, formType, name, value, text, caption, enabled}` * @param {number} sec * @param {number} para * @param {number} ci * @returns {string} */ getFormValue(sec, para, ci) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getFormValue(this.__wbg_ptr, sec, para, ci); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 머리말/꼬리말 조회 * * 반환: JSON `{"ok":true,"exists":true/false,...}` * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @returns {string} */ getHeaderFooter(section_idx, is_header, apply_to) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getHeaderFooter(this.__wbg_ptr, section_idx, is_header, apply_to); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 문서 전체의 머리말/꼬리말 목록을 반환한다. * @param {number} current_section_idx * @param {boolean} current_is_header * @param {number} current_apply_to * @returns {string} */ getHeaderFooterList(current_section_idx, current_is_header, current_apply_to) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getHeaderFooterList(this.__wbg_ptr, current_section_idx, current_is_header, current_apply_to); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 머리말/꼬리말 문단 정보 조회 * * 반환: JSON `{"ok":true,"paraCount":N,"charCount":N}` * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @param {number} hf_para_idx * @returns {string} */ getHeaderFooterParaInfo(section_idx, is_header, apply_to, hf_para_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getHeaderFooterParaInfo(this.__wbg_ptr, section_idx, is_header, apply_to, hf_para_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 문단 내 줄 정보를 반환한다 (커서 수직 이동/Home/End용). * * 반환: JSON `{"lineIndex":N,"lineCount":N,"charStart":N,"charEnd":N}` * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ getLineInfo(section_idx, para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getLineInfo(this.__wbg_ptr, section_idx, para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 표 셀 내 문단의 줄 정보를 반환한다. * * 반환: JSON `{"lineIndex":N,"lineCount":N,"charStart":N,"charEnd":N}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} char_offset * @returns {string} */ getLineInfoInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getLineInfoInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 문단의 논리적 길이를 반환한다 (텍스트 문자 + 인라인 컨트롤 수). * @param {number} section_idx * @param {number} para_idx * @returns {number} */ getLogicalLength(section_idx, para_idx) { const ret = wasm.hwpdocument_getLogicalLength(this.__wbg_ptr, section_idx, para_idx); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] >>> 0; } /** * 문서에 정의된 문단 번호(Numbering) 목록을 조회한다. * * 반환값: JSON 배열 [{ id, levelFormats: [...] }, ...] * id는 1-based (ParaShape.numbering_id와 동일) * @returns {string} */ getNumberingList() { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getNumberingList(this.__wbg_ptr); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 컨트롤(표, 이미지 등) 레이아웃 정보를 반환한다. * @param {number} page_num * @returns {string} */ getPageControlLayout(page_num) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getPageControlLayout(this.__wbg_ptr, page_num); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 구역의 용지 설정(PageDef)을 HWPUNIT 원본값으로 반환한다. * @param {number} section_idx * @returns {string} */ getPageDef(section_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getPageDef(this.__wbg_ptr, section_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 페이지의 각주 참조 정보 * @param {number} page_num * @param {number} footnote_index * @returns {string} */ getPageFootnoteInfo(page_num, footnote_index) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getPageFootnoteInfo(this.__wbg_ptr, page_num, footnote_index); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 감추기 조회 * @param {number} sec * @param {number} para * @returns {string} */ getPageHide(sec, para) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getPageHide(this.__wbg_ptr, sec, para); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 페이지 정보를 JSON 문자열로 반환한다. * @param {number} page_num * @returns {string} */ getPageInfo(page_num) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getPageInfo(this.__wbg_ptr, page_num); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 위치에 해당하는 글로벌 쪽 번호 반환 * @param {number} section_idx * @param {number} para_idx * @returns {string} */ getPageOfPosition(section_idx, para_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getPageOfPosition(this.__wbg_ptr, section_idx, para_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 페이지 렌더 트리를 JSON 문자열로 반환한다. * @param {number} page_num * @returns {string} */ getPageRenderTree(page_num) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getPageRenderTree(this.__wbg_ptr, page_num); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 특정 페이지의 텍스트 레이아웃 정보를 JSON 문자열로 반환한다. * * 각 TextRun의 위치, 텍스트, 글자별 X 좌표 경계값을 포함한다. * @param {number} page_num * @returns {string} */ getPageTextLayout(page_num) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getPageTextLayout(this.__wbg_ptr, page_num); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 캐럿 위치의 문단 속성을 조회한다. * * 반환값: JSON 객체 (alignment, lineSpacing, marginLeft, marginRight, indent 등) * @param {number} sec_idx * @param {number} para_idx * @returns {string} */ getParaPropertiesAt(sec_idx, para_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getParaPropertiesAt(this.__wbg_ptr, sec_idx, para_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 머리말/꼬리말 문단의 문단 속성을 조회한다. * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @param {number} hf_para_idx * @returns {string} */ getParaPropertiesInHf(section_idx, is_header, apply_to, hf_para_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getParaPropertiesInHf(this.__wbg_ptr, section_idx, is_header, apply_to, hf_para_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 구역 내 문단 수를 반환한다. * @param {number} section_idx * @returns {number} */ getParagraphCount(section_idx) { const ret = wasm.hwpdocument_getParagraphCount(this.__wbg_ptr, section_idx); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] >>> 0; } /** * 문단의 글자 수(char 개수)를 반환한다. * @param {number} section_idx * @param {number} para_idx * @returns {number} */ getParagraphLength(section_idx, para_idx) { const ret = wasm.hwpdocument_getParagraphLength(this.__wbg_ptr, section_idx, para_idx); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] >>> 0; } /** * 그림 컨트롤의 속성을 조회한다. * * 반환: JSON `{ width, height, treatAsChar, ... }` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @returns {string} */ getPictureProperties(section_idx, parent_para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getPictureProperties(this.__wbg_ptr, section_idx, parent_para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 글로벌 쪽 번호에 해당하는 첫 문단 위치 반환 * @param {number} global_page * @returns {string} */ getPositionOfPage(global_page) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getPositionOfPage(this.__wbg_ptr, global_page); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 구역(Section) 수를 반환한다. * @returns {number} */ getSectionCount() { const ret = wasm.hwpdocument_getSectionCount(this.__wbg_ptr); return ret >>> 0; } /** * 구역 정의(SectionDef)를 JSON으로 반환한다. * @param {number} section_idx * @returns {string} */ getSectionDef(section_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getSectionDef(this.__wbg_ptr, section_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 본문 선택 영역의 줄별 사각형을 반환한다. * * 반환: JSON 배열 `[{"pageIndex":N,"x":F,"y":F,"width":F,"height":F}, ...]` * @param {number} section_idx * @param {number} start_para_idx * @param {number} start_char_offset * @param {number} end_para_idx * @param {number} end_char_offset * @returns {string} */ getSelectionRects(section_idx, start_para_idx, start_char_offset, end_para_idx, end_char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getSelectionRects(this.__wbg_ptr, section_idx, start_para_idx, start_char_offset, end_para_idx, end_char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 셀 내 선택 영역의 줄별 사각형을 반환한다. * * 반환: JSON 배열 `[{"pageIndex":N,"x":F,"y":F,"width":F,"height":F}, ...]` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} start_cell_para_idx * @param {number} start_char_offset * @param {number} end_cell_para_idx * @param {number} end_char_offset * @returns {string} */ getSelectionRectsInCell(section_idx, parent_para_idx, control_idx, cell_idx, start_cell_para_idx, start_char_offset, end_cell_para_idx, end_char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getSelectionRectsInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, start_cell_para_idx, start_char_offset, end_cell_para_idx, end_char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * Shape(글상자) 속성을 조회한다. * * 반환: JSON `{ width, height, treatAsChar, tbMarginLeft, ... }` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @returns {string} */ getShapeProperties(section_idx, parent_para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getShapeProperties(this.__wbg_ptr, section_idx, parent_para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 조판부호 표시 여부를 반환한다. * @returns {boolean} */ getShowControlCodes() { const ret = wasm.hwpdocument_getShowControlCodes(this.__wbg_ptr); return ret !== 0; } /** * 투명선 표시 여부를 반환한다. * @returns {boolean} */ getShowTransparentBorders() { const ret = wasm.hwpdocument_getShowTransparentBorders(this.__wbg_ptr); return ret !== 0; } /** * 원본 파일 형식을 반환한다 ("hwp" 또는 "hwpx"). * @returns {string} */ getSourceFormat() { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getSourceFormat(this.__wbg_ptr); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 특정 문단의 스타일을 조회한다. * * 반환값: JSON { id, name } * @param {number} sec_idx * @param {number} para_idx * @returns {string} */ getStyleAt(sec_idx, para_idx) { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getStyleAt(this.__wbg_ptr, sec_idx, para_idx); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 특정 스타일의 CharShape/ParaShape 속성을 상세 조회한다. * * 반환값: JSON { charProps: {...}, paraProps: {...} } * @param {number} style_id * @returns {string} */ getStyleDetail(style_id) { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getStyleDetail(this.__wbg_ptr, style_id); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 문서에 정의된 스타일 목록을 조회한다. * * 반환값: JSON 배열 [{ id, name, englishName, type, paraShapeId, charShapeId }, ...] * @returns {string} */ getStyleList() { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_getStyleList(this.__wbg_ptr); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 표 전체의 바운딩박스를 반환한다. * * 반환: JSON `{"pageIndex":,"x":,"y":,"width":,"height":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @returns {string} */ getTableBBox(section_idx, parent_para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getTableBBox(this.__wbg_ptr, section_idx, parent_para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 표의 모든 셀 bbox를 반환한다 (F5 셀 선택 모드용). * * 반환: JSON `[{cellIdx, row, col, rowSpan, colSpan, pageIndex, x, y, w, h}, ...]` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number | null} [page_hint] * @returns {string} */ getTableCellBboxes(section_idx, parent_para_idx, control_idx, page_hint) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getTableCellBboxes(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, isLikeNone(page_hint) ? 0x100000001 : (page_hint) >>> 0); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 경로 기반 표 셀 바운딩박스 조회 (중첩 표용). * * 반환: JSON 배열 `[{"cellIdx":N,"row":N,"col":N,...,"x":F,"y":F,"w":F,"h":F}, ...]` * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @returns {string} */ getTableCellBboxesByPath(section_idx, parent_para_idx, path_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_getTableCellBboxesByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 표의 행/열/셀 수를 반환한다. * * 반환: JSON `{"rowCount":N,"colCount":N,"cellCount":N}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @returns {string} */ getTableDimensions(section_idx, parent_para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getTableDimensions(this.__wbg_ptr, section_idx, parent_para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 경로 기반 표 차원 조회 (중첩 표용). * * 반환: JSON `{"rowCount":N,"colCount":N,"cellCount":N}` * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @returns {string} */ getTableDimensionsByPath(section_idx, parent_para_idx, path_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_getTableDimensionsByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 표 속성을 조회한다. * * 반환: JSON `{cellSpacing, paddingLeft, paddingRight, paddingTop, paddingBottom, pageBreak, repeatHeader}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @returns {string} */ getTableProperties(section_idx, parent_para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getTableProperties(this.__wbg_ptr, section_idx, parent_para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 문단에 텍스트박스가 있는 Shape 컨트롤이 있으면 해당 control_index를 반환한다. * 없으면 -1을 반환한다. * @param {number} section_idx * @param {number} para_idx * @returns {number} */ getTextBoxControlIndex(section_idx, para_idx) { const ret = wasm.hwpdocument_getTextBoxControlIndex(this.__wbg_ptr, section_idx, para_idx); return ret; } /** * 표 셀 내 문단에서 텍스트 부분 문자열을 반환한다. * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} char_offset * @param {number} count * @returns {string} */ getTextInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, count) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getTextInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, count); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @param {number} char_offset * @param {number} count * @returns {string} */ getTextInCellByPath(section_idx, parent_para_idx, path_json, char_offset, count) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_getTextInCellByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, char_offset, count); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 문단에서 텍스트 부분 문자열을 반환한다 (Undo용 텍스트 보존). * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @param {number} count * @returns {string} */ getTextRange(section_idx, para_idx, char_offset, count) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_getTextRange(this.__wbg_ptr, section_idx, para_idx, char_offset, count); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 선택된 개체들을 하나의 GroupShape로 묶는다. * json: `{"sectionIdx":N, "targets":[{"paraIdx":N,"controlIdx":N},...]}` * 반환: JSON `{"ok":true, "paraIdx":N, "controlIdx":N}` * @param {string} json * @returns {string} */ groupShapes(json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_groupShapes(this.__wbg_ptr, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 내부 클립보드에 데이터가 있는지 확인한다. * @returns {boolean} */ hasInternalClipboard() { const ret = wasm.hwpdocument_hasInternalClipboard(this.__wbg_ptr); return ret !== 0; } /** * 페이지 좌표에서 문서 위치를 찾는다. * * 반환: JSON `{"sectionIndex":N,"paragraphIndex":N,"charOffset":N}` * @param {number} page_num * @param {number} x * @param {number} y * @returns {string} */ hitTest(page_num, x, y) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_hitTest(this.__wbg_ptr, page_num, x, y); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 각주 영역 히트테스트 * @param {number} page_num * @param {number} x * @param {number} y * @returns {string} */ hitTestFootnote(page_num, x, y) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_hitTestFootnote(this.__wbg_ptr, page_num, x, y); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 페이지 좌표가 머리말/꼬리말 영역에 해당하는지 판별한다. * * 반환: JSON `{"hit":true/false,"isHeader":bool,"sectionIndex":N,"applyTo":N}` * @param {number} page_num * @param {number} x * @param {number} y * @returns {string} */ hitTestHeaderFooter(page_num, x, y) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_hitTestHeaderFooter(this.__wbg_ptr, page_num, x, y); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 각주 내부 텍스트 히트테스트 * @param {number} page_num * @param {number} x * @param {number} y * @returns {string} */ hitTestInFootnote(page_num, x, y) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_hitTestInFootnote(this.__wbg_ptr, page_num, x, y); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 머리말/꼬리말 내부 텍스트 히트테스트. * * 편집 모드에서 클릭한 좌표의 문단·문자 위치를 반환. * 반환: JSON `{"hit":true,"paraIndex":N,"charOffset":N,"cursorRect":{...}}` * @param {number} page_num * @param {boolean} is_header * @param {number} x * @param {number} y * @returns {string} */ hitTestInHeaderFooter(page_num, is_header, x, y) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_hitTestInHeaderFooter(this.__wbg_ptr, page_num, is_header, x, y); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 단 나누기 삽입 (Ctrl+Shift+Enter) * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ insertColumnBreak(section_idx, para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_insertColumnBreak(this.__wbg_ptr, section_idx, para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 머리말/꼬리말 문단에 필드 마커를 삽입한다. * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @param {number} hf_para_idx * @param {number} char_offset * @param {number} field_type * @returns {string} */ insertFieldInHf(section_idx, is_header, apply_to, hf_para_idx, char_offset, field_type) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_insertFieldInHf(this.__wbg_ptr, section_idx, is_header, apply_to, hf_para_idx, char_offset, field_type); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 각주를 삽입한다. * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ insertFootnote(section_idx, para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_insertFootnote(this.__wbg_ptr, section_idx, para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 강제 쪽 나누기 삽입 (Ctrl+Enter) * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ insertPageBreak(section_idx, para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_insertPageBreak(this.__wbg_ptr, section_idx, para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 커서 위치에 그림을 삽입한다. * * image_data: 이미지 바이너리 데이터 (PNG/JPG/GIF/BMP 등) * width, height: HWPUNIT 단위 크기 * extension: 파일 확장자 (jpg, png 등) * * 반환: JSON `{"ok":true,"paraIdx":,"controlIdx":0}` * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @param {Uint8Array} image_data * @param {number} width * @param {number} height * @param {number} natural_width_px * @param {number} natural_height_px * @param {string} extension * @param {string} description * @returns {string} */ insertPicture(section_idx, para_idx, char_offset, image_data, width, height, natural_width_px, natural_height_px, extension, description) { let deferred5_0; let deferred5_1; try { const ptr0 = passArray8ToWasm0(image_data, wasm.__wbindgen_malloc); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(extension, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len1 = WASM_VECTOR_LEN; const ptr2 = passStringToWasm0(description, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len2 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_insertPicture(this.__wbg_ptr, section_idx, para_idx, char_offset, ptr0, len0, width, height, natural_width_px, natural_height_px, ptr1, len1, ptr2, len2); var ptr4 = ret[0]; var len4 = ret[1]; if (ret[3]) { ptr4 = 0; len4 = 0; throw takeFromExternrefTable0(ret[2]); } deferred5_0 = ptr4; deferred5_1 = len4; return getStringFromWasm0(ptr4, len4); } finally { wasm.__wbindgen_free(deferred5_0, deferred5_1, 1); } } /** * 표에 열을 삽입한다. * * 반환값: JSON `{"ok":true,"rowCount":,"colCount":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} col_idx * @param {boolean} right * @returns {string} */ insertTableColumn(section_idx, parent_para_idx, control_idx, col_idx, right) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_insertTableColumn(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, col_idx, right); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 표에 행을 삽입한다. * * 반환값: JSON `{"ok":true,"rowCount":,"colCount":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} row_idx * @param {boolean} below * @returns {string} */ insertTableRow(section_idx, parent_para_idx, control_idx, row_idx, below) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_insertTableRow(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, row_idx, below); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 문단에 텍스트를 삽입한다. * * 삽입 후 구역을 재구성하고 재페이지네이션한다. * 반환값: JSON `{"ok":true,"charOffset":}` * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @param {string} text * @returns {string} */ insertText(section_idx, para_idx, char_offset, text) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_insertText(this.__wbg_ptr, section_idx, para_idx, char_offset, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 표 셀 내부 문단에 텍스트를 삽입한다. * * 반환값: JSON `{"ok":true,"charOffset":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} char_offset * @param {string} text * @returns {string} */ insertTextInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, text) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_insertTextInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @param {number} char_offset * @param {string} text * @returns {string} */ insertTextInCellByPath(section_idx, parent_para_idx, path_json, char_offset, text) { let deferred4_0; let deferred4_1; try { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len1 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_insertTextInCellByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, char_offset, ptr1, len1); var ptr3 = ret[0]; var len3 = ret[1]; if (ret[3]) { ptr3 = 0; len3 = 0; throw takeFromExternrefTable0(ret[2]); } deferred4_0 = ptr3; deferred4_1 = len3; return getStringFromWasm0(ptr3, len3); } finally { wasm.__wbindgen_free(deferred4_0, deferred4_1, 1); } } /** * 각주 내 텍스트를 삽입한다. * @param {number} section_idx * @param {number} para_idx * @param {number} control_idx * @param {number} fn_para_idx * @param {number} char_offset * @param {string} text * @returns {string} */ insertTextInFootnote(section_idx, para_idx, control_idx, fn_para_idx, char_offset, text) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_insertTextInFootnote(this.__wbg_ptr, section_idx, para_idx, control_idx, fn_para_idx, char_offset, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 머리말/꼬리말 내 텍스트 삽입 * * 반환: JSON `{"ok":true,"charOffset":}` * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @param {number} hf_para_idx * @param {number} char_offset * @param {string} text * @returns {string} */ insertTextInHeaderFooter(section_idx, is_header, apply_to, hf_para_idx, char_offset, text) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_insertTextInHeaderFooter(this.__wbg_ptr, section_idx, is_header, apply_to, hf_para_idx, char_offset, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 논리적 오프셋으로 텍스트를 삽입한다. * * logical_offset: 텍스트 문자 + 인라인 컨트롤을 각각 1로 세는 위치. * 예: "abc[표]XYZ" → a(0) b(1) c(2) [표](3) X(4) Y(5) Z(6) * logical_offset=4이면 표 뒤의 X 앞에 삽입. * 반환값: JSON `{"ok":true,"logicalOffset":}` * @param {number} section_idx * @param {number} para_idx * @param {number} logical_offset * @param {string} text * @returns {string} */ insertTextLogical(section_idx, para_idx, logical_offset, text) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_insertTextLogical(this.__wbg_ptr, section_idx, para_idx, logical_offset, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 논리적 오프셋 → 텍스트 오프셋 변환. * @param {number} section_idx * @param {number} para_idx * @param {number} logical_offset * @returns {number} */ logicalToTextOffset(section_idx, para_idx, logical_offset) { const ret = wasm.hwpdocument_logicalToTextOffset(this.__wbg_ptr, section_idx, para_idx, logical_offset); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] >>> 0; } /** * 문단별 줄 폭 측정 진단 (WASM) * @param {number} section_idx * @param {number} para_idx * @returns {string} */ measureWidthDiagnostic(section_idx, para_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_measureWidthDiagnostic(this.__wbg_ptr, section_idx, para_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 현재 문단을 이전 문단에 병합한다 (Backspace at start). * * para_idx의 텍스트가 para_idx-1에 결합되고 para_idx는 삭제된다. * 반환값: JSON `{"ok":true,"paraIdx":,"charOffset":}` * @param {number} section_idx * @param {number} para_idx * @returns {string} */ mergeParagraph(section_idx, para_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_mergeParagraph(this.__wbg_ptr, section_idx, para_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 셀 내부 문단을 이전 문단에 병합한다 (셀 내 Backspace at start). * * 반환값: JSON `{"ok":true,"cellParaIndex":,"charOffset":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @returns {string} */ mergeParagraphInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_mergeParagraphInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @returns {string} */ mergeParagraphInCellByPath(section_idx, parent_para_idx, path_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_mergeParagraphInCellByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 각주 내 문단을 병합한다 (Backspace at start). * @param {number} section_idx * @param {number} para_idx * @param {number} control_idx * @param {number} fn_para_idx * @returns {string} */ mergeParagraphInFootnote(section_idx, para_idx, control_idx, fn_para_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_mergeParagraphInFootnote(this.__wbg_ptr, section_idx, para_idx, control_idx, fn_para_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 머리말/꼬리말 내 문단 병합 (Backspace at start) * * 반환: JSON `{"ok":true,"hfParaIndex":,"charOffset":}` * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @param {number} hf_para_idx * @returns {string} */ mergeParagraphInHeaderFooter(section_idx, is_header, apply_to, hf_para_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_mergeParagraphInHeaderFooter(this.__wbg_ptr, section_idx, is_header, apply_to, hf_para_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 표의 셀을 병합한다. * * 반환값: JSON `{"ok":true,"cellCount":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} start_row * @param {number} start_col * @param {number} end_row * @param {number} end_col * @returns {string} */ mergeTableCells(section_idx, parent_para_idx, control_idx, start_row, start_col, end_row, end_col) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_mergeTableCells(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, start_row, start_col, end_row, end_col); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 직선 끝점 이동 (글로벌 HWPUNIT 좌표) * @param {number} sec * @param {number} para * @param {number} ci * @param {number} sx * @param {number} sy * @param {number} ex * @param {number} ey * @returns {string} */ moveLineEndpoint(sec, para, ci, sx, sy, ex, ey) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_moveLineEndpoint(this.__wbg_ptr, sec, para, ci, sx, sy, ex, ey); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 표의 위치 오프셋(vertical_offset, horizontal_offset)을 이동한다. * * delta_h, delta_v: HWPUNIT 단위 이동량 (양수=오른쪽/아래, 음수=왼쪽/위) * 반환: JSON `{"ok":true}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} delta_h * @param {number} delta_v * @returns {string} */ moveTableOffset(section_idx, parent_para_idx, control_idx, delta_h, delta_v) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_moveTableOffset(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, delta_h, delta_v); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 수직 커서 이동 (ArrowUp/Down) — 단일 호출로 줄/문단/표/구역 경계를 모두 처리한다. * * delta: -1=위, +1=아래 * preferred_x: 이전 반환값의 preferredX (최초 이동 시 -1.0 전달) * 셀 컨텍스트: 본문이면 모두 0xFFFFFFFF 전달 * * 반환: JSON `{DocumentPosition + CursorRect + preferredX}` * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @param {number} delta * @param {number} preferred_x * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @returns {string} */ moveVertical(section_idx, para_idx, char_offset, delta, preferred_x, parent_para_idx, control_idx, cell_idx, cell_para_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_moveVertical(this.__wbg_ptr, section_idx, para_idx, char_offset, delta, preferred_x, parent_para_idx, control_idx, cell_idx, cell_para_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 경로 기반 수직 커서 이동 (중첩 표용). * * 반환: JSON `{DocumentPosition + CursorRect + preferredX}` * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @param {number} char_offset * @param {number} delta * @param {number} preferred_x * @returns {string} */ moveVerticalByPath(section_idx, parent_para_idx, path_json, char_offset, delta, preferred_x) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_moveVerticalByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, char_offset, delta, preferred_x); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 페이지 단위로 이전/다음 머리말·꼬리말로 이동한다. * * 반환: JSON `{"ok":true,"pageIndex":N,"sectionIdx":N,"isHeader":bool,"applyTo":N}` * 또는 더 이상 이동할 페이지가 없으면 `{"ok":false}` * @param {number} current_page * @param {boolean} is_header * @param {number} direction * @returns {string} */ navigateHeaderFooterByPage(current_page, is_header, direction) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_navigateHeaderFooterByPage(this.__wbg_ptr, current_page, is_header, direction); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 문서 트리 DFS 기반 다음/이전 편집 가능 위치를 반환한다. * context_json: NavContextEntry 배열의 JSON (빈 배열 "[]" = body) * @param {number} sec * @param {number} para * @param {number} char_offset * @param {number} delta * @param {string} context_json * @returns {string} */ navigateNextEditable(sec, para, char_offset, delta, context_json) { let deferred2_0; let deferred2_1; try { const ptr0 = passStringToWasm0(context_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_navigateNextEditable(this.__wbg_ptr, sec, para, char_offset, delta, ptr0, len0); deferred2_0 = ret[0]; deferred2_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * HWP 파일 바이트를 로드하여 문서 객체를 생성한다. * @param {Uint8Array} data */ constructor(data) { const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_new(ptr0, len0); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } this.__wbg_ptr = ret[0] >>> 0; HwpDocumentFinalization.register(this, this.__wbg_ptr, this); return this; } /** * 총 페이지 수를 반환한다. * @returns {number} */ pageCount() { const ret = wasm.hwpdocument_pageCount(this.__wbg_ptr); return ret >>> 0; } /** * 내부 클립보드의 컨트롤 객체를 캐럿 위치에 붙여넣는다. * * 반환값: JSON `{"ok":true,"paraIdx":,"controlIdx":0}` * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ pasteControl(section_idx, para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_pasteControl(this.__wbg_ptr, section_idx, para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * HTML 문자열을 파싱하여 캐럿 위치에 삽입한다 (본문). * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @param {string} html * @returns {string} */ pasteHtml(section_idx, para_idx, char_offset, html) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(html, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_pasteHtml(this.__wbg_ptr, section_idx, para_idx, char_offset, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * HTML 문자열을 파싱하여 셀 내부 캐럿 위치에 삽입한다. * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} char_offset * @param {string} html * @returns {string} */ pasteHtmlInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, html) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(html, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_pasteHtmlInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 내부 클립보드의 내용을 캐럿 위치에 붙여넣는다 (본문 문단). * * 반환값: JSON `{"ok":true,"paraIdx":,"charOffset":}` * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ pasteInternal(section_idx, para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_pasteInternal(this.__wbg_ptr, section_idx, para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 내부 클립보드의 내용을 표 셀 내부에 붙여넣는다. * * 반환값: JSON `{"ok":true,"cellParaIdx":,"charOffset":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} char_offset * @returns {string} */ pasteInternalInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_pasteInternalInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 커서 위치의 누름틀 필드를 제거한다 (본문 문단). * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ removeFieldAt(section_idx, para_idx, char_offset) { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_removeFieldAt(this.__wbg_ptr, section_idx, para_idx, char_offset); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 커서 위치의 누름틀 필드를 제거한다 (셀/글상자 내 문단). * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} char_offset * @param {boolean} is_textbox * @returns {string} */ removeFieldAtInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, is_textbox) { let deferred1_0; let deferred1_1; try { const ret = wasm.hwpdocument_removeFieldAtInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, is_textbox); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } /** * 책갈피 이름 변경 * @param {number} sec * @param {number} para * @param {number} ctrl_idx * @param {string} new_name * @returns {string} */ renameBookmark(sec, para, ctrl_idx, new_name) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(new_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_renameBookmark(this.__wbg_ptr, sec, para, ctrl_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 수식 스크립트를 SVG로 렌더링하여 반환한다 (미리보기 전용). * * 반환: 완전한 `` 문자열 * @param {string} script * @param {number} font_size_hwpunit * @param {number} color * @returns {string} */ renderEquationPreview(script, font_size_hwpunit, color) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(script, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_renderEquationPreview(this.__wbg_ptr, ptr0, len0, font_size_hwpunit, color); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 특정 페이지를 Canvas 명령 수로 반환한다. * @param {number} page_num * @returns {number} */ renderPageCanvas(page_num) { const ret = wasm.hwpdocument_renderPageCanvas(this.__wbg_ptr, page_num); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] >>> 0; } /** * 특정 페이지를 HTML 문자열로 렌더링한다. * @param {number} page_num * @returns {string} */ renderPageHtml(page_num) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_renderPageHtml(this.__wbg_ptr, page_num); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 특정 페이지를 SVG 문자열로 렌더링한다. * @param {number} page_num * @returns {string} */ renderPageSvg(page_num) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_renderPageSvg(this.__wbg_ptr, page_num); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 특정 페이지를 Canvas 2D에 직접 렌더링한다. * * WASM 환경에서만 사용 가능하다. Canvas 크기는 페이지 크기 × scale로 설정된다. * scale이 0 이하이면 1.0으로 처리한다 (하위호환). * @param {number} page_num * @param {HTMLCanvasElement} canvas * @param {number} scale */ renderPageToCanvas(page_num, canvas, scale) { const ret = wasm.hwpdocument_renderPageToCanvas(this.__wbg_ptr, page_num, canvas, scale); if (ret[1]) { throw takeFromExternrefTable0(ret[0]); } } /** * 전체 치환 * @param {string} query * @param {string} new_text * @param {boolean} case_sensitive * @returns {string} */ replaceAll(query, new_text, case_sensitive) { let deferred4_0; let deferred4_1; try { const ptr0 = passStringToWasm0(query, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(new_text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len1 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_replaceAll(this.__wbg_ptr, ptr0, len0, ptr1, len1, case_sensitive); var ptr3 = ret[0]; var len3 = ret[1]; if (ret[3]) { ptr3 = 0; len3 = 0; throw takeFromExternrefTable0(ret[2]); } deferred4_0 = ptr3; deferred4_1 = len3; return getStringFromWasm0(ptr3, len3); } finally { wasm.__wbindgen_free(deferred4_0, deferred4_1, 1); } } /** * 텍스트 치환 (단일) * @param {number} sec * @param {number} para * @param {number} char_offset * @param {number} length * @param {string} new_text * @returns {string} */ replaceText(sec, para, char_offset, length, new_text) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(new_text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_replaceText(this.__wbg_ptr, sec, para, char_offset, length, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 여러 셀의 width/height를 한 번에 조절한다 (배치). * * json: `[{"cellIdx":0,"widthDelta":150},{"cellIdx":2,"heightDelta":-100}]` * 반환: JSON `{"ok":true}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {string} json * @returns {string} */ resizeTableCells(section_idx, parent_para_idx, control_idx, json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_resizeTableCells(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 지정 ID의 스냅샷으로 Document를 복원한다. * @param {number} id * @returns {string} */ restoreSnapshot(id) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_restoreSnapshot(this.__wbg_ptr, id); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * Document 스냅샷을 저장하고 ID를 반환한다. * @returns {number} */ saveSnapshot() { const ret = wasm.hwpdocument_saveSnapshot(this.__wbg_ptr); return ret >>> 0; } /** * 문서 텍스트 검색 * @param {string} query * @param {number} from_sec * @param {number} from_para * @param {number} from_char * @param {boolean} forward * @param {boolean} case_sensitive * @returns {string} */ searchText(query, from_sec, from_para, from_char, forward, case_sensitive) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(query, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_searchText(this.__wbg_ptr, ptr0, len0, from_sec, from_para, from_char, forward, case_sensitive); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 활성 필드를 설정한다 (본문 문단 — 안내문 숨김용). * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {boolean} */ setActiveField(section_idx, para_idx, char_offset) { const ret = wasm.hwpdocument_setActiveField(this.__wbg_ptr, section_idx, para_idx, char_offset); return ret !== 0; } /** * path 기반: 중첩 표 셀 내 활성 필드를 설정한다. * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @param {number} char_offset * @returns {boolean} */ setActiveFieldByPath(section_idx, parent_para_idx, path_json, char_offset) { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setActiveFieldByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, char_offset); return ret !== 0; } /** * 활성 필드를 설정한다 (셀/글상자 내 문단 — 안내문 숨김용). * 변경이 발생하면 true를 반환한다. * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} char_offset * @param {boolean} is_textbox * @returns {boolean} */ setActiveFieldInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, is_textbox) { const ret = wasm.hwpdocument_setActiveFieldInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, is_textbox); return ret !== 0; } /** * 셀 속성을 수정한다. * * 반환: JSON `{"ok":true}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {string} json * @returns {string} */ setCellProperties(section_idx, parent_para_idx, control_idx, cell_idx, json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setCellProperties(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * @param {boolean} enabled */ setClipEnabled(enabled) { wasm.hwpdocument_setClipEnabled(this.__wbg_ptr, enabled); } /** * 다단 설정 변경 * column_type: 0=일반, 1=배분, 2=평행 * same_width: 0=다른 너비, 1=같은 너비 * @param {number} section_idx * @param {number} column_count * @param {number} column_type * @param {number} same_width * @param {number} spacing_hu * @returns {string} */ setColumnDef(section_idx, column_count, column_type, same_width, spacing_hu) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_setColumnDef(this.__wbg_ptr, section_idx, column_count, column_type, same_width, spacing_hu); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * DPI를 설정한다. * @param {number} dpi */ setDpi(dpi) { wasm.hwpdocument_setDpi(this.__wbg_ptr, dpi); } /** * 수식 컨트롤의 속성을 변경한다. * * 반환: JSON `{"ok":true}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {string} props_json * @returns {string} */ setEquationProperties(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, props_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(props_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setEquationProperties(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 대체 폰트 경로를 설정한다. * @param {string} path */ setFallbackFont(path) { const ptr0 = passStringToWasm0(path, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; wasm.hwpdocument_setFallbackFont(this.__wbg_ptr, ptr0, len0); } /** * field_id로 필드 값을 설정한다. * * 반환: `{ok, fieldId, oldValue, newValue}` * @param {number} field_id * @param {string} value * @returns {string} */ setFieldValue(field_id, value) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(value, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setFieldValue(this.__wbg_ptr, field_id, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 필드 이름으로 값을 설정한다. * * 반환: `{ok, fieldId, oldValue, newValue}` * @param {string} name * @param {string} value * @returns {string} */ setFieldValueByName(name, value) { let deferred4_0; let deferred4_1; try { const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(value, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len1 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setFieldValueByName(this.__wbg_ptr, ptr0, len0, ptr1, len1); var ptr3 = ret[0]; var len3 = ret[1]; if (ret[3]) { ptr3 = 0; len3 = 0; throw takeFromExternrefTable0(ret[2]); } deferred4_0 = ptr3; deferred4_1 = len3; return getStringFromWasm0(ptr3, len3); } finally { wasm.__wbindgen_free(deferred4_0, deferred4_1, 1); } } /** * 파일 이름을 설정한다 (머리말/꼬리말 필드 치환용). * @param {string} name */ setFileName(name) { const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; wasm.hwpdocument_setFileName(this.__wbg_ptr, ptr0, len0); } /** * 양식 개체 값을 설정한다. * * value_json: `{"value":1}` 또는 `{"text":"입력값"}` * 반환: `{ok}` * @param {number} sec * @param {number} para * @param {number} ci * @param {string} value_json * @returns {string} */ setFormValue(sec, para, ci, value_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(value_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setFormValue(this.__wbg_ptr, sec, para, ci, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 셀 내부 양식 개체 값을 설정한다. * * table_para: 표를 포함한 최상위 문단 인덱스 * table_ci: 표 컨트롤 인덱스 * cell_idx: 셀 인덱스 * cell_para: 셀 내 문단 인덱스 * form_ci: 셀 내 양식 컨트롤 인덱스 * value_json: `{"value":1}` 또는 `{"text":"입력값"}` * 반환: `{ok}` * @param {number} sec * @param {number} table_para * @param {number} table_ci * @param {number} cell_idx * @param {number} cell_para * @param {number} form_ci * @param {string} value_json * @returns {string} */ setFormValueInCell(sec, table_para, table_ci, cell_idx, cell_para, form_ci, value_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(value_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setFormValueInCell(this.__wbg_ptr, sec, table_para, table_ci, cell_idx, cell_para, form_ci, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 문단 서식을 적용한다 (본문 문단). * 문단 번호 시작 방식 설정 * @param {number} section_idx * @param {number} para_idx * @param {number} mode * @param {number} start_num * @returns {string} */ setNumberingRestart(section_idx, para_idx, mode, start_num) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_setNumberingRestart(this.__wbg_ptr, section_idx, para_idx, mode, start_num); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 구역의 용지 설정(PageDef)을 변경하고 재페이지네이션한다. * @param {number} section_idx * @param {string} json * @returns {string} */ setPageDef(section_idx, json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setPageDef(this.__wbg_ptr, section_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 감추기 설정 * @param {number} sec * @param {number} para * @param {boolean} hide_header * @param {boolean} hide_footer * @param {boolean} hide_master * @param {boolean} hide_border * @param {boolean} hide_fill * @param {boolean} hide_page_num * @returns {string} */ setPageHide(sec, para, hide_header, hide_footer, hide_master, hide_border, hide_fill, hide_page_num) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_setPageHide(this.__wbg_ptr, sec, para, hide_header, hide_footer, hide_master, hide_border, hide_fill, hide_page_num); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 그림 컨트롤의 속성을 변경한다. * * 반환: JSON `{"ok":true}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {string} props_json * @returns {string} */ setPictureProperties(section_idx, parent_para_idx, control_idx, props_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(props_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setPictureProperties(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 구역 정의(SectionDef)를 변경하고 재페이지네이션한다. * @param {number} section_idx * @param {string} json * @returns {string} */ setSectionDef(section_idx, json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setSectionDef(this.__wbg_ptr, section_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 모든 구역의 SectionDef를 일괄 변경하고 재페이지네이션한다. * @param {string} json * @returns {string} */ setSectionDefAll(json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setSectionDefAll(this.__wbg_ptr, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * Shape(글상자) 속성을 변경한다. * * 반환: JSON `{"ok":true}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {string} props_json * @returns {string} */ setShapeProperties(section_idx, parent_para_idx, control_idx, props_json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(props_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setShapeProperties(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 조판부호 표시 여부를 설정한다 (개체 마커 + 문단부호 포함). * @param {boolean} enabled */ setShowControlCodes(enabled) { wasm.hwpdocument_setShowControlCodes(this.__wbg_ptr, enabled); } /** * 문단부호(¶) 표시 여부를 설정한다. * @param {boolean} enabled */ setShowParagraphMarks(enabled) { wasm.hwpdocument_setShowParagraphMarks(this.__wbg_ptr, enabled); } /** * 투명선 표시 여부를 설정한다. * @param {boolean} enabled */ setShowTransparentBorders(enabled) { wasm.hwpdocument_setShowTransparentBorders(this.__wbg_ptr, enabled); } /** * 표 속성을 수정한다. * * 반환: JSON `{"ok":true}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {string} json * @returns {string} */ setTableProperties(section_idx, parent_para_idx, control_idx, json) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_setTableProperties(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, ptr0, len0); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 디버그 오버레이 표시 여부를 설정한다. * @param {boolean} enabled */ set_debug_overlay(enabled) { wasm.hwpdocument_set_debug_overlay(this.__wbg_ptr, enabled); } /** * 캐럿 위치에서 문단을 분할한다 (Enter 키). * * char_offset 이후의 텍스트가 새 문단으로 이동한다. * 반환값: JSON `{"ok":true,"paraIdx":,"charOffset":0}` * @param {number} section_idx * @param {number} para_idx * @param {number} char_offset * @returns {string} */ splitParagraph(section_idx, para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_splitParagraph(this.__wbg_ptr, section_idx, para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 셀 내부 문단을 분할한다 (셀 내 Enter 키). * * 반환값: JSON `{"ok":true,"cellParaIndex":,"charOffset":0}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} cell_idx * @param {number} cell_para_idx * @param {number} char_offset * @returns {string} */ splitParagraphInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_splitParagraphInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * @param {number} section_idx * @param {number} parent_para_idx * @param {string} path_json * @param {number} char_offset * @returns {string} */ splitParagraphInCellByPath(section_idx, parent_para_idx, path_json, char_offset) { let deferred3_0; let deferred3_1; try { const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_splitParagraphInCellByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, char_offset); var ptr2 = ret[0]; var len2 = ret[1]; if (ret[3]) { ptr2 = 0; len2 = 0; throw takeFromExternrefTable0(ret[2]); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); } } /** * 각주 내 문단을 분할한다 (Enter). * @param {number} section_idx * @param {number} para_idx * @param {number} control_idx * @param {number} fn_para_idx * @param {number} char_offset * @returns {string} */ splitParagraphInFootnote(section_idx, para_idx, control_idx, fn_para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_splitParagraphInFootnote(this.__wbg_ptr, section_idx, para_idx, control_idx, fn_para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 머리말/꼬리말 내 문단 분할 (Enter 키) * * 반환: JSON `{"ok":true,"hfParaIndex":,"charOffset":0}` * @param {number} section_idx * @param {boolean} is_header * @param {number} apply_to * @param {number} hf_para_idx * @param {number} char_offset * @returns {string} */ splitParagraphInHeaderFooter(section_idx, is_header, apply_to, hf_para_idx, char_offset) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_splitParagraphInHeaderFooter(this.__wbg_ptr, section_idx, is_header, apply_to, hf_para_idx, char_offset); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 병합된 셀을 나눈다 (split). * * 반환값: JSON `{"ok":true,"cellCount":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} row * @param {number} col * @returns {string} */ splitTableCell(section_idx, parent_para_idx, control_idx, row, col) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_splitTableCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, row, col); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 셀을 N줄 × M칸으로 분할한다. * * 반환값: JSON `{"ok":true,"cellCount":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} row * @param {number} col * @param {number} n_rows * @param {number} m_cols * @param {boolean} equal_row_height * @param {boolean} merge_first * @returns {string} */ splitTableCellInto(section_idx, parent_para_idx, control_idx, row, col, n_rows, m_cols, equal_row_height, merge_first) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_splitTableCellInto(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, row, col, n_rows, m_cols, equal_row_height, merge_first); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 범위 내 셀들을 각각 N줄 × M칸으로 분할한다. * * 반환값: JSON `{"ok":true,"cellCount":}` * @param {number} section_idx * @param {number} parent_para_idx * @param {number} control_idx * @param {number} start_row * @param {number} start_col * @param {number} end_row * @param {number} end_col * @param {number} n_rows * @param {number} m_cols * @param {boolean} equal_row_height * @returns {string} */ splitTableCellsInRange(section_idx, parent_para_idx, control_idx, start_row, start_col, end_row, end_col, n_rows, m_cols, equal_row_height) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_splitTableCellsInRange(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, start_row, start_col, end_row, end_col, n_rows, m_cols, equal_row_height); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 텍스트 오프셋 → 논리적 오프셋 변환. * @param {number} section_idx * @param {number} para_idx * @param {number} text_offset * @returns {number} */ textToLogicalOffset(section_idx, para_idx, text_offset) { const ret = wasm.hwpdocument_textToLogicalOffset(this.__wbg_ptr, section_idx, para_idx, text_offset); if (ret[2]) { throw takeFromExternrefTable0(ret[1]); } return ret[0] >>> 0; } /** * 머리말/꼬리말 감추기를 토글한다 (현재 쪽만). * * 반환: JSON `{"hidden":true/false}` — 토글 후 상태 * @param {number} page_index * @param {boolean} is_header * @returns {string} */ toggleHideHeaderFooter(page_index, is_header) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_toggleHideHeaderFooter(this.__wbg_ptr, page_index, is_header); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * GroupShape를 풀어 자식 개체들을 개별로 복원한다. * @param {number} section_idx * @param {number} para_idx * @param {number} control_idx * @returns {string} */ ungroupShape(section_idx, para_idx, control_idx) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpdocument_ungroupShape(this.__wbg_ptr, section_idx, para_idx, control_idx); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 누름틀 필드의 속성을 수정한다. * * 반환: JSON `{"ok":true}` 또는 `{"ok":false}` * @param {number} field_id * @param {string} guide * @param {string} memo * @param {string} name * @param {boolean} editable * @returns {string} */ updateClickHereProps(field_id, guide, memo, name, editable) { let deferred4_0; let deferred4_1; try { const ptr0 = passStringToWasm0(guide, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(memo, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len1 = WASM_VECTOR_LEN; const ptr2 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len2 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_updateClickHereProps(this.__wbg_ptr, field_id, ptr0, len0, ptr1, len1, ptr2, len2, editable); deferred4_0 = ret[0]; deferred4_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred4_0, deferred4_1, 1); } } /** * 구역 내 모든 연결선의 좌표를 연결된 도형 위치에 맞게 갱신한다. * @param {number} section_idx */ updateConnectorsInSection(section_idx) { wasm.hwpdocument_updateConnectorsInSection(this.__wbg_ptr, section_idx); } /** * 스타일의 메타 정보(이름/영문이름/nextStyleId)를 수정한다. * * json: {"name":"...", "englishName":"...", "nextStyleId":0} * @param {number} style_id * @param {string} json * @returns {boolean} */ updateStyle(style_id, json) { const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_updateStyle(this.__wbg_ptr, style_id, ptr0, len0); return ret !== 0; } /** * 스타일의 CharShape/ParaShape를 수정한다. * * charMods/paraMods는 기존 parse_char_shape_mods/parse_para_shape_mods와 동일한 JSON 형식 * @param {number} style_id * @param {string} char_mods_json * @param {string} para_mods_json * @returns {boolean} */ updateStyleShapes(style_id, char_mods_json, para_mods_json) { const ptr0 = passStringToWasm0(char_mods_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(para_mods_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len1 = WASM_VECTOR_LEN; const ret = wasm.hwpdocument_updateStyleShapes(this.__wbg_ptr, style_id, ptr0, len0, ptr1, len1); return ret !== 0; } } if (Symbol.dispose) HwpDocument.prototype[Symbol.dispose] = HwpDocument.prototype.free; /** * WASM 뷰어 컨트롤러 (뷰포트 관리 + 스케줄링) */ export class HwpViewer { __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; HwpViewerFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_hwpviewer_free(ptr, 0); } /** * 뷰어 생성 * @param {HwpDocument} document */ constructor(document) { _assertClass(document, HwpDocument); var ptr0 = document.__destroy_into_raw(); const ret = wasm.hwpviewer_new(ptr0); this.__wbg_ptr = ret >>> 0; HwpViewerFinalization.register(this, this.__wbg_ptr, this); return this; } /** * 총 페이지 수 * @returns {number} */ pageCount() { const ret = wasm.hwpdocument_pageCount(this.__wbg_ptr); return ret >>> 0; } /** * 대기 중인 렌더링 작업 수 * @returns {number} */ pendingTaskCount() { const ret = wasm.hwpviewer_pendingTaskCount(this.__wbg_ptr); return ret >>> 0; } /** * 특정 페이지 HTML 렌더링 * @param {number} page_num * @returns {string} */ renderPageHtml(page_num) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpviewer_renderPageHtml(this.__wbg_ptr, page_num); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 특정 페이지 SVG 렌더링 * @param {number} page_num * @returns {string} */ renderPageSvg(page_num) { let deferred2_0; let deferred2_1; try { const ret = wasm.hwpviewer_renderPageSvg(this.__wbg_ptr, page_num); var ptr1 = ret[0]; var len1 = ret[1]; if (ret[3]) { ptr1 = 0; len1 = 0; throw takeFromExternrefTable0(ret[2]); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } /** * 줌 변경 * @param {number} zoom */ setZoom(zoom) { wasm.hwpviewer_setZoom(this.__wbg_ptr, zoom); } /** * 뷰포트 업데이트 (스크롤/리사이즈 시 호출) * @param {number} scroll_x * @param {number} scroll_y * @param {number} width * @param {number} height */ updateViewport(scroll_x, scroll_y, width, height) { wasm.hwpviewer_updateViewport(this.__wbg_ptr, scroll_x, scroll_y, width, height); } /** * 현재 보이는 페이지 목록 반환 * @returns {Uint32Array} */ visiblePages() { const ret = wasm.hwpviewer_visiblePages(this.__wbg_ptr); var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice(); wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); return v1; } } if (Symbol.dispose) HwpViewer.prototype[Symbol.dispose] = HwpViewer.prototype.free; /** * HWP 파일에서 썸네일 이미지만 경량 추출 (전체 파싱 없이) * * 반환: JSON `{ "format": "png"|"gif", "base64": "...", "width": N, "height": N }` * PrvImage가 없으면 `null` 반환 * @param {Uint8Array} data * @returns {any} */ export function extractThumbnail(data) { const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc); const len0 = WASM_VECTOR_LEN; const ret = wasm.extractThumbnail(ptr0, len0); return ret; } /** * WASM panic hook 초기화 (한 번만 실행) */ export function init_panic_hook() { wasm.init_panic_hook(); } /** * @returns {string} */ export function version() { let deferred1_0; let deferred1_1; try { const ret = wasm.version(); deferred1_0 = ret[0]; deferred1_1 = ret[1]; return getStringFromWasm0(ret[0], ret[1]); } finally { wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } function __wbg_get_imports() { const import0 = { __proto__: null, __wbg___wbindgen_is_undefined_9e4d92534c42d778: function(arg0) { const ret = arg0 === undefined; return ret; }, __wbg___wbindgen_throw_be289d5034ed271b: function(arg0, arg1) { throw new Error(getStringFromWasm0(arg0, arg1)); }, __wbg_addColorStop_2f80f11dfad35dec: function() { return handleError(function (arg0, arg1, arg2, arg3) { arg0.addColorStop(arg1, getStringFromWasm0(arg2, arg3)); }, arguments); }, __wbg_arcTo_ddf6b8adf3bf5084: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5) { arg0.arcTo(arg1, arg2, arg3, arg4, arg5); }, arguments); }, __wbg_arc_60bf829e1bd2add5: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5) { arg0.arc(arg1, arg2, arg3, arg4, arg5); }, arguments); }, __wbg_beginPath_9873f939d695759c: function(arg0) { arg0.beginPath(); }, __wbg_bezierCurveTo_38509204f815cfd5: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { arg0.bezierCurveTo(arg1, arg2, arg3, arg4, arg5, arg6); }, __wbg_call_389efe28435a9388: function() { return handleError(function (arg0, arg1) { const ret = arg0.call(arg1); return ret; }, arguments); }, __wbg_clip_f2700ac6171df6c4: function(arg0) { arg0.clip(); }, __wbg_closePath_de4e48859360b1b1: function(arg0) { arg0.closePath(); }, __wbg_complete_40b841a95e35ff5a: function(arg0) { const ret = arg0.complete; return ret; }, __wbg_createElement_49f60fdcaae809c8: function() { return handleError(function (arg0, arg1, arg2) { const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); return ret; }, arguments); }, __wbg_createLinearGradient_b3d3d1a53abe5362: function(arg0, arg1, arg2, arg3, arg4) { const ret = arg0.createLinearGradient(arg1, arg2, arg3, arg4); return ret; }, __wbg_createPattern_c1739fd477f91847: function() { return handleError(function (arg0, arg1, arg2, arg3) { const ret = arg0.createPattern(arg1, getStringFromWasm0(arg2, arg3)); return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }, arguments); }, __wbg_createRadialGradient_b43c38d4bed3b571: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6) { const ret = arg0.createRadialGradient(arg1, arg2, arg3, arg4, arg5, arg6); return ret; }, arguments); }, __wbg_document_ee35a3d3ae34ef6c: function(arg0) { const ret = arg0.document; return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }, __wbg_drawImage_c3679fd2d5c86a5f: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { arg0.drawImage(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); }, arguments); }, __wbg_drawImage_ca2a49df50c3765b: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5) { arg0.drawImage(arg1, arg2, arg3, arg4, arg5); }, arguments); }, __wbg_ellipse_3343f79b255f83a4: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { arg0.ellipse(arg1, arg2, arg3, arg4, arg5, arg6, arg7); }, arguments); }, __wbg_error_7534b8e9a36f1ab4: function(arg0, arg1) { let deferred0_0; let deferred0_1; try { deferred0_0 = arg0; deferred0_1 = arg1; console.error(getStringFromWasm0(arg0, arg1)); } finally { wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); } }, __wbg_fillRect_d44afec47e3a3fab: function(arg0, arg1, arg2, arg3, arg4) { arg0.fillRect(arg1, arg2, arg3, arg4); }, __wbg_fillText_4a931850b976cc62: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { arg0.fillText(getStringFromWasm0(arg1, arg2), arg3, arg4); }, arguments); }, __wbg_fill_1eb35c386c8676aa: function(arg0) { arg0.fill(); }, __wbg_getContext_2a5764d48600bc43: function() { return handleError(function (arg0, arg1, arg2) { const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }, arguments); }, __wbg_height_38750dc6de41ee75: function(arg0) { const ret = arg0.height; return ret; }, __wbg_instanceof_CanvasRenderingContext2d_4bb052fd1c3d134d: function(arg0) { let result; try { result = arg0 instanceof CanvasRenderingContext2D; } catch (_) { result = false; } const ret = result; return ret; }, __wbg_instanceof_HtmlCanvasElement_3f2f6e1edb1c9792: function(arg0) { let result; try { result = arg0 instanceof HTMLCanvasElement; } catch (_) { result = false; } const ret = result; return ret; }, __wbg_instanceof_Window_ed49b2db8df90359: function(arg0) { let result; try { result = arg0 instanceof Window; } catch (_) { result = false; } const ret = result; return ret; }, __wbg_lineTo_c584cff6c760c4a5: function(arg0, arg1, arg2) { arg0.lineTo(arg1, arg2); }, __wbg_measureTextWidth_9115df6cf4133a65: function(arg0, arg1, arg2, arg3) { const ret = globalThis.measureTextWidth(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); return ret; }, __wbg_moveTo_e9190fc700d55b40: function(arg0, arg1, arg2) { arg0.moveTo(arg1, arg2); }, __wbg_naturalWidth_d899aa855a564eb0: function(arg0) { const ret = arg0.naturalWidth; return ret; }, __wbg_new_3eb36ae241fe6f44: function() { const ret = new Array(); return ret; }, __wbg_new_8a6f238a6ece86ea: function() { const ret = new Error(); return ret; }, __wbg_new_ed07138f2680efbf: function() { return handleError(function () { const ret = new Image(); return ret; }, arguments); }, __wbg_new_no_args_1c7c842f08d00ebb: function(arg0, arg1) { const ret = new Function(getStringFromWasm0(arg0, arg1)); return ret; }, __wbg_push_8ffdcb2063340ba5: function(arg0, arg1) { const ret = arg0.push(arg1); return ret; }, __wbg_quadraticCurveTo_b39b7adc73767cc0: function(arg0, arg1, arg2, arg3, arg4) { arg0.quadraticCurveTo(arg1, arg2, arg3, arg4); }, __wbg_rect_967665357db991e9: function(arg0, arg1, arg2, arg3, arg4) { arg0.rect(arg1, arg2, arg3, arg4); }, __wbg_restore_0d233789d098ba64: function(arg0) { arg0.restore(); }, __wbg_rotate_31f482965274db16: function() { return handleError(function (arg0, arg1) { arg0.rotate(arg1); }, arguments); }, __wbg_save_e0cc2e58b36d33c9: function(arg0) { arg0.save(); }, __wbg_scale_543277ecf8cf836b: function() { return handleError(function (arg0, arg1, arg2) { arg0.scale(arg1, arg2); }, arguments); }, __wbg_setLineDash_ecf27050368658c9: function() { return handleError(function (arg0, arg1) { arg0.setLineDash(arg1); }, arguments); }, __wbg_set_fillStyle_783d3f7489475421: function(arg0, arg1, arg2) { arg0.fillStyle = getStringFromWasm0(arg1, arg2); }, __wbg_set_fillStyle_9bd3ccbe7ecf6c2a: function(arg0, arg1) { arg0.fillStyle = arg1; }, __wbg_set_fillStyle_f3cda410d17e5cd2: function(arg0, arg1) { arg0.fillStyle = arg1; }, __wbg_set_font_575685c8f7e56957: function(arg0, arg1, arg2) { arg0.font = getStringFromWasm0(arg1, arg2); }, __wbg_set_globalAlpha_c32898c5532572f4: function(arg0, arg1) { arg0.globalAlpha = arg1; }, __wbg_set_height_f21f985387070100: function(arg0, arg1) { arg0.height = arg1 >>> 0; }, __wbg_set_lineCap_59a017de1ad2b0be: function(arg0, arg1, arg2) { arg0.lineCap = getStringFromWasm0(arg1, arg2); }, __wbg_set_lineWidth_89fa506592f5b994: function(arg0, arg1) { arg0.lineWidth = arg1; }, __wbg_set_shadowBlur_8aa041f690cac8d0: function(arg0, arg1) { arg0.shadowBlur = arg1; }, __wbg_set_shadowColor_cd8db5e06be21e95: function(arg0, arg1, arg2) { arg0.shadowColor = getStringFromWasm0(arg1, arg2); }, __wbg_set_shadowOffsetX_b7f3141c508230dc: function(arg0, arg1) { arg0.shadowOffsetX = arg1; }, __wbg_set_shadowOffsetY_beb753d9e6d4a3ea: function(arg0, arg1) { arg0.shadowOffsetY = arg1; }, __wbg_set_src_55abd261cc86df86: function(arg0, arg1, arg2) { arg0.src = getStringFromWasm0(arg1, arg2); }, __wbg_set_strokeStyle_087121ed5350b038: function(arg0, arg1, arg2) { arg0.strokeStyle = getStringFromWasm0(arg1, arg2); }, __wbg_set_textAlign_cdfa5b9f1c14f5c6: function(arg0, arg1, arg2) { arg0.textAlign = getStringFromWasm0(arg1, arg2); }, __wbg_set_textBaseline_c7ec6538cc52b073: function(arg0, arg1, arg2) { arg0.textBaseline = getStringFromWasm0(arg1, arg2); }, __wbg_set_width_d60bc4f2f20c56a4: function(arg0, arg1) { arg0.width = arg1 >>> 0; }, __wbg_stack_0ed75d68575b0f3c: function(arg0, arg1) { const ret = arg1.stack; const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len1 = WASM_VECTOR_LEN; getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); }, __wbg_static_accessor_GLOBAL_12837167ad935116: function() { const ret = typeof global === 'undefined' ? null : global; return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }, __wbg_static_accessor_GLOBAL_THIS_e628e89ab3b1c95f: function() { const ret = typeof globalThis === 'undefined' ? null : globalThis; return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }, __wbg_static_accessor_SELF_a621d3dfbb60d0ce: function() { const ret = typeof self === 'undefined' ? null : self; return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }, __wbg_static_accessor_WINDOW_f8727f0cf888e0bd: function() { const ret = typeof window === 'undefined' ? null : window; return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); }, __wbg_strokeRect_4da24de25ed7fbaf: function(arg0, arg1, arg2, arg3, arg4) { arg0.strokeRect(arg1, arg2, arg3, arg4); }, __wbg_strokeText_477071174dda8ce7: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { arg0.strokeText(getStringFromWasm0(arg1, arg2), arg3, arg4); }, arguments); }, __wbg_stroke_240ea7f2407d73c0: function(arg0) { arg0.stroke(); }, __wbg_translate_3aa10730376a8c06: function() { return handleError(function (arg0, arg1, arg2) { arg0.translate(arg1, arg2); }, arguments); }, __wbg_width_5f66bde2e810fbde: function(arg0) { const ret = arg0.width; return ret; }, __wbindgen_cast_0000000000000001: function(arg0) { // Cast intrinsic for `F64 -> Externref`. const ret = arg0; return ret; }, __wbindgen_cast_0000000000000002: function(arg0, arg1) { // Cast intrinsic for `Ref(String) -> Externref`. const ret = getStringFromWasm0(arg0, arg1); return ret; }, __wbindgen_init_externref_table: function() { const table = wasm.__wbindgen_externrefs; const offset = table.grow(4); table.set(0, undefined); table.set(offset + 0, undefined); table.set(offset + 1, null); table.set(offset + 2, true); table.set(offset + 3, false); }, }; return { __proto__: null, "./rhwp_bg.js": import0, }; } const HwpDocumentFinalization = (typeof FinalizationRegistry === 'undefined') ? { register: () => {}, unregister: () => {} } : new FinalizationRegistry(ptr => wasm.__wbg_hwpdocument_free(ptr >>> 0, 1)); const HwpViewerFinalization = (typeof FinalizationRegistry === 'undefined') ? { register: () => {}, unregister: () => {} } : new FinalizationRegistry(ptr => wasm.__wbg_hwpviewer_free(ptr >>> 0, 1)); function addToExternrefTable0(obj) { const idx = wasm.__externref_table_alloc(); wasm.__wbindgen_externrefs.set(idx, obj); return idx; } function _assertClass(instance, klass) { if (!(instance instanceof klass)) { throw new Error(`expected instance of ${klass.name}`); } } function getArrayU32FromWasm0(ptr, len) { ptr = ptr >>> 0; return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); } function getArrayU8FromWasm0(ptr, len) { ptr = ptr >>> 0; return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len); } let cachedDataViewMemory0 = null; function getDataViewMemory0() { if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { cachedDataViewMemory0 = new DataView(wasm.memory.buffer); } return cachedDataViewMemory0; } function getStringFromWasm0(ptr, len) { ptr = ptr >>> 0; return decodeText(ptr, len); } let cachedUint32ArrayMemory0 = null; function getUint32ArrayMemory0() { if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); } return cachedUint32ArrayMemory0; } let cachedUint8ArrayMemory0 = null; function getUint8ArrayMemory0() { if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); } return cachedUint8ArrayMemory0; } function handleError(f, args) { try { return f.apply(this, args); } catch (e) { const idx = addToExternrefTable0(e); wasm.__wbindgen_exn_store(idx); } } function isLikeNone(x) { return x === undefined || x === null; } function passArray8ToWasm0(arg, malloc) { const ptr = malloc(arg.length * 1, 1) >>> 0; getUint8ArrayMemory0().set(arg, ptr / 1); WASM_VECTOR_LEN = arg.length; return ptr; } function passStringToWasm0(arg, malloc, realloc) { if (realloc === undefined) { const buf = cachedTextEncoder.encode(arg); const ptr = malloc(buf.length, 1) >>> 0; getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); WASM_VECTOR_LEN = buf.length; return ptr; } let len = arg.length; let ptr = malloc(len, 1) >>> 0; const mem = getUint8ArrayMemory0(); let offset = 0; for (; offset < len; offset++) { const code = arg.charCodeAt(offset); if (code > 0x7F) break; mem[ptr + offset] = code; } if (offset !== len) { if (offset !== 0) { arg = arg.slice(offset); } ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); const ret = cachedTextEncoder.encodeInto(arg, view); offset += ret.written; ptr = realloc(ptr, len, offset, 1) >>> 0; } WASM_VECTOR_LEN = offset; return ptr; } function takeFromExternrefTable0(idx) { const value = wasm.__wbindgen_externrefs.get(idx); wasm.__externref_table_dealloc(idx); return value; } let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); cachedTextDecoder.decode(); const MAX_SAFARI_DECODE_BYTES = 2146435072; let numBytesDecoded = 0; function decodeText(ptr, len) { numBytesDecoded += len; if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) { cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); cachedTextDecoder.decode(); numBytesDecoded = len; } return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); } const cachedTextEncoder = new TextEncoder(); if (!('encodeInto' in cachedTextEncoder)) { cachedTextEncoder.encodeInto = function (arg, view) { const buf = cachedTextEncoder.encode(arg); view.set(buf); return { read: arg.length, written: buf.length }; }; } let WASM_VECTOR_LEN = 0; let wasmModule, wasm; function __wbg_finalize_init(instance, module) { wasm = instance.exports; wasmModule = module; cachedDataViewMemory0 = null; cachedUint32ArrayMemory0 = null; cachedUint8ArrayMemory0 = null; wasm.__wbindgen_start(); return wasm; } async function __wbg_load(module, imports) { if (typeof Response === 'function' && module instanceof Response) { if (typeof WebAssembly.instantiateStreaming === 'function') { try { return await WebAssembly.instantiateStreaming(module, imports); } catch (e) { const validResponse = module.ok && expectedResponseType(module.type); if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') { console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); } else { throw e; } } } const bytes = await module.arrayBuffer(); return await WebAssembly.instantiate(bytes, imports); } else { const instance = await WebAssembly.instantiate(module, imports); if (instance instanceof WebAssembly.Instance) { return { instance, module }; } else { return instance; } } function expectedResponseType(type) { switch (type) { case 'basic': case 'cors': case 'default': return true; } return false; } } function initSync(module) { if (wasm !== undefined) return wasm; if (module !== undefined) { if (Object.getPrototypeOf(module) === Object.prototype) { ({module} = module) } else { console.warn('using deprecated parameters for `initSync()`; pass a single object instead') } } const imports = __wbg_get_imports(); if (!(module instanceof WebAssembly.Module)) { module = new WebAssembly.Module(module); } const instance = new WebAssembly.Instance(module, imports); return __wbg_finalize_init(instance, module); } async function __wbg_init(module_or_path) { if (wasm !== undefined) return wasm; if (module_or_path !== undefined) { if (Object.getPrototypeOf(module_or_path) === Object.prototype) { ({module_or_path} = module_or_path) } else { console.warn('using deprecated parameters for the initialization function; pass a single object instead') } } if (module_or_path === undefined) { module_or_path = new URL('rhwp_bg.wasm', import.meta.url); } const imports = __wbg_get_imports(); if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { module_or_path = fetch(module_or_path); } const { instance, module } = await __wbg_load(await module_or_path, imports); return __wbg_finalize_init(instance, module); } export { initSync, __wbg_init as default };