mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-24 23:00:09 +01:00
66 lines
2.2 KiB
Text
66 lines
2.2 KiB
Text
Welcome to the cairo tutorial:
|
|
|
|
+--------------------------------+
|
|
| How to Recognize Ugly Graphics |
|
|
|(and what you can do about them)|
|
|
+--------------------------------+
|
|
|
|
This directory is your personal playground for following along with
|
|
the examples. In order for you to make use of these files you will
|
|
need to have cairo and its header files installed. You can find
|
|
instructions for doing this at:
|
|
|
|
http://cairographics.org/tutorial
|
|
|
|
Notice that there are a few .c files in this directory.
|
|
|
|
You should start out by just typing "make" which will turn each .c
|
|
file into several different programs. Go ahead and run each of the
|
|
programs and see what they do. Some of them will open up new X windows
|
|
while others will simply write their output to files (such .png or
|
|
.pdf).
|
|
|
|
After you play with those a bit, go ahead and take a look at the
|
|
contents of the .c files. You'll see that each file contains a draw()
|
|
function that does all of the drawing.
|
|
|
|
You might be surprised to notice that there is no main() function in
|
|
any of the files. Instead, main is hidden away by means of
|
|
cairo-tutorial.h. This rather non-conventional style is used to allow
|
|
you to focus on the actual drawing code involved in using cairo, while
|
|
not having to worry about the setup semantics. We don't recommend that
|
|
you follow this style for real projects.
|
|
|
|
As you follow along during the tutorial and get some ideas for things
|
|
to draw, you'll want to start making your own .c files. You can copy
|
|
an existing file or make your own by following this simple minimal
|
|
template:
|
|
|
|
#include "cairo-tutorial.h"
|
|
|
|
static void
|
|
draw (cairo_t *cr, int width, int height)
|
|
{
|
|
/* Put your drawing code here. */
|
|
}
|
|
|
|
Any new file you create will automatically get picked up by the
|
|
Makefile so that "make" will compile your file into several different
|
|
programs, just like the existing examples.
|
|
|
|
If you'd like to control the initial size of the output, you may
|
|
define WIDTH and HEIGHT before including cairo-tutorial.h like so:
|
|
|
|
#define WIDTH 100
|
|
#define HEIGHT 100
|
|
|
|
#include "cairo-tutorial.h"
|
|
|
|
If you would like to change the set of cairo-backend target programs
|
|
that are compiled, you may edit the "all" target in the Makefile.
|
|
|
|
Have fun!
|
|
|
|
-Carl Worth
|
|
|
|
cworth@redhat.com
|