HPDF_LinkAnnot_SetHighlightMode (HPDF_Annotation annot, HPDF_AnnotHighlightMode mode) { HPDF_STATUS ret; HPDF_PTRACE((" HPDF_LinkAnnot_SetHighlightMode\n")); if (!CheckSubType (annot, HPDF_ANNOT_LINK)) return HPDF_INVALID_ANNOTATION; switch (mode) { case HPDF_ANNOT_NO_HIGHTLIGHT: ret = HPDF_Dict_AddName (annot, "H", "N"); break; case HPDF_ANNOT_INVERT_BORDER: ret = HPDF_Dict_AddName (annot, "H", "O"); break; case HPDF_ANNOT_DOWN_APPEARANCE: ret = HPDF_Dict_AddName (annot, "H", "P"); break; default: /* HPDF_ANNOT_INVERT_BOX */ /* default value */ HPDF_Dict_RemoveElement (annot, "H"); ret = HPDF_OK; } if (ret != HPDF_OK) return HPDF_CheckError (annot->error); return ret; }
HPDF_LinkAnnot_SetJavaScript(HPDF_Annotation annot, HPDF_JavaScript javascript) { HPDF_Dict action; HPDF_STATUS ret; HPDF_PTRACE((" HPDF_LinkAnnot_SetJavaScript\n")); if (!CheckSubType (annot, HPDF_ANNOT_LINK)) return HPDF_INVALID_ANNOTATION; /* create action dictionary */ action = HPDF_Dict_New (annot->mmgr); if (!action) return HPDF_CheckError ( annot->error); ret = HPDF_Dict_Add (annot, "A", action); if (ret != HPDF_OK) return HPDF_CheckError (annot->error); ret += HPDF_Dict_Add (action, "JS", javascript); ret += HPDF_Dict_AddName (action, "S", "JavaScript"); if (ret != HPDF_OK) return HPDF_CheckError (annot->error); return HPDF_OK; }
HPDF_3DAnnot_Set3DView (HPDF_Annotation annot) { HPDF_Boolean b; HPDF_PTRACE((" HPDF_3DAnnot_Set3DView\n")); if (!CheckSubType (annot, HPDF_ANNOT_3D)) return HPDF_INVALID_ANNOTATION; b = HPDF_Boolean_New (annot->mmgr, 0); if (!b) return HPDF_CheckError (annot->error); return HPDF_Dict_Add (annot, "3DD", b); }
HPDF_PopupAnnot_SetOpened (HPDF_Annotation annot, HPDF_BOOL opened) { HPDF_Boolean b; HPDF_PTRACE((" HPDF_TextAnnot_SetOpend\n")); if (!CheckSubType (annot, HPDF_ANNOT_POPUP)) return HPDF_INVALID_ANNOTATION; b = HPDF_Boolean_New (annot->mmgr, opened); if (!b) return HPDF_CheckError (annot->error); return HPDF_Dict_Add (annot, "Open", b); }
HPDF_LinkAnnot_SetBorderStyle (HPDF_Annotation annot, HPDF_REAL width, HPDF_UINT16 dash_on, HPDF_UINT16 dash_off) { HPDF_Array array; HPDF_STATUS ret; HPDF_PTRACE((" HPDF_LinkAnnot_SetBorderStyle\n")); if (!CheckSubType (annot, HPDF_ANNOT_LINK)) return HPDF_INVALID_ANNOTATION; if (width < 0) return HPDF_RaiseError (annot->error, HPDF_INVALID_PARAMETER, 0); array = HPDF_Array_New (annot->mmgr); if (!array) return HPDF_CheckError (annot->error); if ((ret = HPDF_Dict_Add (annot, "Border", array)) != HPDF_OK) return HPDF_CheckError (annot->error); ret += HPDF_Array_AddNumber (array, 0); ret += HPDF_Array_AddNumber (array, 0); ret += HPDF_Array_AddReal (array, width); if (ret != HPDF_OK) return HPDF_CheckError (annot->error); if (dash_on && dash_off) { HPDF_Array dash = HPDF_Array_New (annot->mmgr); if (!dash) return HPDF_CheckError (annot->error); if ((ret = HPDF_Array_Add (array, dash)) != HPDF_OK) return HPDF_CheckError (annot->error); ret += HPDF_Array_AddNumber (dash, dash_on); ret += HPDF_Array_AddNumber (dash, dash_off); if (ret != HPDF_OK) return HPDF_CheckError (annot->error); } return HPDF_OK; }
HPDF_TextAnnot_SetIcon (HPDF_Annotation annot, HPDF_AnnotIcon icon) { HPDF_PTRACE((" HPDF_TextAnnot_SetIcon\n")); if (!CheckSubType (annot, HPDF_ANNOT_TEXT_NOTES)) return HPDF_INVALID_ANNOTATION; if (icon >= HPDF_ANNOT_ICON_EOF) return HPDF_RaiseError (annot->error, HPDF_ANNOT_INVALID_ICON, (HPDF_STATUS)icon); if (HPDF_Dict_AddName (annot, "Name", HPDF_ANNOT_ICON_NAMES_NAMES[(HPDF_INT)icon]) != HPDF_OK) return HPDF_CheckError (annot->error); return HPDF_OK; }