Discussion:
com gtk/php-gtk: Adding GtkPrintContext overrides for cairo context stuff and fixed the printing example.: demos/examples/printing_example.php ext/gtk+/gtk-2.10.overrides
David Soria Parra
2010-11-29 19:24:38 UTC
Permalink
Commit: db8e5d17f295a4984d5d0af7359b45cfc8d549ad
Author: Mark Skilbeck <***@php.net> Mon, 29 Nov 2010 19:24:38 +0000
Parents: d999054ad6071ff20ea4c70b8569d10b97d8a0b4
Branches: master

Link: http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=db8e5d17f295a4984d5d0af7359b45cfc8d549ad

Log:
Adding GtkPrintContext overrides for cairo context stuff and fixed the printing example.

Changed paths:
M demos/examples/printing_example.php
M ext/gtk+/gtk-2.10.overrides


Diff:
db8e5d17f295a4984d5d0af7359b45cfc8d549ad
diff --git a/demos/examples/printing_example.php b/demos/examples/printing_example.php
index 6004eb0..5050c15 100644
--- a/demos/examples/printing_example.php
+++ b/demos/examples/printing_example.php
@@ -4,7 +4,7 @@ function request_page_setup($operation, $context, $page_nr, $setup)
if($page_nr == 1)
{
$a5 = new GtkPaperSize("iso_a5");
- $setup->set_orientation(GTK_PAGE_ORIENTATION_LANDSCAPE);
+ $setup->set_orientation(Gtk::PAGE_ORIENTATION_LANDSCAPE);
$setup->set_paper_size($a5);
}
}
@@ -19,9 +19,9 @@ function draw_page($operation, $context, $page_nr)

$print = new GtkPrintOperation();
$print->set_n_pages(2);
-$print->set_unit(GTK_UNIT_MM);
+$print->set_unit(Gtk::UNIT_MM);
$print->set_export_filename(dirname(__FILE__) . "/test.pdf");
$print->connect("draw_page","draw_page", NULL);
$print->connect("request_page_setup", "request_page_setup", NULL);
-$res = $print->run(GTK_PRINT_OPERATION_ACTION_EXPORT, NULL);
-?>
\ No newline at end of file
+$res = $print->run(Gtk::PRINT_OPERATION_ACTION_EXPORT, NULL);
+?>
diff --git a/ext/gtk+/gtk-2.10.overrides b/ext/gtk+/gtk-2.10.overrides
index db6d603..66e3554 100644
--- a/ext/gtk+/gtk-2.10.overrides
+++ b/ext/gtk+/gtk-2.10.overrides
@@ -659,3 +659,51 @@ PHP_METHOD
}

%% }}}
+
+%% {{{ GtkPrintContext
+
+%%
+override gtk_print_context_get_cairo_context
+
+PHP_METHOD
+{
+ cairo_context_object *context;
+
+ if (!php_gtk_parse_args(ZEND_NUM_ARGS(), ""))
+ return;
+
+ object_init_ex(return_value, php_cairo_get_context_ce());
+ context = zend_object_store_get_object(return_value TSRMLS_CC);
+ context->context = gtk_print_context_get_cairo_context(GTK_PRINT_CONTEXT(PHPG_GOBJECT(this_ptr)));
+}
+
+%%
+add-arginfo GtkPrintContext set_cairo_context
+
+ZEND_BEGIN_ARG_INFO_EX(ARGINFO_NAME, ZEND_SEND_BY_VAL, ZEND_RETURN_VAL, 3)
+ ZEND_ARG_OBJ_INFO(0, context, CairoContext, 0)
+ ZEND_ARG_INFO(0, dpi_x)
+ ZEND_ARG_INFO(0, dpi_y)
+ZEND_END_ARG_INFO()
+
+%%
+override gtk_print_context_set_cairo_context
+
+PHP_METHOD
+{
+ double dpi_x, dpi_y;
+ zval *context_zval;
+ cairo_context_object *context;
+
+ if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "Odd", &context_zval, php_cairo_get_context_ce(),
+ &dpi_x, &dpi_y))
+ return;
+
+ context = zend_object_store_get_object(context_zval TSRMLS_CC);
+
+ gtk_print_context_set_cairo_context(GTK_PRINT_CONTEXT(PHPG_GOBJECT(this_ptr)),
+ context->context, dpi_x, dpi_y);
+}
+
+%% }}}
+
--
PHP-GTK CVS Mailing List (http://gtk.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Loading...