CVS update: php3/functions
| From: | steinm | Date: | Thu, 01 Jul 1999 20:21:40 +0000 |
| Subject: | CVS update: php3/functions | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-7952@lists.php.net to get a copy of this message | ||
Date: Thursday July 1, 1999 @ 16:21
Author: steinm
Update of /repository/php3/functions
In directory php:/tmp/cvs-serv5234/functions
Modified Files:
cpdf.c pdf.c php3_cpdf.h php3_pdf.h
Log Message:
more hypertext function
Index: php3/functions/cpdf.c
diff -u php3/functions/cpdf.c:1.12 php3/functions/cpdf.c:1.13
--- php3/functions/cpdf.c:1.12 Wed Jun 16 07:34:17 1999
+++ php3/functions/cpdf.c Thu Jul 1 16:21:40 1999
@@ -27,7 +27,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: cpdf.c,v 1.12 1999/06/16 11:34:17 ssb Exp $ */
+/* $Id: cpdf.c,v 1.13 1999/07/01 20:21:40 steinm Exp $ */
/* cpdflib.h -- C language API definitions for ClibPDF library
* Copyright (C) 1998 FastIO Systems, All Rights Reserved.
*/
@@ -146,7 +146,7 @@
#if HAVE_LIBGD13
{"cpdf_place_inline_image", php3_cpdf_place_inline_image, NULL},
#endif
- {"cpdf_set_annotation", php3_cpdf_set_annotation, NULL},
+ {"cpdf_add_annotation", php3_cpdf_add_annotation, NULL},
{"cpdf_add_outline", php3_cpdf_add_outline, NULL},
{"cpdf_set_action_url", php3_cpdf_set_action_url, NULL},
{NULL, NULL, NULL}
@@ -2399,9 +2399,9 @@
/* }}} */
#endif
-/* {{{ proto void cpdf_set_annotation(int pdfdoc, double xll, double yll, double xur, double xur,
string title, string text[, int mode])
+/* {{{ proto void cpdf_add_annotation(int pdfdoc, double xll, double yll, double xur, double xur,
string title, string text[, int mode])
Sets annotation */
-void php3_cpdf_set_annotation(INTERNAL_FUNCTION_PARAMETERS) {
+void php3_cpdf_add_annotation(INTERNAL_FUNCTION_PARAMETERS) {
pval *argv[11];
int id, type, argc, mode=0;
int *pdf;
Index: php3/functions/pdf.c
diff -u php3/functions/pdf.c:1.36 php3/functions/pdf.c:1.37
--- php3/functions/pdf.c:1.36 Thu Jul 1 11:28:49 1999
+++ php3/functions/pdf.c Thu Jul 1 16:21:40 1999
@@ -27,7 +27,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pdf.c,v 1.36 1999/07/01 15:28:49 steinm Exp $ */
+/* $Id: pdf.c,v 1.37 1999/07/01 20:21:40 steinm Exp $ */
/* pdflib 0.6 is subject to the ALADDIN FREE PUBLIC LICENSE.
Copyright (C) 1997 Thomas Merz. */
@@ -65,6 +65,7 @@
typedef struct pdflib_global_struct{
int le_pdf_image;
#if HAVE_PDFLIB2
+ int le_outline;
#else
int le_pdf_info;
#endif
@@ -79,6 +80,7 @@
# define PDF_TLS_VARS
int le_pdf_image;
#if HAVE_PDFLIB2
+int le_outline;
#else
int le_pdf_info;
#endif
@@ -155,6 +157,8 @@
{"pdf_place_image", php3_pdf_place_image, NULL},
{"pdf_put_image", php3_pdf_put_image, NULL},
{"pdf_execute_image", php3_pdf_execute_image, NULL},
+ {"pdf_add_weblink", php3_pdf_add_weblink, NULL},
+ {"pdf_add_annotation", php3_pdf_add_annotation, NULL},
{NULL, NULL, NULL}
};
@@ -205,10 +209,17 @@
#endif
}
+#if HAVE_PDFLIB2
+static void _free_outline(int *outline)
+{
+}
+#endif
+
int php3_minit_pdf(INIT_FUNC_ARGS)
{
PDF_GLOBAL(le_pdf_image) = register_list_destructors(_free_pdf_image, NULL);
#if HAVE_PDFLIB2
+ PDF_GLOBAL(le_outline) = register_list_destructors(_free_outline, NULL);
#else
PDF_GLOBAL(le_pdf_info) = register_list_destructors(_free_pdf_info, NULL);
#endif
@@ -1930,34 +1941,58 @@
}
/* }}} */
-/* {{{ proto void pdf_add_outline(int pdfdoc, string text);
+/* {{{ proto void pdf_add_outline(int pdfdoc, string text, int parent, int open);
Add bookmark for current page */
void php3_pdf_add_outline(INTERNAL_FUNCTION_PARAMETERS) {
- pval *arg1, *arg2;
+ pval *arg1, *arg2, *arg3, *arg4;
int id, type;
+ int *outline, *parent;
PDF *pdf;
PDF_TLS_VARS;
+#if HAVE_PDFLIB2
+ if (ARG_COUNT(ht) != 4 || getParameters(ht, 4, &arg1, &arg2, &arg3, &arg4) ==
FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+#else
if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &arg1, &arg2) == FAILURE) {
WRONG_PARAM_COUNT;
}
+#endif
convert_to_long(arg1);
convert_to_string(arg2);
+#if HAVE_PDFLIB2
+ convert_to_long(arg3);
+ convert_to_long(arg4);
+#endif
id=arg1->value.lval;
pdf = php3_list_find(id,&type);
if(!pdf || type!=PDF_GLOBAL(le_pdf)) {
- php3_error(E_WARNING,"Unable to find file identifier %d",id);
+ php3_error(E_WARNING,"Unable to find document identifier %d",id);
RETURN_FALSE;
}
#if HAVE_PDFLIB2
- PDF_add_bookmark(pdf, estrdup(arg2->value.str.val), 0, 0);
+ id=arg3->value.lval;
+ parent = php3_list_find(id,&type);
+ if(!parent || type!=PDF_GLOBAL(le_outline)) {
+ php3_error(E_WARNING,"Unable to find identifier %d",id);
+ RETURN_FALSE;
+ }
+
+ outline=emalloc(sizeof(int));
+ *outline = PDF_add_bookmark(pdf, estrdup(arg2->value.str.val), *parent, arg4->value.lval);
+ id = php3_list_insert(outline,PDF_GLOBAL(le_outline));
+ RETURN_LONG(id);
#else
PDF_add_outline(pdf, estrdup(arg2->value.str.val));
+ RETURN_TRUE;
#endif
- RETURN_TRUE;
+#if HAVE_PDFLIB2
+#else
+#endif
}
/* }}} */
@@ -2407,6 +2442,47 @@
}
PDF_add_weblink(pdf, (float) arg2->value.dval, (float) arg3->value.dval, (float)
arg4->value.dval, (float) arg5->value.dval, arg6->value.str.val);
+
+ RETURN_TRUE;
+}
+/* }}} */
+
+/* {{{ proto void pdf_add_annotation(int pdfdoc, double xll, double yll, double xur, double xur,
string title, string text)
+ Sets annotation */
+void php3_pdf_add_annotation(INTERNAL_FUNCTION_PARAMETERS) {
+ pval *argv[11];
+ int id, type, argc;
+ PDF *pdf;
+ PDF_TLS_VARS;
+
+ argc = ARG_COUNT(ht);
+ if(argc != 7)
+ WRONG_PARAM_COUNT;
+ if (getParametersArray(ht, argc, argv) == FAILURE)
+ WRONG_PARAM_COUNT;
+
+ convert_to_long(argv[0]);
+ convert_to_double(argv[1]);
+ convert_to_double(argv[2]);
+ convert_to_double(argv[3]);
+ convert_to_double(argv[4]);
+ convert_to_string(argv[5]);
+ convert_to_string(argv[6]);
+ id=argv[0]->value.lval;
+ pdf = php3_list_find(id,&type);
+ if(!pdf || type!=PDF_GLOBAL(le_pdf)) {
+ php3_error(E_WARNING,"Unable to find identifier %d",id);
+ RETURN_FALSE;
+ }
+
+ PDF_add_note(argv[0]->value.lval,
+ (float) argv[1]->value.dval,
+ (float) argv[2]->value.dval,
+ (float) argv[3]->value.dval,
+ (float) argv[4]->value.dval,
+ argv[6]->value.str.val,
+ argv[5]->value.str.val,
+ "note", 1);
RETURN_TRUE;
}
Index: php3/functions/php3_cpdf.h
diff -u php3/functions/php3_cpdf.h:1.8 php3/functions/php3_cpdf.h:1.9
--- php3/functions/php3_cpdf.h:1.8 Tue Jun 1 14:15:12 1999
+++ php3/functions/php3_cpdf.h Thu Jul 1 16:21:40 1999
@@ -26,7 +26,7 @@
| Authors: Uwe Steinmann |
+----------------------------------------------------------------------+
*/
-/* $Id: php3_cpdf.h,v 1.8 1999/06/01 18:15:12 steinm Exp $ */
+/* $Id: php3_cpdf.h,v 1.9 1999/07/01 20:21:40 steinm Exp $ */
#ifndef _PHP3_CPDF_H
#define _PHP3_CPDF_H
@@ -109,7 +109,7 @@
extern void php3_cpdf_finalize(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_cpdf_output_buffer(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_cpdf_save_to_file(INTERNAL_FUNCTION_PARAMETERS);
-extern void php3_cpdf_set_annotation(INTERNAL_FUNCTION_PARAMETERS);
+extern void php3_cpdf_add_annotation(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_cpdf_import_jpeg(INTERNAL_FUNCTION_PARAMETERS);
#if HAVE_LIBGD13
extern void php3_cpdf_place_inline_image(INTERNAL_FUNCTION_PARAMETERS);
Index: php3/functions/php3_pdf.h
diff -u php3/functions/php3_pdf.h:1.10 php3/functions/php3_pdf.h:1.11
--- php3/functions/php3_pdf.h:1.10 Tue Jun 8 05:16:34 1999
+++ php3/functions/php3_pdf.h Thu Jul 1 16:21:40 1999
@@ -26,7 +26,7 @@
| Authors: Uwe Steinmann |
+----------------------------------------------------------------------+
*/
-/* $Id: php3_pdf.h,v 1.10 1999/06/08 09:16:34 steinm Exp $ */
+/* $Id: php3_pdf.h,v 1.11 1999/07/01 20:21:40 steinm Exp $ */
#ifndef _PHP3_PDF_H
#define _PHP3_PDF_H
@@ -116,6 +116,8 @@
extern void php3_pdf_place_image(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_pdf_put_image(INTERNAL_FUNCTION_PARAMETERS);
extern void php3_pdf_execute_image(INTERNAL_FUNCTION_PARAMETERS);
+extern void php3_pdf_add_weblink(INTERNAL_FUNCTION_PARAMETERS);
+extern void php3_pdf_add_annotation(INTERNAL_FUNCTION_PARAMETERS);
#else
#define pdf_module_ptr NULL
#endif