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