1 diff -ur php/ext/ming.org/ming.c php/ext/ming/ming.c
2 --- php/ext/ming.org/ming.c 2007-01-01 10:46:44.000000000 +0100
3 +++ php/ext/ming/ming.c 2007-02-19 10:04:43.770623000 +0100
6 zval **zfile, **zmask = NULL;
8 + SWFJpegWithAlpha bitmap_alpha;
9 SWFInput input, maskinput;
14 maskinput = getInput(zmask TSRMLS_CC);
16 - bitmap = newSWFJpegWithAlpha_fromInput(input, maskinput);
17 + bitmap_alpha = newSWFJpegWithAlpha_fromInput(input, maskinput);
19 + ret = zend_list_insert(bitmap_alpha, le_swfbitmapp);
20 + object_init_ex(getThis(), &bitmap_class_entry);
21 + add_property_resource(getThis(), "bitmap", ret);
22 + zend_list_addref(ret);
25 bitmap = newSWFBitmap_fromInput(input);
28 - ret = zend_list_insert(bitmap, le_swfbitmapp);
29 - object_init_ex(getThis(), &bitmap_class_entry);
30 - add_property_resource(getThis(), "bitmap", ret);
31 - zend_list_addref(ret);
32 + ret = zend_list_insert(bitmap, le_swfbitmapp);
33 + object_init_ex(getThis(), &bitmap_class_entry);
34 + add_property_resource(getThis(), "bitmap", ret);
35 + zend_list_addref(ret);
39 static void destroy_SWFBitmap_resource(zend_rsrc_list_entry *resource TSRMLS_DC)
41 PHP_FUNCTION(swfmovie_output)
43 SWFMovie movie = getMovie(getThis() TSRMLS_CC);
44 -#ifdef HAVE_MING_ZLIB
45 +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING)
48 int argc = ZEND_NUM_ARGS();
49 @@ -1461,10 +1468,25 @@
56 - RETURN_LONG(SWFMovie_output(movie, &phpByteOutputMethod, NULL, limit));
57 +#elif defined(HAVE_NEW_MING) && defined(HAVE_MING_MOVIE_LEVEL)
58 + zval **zlimit = NULL;
60 + int argc = ZEND_NUM_ARGS();
63 + if (zend_get_parameters_ex(1, &zlimit) == FAILURE) {
67 + convert_to_long_ex(zlimit);
68 + limit = Z_LVAL_PP(zlimit);
70 + if ((limit < 0) || (limit > 9)) {
71 + php_error(E_WARNING,"compression level must be within 0..9");
75 + RETURN_LONG(SWFMovie_output(movie, &phpByteOutputMethod, NULL, limit));
77 RETURN_LONG(SWFMovie_output(movie, &phpByteOutputMethod, NULL));
79 @@ -1483,9 +1505,13 @@
80 PHP_FUNCTION(swfmovie_saveToFile)
83 -#ifdef HAVE_MING_ZLIB
84 - zval **zlimit = NULL;
86 +#if defined(HAVE_MING_ZLIB) || defined(HAVE_NEW_MING)
87 + zval **zlimit = NULL;
90 +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING)
91 + int oldval = INT_MIN;
94 SWFMovie movie = getMovie(getThis() TSRMLS_CC);
100 -#ifdef HAVE_MING_ZLIB
101 +#if defined(HAVE_MING_ZLIB) || defined(HAVE_NEW_MING)
102 if (zend_get_parameters_ex(2, &x, &zlimit) == FAILURE)
104 convert_to_long_ex(zlimit);
105 @@ -1506,13 +1532,21 @@
109 +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING)
110 + oldval = Ming_setSWFCompression(limit);
117 ZEND_FETCH_RESOURCE(what, php_stream *, x, -1,"File-Handle",php_file_le_stream());
118 -#ifdef HAVE_NEW_MING
119 +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING)
120 + out = SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpStreamOutputMethod, what);
121 + if (oldval >= -1 && oldval <=9)
122 + Ming_setSWFCompression(oldval);
124 +#elif defined(HAVE_NEW_MING) && defined(HAVE_MING_MOVIE_LEVEL)
125 RETURN_LONG(SWFMovie_output(movie, &phpStreamOutputMethod, what, limit));
127 RETURN_LONG(SWFMovie_output(movie, &phpStreamOutputMethod, what));
128 @@ -1525,10 +1559,14 @@
129 PHP_FUNCTION(swfmovie_save)
132 -#ifdef HAVE_MING_ZLIB
133 +#if defined(HAVE_MING_ZLIB) || defined(HAVE_NEW_MING)
134 zval **zlimit = NULL;
137 +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING)
138 + int oldval = INT_MIN;
144 @@ -1539,7 +1577,7 @@
148 -#ifdef HAVE_MING_ZLIB
149 +#if defined(HAVE_MING_ZLIB) || defined(HAVE_NEW_MING)
150 if (zend_get_parameters_ex(2, &x, &zlimit) == FAILURE) {
153 @@ -1550,6 +1588,9 @@
157 +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING)
158 + oldval = Ming_setSWFCompression(limit);
163 @@ -1557,7 +1598,12 @@
165 if (Z_TYPE_PP(x) == IS_RESOURCE) {
166 ZEND_FETCH_RESOURCE(stream, php_stream *, x, -1,"File-Handle",php_file_le_stream());
167 -#ifdef HAVE_NEW_MING
168 +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING)
169 + out = SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpStreamOutputMethod, what);
170 + if (oldval >= -1 && oldval <=9)
171 + Ming_setSWFCompression(oldval);
173 +#elif defined(HAVE_NEW_MING) && defined(HAVE_MING_MOVIE_LEVEL)
174 RETURN_LONG(SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpStreamOutputMethod, stream, limit));
176 RETURN_LONG(SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpStreamOutputMethod, stream));
177 @@ -1570,8 +1616,12 @@
178 if (stream == NULL) {
182 -#ifdef HAVE_NEW_MING
183 +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING)
184 + out = SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpStreamOutputMethod, (void *)stream);
185 + if (oldval >= -1 && oldval <=9)
186 + Ming_setSWFCompression(oldval);
188 +#elif defined(HAVE_NEW_MING) && defined(HAVE_MING_MOVIE_LEVEL)
189 retval = SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpStreamOutputMethod, (void *)stream, limit);
191 retval = SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpStreamOutputMethod, (void *)stream);