The GTK+PHP project provides php5> bindings for GTK+4,3,2 in a one API. It is intended for creating Hybrid GUI applications.
Partial binding support for the following libraries is currently implemented:
Care has been taken for memory management to work seamlessly with php's garbage collector without the need to use or understand GObject's floating references.
For better understanding see package reference documation
The following example can be found in Examples.
<?php
class Window extends Gtk\Window {
public function __construct() {
parent::__construct();
G\Signal\Connect($this, "destroy", "Gtk\MainQuit", null);
}
}
Gtk\Init($argc, $argv);
$window = new Window;
$window->showAll();
Gtk\Main();
Add bindings for all of GTK functions
Add tests for each implemented binding
cairo
cairo_antialias_t
cairo_fill_rule_t
cairo_line_cap_t
cairo_line_join_t
cairo_operator_t
cairo_path_data_type_t
cairo_extend_t
cairo_filter_t
cairo_pattern_type_t
cairo_region_overlap_t
cairo_font_slant_t
cairo_font_weight_t
cairo_text_cluster_flags_t
cairo_font_type_t
cairo_subpixel_order_t
cairo_hint_style_t
cairo_hint_metrics_t
cairo_device_type_t
cairo_content_t
cairo_surface_type_t
cairo_format_t (+ Image Surfaces functions)
cairo_status_t
-----------------------------
cairo_t
cairo_rectangle_t
cairo_rectangle_list_t
cairo_path_t
cairo_pattern_t
cairo_region_t
cairo_glyph_t
cairo_text_cluster_t
cairo_font_face_t
cairo_scaled_font_t
cairo_font_extents_t
cairo_text_extents_t
cairo_font_options_t
cairo_device_t
cairo_surface_t ( Work in progress)
cairo_matrix_t
-----------------------------
cairo_path_data_t
-----------------------------
cairo_transforms
cairo_raster_source
cairo_tag
cairo_ft
cairo_win32_fonts
cairo_user_fonts
cairo_pdf
cairo_png
cairo_ps
cairo_recording
cairo_win32
cairo_svg
cairo_quartz
cairo_xcb
cairo_xlib
cairo_xlib_xrender
cairo_script
cairo_types
GPL-3.0