rjs             Wed Mar 21 12:55:35 2001 EDT

  Modified files:              
    /php4/ext/pdf       pdf.c php_pdf.h 
  Log:
  Beta2 of PDFlib V4.0 will introduce on new function (PDF_place_pdi_page)
  and PDF_close_pdi_page will lose one parameter.
  These changes are done for the phpwrapper now.
  This has no impact on PDFlib V3.x.
  
  
Index: php4/ext/pdf/pdf.c
diff -u php4/ext/pdf/pdf.c:1.77 php4/ext/pdf/pdf.c:1.78
--- php4/ext/pdf/pdf.c:1.77     Fri Mar  9 18:21:38 2001
+++ php4/ext/pdf/pdf.c  Wed Mar 21 12:55:34 2001
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: pdf.c,v 1.77 2001/03/10 02:21:38 hirokawa Exp $ */
+/* $Id: pdf.c,v 1.78 2001/03/21 20:55:34 rjs Exp $ */
 /* Id: pdf.c,v 1.73 2001/02/26 06:07:11 andi Exp  */
 
 /* pdflib 2.02 ... 3.0x is subject to the ALADDIN FREE PUBLIC LICENSE.
@@ -185,6 +185,7 @@
        PHP_FE(pdf_open_pdi, NULL)
        PHP_FE(pdf_close_pdi, NULL)
        PHP_FE(pdf_open_pdi_page, NULL)
+       PHP_FE(pdf_place_pdi_page, NULL)
        PHP_FE(pdf_close_pdi_page, NULL)
        PHP_FE(pdf_get_pdi_parameter, NULL)
        PHP_FE(pdf_get_pdi_value, NULL)
@@ -293,7 +294,7 @@
 #else
        php_info_print_table_row(2, "PDFlib GmbH Version", tmp );
 #endif
-       php_info_print_table_row(2, "Revision", "$Revision: 1.77 $" );
+       php_info_print_table_row(2, "Revision", "$Revision: 1.78 $" );
        php_info_print_table_end();
 
 }
@@ -2684,24 +2685,50 @@
        RETURN_LONG(pdi_image+PDFLIB_IMAGE_OFFSET);
 }
 
-/* {{{ proto void pdf_close_pdi_page(int pdf, int doc, int page);
+/* {{{ proto void pdf_place_pdi_page(int pdf, int page, double x, double y, double 
+sx, double sy)
+ * Place a PDF page with the lower left corner at (x, y), and scale it. */
+PHP_FUNCTION(pdf_place_pdi_page) {
+       zval **arg1, **arg2, **arg3, **arg4, **arg5, **arg6;
+       PDF *pdf;
+
+       if (ZEND_NUM_ARGS() != 6 || zend_get_parameters_ex(6, &arg1, &arg2, &arg3, 
+&arg4, &arg5, &arg6) == FAILURE) {
+               WRONG_PARAM_COUNT;
+       }
+
+       ZEND_FETCH_RESOURCE(pdf, PDF *, arg1, -1, "pdf object", le_pdf);
+
+       convert_to_long_ex(arg2);
+       convert_to_double_ex(arg3);
+       convert_to_double_ex(arg4);
+       convert_to_double_ex(arg5);
+       convert_to_double_ex(arg6);
+
+       PDF_place_pdi_page(pdf,
+               Z_LVAL_PP(arg2)-PDFLIB_IMAGE_OFFSET,
+               (float) Z_DVAL_PP(arg3),
+               (float) Z_DVAL_PP(arg4),
+               (float) Z_DVAL_PP(arg5),
+               (float) Z_DVAL_PP(arg6));
+
+       RETURN_TRUE;
+}
+
+/* {{{ proto void pdf_close_pdi_page(int pdf, int page);
  * Close the page handle, and free all page-related resources. */
 PHP_FUNCTION(pdf_close_pdi_page) {
-       zval **arg1, **arg2, **arg3;
+       zval **arg1, **arg2;
        PDF *pdf;
 
-       if (ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3, &arg1, &arg2, &arg3) == 
FAILURE) {
+       if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == 
+FAILURE) {
                WRONG_PARAM_COUNT;
        }
 
        ZEND_FETCH_RESOURCE(pdf, PDF *, arg1, -1, "pdf object", le_pdf);
 
        convert_to_long_ex(arg2);
-       convert_to_long_ex(arg3);
 
        PDF_close_pdi_page(pdf,
-               Z_LVAL_PP(arg2)-PDFLIB_PDI_OFFSET,
-               Z_LVAL_PP(arg3)-PDFLIB_IMAGE_OFFSET);
+               Z_LVAL_PP(arg2)-PDFLIB_IMAGE_OFFSET);
 
        RETURN_TRUE;
 }
@@ -2854,7 +2881,7 @@
 PHP_FUNCTION(pdf_setcolor) {
        zval **arg1, **arg2, **arg3, **arg4, **arg5, **arg6, **arg7;
        PDF *pdf;
-       int c1;
+       double c1;
 
        if (ZEND_NUM_ARGS() != 7 || zend_get_parameters_ex(7, &arg1, &arg2, &arg3, 
&arg4, &arg5, &arg6, &arg7) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -2870,11 +2897,11 @@
        convert_to_double_ex(arg7);
 
        if (0 == (strcmp(Z_STRVAL_PP(arg3), "spot"))) {
-           c1 = (int) Z_DVAL_PP(arg4)-PDFLIB_SPOT_OFFSET;
+           c1 = Z_DVAL_PP(arg4)-PDFLIB_SPOT_OFFSET;
        } else if(0 == (strcmp(Z_STRVAL_PP(arg3), "pattern"))) {
-           c1 = (int) Z_DVAL_PP(arg4)-PDFLIB_PATTERN_OFFSET;
+           c1 = Z_DVAL_PP(arg4)-PDFLIB_PATTERN_OFFSET;
        } else {
-           c1 = (float) Z_DVAL_PP(arg4);
+           c1 = Z_DVAL_PP(arg4);
        }
 
        PDF_setcolor(pdf,
Index: php4/ext/pdf/php_pdf.h
diff -u php4/ext/pdf/php_pdf.h:1.15 php4/ext/pdf/php_pdf.h:1.16
--- php4/ext/pdf/php_pdf.h:1.15 Thu Mar  1 11:51:54 2001
+++ php4/ext/pdf/php_pdf.h      Wed Mar 21 12:55:34 2001
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_pdf.h,v 1.15 2001/03/01 19:51:54 rjs Exp $ */
+/* $Id: php_pdf.h,v 1.16 2001/03/21 20:55:34 rjs Exp $ */
 
 #ifndef PHP_PDF_H
 #define PHP_PDF_H
@@ -151,6 +151,7 @@
 PHP_FUNCTION(pdf_open_pdi);
 PHP_FUNCTION(pdf_close_pdi);
 PHP_FUNCTION(pdf_open_pdi_page);
+PHP_FUNCTION(pdf_place_pdi_page);
 PHP_FUNCTION(pdf_close_pdi_page);
 PHP_FUNCTION(pdf_get_pdi_parameter);
 PHP_FUNCTION(pdf_get_pdi_value);



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to