Elegance == Expressive Power:Complexity
(Limiting the library's scope helps)
int XDrawLine(Display *display, Drawable d, GC gc, int x1, int y1, int x2, int y2);
Display *XOpenDisplay(char *display_name);
$ man -k Drawable Drawable: nothing appropriate.
Window XCreateWindow(Display *display, Window parent, int x, int y, unsigned int width, unsigned int height, unsigned int border_width, int depth, unsigned int class, Visual *visual, unsigned long valuemask, XSetWindowAttributes *attributes);
Window XCreateSimpleWindow(Display *display, Window parent, int x, int y, unsigned int width, unsigned int height, unsigned int border_width, unsigned long border, unsigned long background);
#xorg poor_coder: After a week, I finally got it to compile, but I still can't see anything! *&@#$
cairo_pattern_add_color_stop_rgba (cairo_pattern_t *, double, double, double, double, double);
FcPatternAddInteger (FcPattern*, const char*, int) FcPatternAddDouble (FcPattern*, const char*, double) FcPatternAddString (FcPattern*, const char*, const FcChar8*) FcPatternAddMatrix (FcPattern*, const char*, const FcMatrix*) FcPatternAddBool (FcPattern*, const char*, FcBool)
gtk_box_pack_start (GtkBox *box, GtkWidget *child, gboolean expand, gboolean fill, guint padding)
gtk_box_pack_start (box, child, TRUE, FALSE, 0);
cairo_paint(); cairo_stroke(); cairo_fill(); cairo_show_glyphs(); cairo_show_text(); cairo_mask(); cairo_paint_with_alpha ();
/* cc `pkg-config --cflags --libs cairo-png` simple.c -o simple */ #includemain (void) { cairo_t *cr; cairo_surface_t *surface; surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 500, 500); cr = cairo_create (surface); cairo_move_to (cr, 50, 50); cairo_curve_to (cr, 70, 700, 300, -100, 450, 400); cairo_set_line_width (cr, 40); cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); cairo_set_source_rgba (cr, 1.0, 0.0, 0.0, 0.5); /* translucent red */ cairo_stroke (cr); cairo_surface_write_to_png (surface, "simple.png"); cairo_destroy (cr); cairo_surface_destroy (surface); return 0; }
June 2002: First commit (xlib backend) Feb 2003: Add image backend Oct. 2003: Add PostScript backend Feb. 2004: Add XCB backend April 2004: Add glitz backend Nov. 2004: Add win32 backend Jan. 2005: Add PDF and Quartz backends Dec. 2005: Add SVG, BeOS, and DirectFB backends
June 2002: First commit by Carl Worth Aug. 2002: First commit by Keith Packard April 2003: First commit by Owen Taylor June 2006: 36 total committers (12 active in last 3 months)
1288 Carl Worth 143 Owen Taylor 110 Kristian Høgsberg 79 Emmanuel Pacaud 69 David Reveman 62 Keith Packard 49 Billy Biggs 40 Behdad Esfahbod 39 Christian Biesinger 34 Vladimir Vukicevic 34 Dave Beckett 33 Jeff Muizelaar 24 Tor Lillqvist 23 罗晶华 (Jinghua Luo) 17 Anders Carlsson 11 Bertram Felgenhauer (99 from others)
2005-08-24: Release 1.0.0 2005-10-03: Release 1.0.2 2006-03-15: Release 1.0.4 2006-06-27 16:59:00: Release 1.2.0
commit d334c8bf8f6814976ba12a31643917d0ede86088 Author: Carl WorthDate: Tue Sep 17 13:38:55 2002 +0000 Cleaned up polygon tessellation code. Fixes all known problems.