From 649d8a09187490c68c9b110385f043ceb13a8972 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Wed, 25 Jan 2006 07:33:56 +0000 Subject: [PATCH] Add Red Hat logos to slide templates. Add header/footer-less slide variant for slides needed an extra bit of space. Start getting slides ready for linux.conf.au 2006 tutorial, updating for cairo 1.0 API, and adding better organization. Verify and fix all the little example shell programs. Really remove the building of the -pdf programs this time. --- ChangeLog | 18 ++ doc/tutorial/slides/cairo-blank.svg | 2 +- doc/tutorial/slides/cairo-code.svg | 367 ++++++++++++++++++++++- doc/tutorial/slides/cairo-separator.svg | 367 ++++++++++++++++++++++- doc/tutorial/slides/cairo.svg | 368 +++++++++++++++++++++++- doc/tutorial/slides/rendering-model.png | Bin 0 -> 63917 bytes doc/tutorial/slides/tutorial.xml | 105 +++++-- doc/tutorial/src/Makefile | 2 +- 8 files changed, 1200 insertions(+), 29 deletions(-) create mode 100644 doc/tutorial/slides/rendering-model.png diff --git a/ChangeLog b/ChangeLog index d0e3985ba..0a2b4df14 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2006-01-26 Carl Worth + + * doc/tutorial/slides/cairo-blank.svg: + * doc/tutorial/slides/cairo-code.svg: + * doc/tutorial/slides/cairo.svg: Add Red Hat logos to slide + templates. + + * doc/tutorial/slides/cairo-separator.svg: Add header/footer-less + slide variant for slides needed an extra bit of space. + + * doc/tutorial/slides/tutorial.xml: Start getting slides ready for + linux.conf.au 2006 tutorial, updating for cairo 1.0 API, and + adding better organization. Verify and fix all the little example + shell programs. + + * doc/tutorial/src/Makefile: Really remove the building of the + -pdf programs this time. + 2006-01-25 Carl Worth * doc/tutorial/slides/tutorial.xml: A few random changes to the diff --git a/doc/tutorial/slides/cairo-blank.svg b/doc/tutorial/slides/cairo-blank.svg index 881198110..b2f3f829d 100644 --- a/doc/tutorial/slides/cairo-blank.svg +++ b/doc/tutorial/slides/cairo-blank.svg @@ -481,7 +481,7 @@ - http://cairographics.org + http://cairographics.org diff --git a/doc/tutorial/slides/cairo-code.svg b/doc/tutorial/slides/cairo-code.svg index 297d4c742..c005324d1 100644 --- a/doc/tutorial/slides/cairo-code.svg +++ b/doc/tutorial/slides/cairo-code.svg @@ -450,6 +450,368 @@ > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -470,6 +832,9 @@ + + + @@ -502,7 +867,7 @@ - http://cairographics.org + http://cairographics.org diff --git a/doc/tutorial/slides/cairo-separator.svg b/doc/tutorial/slides/cairo-separator.svg index 4fe417643..abee6c147 100644 --- a/doc/tutorial/slides/cairo-separator.svg +++ b/doc/tutorial/slides/cairo-separator.svg @@ -450,6 +450,368 @@ > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -470,6 +832,9 @@ + + + - http://cairographics.org + http://cairographics.org diff --git a/doc/tutorial/slides/cairo.svg b/doc/tutorial/slides/cairo.svg index 5a9449b76..133a31f26 100644 --- a/doc/tutorial/slides/cairo.svg +++ b/doc/tutorial/slides/cairo.svg @@ -450,6 +450,369 @@ > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -470,6 +833,9 @@ + + + @@ -502,7 +868,7 @@ - http://cairographics.org + http://cairographics.org diff --git a/doc/tutorial/slides/rendering-model.png b/doc/tutorial/slides/rendering-model.png new file mode 100644 index 0000000000000000000000000000000000000000..900898417c638af98d22c89c8e825f75819bd09b GIT binary patch literal 63917 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 http://cairographics.org/tutorial +
  • wget http://cairographics.org/tutorial.tar.gz
  • tar xzf tutorial.tar.gz
  • cd tutorial
  • make
  • - IRC help: freenode.net #cairo + IRC: irc.freenode.net #cairo Carl Worth Red Hat, Inc. - Ottawa Linux Symposium - 2005-07-22 + linux.conf.au + 2006-01-26 http://cairographics.org @@ -48,8 +49,14 @@ + +
  • Let application authors know there are options
  • +
  • Learn to use cairo—patch the applications
  • +
  • Write your own cairo-using applications
  • +
    + - Various shell cairo program + Various shell cairo programs @@ -92,8 +99,7 @@ gtk_container_add (GTK_CONTAINER (window), drawing_area); g_signal_connect (drawing_area, "expose-event", G_CALLBACK (handle_expose), NULL); - gtk_widget_show_all (window); - gtk_main (); + gtk_widget_show_all (window); gtk_main (); } @@ -107,7 +113,6 @@ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, WIDTH, HEIGHT); - cr = cairo_create (surface); draw (cr); cairo_surface_write_to_png (surface, "foo.png"); @@ -122,13 +127,12 @@ #include <cairo.h> #include <cairo-pdf.h> - int main (void) { cairo_surface_t *surface; cairo_t *cr; - surface = cairo_pdf_surface_create (foo.pdf, WIDTH, HEIGHT); + surface = cairo_pdf_surface_create ("foo.pdf", WIDTH, HEIGHT); cr = cairo_create (surface); draw (cr); @@ -142,26 +146,26 @@ + #!/usr/bin/env python import gtk import cairo - import cairo.gtk - - def handle_expose (widget, event): - cr = cairo.gtk.gdk_cairo_create (widget.window) - draw (c) + def expose (widget, event): + cr = widget.window.cairo_create () + draw (cr) + win = gtk.Window () - win.connect ('destroy', lambda x: gtk.main_quit ()) + win.connect ('destroy', gtk.main_quit) + win.set_default_size(WIDTH, HEIGHT) drawingarea = gtk.DrawingArea () win.add (drawingarea) - drawingarea.connect ('expose_event', handle_expose) - drawingarea.set_size_request (WIDTH, HEIGHT) - drawingarea.set_double_buffered (False) + drawingarea.connect ('expose_event', expose) win.show_all () gtk.main () + #!/usr/bin/env python import cairo surface = cairo.ImageSurface (cairo.FORMAT_ARGB32, WIDTH, HEIGHT) @@ -179,11 +183,42 @@ draw (cr); - + +
  • C++ (cairomm)
  • +
  • Haskell (hscairo)
  • +
  • Java (CairoJava, cairo-java)
  • +
  • Common Lisp (cl-cairo)
  • +
  • Nickle (cairo-5c)
  • +
  • Objective Caml (cairo-ocaml)
  • +
  • perl (cairo-perl)
  • +
  • python (pycairo)
  • +
  • ruby (rcairo)
  • +
  • squeak (cairo-squeak)
  • +
    + + + + http://cairographics.org/tutorial + +
  • wget http://cairographics.org/tutorial.tar.gz
  • +
  • tar xzf tutorial.tar.gz
  • +
  • cd tutorial
  • +
  • make
  • + + IRC: irc.freenode.net #cairo +
    + + + + + + + + Here comes the fun part - +
    • Paths
      • @@ -193,15 +228,37 @@
      • Images
        • loading from disk
        • -
        • transforming
        • -
        • using as pattern
        • +
        • using as source
        • +
        • transforming/filtering
      • Text
        • -
        • Simple API example
        • +
        • “Toy” API
        • +
        • “Real” API
      - + + + +
        +
      • Paths
      • +
          +
        • cairo_stroke
        • +
        • cairo_fill
        • +
        +
      • Images
      • +
          +
        • cairo_paint
        • +
        • cairo_mask
        • +
        • cairo_paint_with_alpha
        • +
        +
      • Text
      • +
          +
        • cairo_show_text (“toy”)
        • +
        • cairo_show_glyphs (“real”)
        • +
        +
      +
        diff --git a/doc/tutorial/src/Makefile b/doc/tutorial/src/Makefile index 1ae54dfcc..2aeef4f02 100644 --- a/doc/tutorial/src/Makefile +++ b/doc/tutorial/src/Makefile @@ -3,7 +3,7 @@ MYCFLAGS=$(shell pkg-config --cflags --libs cairo gtk+-2.0) -Wall -g -Wpointer-a # If you don't want to/can't compile all of these targets, then trim # this list. # all: gtk xlib pdf png -all: gtk xlib pdf png +all: gtk xlib png GTK_EXAMPLES=$(patsubst %.c,%-gtk,$(wildcard *.c)) gtk: $(GTK_EXAMPLES)