b=296463, upgrade to cairo 0.5.0, s+sr=roc,pav,tor

This commit is contained in:
vladimir%pobox.com 2005-06-04 07:03:29 +00:00
Родитель 94faa65c47
Коммит 02bc2a2809
192 изменённых файлов: 15113 добавлений и 111761 удалений

Просмотреть файл

@ -101,7 +101,7 @@ public:
}
void Apply(cairo_t *cairo) {
cairo_set_pattern(cairo, mPattern);
cairo_set_source(cairo, mPattern);
}
/* nsIDOMCanvasGradient */
@ -114,11 +114,11 @@ public:
if (NS_FAILED(rv))
return PR_FALSE;
cairo_pattern_add_color_stop (mPattern, (double) offset,
NS_GET_R(color) / 255.0,
NS_GET_G(color) / 255.0,
NS_GET_B(color) / 255.0,
NS_GET_A(color) / 255.0);
cairo_pattern_add_color_stop_rgba (mPattern, (double) offset,
NS_GET_R(color) / 255.0,
NS_GET_G(color) / 255.0,
NS_GET_B(color) / 255.0,
NS_GET_A(color) / 255.0);
return NS_OK;
}
@ -161,7 +161,7 @@ public:
}
void Apply(cairo_t *cairo) {
cairo_set_pattern(cairo, mPattern);
cairo_set_source(cairo, mPattern);
}
NS_DECL_ISUPPORTS
@ -245,7 +245,8 @@ protected:
PRUint32 mSaveCount;
cairo_t *mCairo;
cairo_surface_t *mSurface;
char *mSurfaceData;
unsigned char *mSurfaceData;
float mGlobalAlpha;
// style handling
PRInt32 mLastStyle;
@ -308,6 +309,7 @@ nsCanvasRenderingContext2D::nsCanvasRenderingContext2D()
mColorStyles[STYLE_SHADOW] = NS_RGBA(0,0,0,0);
mLastStyle = (PRInt32) -1;
mGlobalAlpha = 1.0f;
DirtyAllStyles();
}
@ -502,10 +504,9 @@ nsCanvasRenderingContext2D::SetCairoColor(nscolor c)
double r = double(NS_GET_R(c) / 255.0);
double g = double(NS_GET_G(c) / 255.0);
double b = double(NS_GET_B(c) / 255.0);
double a = double(NS_GET_A(c) / 255.0);
double a = double(NS_GET_A(c) / 255.0) * mGlobalAlpha;
cairo_set_rgb_color (mCairo, r, g, b);
cairo_set_alpha (mCairo, a);
cairo_set_source_rgba (mCairo, r, g, b, a);
}
NS_IMETHODIMP
@ -517,14 +518,13 @@ nsCanvasRenderingContext2D::SetTargetImageFrame(gfxIImageFrame* aImageFrame)
aImageFrame->GetWidth(&mWidth);
aImageFrame->GetHeight(&mHeight);
mCairo = cairo_create();
mSurfaceData = (char *) nsMemory::Alloc(mWidth * mHeight * 4);
mSurface = cairo_surface_create_for_image (mSurfaceData,
CAIRO_FORMAT_ARGB32,
mWidth,
mHeight,
mWidth * 4);
cairo_set_target_surface (mCairo, mSurface);
mSurfaceData = (unsigned char *) nsMemory::Alloc(mWidth * mHeight * 4);
mSurface = cairo_image_surface_create_for_data (mSurfaceData,
CAIRO_FORMAT_ARGB32,
mWidth,
mHeight,
mWidth * 4);
mCairo = cairo_create(mSurface);
// set up the initial canvas defaults
cairo_set_line_width (mCairo, 1.0);
@ -731,17 +731,16 @@ nsCanvasRenderingContext2D::Translate(float x, float y)
//
NS_IMETHODIMP
nsCanvasRenderingContext2D::SetGlobalAlpha(float globalAlpha)
nsCanvasRenderingContext2D::SetGlobalAlpha(float aGlobalAlpha)
{
cairo_set_alpha (mCairo, globalAlpha);
mGlobalAlpha = aGlobalAlpha;
return NS_OK;
}
NS_IMETHODIMP
nsCanvasRenderingContext2D::GetGlobalAlpha(float *globalAlpha)
nsCanvasRenderingContext2D::GetGlobalAlpha(float *aGlobalAlpha)
{
double d = cairo_current_alpha(mCairo);
*globalAlpha = (float) d;
*aGlobalAlpha = mGlobalAlpha;
return NS_OK;
}
@ -863,7 +862,6 @@ nsCanvasRenderingContext2D::CreatePattern(nsIDOMHTMLImageElement *image,
nsIDOMCanvasPattern **_retval)
{
nsresult rv;
cairo_matrix_t *mat = cairo_matrix_create();
if (repeat.IsEmpty() || repeat.EqualsLiteral("repeat")) {
// XX
@ -874,7 +872,6 @@ nsCanvasRenderingContext2D::CreatePattern(nsIDOMHTMLImageElement *image,
} else if (repeat.EqualsLiteral("no-repeat")) {
// XX
} else {
cairo_matrix_destroy(mat);
return NS_ERROR_DOM_SYNTAX_ERR;
}
@ -961,11 +958,9 @@ nsCanvasRenderingContext2D::GetShadowColor(nsAString& color)
NS_IMETHODIMP
nsCanvasRenderingContext2D::ClearRect(float x, float y, float w, float h)
{
DirtyAllStyles();
cairo_save (mCairo);
cairo_set_operator (mCairo, CAIRO_OPERATOR_CLEAR);
cairo_set_alpha (mCairo, 0.0);
cairo_set_source_rgba (mCairo, 0.0, 0.0, 0.0, 0.0);
cairo_new_path (mCairo);
cairo_rectangle (mCairo, x, y, w, h);
cairo_fill (mCairo);
@ -1106,7 +1101,7 @@ nsCanvasRenderingContext2D::SetLineWidth(float width)
NS_IMETHODIMP
nsCanvasRenderingContext2D::GetLineWidth(float *width)
{
double d = cairo_current_line_width(mCairo);
double d = cairo_get_line_width(mCairo);
*width = (float) d;
return NS_OK;
}
@ -1132,7 +1127,7 @@ nsCanvasRenderingContext2D::SetLineCap(const nsAString& capstyle)
NS_IMETHODIMP
nsCanvasRenderingContext2D::GetLineCap(nsAString& capstyle)
{
cairo_line_cap_t cap = cairo_current_line_cap(mCairo);
cairo_line_cap_t cap = cairo_get_line_cap(mCairo);
if (cap == CAIRO_LINE_CAP_BUTT)
capstyle.AssignLiteral("butt");
@ -1167,7 +1162,7 @@ nsCanvasRenderingContext2D::SetLineJoin(const nsAString& joinstyle)
NS_IMETHODIMP
nsCanvasRenderingContext2D::GetLineJoin(nsAString& joinstyle)
{
cairo_line_join_t j = cairo_current_line_join(mCairo);
cairo_line_join_t j = cairo_get_line_join(mCairo);
if (j == CAIRO_LINE_JOIN_ROUND)
joinstyle.AssignLiteral("round");
@ -1191,7 +1186,7 @@ nsCanvasRenderingContext2D::SetMiterLimit(float miter)
NS_IMETHODIMP
nsCanvasRenderingContext2D::GetMiterLimit(float *miter)
{
double d = cairo_current_miter_limit(mCairo);
double d = cairo_get_miter_limit(mCairo);
*miter = (float) d;
return NS_OK;
}
@ -1298,21 +1293,22 @@ nsCanvasRenderingContext2D::DrawImage()
return NS_ERROR_DOM_INDEX_SIZE_ERR;
}
cairo_save(mCairo);
cairo_matrix_t surfMat;
cairo_matrix_init_translate(&surfMat, sx, sy);
cairo_matrix_scale(&surfMat, sw/dw, sh/dh);
cairo_pattern_t* pat = cairo_pattern_create_for_surface(imgSurf);
cairo_pattern_set_matrix(pat, &surfMat);
cairo_save(mCairo);
cairo_set_source(mCairo, pat);
cairo_translate(mCairo, dx, dy);
cairo_rectangle(mCairo, 0, 0, dw, dh);
cairo_clip(mCairo);
// XX this is, I think, a bug in the version of cairo we're using
// that goes away once we move to the 0.5 snapshot. The scale
// is affecting this translate, because the translate isn't
// taking effect until show_surface() is called.
cairo_translate(mCairo, -sx * (dw/sw), -sy * (dh/sh));
cairo_scale(mCairo, dw/sw, dh/sh);
cairo_show_surface(mCairo, imgSurf, imgWidth, imgHeight);
cairo_paint_with_alpha(mCairo, mGlobalAlpha);
cairo_restore(mCairo);
cairo_pattern_destroy(pat);
nsMemory::Free(imgData);
cairo_surface_destroy(imgSurf);
@ -1333,17 +1329,17 @@ nsCanvasRenderingContext2D::SetGlobalCompositeOperation(const nsAString& op)
// because the operators there have names that exactly
// match the canvas ops.
CANVAS_OP_TO_CAIRO_OP("clear", CLEAR)
else CANVAS_OP_TO_CAIRO_OP("copy", SRC)
else CANVAS_OP_TO_CAIRO_OP("darker", SATURATE)
else CANVAS_OP_TO_CAIRO_OP("destination-atop", ATOP_REVERSE)
else CANVAS_OP_TO_CAIRO_OP("destination-in", IN_REVERSE)
else CANVAS_OP_TO_CAIRO_OP("destination-out", OUT_REVERSE)
else CANVAS_OP_TO_CAIRO_OP("destination-over", OVER_REVERSE)
else CANVAS_OP_TO_CAIRO_OP("copy", SOURCE)
else CANVAS_OP_TO_CAIRO_OP("darker", SATURATE) // XXX
else CANVAS_OP_TO_CAIRO_OP("destination-atop", DEST_ATOP)
else CANVAS_OP_TO_CAIRO_OP("destination-in", DEST_IN)
else CANVAS_OP_TO_CAIRO_OP("destination-out", DEST_OUT)
else CANVAS_OP_TO_CAIRO_OP("destination-over", DEST_OVER)
else CANVAS_OP_TO_CAIRO_OP("lighter", ADD)
else CANVAS_OP_TO_CAIRO_OP("source-atop", ATOP)
else CANVAS_OP_TO_CAIRO_OP("source-in", IN)
else CANVAS_OP_TO_CAIRO_OP("source-out", OUT)
else CANVAS_OP_TO_CAIRO_OP("source-over", SRC)
else CANVAS_OP_TO_CAIRO_OP("source-over", SOURCE)
else CANVAS_OP_TO_CAIRO_OP("xor", XOR)
else CANVAS_OP_TO_CAIRO_OP("over", OVER)
else return NS_ERROR_NOT_IMPLEMENTED;
@ -1357,7 +1353,7 @@ nsCanvasRenderingContext2D::SetGlobalCompositeOperation(const nsAString& op)
NS_IMETHODIMP
nsCanvasRenderingContext2D::GetGlobalCompositeOperation(nsAString& op)
{
cairo_operator_t cairo_op = cairo_current_operator(mCairo);
cairo_operator_t cairo_op = cairo_get_operator(mCairo);
#define CANVAS_OP_TO_CAIRO_OP(cvsop,cairoop) \
if (cairo_op == CAIRO_OPERATOR_##cairoop) \
@ -1368,17 +1364,17 @@ nsCanvasRenderingContext2D::GetGlobalCompositeOperation(nsAString& op)
// because the operators there have names that exactly
// match the canvas ops.
CANVAS_OP_TO_CAIRO_OP("clear", CLEAR)
else CANVAS_OP_TO_CAIRO_OP("copy", SRC)
else CANVAS_OP_TO_CAIRO_OP("darker", SATURATE)
else CANVAS_OP_TO_CAIRO_OP("destination-atop", ATOP_REVERSE)
else CANVAS_OP_TO_CAIRO_OP("destination-in", IN_REVERSE)
else CANVAS_OP_TO_CAIRO_OP("destination-out", OUT_REVERSE)
else CANVAS_OP_TO_CAIRO_OP("destination-over", OVER_REVERSE)
else CANVAS_OP_TO_CAIRO_OP("copy", SOURCE)
else CANVAS_OP_TO_CAIRO_OP("darker", SATURATE) // XXX
else CANVAS_OP_TO_CAIRO_OP("destination-atop", DEST_ATOP)
else CANVAS_OP_TO_CAIRO_OP("destination-in", DEST_IN)
else CANVAS_OP_TO_CAIRO_OP("destination-out", DEST_OUT)
else CANVAS_OP_TO_CAIRO_OP("destination-over", DEST_OVER)
else CANVAS_OP_TO_CAIRO_OP("lighter", ADD)
else CANVAS_OP_TO_CAIRO_OP("source-atop", ATOP)
else CANVAS_OP_TO_CAIRO_OP("source-in", IN)
else CANVAS_OP_TO_CAIRO_OP("source-out", OUT)
else CANVAS_OP_TO_CAIRO_OP("source-over", SRC)
else CANVAS_OP_TO_CAIRO_OP("source-over", SOURCE)
else CANVAS_OP_TO_CAIRO_OP("xor", XOR)
else CANVAS_OP_TO_CAIRO_OP("over", OVER)
else return NS_ERROR_FAILURE;
@ -1740,7 +1736,7 @@ nsCanvasRenderingContext2D::CairoSurfaceFromElement(nsIDOMElement *imgElt,
}
cairo_surface_t *imgSurf =
cairo_image_surface_create_for_data((char *)cairoImgData, CAIRO_FORMAT_ARGB32,
cairo_image_surface_create_for_data(cairoImgData, CAIRO_FORMAT_ARGB32,
imgWidth, imgHeight, imgWidth*4);
*aCairoSurface = imgSurf;
@ -1893,7 +1889,7 @@ nsCanvasRenderingContext2D::DrawNativeSurfaces(nsIDrawingSurface* aBlackSurface,
}
cairo_surface_t *tmpSurf =
cairo_image_surface_create_for_data((char*)tmpBuf.get(),
cairo_image_surface_create_for_data(tmpBuf.get(),
CAIRO_FORMAT_ARGB32, aSurfaceSize.width, aSurfaceSize.height,
aSurfaceSize.width*4);
if (!tmpSurf) {
@ -1929,7 +1925,8 @@ nsCanvasRenderingContext2D::DrawNativeSurfaces(nsIDrawingSurface* aBlackSurface,
}
}
cairo_show_surface(mCairo, tmpSurf, aSurfaceSize.width, aSurfaceSize.height);
cairo_set_source_surface(mCairo, tmpSurf, aSurfaceSize.width, aSurfaceSize.height);
cairo_paint_with_alpha(mCairo, mGlobalAlpha);
cairo_surface_destroy(tmpSurf);
aBlackSurface->Unlock();

Просмотреть файл

@ -3,25 +3,30 @@ these should be official releases from the cairo project as-is. If
changes are necessary, they should be documented below and the patch
file included in this directory.
We only include the relevant parts of each release (generally, src/*.[ch]),
as we have Makefile.in's that integrate into the Mozilla build system. For
documentation and similar, please see the official tarballs at
http://www.cairographics.org/.
VERSIONS:
cairo 0.4.0
libpixman 0.1.4
cairo 0.5.0
libpixman 0.1.5
PATCHES:
subdirs.diff - don't build test/ or doc/.
stdint.diff - select between inttypes.h, stdint.h, and mozstdint.h.
quartz.diff - update cairo quartz/atsui backend for 0.4.0, reenable.
xlib.diff - include X11/xlib.h in cairo-xlib.h - needed for Solaris.
stroke-extent.diff - fix calculation of stroke extents.
stdint.h - select between inttypes.h, stdint.h, and mozstdint.h.
dash-dos.diff - prevent DOS attack with dasharray.
icformat.diff - upstream patch to select appropriate depth
alphablend.diff - check for AlphaBlend usability at runtime (win32)
feature-tests.diff - change #if to #ifdef, and change
cairo-features.h.in to #define things based on mozilla configure
tests
allow-null-surface.diff - allow creating a cairo_t with a NULL
target surface
optimize-opaque-paint.diff - if cairo_paint_with_alpha is called
with alpha == 1.0, turn it into cairo_paint

Просмотреть файл

@ -0,0 +1,15 @@
--- ../../../../../cairo-cvs/dist/cairo-0.5.0/src/cairo.c 2005-05-11 19:59:13.000000000 -0700
+++ cairo/src/cairo.c 2005-06-01 23:07:50.000000000 -0700
@@ -115,12 +115,6 @@
_cairo_path_fixed_init (&cr->path);
- if (target == NULL) {
- cr->gstate = NULL;
- cr->status = CAIRO_STATUS_NULL_POINTER;
- return cr;
- }
-
cr->gstate = _cairo_gstate_create (target);
if (cr->gstate == NULL)
cr->status = CAIRO_STATUS_NO_MEMORY;

Просмотреть файл

@ -1,17 +1,7 @@
Index: cairo_win32_surface.c
===================================================================
RCS file: /cvsroot/mozilla/gfx/cairo/cairo/src/cairo_win32_surface.c,v
retrieving revision 1.1
diff -u -8 -p -r1.1 cairo_win32_surface.c
--- cairo_win32_surface.c 23 Mar 2005 19:53:39 -0000 1.1
+++ cairo_win32_surface.c 25 Apr 2005 16:38:22 -0000
@@ -547,16 +547,48 @@ _cairo_win32_surface_release_dest_image
static cairo_status_t
_cairo_win32_surface_clone_similar (void *surface,
cairo_surface_t *src,
cairo_surface_t **clone_out)
{
return CAIRO_INT_STATUS_UNSUPPORTED;
--- ../../../../../cairo-cvs/dist/cairo-0.5.0/src/cairo-win32-surface.c 2005-05-11 19:59:13.000000000 -0700
+++ cairo/src/cairo-win32-surface.c 2005-06-01 22:25:37.000000000 -0700
@@ -512,6 +512,38 @@
cairo_surface_destroy ((cairo_surface_t *)local);
}
+// AlphaBlend is not available or useable on older versions of Win32
@ -49,49 +39,29 @@ diff -u -8 -p -r1.1 cairo_win32_surface.c
static cairo_int_status_t
_cairo_win32_surface_composite (cairo_operator_t operator,
cairo_pattern_t *pattern,
cairo_pattern_t *mask_pattern,
void *abstract_dst,
int src_x,
int src_y,
int mask_x,
@@ -568,16 +600,31 @@ _cairo_win32_surface_composite (cairo_op
{
cairo_win32_surface_t *dst = abstract_dst;
cairo_win32_surface_t *src;
cairo_surface_pattern_t *src_surface_pattern;
int alpha;
@@ -533,6 +565,21 @@
int integer_transform;
int itx, ity;
+ if (!gAlphaBlendChecked) {
+ OSVERSIONINFO os;
+ OSVERSIONINFO os;
+
+ os.dwOSVersionInfoSize = sizeof(os);
+ GetVersionEx(&os);
+ // If running on Win98, disable using AlphaBlend()
+ // to avoid Win98 AlphaBlend() bug
+ if (VER_PLATFORM_WIN32_WINDOWS != os.dwPlatformId ||
+ os.dwMajorVersion != 4 || os.dwMinorVersion != 10) {
+ gAlphaBlend = (ALPHABLENDPROC)GetProcAddress(LoadLibrary("msimg32"),
+ "AlphaBlend");
+ }
+ gAlphaBlendChecked = PR_TRUE;
+ os.dwOSVersionInfoSize = sizeof(os);
+ GetVersionEx(&os);
+ // If running on Win98, disable using AlphaBlend()
+ // to avoid Win98 AlphaBlend() bug
+ if (VER_PLATFORM_WIN32_WINDOWS != os.dwPlatformId ||
+ os.dwMajorVersion != 4 || os.dwMinorVersion != 10) {
+ gAlphaBlend = (ALPHABLENDPROC)GetProcAddress(LoadLibrary("msimg32"),
+ "AlphaBlend");
+ }
+ gAlphaBlendChecked = PR_TRUE;
+ }
+
if (pattern->type != CAIRO_PATTERN_SURFACE ||
pattern->extend != CAIRO_EXTEND_NONE)
return CAIRO_INT_STATUS_UNSUPPORTED;
if (mask_pattern) {
/* FIXME: When we fully support RENDER style 4-channel
* masks we need to check r/g/b != 1.0.
*/
@@ -622,17 +669,20 @@ _cairo_win32_surface_composite (cairo_op
BLENDFUNCTION blend_function;
blend_function.BlendOp = AC_SRC_OVER;
blend_function.BlendFlags = 0;
@@ -587,7 +634,10 @@
blend_function.SourceConstantAlpha = alpha;
blend_function.AlphaFormat = src->format == CAIRO_FORMAT_ARGB32 ? AC_SRC_ALPHA : 0;
@ -103,8 +73,3 @@ diff -u -8 -p -r1.1 cairo_win32_surface.c
dst_x, dst_y,
width, height,
src->dc,
src_x + itx, src_y + ity,
width, height,
blend_function))
return _cairo_win32_print_gdi_error ("_cairo_win32_surface_composite");

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,59 +0,0 @@
SUBDIRS = src
EXTRA_DIST = \
COPYING \
COPYING-LGPL-2.1 \
COPYING-MPL-1.1 \
cairo.pc.in
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = cairo.pc
# Some custom targets to make it easier to release things.
# Use either:
# make release-check
# or make release-publish
RELEASE_UPLOAD_HOST = cairographics.org
RELEASE_UPLOAD_DIR = /srv/cairo.freedesktop.org/www/snapshots
RELEASE_URL_BASE = http://cairographics.org/snapshots
RELEASE_ANNOUNCE_LIST = cairo-announce@cairographics.org
tar_file = $(PACKAGE)-$(VERSION).tar.gz
md5_file = $(tar_file).md5
$(md5_file): $(tar_file)
md5sum $^ > $@
release-remove-old:
rm -f $(tar_file) $(md5_file)
release-check: release-remove-old distcheck $(md5_file)
release-verify-newer:
@echo -n "Checking that no $(VERSION) release already exists..."
@ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \
|| (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \
&& echo "The version in configure.in must be incremented before a new release." \
&& false)
@echo "Good."
release-publish: release-verify-newer release-check
mkdir -p releases
scp $(tar_file) $(md5_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)
mv $(tar_file) $(md5_file) releases
ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && touch $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
@echo ""
@echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)"
@echo "including the following:"
@echo ""
@echo "Subject: $(PACKAGE) snapshot $(VERSION) now available"
@echo ""
@echo "A new $(PACKAGE) snapshot $(VERSION) is now available from:"
@echo ""
@echo " $(RELEASE_URL_BASE)/$(tar_file)"
@echo " $(RELEASE_URL_BASE)/$(md5_file)"
@echo -n " "
@cat releases/$(md5_file)
@echo ""
@echo "Also, please include the new entries from the NEWS file."

Просмотреть файл

@ -1,758 +0,0 @@
# Makefile.in generated by automake 1.9.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/cairo.pc.in \
$(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \
ChangeLog INSTALL NEWS TODO config.guess config.sub depcomp \
install-sh ltmain.sh missing mkinstalldirs
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = cairo.pc
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
pkgconfigDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgconfig_DATA)
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
ATSUI_FONT_FEATURE = @ATSUI_FONT_FEATURE@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CAIRO_CFLAGS = @CAIRO_CFLAGS@
CAIRO_HAS_ATSUI_FONT_FALSE = @CAIRO_HAS_ATSUI_FONT_FALSE@
CAIRO_HAS_ATSUI_FONT_TRUE = @CAIRO_HAS_ATSUI_FONT_TRUE@
CAIRO_HAS_FT_FONT_FALSE = @CAIRO_HAS_FT_FONT_FALSE@
CAIRO_HAS_FT_FONT_TRUE = @CAIRO_HAS_FT_FONT_TRUE@
CAIRO_HAS_GLITZ_SURFACE_FALSE = @CAIRO_HAS_GLITZ_SURFACE_FALSE@
CAIRO_HAS_GLITZ_SURFACE_TRUE = @CAIRO_HAS_GLITZ_SURFACE_TRUE@
CAIRO_HAS_PDF_SURFACE_FALSE = @CAIRO_HAS_PDF_SURFACE_FALSE@
CAIRO_HAS_PDF_SURFACE_TRUE = @CAIRO_HAS_PDF_SURFACE_TRUE@
CAIRO_HAS_PNG_SURFACE_FALSE = @CAIRO_HAS_PNG_SURFACE_FALSE@
CAIRO_HAS_PNG_SURFACE_TRUE = @CAIRO_HAS_PNG_SURFACE_TRUE@
CAIRO_HAS_PS_SURFACE_FALSE = @CAIRO_HAS_PS_SURFACE_FALSE@
CAIRO_HAS_PS_SURFACE_TRUE = @CAIRO_HAS_PS_SURFACE_TRUE@
CAIRO_HAS_QUARTZ_SURFACE_FALSE = @CAIRO_HAS_QUARTZ_SURFACE_FALSE@
CAIRO_HAS_QUARTZ_SURFACE_TRUE = @CAIRO_HAS_QUARTZ_SURFACE_TRUE@
CAIRO_HAS_WIN32_FONT_FALSE = @CAIRO_HAS_WIN32_FONT_FALSE@
CAIRO_HAS_WIN32_FONT_TRUE = @CAIRO_HAS_WIN32_FONT_TRUE@
CAIRO_HAS_WIN32_SURFACE_FALSE = @CAIRO_HAS_WIN32_SURFACE_FALSE@
CAIRO_HAS_WIN32_SURFACE_TRUE = @CAIRO_HAS_WIN32_SURFACE_TRUE@
CAIRO_HAS_XCB_SURFACE_FALSE = @CAIRO_HAS_XCB_SURFACE_FALSE@
CAIRO_HAS_XCB_SURFACE_TRUE = @CAIRO_HAS_XCB_SURFACE_TRUE@
CAIRO_HAS_XLIB_SURFACE_FALSE = @CAIRO_HAS_XLIB_SURFACE_FALSE@
CAIRO_HAS_XLIB_SURFACE_TRUE = @CAIRO_HAS_XLIB_SURFACE_TRUE@
CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_GTK_DOC_FALSE = @ENABLE_GTK_DOC_FALSE@
ENABLE_GTK_DOC_TRUE = @ENABLE_GTK_DOC_TRUE@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_CONFIG = @FREETYPE_CONFIG@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_REQUIRES = @FREETYPE_REQUIRES@
FT_FONT_FEATURE = @FT_FONT_FEATURE@
GLITZ_CFLAGS = @GLITZ_CFLAGS@
GLITZ_LIBS = @GLITZ_LIBS@
GLITZ_REQUIRES = @GLITZ_REQUIRES@
GLITZ_SURFACE_FEATURE = @GLITZ_SURFACE_FEATURE@
GTK_DOC_USE_LIBTOOL_FALSE = @GTK_DOC_USE_LIBTOOL_FALSE@
GTK_DOC_USE_LIBTOOL_TRUE = @GTK_DOC_USE_LIBTOOL_TRUE@
HTML_DIR = @HTML_DIR@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PDF_LIBS = @PDF_LIBS@
PDF_SURFACE_FEATURE = @PDF_SURFACE_FEATURE@
PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
PIXMAN_LIBS = @PIXMAN_LIBS@
PKG_CONFIG = @PKG_CONFIG@
PNG_CFLAGS = @PNG_CFLAGS@
PNG_LIBS = @PNG_LIBS@
PNG_REQUIRES = @PNG_REQUIRES@
PNG_SURFACE_FEATURE = @PNG_SURFACE_FEATURE@
PS_LIBS = @PS_LIBS@
PS_SURFACE_FEATURE = @PS_SURFACE_FEATURE@
QUARTZ_SURFACE_FEATURE = @QUARTZ_SURFACE_FEATURE@
RANLIB = @RANLIB@
SANITY_CHECKING_FEATURE = @SANITY_CHECKING_FEATURE@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
VERSION_INFO = @VERSION_INFO@
WIN32_FONT_FEATURE = @WIN32_FONT_FEATURE@
WIN32_SURFACE_FEATURE = @WIN32_SURFACE_FEATURE@
XCB_CFLAGS = @XCB_CFLAGS@
XCB_LIBS = @XCB_LIBS@
XCB_SURFACE_FEATURE = @XCB_SURFACE_FEATURE@
XLIB_SURFACE_FEATURE = @XLIB_SURFACE_FEATURE@
XRENDER_CFLAGS = @XRENDER_CFLAGS@
XRENDER_LIBS = @XRENDER_LIBS@
XRENDER_REQUIRES = @XRENDER_REQUIRES@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = src
EXTRA_DIST = \
COPYING \
COPYING-LGPL-2.1 \
COPYING-MPL-1.1 \
cairo.pc.in
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = cairo.pc
# Some custom targets to make it easier to release things.
# Use either:
# make release-check
# or make release-publish
RELEASE_UPLOAD_HOST = cairographics.org
RELEASE_UPLOAD_DIR = /srv/cairo.freedesktop.org/www/snapshots
RELEASE_URL_BASE = http://cairographics.org/snapshots
RELEASE_ANNOUNCE_LIST = cairo-announce@cairographics.org
tar_file = $(PACKAGE)-$(VERSION).tar.gz
md5_file = $(tar_file).md5
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am--refresh:
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
cd $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) stamp-h1; \
else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER)
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f config.h stamp-h1
cairo.pc: $(top_builddir)/config.status $(srcdir)/cairo.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $@
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)"
@list='$(pkgconfig_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
$(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
@list='$(pkgconfig_DATA)'; for p in $$list; do \
f=$(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
done
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkdir_p) $(distdir)/. $(distdir)/src
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& cd $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA) config.h
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr \
distclean-libtool distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am: install-pkgconfigDATA
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am uninstall-pkgconfigDATA
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
check-am clean clean-generic clean-libtool clean-recursive \
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \
distclean-recursive distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-pkgconfigDATA install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive \
mostlyclean mostlyclean-generic mostlyclean-libtool \
mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am uninstall-info-am \
uninstall-pkgconfigDATA
$(md5_file): $(tar_file)
md5sum $^ > $@
release-remove-old:
rm -f $(tar_file) $(md5_file)
release-check: release-remove-old distcheck $(md5_file)
release-verify-newer:
@echo -n "Checking that no $(VERSION) release already exists..."
@ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \
|| (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \
&& echo "The version in configure.in must be incremented before a new release." \
&& false)
@echo "Good."
release-publish: release-verify-newer release-check
mkdir -p releases
scp $(tar_file) $(md5_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)
mv $(tar_file) $(md5_file) releases
ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && touch $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
@echo ""
@echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)"
@echo "including the following:"
@echo ""
@echo "Subject: $(PACKAGE) snapshot $(VERSION) now available"
@echo ""
@echo "A new $(PACKAGE) snapshot $(VERSION) is now available from:"
@echo ""
@echo " $(RELEASE_URL_BASE)/$(tar_file)"
@echo " $(RELEASE_URL_BASE)/$(md5_file)"
@echo -n " "
@cat releases/$(md5_file)
@echo ""
@echo "Also, please include the new entries from the NEWS file."
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

Просмотреть файл

@ -1,3 +1,307 @@
Snapshot 0.5.0 (2005-05-17 Carl Worth <cworth@cworth.org>)
==========================================================
This is a pretty big, and fairly significant snapshot. It represents
between 2 and 3 months of solid work from a lot of people on improving
the API as much as possible. I'd like to express my appreciation and
congratulations to everyone who has worked on the big API Shakeup,
(whether in email battles over names, or fixing my silly bugs).
This snapshot will require some effort on the part of users, since
there are a _lot_ of API changes (ie. no cairo program ever written is
safe --- they're all broken now in at least one way). But, in spite of
that, we do encourage everyone to move their code to this snapshot as
soon as possible. And we're doing everything we can think of to make
the transition as smooth as possible.
The idea behind 0.5 is that we've tried to make every good API change
we could want now, and get them all done with. That is, between now
and the 1.0 release of cairo, we expect very few new API changes,
(though some will certainly sneak in). We will have some significant
additions, but the pain of moving code from cairo 0.4 to cairo 0.5
should be a one time experience, and things should be much smoother as
we continue to move toward cairo 1.0.
And with so many changes coming out for the first time in this 0.5
release, we really do need a lot of people trying this out to make
sure the ideas are solid before we freeze the API in preparation for
the 1.0 release.
OK, enough introduction. Here is a (not-quite-complete) description of
the API removals, changes and additions in this snapshot, (compared to
0.4.0)
API removals
============
The following public functions have been removed:
- cairo_set_target_*
This is a big change. See the description of cairo_create in
the API changes section for how to deal with this.
- cairo_set_alpha
Alpha blending hasn't gone away; there's just a much more
unified rendering model now. Almost all uses of
cairo_set_alpha will be trivially replaced with
cairo_set_source_rgba and a few others will be replaced just
as easily with cairo_paint_with_alpha.
- cairo_show_surface
Another useful function that we realized was muddling up the
rendering model. The replacement is quite easy:
cairo_set_source_surface and cairo_paint.
- cairo_matrix_create
- cairo_matrix_destroy
- cairo_matrix_copy
- cairo_matrix_get_affine
These functions supported an opaque cairo_matrix_t. We now
have an exposed cairo_matrix_t structure, so these can be
dropped.
- cairo_surface_set_repeat
- cairo_surface_set_matrix
- cairo_surface_set_filter
These properties don't belong on surfaces. If you were using
them, you'll just want to instead use
cairo_pattern_create_for_surface and then set these properties
on the pattern.
- cairo_copy
This was a confusing function and hopefully nobody will miss
it. But if you really don't find cairo_save/restore adequate,
let us know and we have another idea for a potential
replacement.
And while we're on the subject of removals, we carefully tightened up
the cairo header files so they no longer gratuitously include header
files that are not strictly necessary, (stdio.h, stdint.h, pixman.h,
Xrender.h, etc. and their dependencies). This may lead to some
surprising errors, so keep your eyes open for that.
API changes
===========
Here are some of the API changes that have occurred:
~ cairo_create(void) -> cairo_create(cairo_surface_t *)
This is the big change that breaks every program. The ability
to re-target a cairo_t was not particularly useful, but it did
introduce a lot of muddy semantic questions. To eliminate
that, cairo_create now requires its target surface to be
passed in at creation time. This isn't too hard to cope with
as the typical first operation after cairo_create was often
cairo_set_target_foo. So the order of those two swap and the
application instead has cairo_foo_surface_create, then
cairo_create.
~ cairo_current_* -> cairo_get_*
We had a strange mixture of cairo_get and cairo_current
functions. They've all been standardized on cairo_get, (though
note one is cairo_get_current_point).
~ CAIRO_OPERATOR_SRC -> CAIRO_OPERATOR_SOURCE
~ CAIRO_OPERATOR_OVER_REVERSE -> CAIRO_OPERATOR_DEST_OVER
Many of the cairo_operator_t symbolic values were renamed to
reduce the amount of abbreviation. The confusing "OP_REVERSE"
naming was also changed to use "DEST_OP" instead which is
easier to read and has wider acceptance in other
libraries/languages.
~ cairo_set_pattern -> cairo_set_source
~ cairo_set_rgb_color -> cairo_set_source_rgb
All of the various functions that changed the source
color/pattern were unified to use cairo_set_source names to
make the relation more clear.
~ cairo_transform_point -> cairo_user_to_device
~ cairo_transform_distance -> cairo_user_to_device_distance
~ cairo_inverse_transform_point -> cairo_device_to_user
~ cairo_inverse_transform_distance -> cairo_device_to_user_distance
These names just seemed a lot more clear.
~ cairo_init_clip -> cairo_reset_clip
~ cairo_concat_matrix -> cairo_transform
More abbreviation elimination
~ cairo_current_path -> cairo_copy_path
~ cairo_current_path_flat -> cairo_copy_path_flat
The former mechanism for examining the current path was a
function that required 3 or 4 callbacks. This was more
complexity than warranted in most situations. The new
cairo_copy_path function copies the current path into an
exposed data structure, and the documentation provides a
convenient idiom for navigating the path data.
API additions
-------------
+ cairo_paint
A generalized version of the painting operators cairo_stroke
and cairo_fill. The cairo_paint call applies the source paint
everywhere within the current clip region. Very useful for
clearing a surface to a solid color, or painting an image,
(see cairo_set_source_surface).
+ cairo_paint_with_alpha
Like cairo_paint but applying some alpha to the source,
(making the source paint translucent, eg. to blend an image on
top of another).
+ cairo_mask
A more generalized version of cairo_paint_with_alpha which
allows a pattern to specify the amount of translucence at each
point rather than using a constant value everywhere.
+ cairo_mask_surface
A convenience function on cairo_mask for when the mask pattern
is already contained within a surface.
+ cairo_surface_set_user_data
+ cairo_surface_get_user_data
+ cairo_font_face_set_user_data
+ cairo_font_face_get_user_data
Associate arbitrary data with a surface or font face for later
retrieval. Get notified when a surface or font face object is
destroyed.
+ cairo_surface_finish
Allows the user to instruct cairo to finish all of its
operations for a given surface. This provides a safe point for
doing things such as flushing and closing files that the
surface may have had open for writing.
+ cairo_fill_preserve
+ cairo_stroke_preserve
+ cairo_clip_preserve
One interesting change in cairo is that the path is no longer
part of the graphics state managed by
cairo_save/restore. This allows functions to construct paths
without interfering with the graphics state. But it prevents
the traditional idiom for fill-and-stroke:
cairo_save; cairo_fill; cairo_restore; cairo_stroke
Instead we know have alternate versions cairo cairo_fill,
cairo_stroke, and cairo_clip that preserve the current path
rather than consuming it. So the idiom now becomes simply:
cairo_fill_preserve; cairo_stroke
+ cairo_surface_write_to_png
+ cairo_surface_write_to_png_stream
In place of a single PNG backend, now a surface created
through any backend (except PDF currently) can be written out
to a PNG image.
+ cairo_image_surface_create_from_png
+ cairo_image_surface_create_from_png_stream
And its just as easy to load a PNG image into a surface as well.
+ cairo_append_path
With the new, exposed path data structure, it's now possible
to append bulk path data to the current path, (rather than
issuing a long sequence of cairo_move_to/line_to/curve_to
function calls).
Xlib and XCB backends
---------------------
Any cairo_format_t and Colormap arguments have been dropped from
cairo_xlib_surface_create. There are also two new
cairo_xlib|xcb_surface_create functions:
cairo_xlib|xcb_surface_create_for_bitmap
(Particular for creating A1 surfaces)
cairo_xlib|xcb_surface_create_with_xrender_format
(For any other surface types, not described by a Visual*)
All of these surface create functions now accept width and height. In
addition, there are new cairo_xlib|xcb_surface_set_size functions
which must be called each time a window that is underlying a surface
changes size.
Print backends (PS and PDF)
---------------------------
The old FILE* based interfaces have been eliminated. In their place we
have two different functions. One accepts a simple const char
*filename. The other is a more general function which accepts a
callback write function and a void* closure. This should allow the
flexibility needed to hook up with various stream object in many
languages.
In addition, when specifying the surface size during construction, the
units are now device-space units (ie. points) rather than inches. This
provides consistency with all the other surface types and also makes
it much easier to reason about the size of the surface when drawing to
it with the default identity matrix.
Finally, the DPI parameters, which are only needed to control the
quality of fallbacks, have been made optional. Nothing is required
during surface_create (300 DPI is assumed) and
cairo_ps|pdf_surface_set_dpi can be used to set alternate values if
needed.
Font system
-----------
Owen very graciously listened to feedback after the big font rework he
had done for 0.4, and came up with way to improve it even more. In 0.4
there was a cairo_font_t that was always pre-scaled. Now, there is an
unscaled cairo_font_face_t which is easier to construct, (eg. no
scaling matrix required) and work with, (it can be scaled and
transformed after being set on the graphics state). And the font size
manipulation functions are much easier. You can set an explicit size
and read/modify/write the font matrix with:
cairo_set_font_size
cairo_get_font_matrix
cairo_set_font_matrix
(Previously you could only multiply in a scale factor or a matrix.) A
pleasant side effect is that we can (and do) now have a default font
size that is reasonable, as opposed to the old default height of one
device-space unit which was useless until scaled.
Of course, the old pre-scaled font had allowed some performance
benefits when getting many metrics for a font. Those benefits are
still made available through the new cairo_scaled_font_t. And a
cairo_font_face_t can be "promoted" to a cairo_scaled_font_t by
suppling a font_matrix and the desired CTM.
Quartz backend
--------------
Tim Rowley put in the work to bring the Quartz backend back after it
had been disabled in the 0.4.0 snapshot. He was not able to bring back
the function that allows one to create a cairo_font_t from an ATSUI
style:
cairo_font_t *
cairo_atsui_font_create (ATSUStyle style);
because he didn't have a test case for it. If you care about this
function, please provide a fairly minimal test and we'll try to bring
it back in an upcoming snapshot.
Snapshot 0.4.0 (2005-03-08 Carl Worth <cworth@cworth.org>)
==========================================================
New documentation

Просмотреть файл

@ -1,29 +1,42 @@
API Shakeup work
----------------
Patch? Reviewed?
yes yes user data (was Re: [cairo] Patch improving fallbacks)
cairo_paint
yes yes setters and getters
cairo_current_matrix
Renaming the terms of the rendering equation
Making set_source consistent
Eliminating cairo_show_surface
cairo_mask
cairo_begin_group, cairo_end_group, cairo_get_group
yes yes cairo_output_stream_t and cairo_surface_finish()
cairo_create and eliminating cairo_set_target_surface
cairo_fill_preserve, cairo_stroke_preserve, cairo_clip_preserve
default matrix
cairo_current_path -> cairo_copy_path_data
cairo_surface_finish, cairo_surface_flush
cairo_<device>_surface_mark_dirty
Eliminating cairo_copy
Eliminating cairo_surface_set_repeat/matrix/filter
A hidden offset for the xlib backend
cairo_stroke_path -> cairo_stroke_to_path
Simplifying the operator set
Abbreviation hunt: cairo_init_clip and cairo_concat_matrix
Consistent error handling for all objects
API Shakeup planning
--------------------
Patch submitted to mailing list?
/ Documentation included in patch?
|/ Review of patch completed?
||/ Test case included?
|||/ Committed.
||||/
New functionality (more-or-less)
--------------------------------
cairo_begin_group, cairo_end_group, cairo_get_group
cairo_<device>_surface_mark_dirty
Consistent error handling for all objects
Somewhat backwards-compatible changes
-----------------------------------
PDRTC user data (was Re: [cairo] Patch improving fallbacks)
PDRTC setters and getters
PDRTC cairo_output_stream_t and cairo_surface_finish()
PDRTC cairo_current_path -> cairo_copy_path_data
PDR C cairo_surface_finish, cairo_surface_flush
PDRTC Abbreviation hunt: cairo_init_clip and cairo_concat_matrix
PDRTC Renaming the terms of the rendering equation
PDRTC default matrix
PDRTC cairo_paint
PDRTC Making set_source consistent
PDRTC cairo_stroke_path -> cairo_stroke_to_path
PDRTC cairo_current_matrix
PDRTC cairo_mask
PDRTC cairo_fill_preserve, cairo_stroke_preserve, cairo_clip_preserve
PDR C A hidden offset for the xlib backend
Backwards incompatible
----------------------
PDRTC Simplifying the operator set
PDRTC cairo_create and eliminating cairo_set_target_surface
PDRTC Eliminating cairo_copy
PDRTC Eliminating cairo_surface_set_repeat/matrix/filter
PDRTC Eliminating cairo_show_surface
* Add support for non-antialiased rendering. API ?
@ -37,8 +50,37 @@ yes yes cairo_output_stream_t and cairo_surface_finish()
((src Op dest) In clip) Add (dest Out clip)
* Replace PNG backend with an image_surface function to save a PNG
image.
* Split cairo_format_t into two things:
- An enumeration that determines the "capabilities" of a surface -
A vs. ARGB. vs. RGB
- An enumeration that determines a specific in-memory representation
of data. (A1/A8/ARGB32/etc.. Could be extensible to things like
RGBA32_BYTES_NONPREMULTIPLIED. Some consistent naming convention would
be be good.)
One issue here is that some interfaces, like cairo_surface_create_similar()
might be useful with either one. We might want to create an A1 surface
compatible with the backend (are there examples other than A1? Should
bilevel just be another "capability"?), or we might want to just create
an alpha surface without caring about the depth.
If we want to support this, we could do something like:
typedef enum cairo_pixel_format_t {
CAIRO_PIXEL_FORMAT_A8 = CAIRO_FORMAT_ALPHA,
CAIRO_PIXEL_FORMAT_RGB24 = CAIRO_FORMAT_RGB,
CAIRO_PIXEL_FORMAT_A1,
};
To allow passing either in.
(I don't particularly like this idea for create_similar() because then you
aren't really saying ALPHA-dont-care, you are saying ALPHA-8. I think it
would be better to have a separate path for create_similar_with_pixel_format()
if we need that. But it might be useful for cairo_image_surface_create() ...
people are going to screw up and pass CAIRO_FORMAT_RGB into that, and if it
"just worked" that would save people trouble....)
* Clean up the API in preparation for freezing and release.
@ -83,9 +125,6 @@ do gradients the Right Way).
* Implement cairo_arc_to.
* Re-implement the trapezoid rasterization algorithm according to the
new "specification".
* Stroking closed, degenerate paths should still draw caps. Round
caps are easy; square should probably draw an axis-aligned square.
@ -128,3 +167,7 @@ do gradients the Right Way).
* Verification, profiling, optimization.
centi_unfinished.svg may provide a good test case.
* Implement copy-on-write regions in pixman as a more complete
solution than the BAD_NESTING stuff to Owen's "Clip region problems"
thread.

Просмотреть файл

@ -1,53 +0,0 @@
dnl -*- mode: autoconf -*-
# serial 1
dnl Usage:
dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
AC_DEFUN([GTK_DOC_CHECK],
[
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
dnl for overriding the documentation installation directory
AC_ARG_WITH(html-dir,
AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
[with_html_dir='${datadir}/gtk-doc/html'])
HTML_DIR="$with_html_dir"
AC_SUBST(HTML_DIR)
dnl enable/disable documentation building
AC_ARG_ENABLE(gtk-doc,
AC_HELP_STRING([--enable-gtk-doc],
[use gtk-doc to build documentation [default=no]]),,
enable_gtk_doc=no)
have_gtk_doc=no
if test x$enable_gtk_doc = xyes; then
if test -z "$PKG_CONFIG"; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
fi
if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then
have_gtk_doc=yes
fi
dnl do we want to do a version check?
ifelse([$1],[],,
[gtk_doc_min_version=$1
if test "$have_gtk_doc" = yes; then
AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version])
if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
have_gtk_doc=no
fi
fi
])
if test "$have_gtk_doc" != yes; then
enable_gtk_doc=no
fi
fi
AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
])

7068
gfx/cairo/cairo/aclocal.m4 поставляемый

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,12 +0,0 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: cairo
Description: Multi-platform 2D graphics library
Version: @VERSION@
Requires: @FREETYPE_REQUIRES@ libpixman @XRENDER_REQUIRES@ @PNG_REQUIRES@ @GLITZ_REQUIRES@
Libs: @FREETYPE_LIBS@ -L${libdir} -lcairo
Cflags: @FREETYPE_CFLAGS@ -I${includedir}/cairo

1411
gfx/cairo/cairo/config.guess поставляемый

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,74 +0,0 @@
/* config.h.in. Generated from configure.in by autoheader. */
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `sincos' function. */
#undef HAVE_SINCOS
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if the system has the type `uint128_t'. */
#undef HAVE_UINT128_T
/* Define to 1 if the system has the type `uint64_t'. */
#undef HAVE_UINT64_T
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `vasnprintf' function. */
#undef HAVE_VASNPRINTF
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Version number of package */
#undef VERSION
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Define to 1 if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING

1500
gfx/cairo/cairo/config.sub поставляемый

Разница между файлами не показана из-за своего большого размера Загрузить разницу

24987
gfx/cairo/cairo/configure поставляемый

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,456 +0,0 @@
AC_PREREQ(2.54)
AC_INIT(src/cairo.h)
dnl ===========================================================================
# Package version number, (as distinct from shared library version)
CAIRO_VERSION=0.4.0
# libtool shared library version
# Increment if the interface has additions, changes, removals.
LT_CURRENT=1
# Increment any time the source changes; set to
# 0 if you increment CURRENT
LT_REVISION=0
# Increment if any interfaces have been added; set to 0
# if any interfaces have been removed. removal has
# precedence over adding, so set to 0 if both happened.
LT_AGE=0
VERSION_INFO="$LT_CURRENT:$LT_REVISION:$LT_AGE"
AC_SUBST(VERSION_INFO)
dnl ===========================================================================
AM_INIT_AUTOMAKE(cairo, $CAIRO_VERSION)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE
AC_PROG_CC
AC_PROG_CPP
AM_PROG_LIBTOOL
AC_STDC_HEADERS
AC_C_BIGENDIAN
AC_CHECK_FUNCS(vasnprintf)
AC_CHECK_LIBM
LIBS="$LIBS $LIBM"
AC_CHECK_FUNCS(sincos)
dnl ===========================================================================
AC_ARG_ENABLE(xlib,
[ --disable-xlib Disable cairo's Xlib backend],
[use_xlib=$enableval], [use_xlib=yes])
if test "x$use_xlib" = "xyes"; then
dnl Check for Xrender header files if the Xrender package is not installed:
PKG_CHECK_MODULES(XRENDER, xrender >= 0.6, [
XRENDER_REQUIRES=xrender
use_xlib=yes], [
AC_CHECK_HEADER(X11/extensions/Xrender.h, [
AC_PATH_XTRA
XRENDER_LIBS="$X_LIBS -lXrender -lXext -lX11 $X_EXTRA_LIBS"
use_xlib=yes], [
use_xlib="no (requires Xrender http://freedesktop.org/software/xlibs)"])])
fi
if test "x$use_xlib" != "xyes"; then
XLIB_SURFACE_FEATURE=CAIRO_HAS_NO_XLIB_SURFACE
AM_CONDITIONAL(CAIRO_HAS_XLIB_SURFACE, false)
else
XLIB_SURFACE_FEATURE=CAIRO_HAS_XLIB_SURFACE
AM_CONDITIONAL(CAIRO_HAS_XLIB_SURFACE, true)
fi
AC_SUBST(XLIB_SURFACE_FEATURE)
AC_SUBST(XRENDER_REQUIRES)
CAIRO_CFLAGS="$CAIRO_CFLAGS $XRENDER_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $XRENDER_LIBS"
AC_ARG_ENABLE(quartz,
[ --disable-quartz Disable cairo's quartz backend],
[use_quartz=$enableval], [use_quartz=yes])
if test "x$use_quartz" = "xyes"; then
dnl There is no pkgconfig for quartz; lets do a header check
AC_CHECK_HEADER(Carbon/Carbon.h, [use_quartz=yes], [use_quartz=no])
fi
if test "x$use_quartz" != "xyes"; then
QUARTZ_SURFACE_FEATURE=CAIRO_HAS_NO_QUARTZ_SURFACE
AM_CONDITIONAL(CAIRO_HAS_QUARTZ_SURFACE, false)
else
QUARTZ_SURFACE_FEATURE=CAIRO_HAS_QUARTZ_SURFACE
QUARTZ_LIBS="-Xlinker -framework -Xlinker Carbon"
AM_CONDITIONAL(CAIRO_HAS_QUARTZ_SURFACE, true)
fi
AC_SUBST(QUARTZ_SURFACE_FEATURE)
CAIRO_LIBS="$CAIRO_LIBS $QUARTZ_LIBS"
dnl ===========================================================================
AC_ARG_ENABLE(xcb,
[ --disable-xcb Disable cairo's XCB backend],
[use_xcb=$enableval], [use_xcb=yes])
if test "x$use_xcb" = "xyes"; then
PKG_CHECK_MODULES(XCB, xcb, [use_xcb=yes], [
use_xcb="no (requires XCB http://freedesktop.org/software/xcb)"])
fi
if test "x$use_xcb" != "xyes"; then
XCB_SURFACE_FEATURE=CAIRO_HAS_NO_XCB_SURFACE
AM_CONDITIONAL(CAIRO_HAS_XCB_SURFACE, false)
else
XCB_SURFACE_FEATURE=CAIRO_HAS_XCB_SURFACE
AM_CONDITIONAL(CAIRO_HAS_XCB_SURFACE, true)
fi
CAIRO_CFLAGS="$CAIRO_CFLAGS $XCB_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $XCB_LIBS"
AC_SUBST(XCB_SURFACE_FEATURE)
dnl ===========================================================================
AC_MSG_CHECKING([for some Win32 platform])
case "$host" in
*-*-mingw*|*-*-cygwin*)
cairo_platform_win32=yes
;;
*)
cairo_platform_win32=no
;;
esac
AC_MSG_RESULT([$cairo_platform_win32])
AC_ARG_ENABLE(win32,
[ --disable-win32 Disable cairo's Microsoft Windows backend],
[use_win32=$enableval], [use_win32="yes"])
if test "x$cairo_platform_win32" != "xyes" ; then
use_win32=no
fi
if test "x$use_win32" = "xyes"; then
CAIRO_LIBS="$CAIRO_LIBS -lgdi32 -lmsimg32"
fi
if test "x$use_win32" != "xyes"; then
WIN32_SURFACE_FEATURE=CAIRO_HAS_NO_WIN32_SURFACE
AM_CONDITIONAL(CAIRO_HAS_WIN32_SURFACE, false)
else
WIN32_SURFACE_FEATURE=CAIRO_HAS_WIN32_SURFACE
AM_CONDITIONAL(CAIRO_HAS_WIN32_SURFACE, true)
fi
if test "x$use_win32" != "xyes"; then
WIN32_FONT_FEATURE=CAIRO_HAS_NO_WIN32_FONT
AM_CONDITIONAL(CAIRO_HAS_WIN32_FONT, false)
else
WIN32_FONT_FEATURE=CAIRO_HAS_WIN32_FONT
AM_CONDITIONAL(CAIRO_HAS_WIN32_FONT, true)
fi
AC_SUBST(WIN32_SURFACE_FEATURE)
AC_SUBST(WIN32_FONT_FEATURE)
dnl ===========================================================================
AC_ARG_ENABLE(ps,
[ --disable-ps Disable cairo's PostScript backend],
[use_ps=$enableval], [use_ps=yes])
if test "x$use_ps" != "xyes"; then
PS_SURFACE_FEATURE=CAIRO_HAS_NO_PS_SURFACE
AM_CONDITIONAL(CAIRO_HAS_PS_SURFACE, false)
else
PS_SURFACE_FEATURE=CAIRO_HAS_PS_SURFACE
PS_LIBS=-lz
AM_CONDITIONAL(CAIRO_HAS_PS_SURFACE, true)
fi
CAIRO_LIBS="$CAIRO_LIBS $PS_LIBS"
AC_SUBST(PS_SURFACE_FEATURE)
AC_SUBST(PS_LIBS)
dnl ===========================================================================
AC_ARG_ENABLE(png,
[ --disable-png Disable cairo's PNG backend],
[use_png=$enableval], [use_png=yes])
if test "x$use_png" = "xyes"; then
use_png=no
# libpng13 is GnuWin32's libpng-1.2.8 :-(
for l in libpng12 libpng13 libpng10 ; do
if $PKG_CONFIG --exists $l ; then
PNG_REQUIRES=$l
use_png=yes
break
fi
done
if test "x$use_png" = "xyes" ; then
# Sets PNG_CFLAGS, PNG_LIBS
PKG_CHECK_MODULES(PNG, $PNG_REQUIRES)
else
AC_MSG_WARN([Could not find libpng in the pkg-config search path])
fi
fi
if test "x$use_png" != "xyes"; then
PNG_SURFACE_FEATURE=CAIRO_HAS_NO_PNG_SURFACE
AM_CONDITIONAL(CAIRO_HAS_PNG_SURFACE, false)
else
PNG_SURFACE_FEATURE=CAIRO_HAS_PNG_SURFACE
AM_CONDITIONAL(CAIRO_HAS_PNG_SURFACE, true)
fi
CAIRO_CFLAGS="$CAIRO_CFLAGS $PNG_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $PNG_LIBS"
AC_SUBST(PNG_SURFACE_FEATURE)
AC_SUBST(PNG_REQUIRES)
dnl ===========================================================================
AC_ARG_ENABLE(glitz,
[ --disable-glitz Disable cairo's glitz backend],
[use_glitz=$enableval], [use_glitz=yes])
if test "x$use_glitz" = "xyes"; then
PKG_CHECK_MODULES(GLITZ, glitz >= 0.4.0, [
GLITZ_REQUIRES=glitz
use_glitz=yes], [use_glitz="no (requires glitz http://freedesktop.org/software/glitz)"])
fi
if test "x$use_glitz" != "xyes"; then
GLITZ_SURFACE_FEATURE=CAIRO_HAS_NO_GLITZ_SURFACE
AM_CONDITIONAL(CAIRO_HAS_GLITZ_SURFACE, false)
else
GLITZ_SURFACE_FEATURE=CAIRO_HAS_GLITZ_SURFACE
AM_CONDITIONAL(CAIRO_HAS_GLITZ_SURFACE, true)
fi
CAIRO_CFLAGS="$CAIRO_CFLAGS $GLITZ_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $GLITZ_LIBS"
AC_SUBST(GLITZ_SURFACE_FEATURE)
AC_SUBST(GLITZ_REQUIRES)
dnl ===========================================================================
AC_ARG_ENABLE(sanity-checking,
[ --disable-sanity Disable cairo's sanity checking routines],
[check_sanity=$enableval], [check_sanity=yes])
if test "x$check_sanity" != "xyes"; then
SANITY_CHECKING_FEATURE=CAIRO_NO_SANITY_CHECKING
else
SANITY_CHECKING_FEATURE=CAIRO_DO_SANITY_CHECKING
fi
AC_SUBST(SANITY_CHECKING_FEATURE)
dnl ===========================================================================
PKG_CHECK_MODULES(PIXMAN, libpixman >= 0.1.4)
CAIRO_CFLAGS="$CAIRO_CFLAGS $PIXMAN_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $PIXMAN_LIBS"
dnl ===========================================================================
AC_ARG_ENABLE(freetype,
[ --disable-freetype Disable cairo's freetype font backend],
[use_freetype=$enableval], [use_freetype=yes])
if test "x$use_freetype" = "xyes"; then
PKG_CHECK_MODULES(FONTCONFIG, fontconfig,
[use_freetype=yes], [use_freetype=no])
fi
CAIRO_CFLAGS="$CAIRO_CFLAGS $FONTCONFIG_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $FONTCONFIG_LIBS"
# Test for freetype2 separate from pkg-config since at least up to
# 2003-06-07, there was no freetype2.pc in the release.
#
# Freetype versions come in three forms:
# release (such as 2.1.5)
# libtool (such as 9.4.3) (returned by freetype-config)
# platform-specific/soname (such as 6.3.4)
# and they recommend you never use the platform-specific version
# (see docs/VERSION.DLL in freetype2 sources)
#
# Set these as appropriate:
# release number - for information only
FREETYPE_MIN_RELEASE=2.1.0
# libtool-specific version - this is what is checked
FREETYPE_MIN_VERSION=8.0.2
if test "x$use_freetype" = "xyes"; then
if test -z "$FREETYPE_CONFIG"; then
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
fi
if test "$FREETYPE_CONFIG" = "no" ; then
AC_MSG_ERROR(No freetype-config script found in path or FREETYPE_CONFIG)
fi
AC_MSG_CHECKING(freetype2 libtool version)
FREETYPE_VERSION=`$FREETYPE_CONFIG --version`
VERSION_DEC=`echo $FREETYPE_VERSION | awk -F. '{printf("%d\n", 10000*$1 + 100*$2 + $3)};'`
MIN_VERSION_DEC=`echo $FREETYPE_MIN_VERSION | awk -F. '{printf("%d\n", 10000*$1 + 100*$2 + $3)};'`
if test $VERSION_DEC -lt $MIN_VERSION_DEC; then
AC_MSG_ERROR($FREETYPE_VERSION - version $FREETYPE_MIN_VERSION from release $FREETYPE_MIN_RELEASE required)
fi
AC_MSG_RESULT($FREETYPE_VERSION - OK)
FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
FREETYPE_REQUIRES=fontconfig
AC_SUBST(FREETYPE_CFLAGS)
AC_SUBST(FREETYPE_LIBS)
AC_SUBST(FREETYPE_REQUIRES)
fi
CAIRO_CFLAGS="$CAIRO_CFLAGS $FREETYPE_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $FREETYPE_LIBS"
if test "x$use_freetype" != "xyes"; then
FT_FONT_FEATURE=CAIRO_HAS_NO_FT_FONT
AM_CONDITIONAL(CAIRO_HAS_FT_FONT, false)
else
FT_FONT_FEATURE=CAIRO_HAS_FT_FONT
AM_CONDITIONAL(CAIRO_HAS_FT_FONT, true)
fi
AC_SUBST(FT_FONT_FEATURE)
dnl ===========================================================================
AC_ARG_ENABLE(pdf,
[ --disable-pdf Disable cairo's PDF backend],
[use_pdf=$enableval], [use_pdf=yes])
if test x"$use_freetype" != "xyes" ; then
AC_MSG_WARN([PDF backend requires FreeType, disabling])
use_pdf=no
fi
if test "x$use_pdf" != "xyes"; then
PDF_SURFACE_FEATURE=CAIRO_HAS_NO_PDF_SURFACE
AM_CONDITIONAL(CAIRO_HAS_PDF_SURFACE, false)
else
PDF_SURFACE_FEATURE=CAIRO_HAS_PDF_SURFACE
PDF_LIBS=-lz
AM_CONDITIONAL(CAIRO_HAS_PDF_SURFACE, true)
fi
CAIRO_LIBS="$CAIRO_LIBS $PDF_LIBS"
AC_SUBST(PDF_SURFACE_FEATURE)
AC_SUBST(PDF_LIBS)
dnl ===========================================================================
dnl This check should default to 'yes' once we have code to actually
dnl check for the atsui font backend.
AC_ARG_ENABLE(atsui,
[ --disable-atsui Disable cairo's atsui font backend],
[use_atsui=$enableval], [use_atsui=yes])
if test "x$use_atsui" = "xyes"; then
dnl There is no pkgconfig for atsui; lets do a header check
AC_CHECK_HEADER(Carbon/Carbon.h, [use_atsui=yes], [use_atsui=no])
fi
if test "x$use_atsui" != "xyes"; then
ATSUI_FONT_FEATURE=CAIRO_HAS_NO_ATSUI_FONT
AM_CONDITIONAL(CAIRO_HAS_ATSUI_FONT, false)
else
ATSUI_FONT_FEATURE=CAIRO_HAS_ATSUI_FONT
AM_CONDITIONAL(CAIRO_HAS_ATSUI_FONT, true)
fi
AC_SUBST(ATSUI_FONT_FEATURE)
dnl ===========================================================================
dnl Checks for precise integer types
AC_CHECK_TYPES([uint64_t, uint128_t])
dnl Use lots of warning flags with GCC
WARN_CFLAGS=""
if test "x$GCC" = "xyes"; then
WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
-Wmissing-prototypes -Wmissing-declarations \
-Wnested-externs -fno-strict-aliasing"
fi
CAIRO_CFLAGS="$CAIRO_CFLAGS $WARN_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS"
AC_SUBST(CAIRO_CFLAGS)
AC_SUBST(CAIRO_LIBS)
dnl ===========================================================================
dnl Check for gtk-doc and docbook
GTK_DOC_CHECK([1.3])
AC_OUTPUT([
cairo.pc
Makefile
src/Makefile
src/cairo-features.h
test/Makefile
doc/Makefile
doc/public/Makefile
])
dnl ===========================================================================
echo ""
echo "cairo will be compiled with the following surface backends:"
echo " Xlib: $use_xlib"
echo " Quartz: $use_quartz"
echo " XCB: $use_xcb"
echo " Win32: $use_win32"
echo " PostScript: $use_ps"
echo " PDF: $use_pdf"
echo " PNG: $use_png"
echo " glitz: $use_glitz"
echo ""
echo "and the following font backends:"
echo " FreeType: $use_freetype"
echo " Win32: $use_win32"
echo " ATSUI: $use_atsui"
echo ""
if test x"$use_freetype" != "xyes" && \
test x"$use_win32" != "xyes" && \
test x"$use_atsui" != "xyes" ; then
AC_MSG_ERROR([Cairo requires at least one font backend.
Please install freetype and fontconfig, then try again:
http://freetype.org/ http://fontconfig.org/
])
fi

Просмотреть файл

@ -1,479 +0,0 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
# Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1="$dir.libs/$base.lo.d"
tmpdepfile2="$dir.libs/$base.d"
"$@" -Wc,-MD
else
tmpdepfile1="$dir$base.o.d"
tmpdepfile2="$dir$base.d"
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
if test -f "$tmpdepfile1"; then
tmpdepfile="$tmpdepfile1"
else
tmpdepfile="$tmpdepfile2"
fi
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0

Просмотреть файл

@ -1,2 +0,0 @@
SUBDIRS=public

Просмотреть файл

@ -1,526 +0,0 @@
# Makefile.in generated by automake 1.9.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = doc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
ATSUI_FONT_FEATURE = @ATSUI_FONT_FEATURE@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CAIRO_CFLAGS = @CAIRO_CFLAGS@
CAIRO_HAS_ATSUI_FONT_FALSE = @CAIRO_HAS_ATSUI_FONT_FALSE@
CAIRO_HAS_ATSUI_FONT_TRUE = @CAIRO_HAS_ATSUI_FONT_TRUE@
CAIRO_HAS_FT_FONT_FALSE = @CAIRO_HAS_FT_FONT_FALSE@
CAIRO_HAS_FT_FONT_TRUE = @CAIRO_HAS_FT_FONT_TRUE@
CAIRO_HAS_GLITZ_SURFACE_FALSE = @CAIRO_HAS_GLITZ_SURFACE_FALSE@
CAIRO_HAS_GLITZ_SURFACE_TRUE = @CAIRO_HAS_GLITZ_SURFACE_TRUE@
CAIRO_HAS_PDF_SURFACE_FALSE = @CAIRO_HAS_PDF_SURFACE_FALSE@
CAIRO_HAS_PDF_SURFACE_TRUE = @CAIRO_HAS_PDF_SURFACE_TRUE@
CAIRO_HAS_PNG_SURFACE_FALSE = @CAIRO_HAS_PNG_SURFACE_FALSE@
CAIRO_HAS_PNG_SURFACE_TRUE = @CAIRO_HAS_PNG_SURFACE_TRUE@
CAIRO_HAS_PS_SURFACE_FALSE = @CAIRO_HAS_PS_SURFACE_FALSE@
CAIRO_HAS_PS_SURFACE_TRUE = @CAIRO_HAS_PS_SURFACE_TRUE@
CAIRO_HAS_QUARTZ_SURFACE_FALSE = @CAIRO_HAS_QUARTZ_SURFACE_FALSE@
CAIRO_HAS_QUARTZ_SURFACE_TRUE = @CAIRO_HAS_QUARTZ_SURFACE_TRUE@
CAIRO_HAS_WIN32_FONT_FALSE = @CAIRO_HAS_WIN32_FONT_FALSE@
CAIRO_HAS_WIN32_FONT_TRUE = @CAIRO_HAS_WIN32_FONT_TRUE@
CAIRO_HAS_WIN32_SURFACE_FALSE = @CAIRO_HAS_WIN32_SURFACE_FALSE@
CAIRO_HAS_WIN32_SURFACE_TRUE = @CAIRO_HAS_WIN32_SURFACE_TRUE@
CAIRO_HAS_XCB_SURFACE_FALSE = @CAIRO_HAS_XCB_SURFACE_FALSE@
CAIRO_HAS_XCB_SURFACE_TRUE = @CAIRO_HAS_XCB_SURFACE_TRUE@
CAIRO_HAS_XLIB_SURFACE_FALSE = @CAIRO_HAS_XLIB_SURFACE_FALSE@
CAIRO_HAS_XLIB_SURFACE_TRUE = @CAIRO_HAS_XLIB_SURFACE_TRUE@
CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_GTK_DOC_FALSE = @ENABLE_GTK_DOC_FALSE@
ENABLE_GTK_DOC_TRUE = @ENABLE_GTK_DOC_TRUE@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_CONFIG = @FREETYPE_CONFIG@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_REQUIRES = @FREETYPE_REQUIRES@
FT_FONT_FEATURE = @FT_FONT_FEATURE@
GLITZ_CFLAGS = @GLITZ_CFLAGS@
GLITZ_LIBS = @GLITZ_LIBS@
GLITZ_REQUIRES = @GLITZ_REQUIRES@
GLITZ_SURFACE_FEATURE = @GLITZ_SURFACE_FEATURE@
GTK_DOC_USE_LIBTOOL_FALSE = @GTK_DOC_USE_LIBTOOL_FALSE@
GTK_DOC_USE_LIBTOOL_TRUE = @GTK_DOC_USE_LIBTOOL_TRUE@
HTML_DIR = @HTML_DIR@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PDF_LIBS = @PDF_LIBS@
PDF_SURFACE_FEATURE = @PDF_SURFACE_FEATURE@
PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
PIXMAN_LIBS = @PIXMAN_LIBS@
PKG_CONFIG = @PKG_CONFIG@
PNG_CFLAGS = @PNG_CFLAGS@
PNG_LIBS = @PNG_LIBS@
PNG_REQUIRES = @PNG_REQUIRES@
PNG_SURFACE_FEATURE = @PNG_SURFACE_FEATURE@
PS_LIBS = @PS_LIBS@
PS_SURFACE_FEATURE = @PS_SURFACE_FEATURE@
QUARTZ_SURFACE_FEATURE = @QUARTZ_SURFACE_FEATURE@
RANLIB = @RANLIB@
SANITY_CHECKING_FEATURE = @SANITY_CHECKING_FEATURE@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
VERSION_INFO = @VERSION_INFO@
WIN32_FONT_FEATURE = @WIN32_FONT_FEATURE@
WIN32_SURFACE_FEATURE = @WIN32_SURFACE_FEATURE@
XCB_CFLAGS = @XCB_CFLAGS@
XCB_LIBS = @XCB_LIBS@
XCB_SURFACE_FEATURE = @XCB_SURFACE_FEATURE@
XLIB_SURFACE_FEATURE = @XLIB_SURFACE_FEATURE@
XRENDER_CFLAGS = @XRENDER_CFLAGS@
XRENDER_LIBS = @XRENDER_LIBS@
XRENDER_REQUIRES = @XRENDER_REQUIRES@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = public
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am:
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean clean-generic clean-libtool clean-recursive ctags \
ctags-recursive distclean distclean-generic distclean-libtool \
distclean-recursive distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive \
mostlyclean mostlyclean-generic mostlyclean-libtool \
mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

Просмотреть файл

@ -1,46 +0,0 @@
## Process this file with automake to create Makefile.in.
AUTOMAKE_OPTIONS = 1.7
# The name of the module.
DOC_MODULE=cairo
# The top-level SGML file.
DOC_MAIN_SGML_FILE=cairo-docs.xml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--deprecated-guards="CAIRO_DISABLE_DEPRECATED"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../src
# Used for dependencies
HFILE_GLOB=$(top_srcdir)/src/*.h
CFILE_GLOB=$(top_srcdir)/src/*.c $(top_srcdir)/src/*.h
# Headers to ignore
IGNORE_HFILES= \
cairo-features.h \
cairo-ft-private.h \
cairo-win32-private.h \
cairoint.h \
cairo-wideint.h
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
INCLUDES =
GTKDOC_LIBS =
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--sgml-mode --output-format=xml
# Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE)
content_files =
# Images to copy into HTML directory
HTML_IMAGES =
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=
include $(top_srcdir)/gtk-doc.make

Просмотреть файл

@ -1,584 +0,0 @@
# Makefile.in generated by automake 1.9.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
#
# *** NOTE *** this file is checked into CVS for convenience only.
# DO NOT EDIT. Rather get changes into upstream gtk-doc and then
# update this version from the gtk-doc version.
#
# -*- mode: makefile -*-
####################################
# Everything below here is generic #
####################################
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/gtk-doc.make
subdir = doc/public
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
ATSUI_FONT_FEATURE = @ATSUI_FONT_FEATURE@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CAIRO_CFLAGS = @CAIRO_CFLAGS@
CAIRO_HAS_ATSUI_FONT_FALSE = @CAIRO_HAS_ATSUI_FONT_FALSE@
CAIRO_HAS_ATSUI_FONT_TRUE = @CAIRO_HAS_ATSUI_FONT_TRUE@
CAIRO_HAS_FT_FONT_FALSE = @CAIRO_HAS_FT_FONT_FALSE@
CAIRO_HAS_FT_FONT_TRUE = @CAIRO_HAS_FT_FONT_TRUE@
CAIRO_HAS_GLITZ_SURFACE_FALSE = @CAIRO_HAS_GLITZ_SURFACE_FALSE@
CAIRO_HAS_GLITZ_SURFACE_TRUE = @CAIRO_HAS_GLITZ_SURFACE_TRUE@
CAIRO_HAS_PDF_SURFACE_FALSE = @CAIRO_HAS_PDF_SURFACE_FALSE@
CAIRO_HAS_PDF_SURFACE_TRUE = @CAIRO_HAS_PDF_SURFACE_TRUE@
CAIRO_HAS_PNG_SURFACE_FALSE = @CAIRO_HAS_PNG_SURFACE_FALSE@
CAIRO_HAS_PNG_SURFACE_TRUE = @CAIRO_HAS_PNG_SURFACE_TRUE@
CAIRO_HAS_PS_SURFACE_FALSE = @CAIRO_HAS_PS_SURFACE_FALSE@
CAIRO_HAS_PS_SURFACE_TRUE = @CAIRO_HAS_PS_SURFACE_TRUE@
CAIRO_HAS_QUARTZ_SURFACE_FALSE = @CAIRO_HAS_QUARTZ_SURFACE_FALSE@
CAIRO_HAS_QUARTZ_SURFACE_TRUE = @CAIRO_HAS_QUARTZ_SURFACE_TRUE@
CAIRO_HAS_WIN32_FONT_FALSE = @CAIRO_HAS_WIN32_FONT_FALSE@
CAIRO_HAS_WIN32_FONT_TRUE = @CAIRO_HAS_WIN32_FONT_TRUE@
CAIRO_HAS_WIN32_SURFACE_FALSE = @CAIRO_HAS_WIN32_SURFACE_FALSE@
CAIRO_HAS_WIN32_SURFACE_TRUE = @CAIRO_HAS_WIN32_SURFACE_TRUE@
CAIRO_HAS_XCB_SURFACE_FALSE = @CAIRO_HAS_XCB_SURFACE_FALSE@
CAIRO_HAS_XCB_SURFACE_TRUE = @CAIRO_HAS_XCB_SURFACE_TRUE@
CAIRO_HAS_XLIB_SURFACE_FALSE = @CAIRO_HAS_XLIB_SURFACE_FALSE@
CAIRO_HAS_XLIB_SURFACE_TRUE = @CAIRO_HAS_XLIB_SURFACE_TRUE@
CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_GTK_DOC_FALSE = @ENABLE_GTK_DOC_FALSE@
ENABLE_GTK_DOC_TRUE = @ENABLE_GTK_DOC_TRUE@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_CONFIG = @FREETYPE_CONFIG@
FREETYPE_LIBS = @FREETYPE_LIBS@
FREETYPE_REQUIRES = @FREETYPE_REQUIRES@
FT_FONT_FEATURE = @FT_FONT_FEATURE@
GLITZ_CFLAGS = @GLITZ_CFLAGS@
GLITZ_LIBS = @GLITZ_LIBS@
GLITZ_REQUIRES = @GLITZ_REQUIRES@
GLITZ_SURFACE_FEATURE = @GLITZ_SURFACE_FEATURE@
GTK_DOC_USE_LIBTOOL_FALSE = @GTK_DOC_USE_LIBTOOL_FALSE@
GTK_DOC_USE_LIBTOOL_TRUE = @GTK_DOC_USE_LIBTOOL_TRUE@
HTML_DIR = @HTML_DIR@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PDF_LIBS = @PDF_LIBS@
PDF_SURFACE_FEATURE = @PDF_SURFACE_FEATURE@
PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
PIXMAN_LIBS = @PIXMAN_LIBS@
PKG_CONFIG = @PKG_CONFIG@
PNG_CFLAGS = @PNG_CFLAGS@
PNG_LIBS = @PNG_LIBS@
PNG_REQUIRES = @PNG_REQUIRES@
PNG_SURFACE_FEATURE = @PNG_SURFACE_FEATURE@
PS_LIBS = @PS_LIBS@
PS_SURFACE_FEATURE = @PS_SURFACE_FEATURE@
QUARTZ_SURFACE_FEATURE = @QUARTZ_SURFACE_FEATURE@
RANLIB = @RANLIB@
SANITY_CHECKING_FEATURE = @SANITY_CHECKING_FEATURE@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
VERSION_INFO = @VERSION_INFO@
WIN32_FONT_FEATURE = @WIN32_FONT_FEATURE@
WIN32_SURFACE_FEATURE = @WIN32_SURFACE_FEATURE@
XCB_CFLAGS = @XCB_CFLAGS@
XCB_LIBS = @XCB_LIBS@
XCB_SURFACE_FEATURE = @XCB_SURFACE_FEATURE@
XLIB_SURFACE_FEATURE = @XLIB_SURFACE_FEATURE@
XRENDER_CFLAGS = @XRENDER_CFLAGS@
XRENDER_LIBS = @XRENDER_LIBS@
XRENDER_REQUIRES = @XRENDER_REQUIRES@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
AUTOMAKE_OPTIONS = 1.7
# The name of the module.
DOC_MODULE = cairo
# The top-level SGML file.
DOC_MAIN_SGML_FILE = cairo-docs.xml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS = --deprecated-guards="CAIRO_DISABLE_DEPRECATED"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR = ../../src
# Used for dependencies
HFILE_GLOB = $(top_srcdir)/src/*.h
CFILE_GLOB = $(top_srcdir)/src/*.c $(top_srcdir)/src/*.h
# Headers to ignore
IGNORE_HFILES = \
cairo-features.h \
cairo-ft-private.h \
cairo-win32-private.h \
cairoint.h \
cairo-wideint.h
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
INCLUDES =
GTKDOC_LIBS =
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS = --sgml-mode --output-format=xml
# Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE)
content_files =
# Images to copy into HTML directory
HTML_IMAGES =
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS =
@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
# We set GPATH here; this gives us semantics for GNU make
# which are more like other make's VPATH, when it comes to
# whether a source that is a target of one rule is then
# searched for in VPATH/GPATH.
#
GPATH = $(srcdir)
TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
EXTRA_DIST = \
$(content_files) \
$(HTML_IMAGES) \
$(DOC_MAIN_SGML_FILE) \
$(DOC_MODULE).types \
$(DOC_MODULE)-sections.txt \
$(DOC_MODULE)-overrides.txt
DOC_STAMPS = scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
SCANOBJ_FILES = \
$(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).interfaces \
$(DOC_MODULE).prerequisites \
$(DOC_MODULE).signals
CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/public/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/public/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
$(mkdir_p) $(distdir)/../..
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook
check-am: all-am
check: check-am
all-am: Makefile all-local
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool clean-local mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am: install-data-local
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic \
maintainer-clean-local
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am uninstall-local
.PHONY: all all-am all-local check check-am clean clean-generic \
clean-libtool clean-local dist-hook distclean \
distclean-generic distclean-libtool distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-data-local install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic \
maintainer-clean-local mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am uninstall-local
@ENABLE_GTK_DOC_TRUE@all-local: html-build.stamp
#### scan ####
@ENABLE_GTK_DOC_TRUE@scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
@ENABLE_GTK_DOC_TRUE@ @echo '*** Scanning header files ***'
@ENABLE_GTK_DOC_TRUE@ @-chmod -R u+w $(srcdir)
@ENABLE_GTK_DOC_TRUE@ if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
@ENABLE_GTK_DOC_TRUE@ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
@ENABLE_GTK_DOC_TRUE@ else \
@ENABLE_GTK_DOC_TRUE@ cd $(srcdir) ; \
@ENABLE_GTK_DOC_TRUE@ for i in $(SCANOBJ_FILES) ; do \
@ENABLE_GTK_DOC_TRUE@ test -f $$i || touch $$i ; \
@ENABLE_GTK_DOC_TRUE@ done \
@ENABLE_GTK_DOC_TRUE@ fi
@ENABLE_GTK_DOC_TRUE@ cd $(srcdir) && \
@ENABLE_GTK_DOC_TRUE@ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
@ENABLE_GTK_DOC_TRUE@ touch scan-build.stamp
@ENABLE_GTK_DOC_TRUE@$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
@ENABLE_GTK_DOC_TRUE@ @true
#### templates ####
@ENABLE_GTK_DOC_TRUE@tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
@ENABLE_GTK_DOC_TRUE@ @echo '*** Rebuilding template files ***'
@ENABLE_GTK_DOC_TRUE@ @-chmod -R u+w $(srcdir)
@ENABLE_GTK_DOC_TRUE@ cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
@ENABLE_GTK_DOC_TRUE@ touch tmpl-build.stamp
@ENABLE_GTK_DOC_TRUE@tmpl.stamp: tmpl-build.stamp
@ENABLE_GTK_DOC_TRUE@ @true
#### xml ####
@ENABLE_GTK_DOC_TRUE@sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
@ENABLE_GTK_DOC_TRUE@ @echo '*** Building XML ***'
@ENABLE_GTK_DOC_TRUE@ @-chmod -R u+w $(srcdir)
@ENABLE_GTK_DOC_TRUE@ cd $(srcdir) && \
@ENABLE_GTK_DOC_TRUE@ gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS)
@ENABLE_GTK_DOC_TRUE@ touch sgml-build.stamp
@ENABLE_GTK_DOC_TRUE@sgml.stamp: sgml-build.stamp
@ENABLE_GTK_DOC_TRUE@ @true
#### html ####
@ENABLE_GTK_DOC_TRUE@html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
@ENABLE_GTK_DOC_TRUE@ @echo '*** Building HTML ***'
@ENABLE_GTK_DOC_TRUE@ @-chmod -R u+w $(srcdir)
@ENABLE_GTK_DOC_TRUE@ rm -rf $(srcdir)/html
@ENABLE_GTK_DOC_TRUE@ mkdir $(srcdir)/html
@ENABLE_GTK_DOC_TRUE@ cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
@ENABLE_GTK_DOC_TRUE@ test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
@ENABLE_GTK_DOC_TRUE@ @echo '-- Fixing Crossreferences'
@ENABLE_GTK_DOC_TRUE@ cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
@ENABLE_GTK_DOC_TRUE@ touch html-build.stamp
@ENABLE_GTK_DOC_FALSE@all-local:
##############
clean-local:
rm -f *~ *.bak
rm -rf .libs
maintainer-clean-local: clean
cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
install-data-local:
installfiles=`echo $(srcdir)/html/*`; \
if test "$$installfiles" = '$(srcdir)/html/*'; \
then echo '-- Nothing to install' ; \
else \
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
for i in $$installfiles; do \
echo '-- Installing '$$i ; \
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
done; \
echo '-- Installing $(srcdir)/html/index.sgml' ; \
$(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
fi
uninstall-local:
rm -f $(DESTDIR)$(TARGET_DIR)/*
#
# Require gtk-doc when making dist
#
@ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc:
@ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc:
@ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed and enabled in order to make dist"
@ENABLE_GTK_DOC_FALSE@ @false
# XXX: Before this was:
# dist-hook: dist-check-gtkdoc dist-hook-local
# which seems reasonable, but for some reason the dist-check-gtkdoc
# was always failing on me, even though I do have gtk-doc installed
# and it is successfully building the documentation.
dist-hook: dist-hook-local
mkdir $(distdir)/tmpl
mkdir $(distdir)/xml
mkdir $(distdir)/html
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
-cp $(srcdir)/xml/*.xml $(distdir)/xml
-cp $(srcdir)/html/* $(distdir)/html
.PHONY : dist-hook-local
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

Просмотреть файл

@ -1,31 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<book lang="en" id="libglade" xmlns:xi="http://www.w3.org/2003/XInclude">
<title>Cairo: A Vector Graphics Library</title>
<part>
<title>Tutorial</title>
</part>
<part>
<title>Reference</title>
<xi:include href="xml/cairo.xml"/>
<xi:include href="xml/cairo-surface.xml"/>
<xi:include href="xml/cairo-pattern.xml"/>
<xi:include href="xml/cairo-matrix.xml"/>
<xi:include href="xml/cairo-atsui.xml"/>
<xi:include href="xml/cairo-ft.xml"/>
<xi:include href="xml/cairo-glitz.xml"/>
<xi:include href="xml/cairo-pdf.xml"/>
<xi:include href="xml/cairo-png.xml"/>
<xi:include href="xml/cairo-ps.xml"/>
<xi:include href="xml/cairo-quartz.xml"/>
<xi:include href="xml/cairo-win32.xml"/>
<xi:include href="xml/cairo-xcb.xml"/>
<xi:include href="xml/cairo-xlib.xml"/>
</part>
</book>

Просмотреть файл

Просмотреть файл

@ -1,251 +0,0 @@
<SECTION>
<FILE>cairo-atsui</FILE>
<TITLE>ATSUI Fonts</TITLE>
cairo_atsui_font_create
</SECTION>
<SECTION>
<FILE>cairo-ft</FILE>
<TITLE>FreeType Fonts</TITLE>
cairo_ft_font_create
cairo_ft_font_create_for_ft_face
cairo_ft_font_lock_face
cairo_ft_font_unlock_face
cairo_ft_font_get_pattern
</SECTION>
<SECTION>
<FILE>cairo-glitz</FILE>
<TITLE>Glitz backend</TITLE>
cairo_set_target_glitz
cairo_glitz_surface_create
</SECTION>
<SECTION>
<FILE>cairo-pdf</FILE>
<TITLE>PDF Backend</TITLE>
cairo_set_target_pdf
cairo_pdf_surface_create
</SECTION>
<SECTION>
<FILE>cairo-png</FILE>
<TITLE>PNG Backend</TITLE>
cairo_set_target_png
cairo_png_surface_create
</SECTION>
<SECTION>
<FILE>cairo-ps</FILE>
<TITLE>PS Backend</TITLE>
cairo_set_target_ps
cairo_ps_surface_create
</SECTION>
<SECTION>
<FILE>cairo-quartz</FILE>
<TITLE>Quartz Backend</TITLE>
cairo_set_target_quartz_context
cairo_quartz_surface_create
</SECTION>
<SECTION>
<FILE>cairo-win32</FILE>
<TITLE>Microsoft Windows Backend</TITLE>
cairo_set_target_win32
cairo_win32_surface_create
cairo_win32_font_create_for_logfontw
cairo_win32_font_select_font
cairo_win32_font_done_font
cairo_win32_font_get_scale_factor
</SECTION>
<SECTION>
<FILE>cairo-xcb</FILE>
<TITLE>XCB Backend</TITLE>
cairo_set_target_xcb
</SECTION>
<SECTION>
<FILE>cairo-xlib</FILE>
<TITLE>XLib Backend</TITLE>
cairo_set_target_drawable
cairo_xlib_surface_create
</SECTION>
<SECTION>
<FILE>cairo-surface</FILE>
<TITLE>cairo_surface_t</TITLE>
cairo_surface_t
cairo_surface_create_for_image
cairo_surface_create_similar
cairo_surface_reference
cairo_surface_destroy
cairo_surface_set_repeat
cairo_surface_set_matrix
cairo_surface_get_matrix
cairo_surface_set_filter
cairo_surface_get_filter
</SECTION>
<SECTION>
<FILE>cairo-pattern</FILE>
<TITLE>cairo_pattern_t</TITLE>
cairo_pattern_t
cairo_pattern_create_for_surface
cairo_pattern_create_linear
cairo_pattern_create_radial
cairo_pattern_reference
cairo_pattern_destroy
cairo_pattern_add_color_stop
cairo_pattern_set_matrix
cairo_pattern_get_matrix
cairo_extend_t
cairo_pattern_set_extend
cairo_pattern_get_extend
cairo_pattern_set_filter
cairo_pattern_get_filter
</SECTION>
<SECTION>
<FILE>cairo-matrix</FILE>
<TITLE>cairo_matrix_t</TITLE>
cairo_matrix_t
cairo_matrix_create
cairo_matrix_destroy
cairo_matrix_copy
cairo_matrix_set_identity
cairo_matrix_set_affine
cairo_matrix_get_affine
cairo_matrix_translate
cairo_matrix_scale
cairo_matrix_rotate
cairo_matrix_invert
cairo_matrix_multiply
cairo_matrix_transform_distance
cairo_matrix_transform_point
</SECTION>
<SECTION>
<FILE>cairo</FILE>
<TITLE>cairo_t</TITLE>
cairo_t
cairo_create
cairo_reference
cairo_destroy
cairo_save
cairo_restore
cairo_copy
cairo_set_target_surface
cairo_format_t
cairo_set_target_image
cairo_operator_t
cairo_set_operator
cairo_set_rgb_color
cairo_set_pattern
cairo_set_alpha
cairo_set_tolerance
cairo_fill_rule_t
cairo_set_fill_rule
cairo_set_line_width
cairo_line_cap_t
cairo_set_line_cap
cairo_line_join_t
cairo_set_line_join
cairo_set_dash
cairo_set_miter_limit
cairo_translate
cairo_scale
cairo_rotate
cairo_concat_matrix
cairo_set_matrix
cairo_default_matrix
cairo_identity_matrix
cairo_transform_point
cairo_transform_distance
cairo_inverse_transform_point
cairo_inverse_transform_distance
cairo_new_path
cairo_move_to
cairo_line_to
cairo_curve_to
cairo_arc
cairo_arc_negative
cairo_rel_move_to
cairo_rel_line_to
cairo_rel_curve_to
cairo_rectangle
cairo_close_path
cairo_stroke
cairo_fill
cairo_copy_page
cairo_show_page
cairo_in_stroke
cairo_in_fill
cairo_bool_t
cairo_stroke_extents
cairo_fill_extents
cairo_init_clip
cairo_clip
cairo_font_t
cairo_glyph_t
cairo_text_extents_t
cairo_font_extents_t
cairo_font_slant_t
cairo_font_weight_t
cairo_select_font
cairo_scale_font
cairo_transform_font
cairo_show_text
cairo_show_glyphs
cairo_current_font
cairo_current_font_extents
cairo_set_font
cairo_text_extents
cairo_glyph_extents
cairo_text_path
cairo_glyph_path
cairo_font_reference
cairo_font_destroy
cairo_font_extents
cairo_font_glyph_extents
cairo_show_surface
cairo_current_operator
cairo_current_rgb_color
cairo_current_pattern
cairo_current_alpha
cairo_current_tolerance
cairo_current_point
cairo_current_fill_rule
cairo_current_line_width
cairo_current_line_cap
cairo_current_line_join
cairo_current_miter_limit
cairo_current_matrix
cairo_current_target_surface
cairo_current_path
cairo_current_path_flat
cairo_status_t
cairo_status
cairo_status_string
cairo_filter_t
cairo_image_surface_create
cairo_image_surface_create_for_data
<SUBSECTION Private>
CAIRO_BEGIN_DECLS
CAIRO_END_DECLS
cairo_get_operator
cairo_get_rgb_color
cairo_get_alpha
cairo_get_tolerance
cairo_get_current_point
cairo_get_fill_rule
cairo_get_line_width
cairo_get_line_cap
cairo_get_line_join
cairo_get_miter_limit
cairo_get_matrix
cairo_get_target_surface
cairo_get_status
cairo_get_status_string
</SECTION>

Просмотреть файл

Просмотреть файл

@ -1,14 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>ATSUI Fonts</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-cairo-matrix-t.html" title="cairo_matrix_t"><link rel="next" href="cairo-FreeType-Fonts.html" title="FreeType Fonts"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-cairo-matrix-t.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-FreeType-Fonts.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="cairo-ATSUI-Fonts"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">ATSUI Fonts</span></h2><p>ATSUI Fonts &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a>* <a href="cairo-ATSUI-Fonts.html#cairo-atsui-font-create">cairo_atsui_font_create</a> (ATSUStyle style);
</pre></div><div class="refsect1" lang="en"><a name="id2707012"></a><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><a name="id2698366"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2714083"></a><h3><a name="cairo-atsui-font-create"></a>cairo_atsui_font_create ()</h3><a class="indexterm" name="id2716792"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a>* cairo_atsui_font_create (ATSUStyle style);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>style</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-cairo-matrix-t.html"><b>&lt;&lt; cairo_matrix_t</b></a></td><td align="right"><a accesskey="n" href="cairo-FreeType-Fonts.html"><b>FreeType Fonts &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1,114 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>FreeType Fonts</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-ATSUI-Fonts.html" title="ATSUI Fonts"><link rel="next" href="cairo-Glitz-backend.html" title="Glitz backend"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-ATSUI-Fonts.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-Glitz-backend.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="cairo-FreeType-Fonts"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">FreeType Fonts</span></h2><p>FreeType Fonts &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a>* <a href="cairo-FreeType-Fonts.html#cairo-ft-font-create">cairo_ft_font_create</a> (FcPattern *pattern,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *scale);
<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a>* <a href="cairo-FreeType-Fonts.html#cairo-ft-font-create-for-ft-face">cairo_ft_font_create_for_ft_face</a>
(FT_Face face,
int load_flags,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *scale);
FT_Face <a href="cairo-FreeType-Fonts.html#cairo-ft-font-lock-face">cairo_ft_font_lock_face</a> (<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a> *ft_font);
void <a href="cairo-FreeType-Fonts.html#cairo-ft-font-unlock-face">cairo_ft_font_unlock_face</a> (<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a> *ft_font);
FcPattern* <a href="cairo-FreeType-Fonts.html#cairo-ft-font-get-pattern">cairo_ft_font_get_pattern</a> (<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a> *ft_font);
</pre></div><div class="refsect1" lang="en"><a name="id2733938"></a><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><a name="id2733947"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2733953"></a><h3><a name="cairo-ft-font-create"></a>cairo_ft_font_create ()</h3><a class="indexterm" name="id2733961"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a>* cairo_ft_font_create (FcPattern *pattern,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *scale);</pre><p>
Creates a new font for the FreeType font backend based on a
fontconfig pattern. This font can then be used with
<a href="cairo-cairo-t.html#cairo-set-font"><tt class="function">cairo_set_font()</tt></a>, <a href="cairo-cairo-t.html#cairo-font-glyph-extents"><tt class="function">cairo_font_glyph_extents()</tt></a>, or FreeType backend
specific functions like <a href="cairo-FreeType-Fonts.html#cairo-ft-font-lock-face"><tt class="function">cairo_ft_font_lock_face()</tt></a>.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>pattern</tt></i> :</span></td><td> A fully resolved fontconfig
pattern. A pattern can be resolved, by, among other things, calling
<tt class="function">FcConfigSubstitute()</tt>, <tt class="function">FcDefaultSubstitute()</tt>, then
<tt class="function">FcFontMatch()</tt>. Cairo will call <tt class="function">FcPatternReference()</tt> on this
pattern, so you should not further modify the pattern, but you can
release your reference to the pattern with <tt class="function">FcPatternDestroy()</tt> if
you no longer need to access it.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>scale</tt></i> :</span></td><td> The scale at which this font will be used. The
scale is given by multiplying the font matrix (see
<a href="cairo-cairo-t.html#cairo-transform-font"><tt class="function">cairo_transform_font()</tt></a>) by the current transformation matrix.
The translation elements of the resulting matrix are ignored.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a newly created <a href="cairo-cairo-t.html#cairo-font-t"><span class="type">cairo_font_t</span></a>. Free with
<a href="cairo-cairo-t.html#cairo-font-destroy"><tt class="function">cairo_font_destroy()</tt></a> when you are done using it.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2718712"></a><h3><a name="cairo-ft-font-create-for-ft-face"></a>cairo_ft_font_create_for_ft_face ()</h3><a class="indexterm" name="id2718720"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a>* cairo_ft_font_create_for_ft_face
(FT_Face face,
int load_flags,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *scale);</pre><p>
Creates a new font forthe FreeType font backend from a pre-opened
FreeType face. This font can then be used with <a href="cairo-cairo-t.html#cairo-set-font"><tt class="function">cairo_set_font()</tt></a>,
<a href="cairo-cairo-t.html#cairo-font-glyph-extents"><tt class="function">cairo_font_glyph_extents()</tt></a>, or FreeType backend specific
functions like <a href="cairo-FreeType-Fonts.html#cairo-ft-font-lock-face"><tt class="function">cairo_ft_font_lock_face()</tt></a> Cairo will determine the
pixel size and transformation from the <i class="parameter"><tt>scale</tt></i> parameter and call
<tt class="function">FT_Set_Transform()</tt> and <tt class="function">FT_Set_Pixel_Sizes()</tt>.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>face</tt></i> :</span></td><td> A FreeType face object, already opened. This must
be kept around until the font object's refcount drops to
zero and it is freed. The font object can be kept alive by
internal caching, so it's safest to keep the face object
around forever.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>load_flags</tt></i> :</span></td><td> The flags to pass to FT_Load_Glyph when loading
glyphs from the font. These flags control aspects of
rendering such as hinting and antialiasing. See the FreeType
docs for full information.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>scale</tt></i> :</span></td><td> The scale at which this font will be used. The
scale is given by multiplying the font matrix (see
<a href="cairo-cairo-t.html#cairo-transform-font"><tt class="function">cairo_transform_font()</tt></a>) by the current transformation matrix.
The translation elements of the resulting matrix are ignored.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a newly created <a href="cairo-cairo-t.html#cairo-font-t"><span class="type">cairo_font_t</span></a>. Free with
<a href="cairo-cairo-t.html#cairo-font-destroy"><tt class="function">cairo_font_destroy()</tt></a> when you are done using it.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2741214"></a><h3><a name="cairo-ft-font-lock-face"></a>cairo_ft_font_lock_face ()</h3><a class="indexterm" name="id2741222"></a><pre class="programlisting">FT_Face cairo_ft_font_lock_face (<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a> *ft_font);</pre><p>
<a href="cairo-FreeType-Fonts.html#cairo-ft-font-lock-face"><tt class="function">cairo_ft_font_lock_face()</tt></a> gets the <span class="type">FT_Face</span> object from a FreeType
backend font and scales it appropriately for the font. You must
release the face with <a href="cairo-FreeType-Fonts.html#cairo-ft-font-unlock-face"><tt class="function">cairo_ft_font_unlock_face()</tt></a>
when you are done using it. Since the <span class="type">FT_Face</span> object can be
shared between multiple <a href="cairo-cairo-t.html#cairo-font-t"><span class="type">cairo_font_t</span></a> objects, you must not
lock any other font objects until you unlock this one. A count is
kept of the number of times <a href="cairo-FreeType-Fonts.html#cairo-ft-font-lock-face"><tt class="function">cairo_ft_font_lock_face()</tt></a> is
called. <a href="cairo-FreeType-Fonts.html#cairo-ft-font-unlock-face"><tt class="function">cairo_ft_font_unlock_face()</tt></a> must be called the same number
of times.
</p><p>
You must be careful when using this function in a library or in a
threaded application, because other threads may lock faces that
share the same <span class="type">FT_Face</span> object. For this reason, you must call
<tt class="function">cairo_ft_lock()</tt> before locking any face objects, and
<tt class="function">cairo_ft_unlock()</tt> after you are done. (These functions are not yet
implemented, so this function cannot be currently safely used in a
threaded application.)</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>ft_font</tt></i> :</span></td><td> A <a href="cairo-cairo-t.html#cairo-font-t"><span class="type">cairo_font_t</span></a> from the FreeType font backend. Such an
object can be created with <a href="cairo-FreeType-Fonts.html#cairo-ft-font-create"><tt class="function">cairo_ft_font_create()</tt></a> or
<a href="cairo-FreeType-Fonts.html#cairo-ft-font-create-for-ft-face"><tt class="function">cairo_ft_font_create_for_ft_face()</tt></a>. On some platforms the font from
<a href="cairo-cairo-t.html#cairo-current-font"><tt class="function">cairo_current_font()</tt></a> will also be a FreeType font, but using this
functionality with fonts you don't create yourself is not
recommended.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> The <span class="type">FT_Face</span> object for <i class="parameter"><tt>font</tt></i>, scaled appropriately.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2737382"></a><h3><a name="cairo-ft-font-unlock-face"></a>cairo_ft_font_unlock_face ()</h3><a class="indexterm" name="id2737391"></a><pre class="programlisting">void cairo_ft_font_unlock_face (<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a> *ft_font);</pre><p>
Releases a face obtained with <a href="cairo-FreeType-Fonts.html#cairo-ft-font-lock-face"><tt class="function">cairo_ft_font_lock_face()</tt></a>. See the
documentation for that function for full details.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>ft_font</tt></i> :</span></td><td> A <a href="cairo-cairo-t.html#cairo-font-t"><span class="type">cairo_font_t</span></a> from the FreeType font backend. Such an
object can be created with <a href="cairo-FreeType-Fonts.html#cairo-ft-font-create"><tt class="function">cairo_ft_font_create()</tt></a> or
<a href="cairo-FreeType-Fonts.html#cairo-ft-font-create-for-ft-face"><tt class="function">cairo_ft_font_create_for_ft_face()</tt></a>. On some platforms the font from
<a href="cairo-cairo-t.html#cairo-current-font"><tt class="function">cairo_current_font()</tt></a> will also be a FreeType font, but using this
functionality with fonts you don't create yourself is not
recommended.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2737467"></a><h3><a name="cairo-ft-font-get-pattern"></a>cairo_ft_font_get_pattern ()</h3><a class="indexterm" name="id2737476"></a><pre class="programlisting">FcPattern* cairo_ft_font_get_pattern (<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a> *ft_font);</pre><p>
<a href="cairo-FreeType-Fonts.html#cairo-ft-font-get-pattern"><tt class="function">cairo_ft_font_get_pattern()</tt></a> gets the <span class="type">FcPattern</span> for a FreeType
backend font.
</p><p>
Return value: The <span class="type">FcPattenr</span> for <i class="parameter"><tt>font</tt></i>. The return value is owned
by the font, so you must not modify it, and must call
<tt class="function">FcPatternReference()</tt> to keep a persistant reference to the
pattern. If the font was created with <a href="cairo-FreeType-Fonts.html#cairo-ft-font-create-for-ft-face"><tt class="function">cairo_ft_font_create_for_ft_face()</tt></a></p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>ft_font</tt></i> :</span></td><td> A <a href="cairo-cairo-t.html#cairo-font-t"><span class="type">cairo_font_t</span></a> from the FreeType font backend. Such an
object can be created with <a href="cairo-FreeType-Fonts.html#cairo-ft-font-create"><tt class="function">cairo_ft_font_create()</tt></a> or
<a href="cairo-FreeType-Fonts.html#cairo-ft-font-create-for-ft-face"><tt class="function">cairo_ft_font_create_for_ft_face()</tt></a>. On some platforms the font from
<a href="cairo-cairo-t.html#cairo-current-font"><tt class="function">cairo_current_font()</tt></a> will also be a FreeType font, but using this
functionality with fonts you don't create yourself is not
recommended.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td><tt class="literal">NULL</tt>.
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-ATSUI-Fonts.html"><b>&lt;&lt; ATSUI Fonts</b></a></td><td align="right"><a accesskey="n" href="cairo-Glitz-backend.html"><b>Glitz backend &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1,23 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Glitz backend</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-FreeType-Fonts.html" title="FreeType Fonts"><link rel="next" href="cairo-PDF-Backend.html" title="PDF Backend"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-FreeType-Fonts.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-PDF-Backend.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="cairo-Glitz-backend"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">Glitz backend</span></h2><p>Glitz backend &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
void <a href="cairo-Glitz-backend.html#cairo-set-target-glitz">cairo_set_target_glitz</a> (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
glitz_surface_t *surface);
<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a href="cairo-Glitz-backend.html#cairo-glitz-surface-create">cairo_glitz_surface_create</a> (glitz_surface_t *surface);
</pre></div><div class="refsect1" lang="en"><a name="id2691367"></a><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><a name="id2696554"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2696559"></a><h3><a name="cairo-set-target-glitz"></a>cairo_set_target_glitz ()</h3><a class="indexterm" name="id2696567"></a><pre class="programlisting">void cairo_set_target_glitz (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
glitz_surface_t *surface);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>cr</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>surface</tt></i> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2741449"></a><h3><a name="cairo-glitz-surface-create"></a>cairo_glitz_surface_create ()</h3><a class="indexterm" name="id2741458"></a><pre class="programlisting"><a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_glitz_surface_create (glitz_surface_t *surface);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>surface</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-FreeType-Fonts.html"><b>&lt;&lt; FreeType Fonts</b></a></td><td align="right"><a accesskey="n" href="cairo-PDF-Backend.html"><b>PDF Backend &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1,83 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Microsoft Windows Backend</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-Quartz-Backend.html" title="Quartz Backend"><link rel="next" href="cairo-XCB-Backend.html" title="XCB Backend"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-Quartz-Backend.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-XCB-Backend.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="cairo-Microsoft-Windows-Backend"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">Microsoft Windows Backend</span></h2><p>Microsoft Windows Backend &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
void <a href="cairo-Microsoft-Windows-Backend.html#cairo-set-target-win32">cairo_set_target_win32</a> (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
HDC hdc);
<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a href="cairo-Microsoft-Windows-Backend.html#cairo-win32-surface-create">cairo_win32_surface_create</a> (HDC hdc);
<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a>* <a href="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-create-for-logfontw">cairo_win32_font_create_for_logfontw</a>
(LOGFONTW *logfont,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *scale);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-select-font">cairo_win32_font_select_font</a> (<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a> *font,
HDC hdc);
void <a href="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-done-font">cairo_win32_font_done_font</a> (<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a> *font);
double <a href="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-get-scale-factor">cairo_win32_font_get_scale_factor</a>
(<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a> *font);
</pre></div><div class="refsect1" lang="en"><a name="id2731014"></a><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><a name="id2731024"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2731029"></a><h3><a name="cairo-set-target-win32"></a>cairo_set_target_win32 ()</h3><a class="indexterm" name="id2731038"></a><pre class="programlisting">void cairo_set_target_win32 (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
HDC hdc);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>cr</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>hdc</tt></i> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2731088"></a><h3><a name="cairo-win32-surface-create"></a>cairo_win32_surface_create ()</h3><a class="indexterm" name="id2731096"></a><pre class="programlisting"><a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_win32_surface_create (HDC hdc);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>hdc</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2735228"></a><h3><a name="cairo-win32-font-create-for-logfontw"></a>cairo_win32_font_create_for_logfontw ()</h3><a class="indexterm" name="id2735236"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a>* cairo_win32_font_create_for_logfontw
(LOGFONTW *logfont,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *scale);</pre><p>
Creates a new font for the Win32 font backend based on a
<span class="type">LOGFONT</span>. This font can then be used with
<a href="cairo-cairo-t.html#cairo-set-font"><tt class="function">cairo_set_font()</tt></a>, <a href="cairo-cairo-t.html#cairo-font-glyph-extents"><tt class="function">cairo_font_glyph_extents()</tt></a>, or FreeType backend
specific functions like <a href="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-select-font"><tt class="function">cairo_win32_font_select_font()</tt></a>.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>logfont</tt></i> :</span></td><td> A <span class="type">LOGFONTW</span> structure specifying the font to use.
The lfHeight, lfWidth, lfOrientation and lfEscapement
fields of this structure are ignored; information from
<i class="parameter"><tt>scale</tt></i> will be used instead.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>scale</tt></i> :</span></td><td> The scale at which this font will be used. The
scale is given by multiplying the font matrix (see
<a href="cairo-cairo-t.html#cairo-transform-font"><tt class="function">cairo_transform_font()</tt></a>) by the current transformation matrix.
The translation elements of the resulting matrix are ignored.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a newly created <a href="cairo-cairo-t.html#cairo-font-t"><span class="type">cairo_font_t</span></a>. Free with
<a href="cairo-cairo-t.html#cairo-font-destroy"><tt class="function">cairo_font_destroy()</tt></a> when you are done using it.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2680481"></a><h3><a name="cairo-win32-font-select-font"></a>cairo_win32_font_select_font ()</h3><a class="indexterm" name="id2680492"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_win32_font_select_font (<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a> *font,
HDC hdc);</pre><p>
Selects the font into the given device context and changes the
map mode and world transformation of the device context to match
that of the font. This function is intended for use when using
layout APIs such as Uniscribe to do text layout with the
Cairo font. After finishing using the device context, you must call
<a href="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-done-font"><tt class="function">cairo_win32_font_done_font()</tt></a> to release any resources allocated
by this function.
</p><p>
See <a href="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-get-scale-factor"><tt class="function">cairo_win32_font_get_scale_factor()</tt></a> for converting logical
coordinates from the device context to font space.
</p><p>
Normally, calls to <tt class="function">SaveDC()</tt> and <tt class="function">RestoreDC()</tt> would be made around
the use of this function to preserve the original graphics state.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>font</tt></i> :</span></td><td> A <a href="cairo-cairo-t.html#cairo-font-t"><span class="type">cairo_font_t</span></a> from the Win32 font backend. Such an
object can be created with <a href="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-create-for-logfontw"><tt class="function">cairo_win32_font_create_for_logfontw()</tt></a>.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>hdc</tt></i> :</span></td><td> a device context
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">CAIRO_STATUS_SUCCESS</tt> if the operation succeeded.
otherwise an error such as <tt class="literal">CAIRO_STATUS_NO_MEMORY</tt> and
the device context is unchanged.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2680622"></a><h3><a name="cairo-win32-font-done-font"></a>cairo_win32_font_done_font ()</h3><a class="indexterm" name="id2680631"></a><pre class="programlisting">void cairo_win32_font_done_font (<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a> *font);</pre><p>
Releases any resources allocated by <a href="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-select-font"><tt class="function">cairo_win32_font_select_font()</tt></a></p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>font</tt></i> :</span></td><td> A <a href="cairo-cairo-t.html#cairo-font-t"><span class="type">cairo_font_t</span></a> from the Win32 font backend.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2680683"></a><h3><a name="cairo-win32-font-get-scale-factor"></a>cairo_win32_font_get_scale_factor ()</h3><a class="indexterm" name="id2680695"></a><pre class="programlisting">double cairo_win32_font_get_scale_factor
(<a href="cairo-cairo-t.html#cairo-font-t">cairo_font_t</a> *font);</pre><p>
Gets a scale factor between logical coordinates in the coordinate
space used by <a href="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-select-font"><tt class="function">cairo_win32_font_select_font()</tt></a> and font space coordinates.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>font</tt></i> :</span></td><td> a <a href="cairo-cairo-t.html#cairo-font-t"><span class="type">cairo_font_t</span></a> from the Win32 font backend
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> factor to multiply logical units by to get font space
coordinates.
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-Quartz-Backend.html"><b>&lt;&lt; Quartz Backend</b></a></td><td align="right"><a accesskey="n" href="cairo-XCB-Backend.html"><b>XCB Backend &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1,47 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>PDF Backend</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-Glitz-backend.html" title="Glitz backend"><link rel="next" href="cairo-PNG-Backend.html" title="PNG Backend"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-Glitz-backend.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-PNG-Backend.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="cairo-PDF-Backend"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">PDF Backend</span></h2><p>PDF Backend &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
void <a href="cairo-PDF-Backend.html#cairo-set-target-pdf">cairo_set_target_pdf</a> (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
FILE *file,
double width_inches,
double height_inches,
double x_pixels_per_inch,
double y_pixels_per_inch);
<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a href="cairo-PDF-Backend.html#cairo-pdf-surface-create">cairo_pdf_surface_create</a> (FILE *file,
double width_inches,
double height_inches,
double x_pixels_per_inch,
double y_pixels_per_inch);
</pre></div><div class="refsect1" lang="en"><a name="id2736241"></a><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><a name="id2736251"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2736256"></a><h3><a name="cairo-set-target-pdf"></a>cairo_set_target_pdf ()</h3><a class="indexterm" name="id2736264"></a><pre class="programlisting">void cairo_set_target_pdf (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
FILE *file,
double width_inches,
double height_inches,
double x_pixels_per_inch,
double y_pixels_per_inch);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>cr</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>file</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>width_inches</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>height_inches</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x_pixels_per_inch</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y_pixels_per_inch</tt></i> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2720822"></a><h3><a name="cairo-pdf-surface-create"></a>cairo_pdf_surface_create ()</h3><a class="indexterm" name="id2720830"></a><pre class="programlisting"><a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_pdf_surface_create (FILE *file,
double width_inches,
double height_inches,
double x_pixels_per_inch,
double y_pixels_per_inch);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>file</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>width_inches</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>height_inches</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x_pixels_per_inch</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y_pixels_per_inch</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-Glitz-backend.html"><b>&lt;&lt; Glitz backend</b></a></td><td align="right"><a accesskey="n" href="cairo-PNG-Backend.html"><b>PNG Backend &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1,41 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>PNG Backend</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-PDF-Backend.html" title="PDF Backend"><link rel="next" href="cairo-PS-Backend.html" title="PS Backend"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-PDF-Backend.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-PS-Backend.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="cairo-PNG-Backend"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">PNG Backend</span></h2><p>PNG Backend &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
void <a href="cairo-PNG-Backend.html#cairo-set-target-png">cairo_set_target_png</a> (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
FILE *file,
<a href="cairo-cairo-t.html#cairo-format-t">cairo_format_t</a> format,
int width,
int height);
<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a href="cairo-PNG-Backend.html#cairo-png-surface-create">cairo_png_surface_create</a> (FILE *file,
<a href="cairo-cairo-t.html#cairo-format-t">cairo_format_t</a> format,
int width,
int height);
</pre></div><div class="refsect1" lang="en"><a name="id2730876"></a><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><a name="id2730885"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2730891"></a><h3><a name="cairo-set-target-png"></a>cairo_set_target_png ()</h3><a class="indexterm" name="id2730899"></a><pre class="programlisting">void cairo_set_target_png (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
FILE *file,
<a href="cairo-cairo-t.html#cairo-format-t">cairo_format_t</a> format,
int width,
int height);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>cr</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>file</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>format</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>width</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>height</tt></i> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2742406"></a><h3><a name="cairo-png-surface-create"></a>cairo_png_surface_create ()</h3><a class="indexterm" name="id2742414"></a><pre class="programlisting"><a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_png_surface_create (FILE *file,
<a href="cairo-cairo-t.html#cairo-format-t">cairo_format_t</a> format,
int width,
int height);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>file</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>format</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>width</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>height</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-PDF-Backend.html"><b>&lt;&lt; PDF Backend</b></a></td><td align="right"><a accesskey="n" href="cairo-PS-Backend.html"><b>PS Backend &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1,51 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>PS Backend</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-PNG-Backend.html" title="PNG Backend"><link rel="next" href="cairo-Quartz-Backend.html" title="Quartz Backend"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-PNG-Backend.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-Quartz-Backend.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="cairo-PS-Backend"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">PS Backend</span></h2><p>PS Backend &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
void <a href="cairo-PS-Backend.html#cairo-set-target-ps">cairo_set_target_ps</a> (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
FILE *file,
double width_inches,
double height_inches,
double x_pixels_per_inch,
double y_pixels_per_inch);
<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a href="cairo-PS-Backend.html#cairo-ps-surface-create">cairo_ps_surface_create</a> (FILE *file,
double width_inches,
double height_inches,
double x_pixels_per_inch,
double y_pixels_per_inch);
</pre></div><div class="refsect1" lang="en"><a name="id2742152"></a><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><a name="id2742161"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2742167"></a><h3><a name="cairo-set-target-ps"></a>cairo_set_target_ps ()</h3><a class="indexterm" name="id2742175"></a><pre class="programlisting">void cairo_set_target_ps (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
FILE *file,
double width_inches,
double height_inches,
double x_pixels_per_inch,
double y_pixels_per_inch);</pre><p>
Directs output for a <a href="cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> to a postscript file. The file must
be kept open until the <a href="cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> is destroyed or set to have a
different target, and then must be closed by the application.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>cr</tt></i> :</span></td><td> a <a href="cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>file</tt></i> :</span></td><td> an open, writeable file
</td></tr><tr><td><span class="term"><i class="parameter"><tt>width_inches</tt></i> :</span></td><td> width of the output page, in inches
</td></tr><tr><td><span class="term"><i class="parameter"><tt>height_inches</tt></i> :</span></td><td> height of the output page, in inches
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x_pixels_per_inch</tt></i> :</span></td><td> X resolution to use for image fallbacks;
not all Cairo drawing can be represented in a postscript
file, so Cairo will write out images for some portions
of the output.
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y_pixels_per_inch</tt></i> :</span></td><td> Y resolution to use for image fallbacks.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2741578"></a><h3><a name="cairo-ps-surface-create"></a>cairo_ps_surface_create ()</h3><a class="indexterm" name="id2741587"></a><pre class="programlisting"><a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_ps_surface_create (FILE *file,
double width_inches,
double height_inches,
double x_pixels_per_inch,
double y_pixels_per_inch);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>file</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>width_inches</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>height_inches</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x_pixels_per_inch</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y_pixels_per_inch</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-PNG-Backend.html"><b>&lt;&lt; PNG Backend</b></a></td><td align="right"><a accesskey="n" href="cairo-Quartz-Backend.html"><b>Quartz Backend &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1,37 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Quartz Backend</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-PS-Backend.html" title="PS Backend"><link rel="next" href="cairo-Microsoft-Windows-Backend.html" title="Microsoft Windows Backend"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-PS-Backend.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-Microsoft-Windows-Backend.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="cairo-Quartz-Backend"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">Quartz Backend</span></h2><p>Quartz Backend &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
void <a href="cairo-Quartz-Backend.html#cairo-set-target-quartz-context">cairo_set_target_quartz_context</a> (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
CGContextRef context,
int width,
int height);
<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a href="cairo-Quartz-Backend.html#cairo-quartz-surface-create">cairo_quartz_surface_create</a>
(CGContextRef context,
int width,
int height);
</pre></div><div class="refsect1" lang="en"><a name="id2719460"></a><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><a name="id2719470"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2719475"></a><h3><a name="cairo-set-target-quartz-context"></a>cairo_set_target_quartz_context ()</h3><a class="indexterm" name="id2719484"></a><pre class="programlisting">void cairo_set_target_quartz_context (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
CGContextRef context,
int width,
int height);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>cr</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>context</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>width</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>height</tt></i> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2718783"></a><h3><a name="cairo-quartz-surface-create"></a>cairo_quartz_surface_create ()</h3><a class="indexterm" name="id2718791"></a><pre class="programlisting"><a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_quartz_surface_create
(CGContextRef context,
int width,
int height);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>context</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>width</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>height</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-PS-Backend.html"><b>&lt;&lt; PS Backend</b></a></td><td align="right"><a accesskey="n" href="cairo-Microsoft-Windows-Backend.html"><b>Microsoft Windows Backend &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1,25 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>XCB Backend</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-Microsoft-Windows-Backend.html" title="Microsoft Windows Backend"><link rel="next" href="cairo-XLib-Backend.html" title="XLib Backend"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-Microsoft-Windows-Backend.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-XLib-Backend.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="cairo-XCB-Backend"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">XCB Backend</span></h2><p>XCB Backend &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
void <a href="cairo-XCB-Backend.html#cairo-set-target-xcb">cairo_set_target_xcb</a> (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
XCBConnection *dpy,
XCBDRAWABLE drawable,
XCBVISUALTYPE *visual,
<a href="cairo-cairo-t.html#cairo-format-t">cairo_format_t</a> format);
</pre></div><div class="refsect1" lang="en"><a name="id2731419"></a><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><a name="id2682143"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2682148"></a><h3><a name="cairo-set-target-xcb"></a>cairo_set_target_xcb ()</h3><a class="indexterm" name="id2682156"></a><pre class="programlisting">void cairo_set_target_xcb (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
XCBConnection *dpy,
XCBDRAWABLE drawable,
XCBVISUALTYPE *visual,
<a href="cairo-cairo-t.html#cairo-format-t">cairo_format_t</a> format);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>cr</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>dpy</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>drawable</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>visual</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>format</tt></i> :</span></td><td>
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-Microsoft-Windows-Backend.html"><b>&lt;&lt; Microsoft Windows Backend</b></a></td><td align="right"><a accesskey="n" href="cairo-XLib-Backend.html"><b>XLib Backend &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1,45 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>XLib Backend</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-XCB-Backend.html" title="XCB Backend"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-XCB-Backend.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th></tr></table><div class="refentry" lang="en"><a name="cairo-XLib-Backend"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">XLib Backend</span></h2><p>XLib Backend &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
void <a href="cairo-XLib-Backend.html#cairo-set-target-drawable">cairo_set_target_drawable</a> (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
Display *dpy,
Drawable drawable);
<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a href="cairo-XLib-Backend.html#cairo-xlib-surface-create">cairo_xlib_surface_create</a> (Display *dpy,
Drawable drawable,
Visual *visual,
<a href="cairo-cairo-t.html#cairo-format-t">cairo_format_t</a> format,
Colormap colormap);
</pre></div><div class="refsect1" lang="en"><a name="id2739388"></a><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><a name="id2739397"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2739403"></a><h3><a name="cairo-set-target-drawable"></a>cairo_set_target_drawable ()</h3><a class="indexterm" name="id2739411"></a><pre class="programlisting">void cairo_set_target_drawable (<a href="cairo-cairo-t.html#cairo-t">cairo_t</a> *cr,
Display *dpy,
Drawable drawable);</pre><p>
Directs output for a <a href="cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> to an Xlib drawable. <i class="parameter"><tt>drawable</tt></i> must
be a Window or Pixmap on the default screen of <i class="parameter"><tt>dpy</tt></i> using the
default colormap and visual. Using this function is slow because
the function must retrieve information about <i class="parameter"><tt>drawable</tt></i> from the X
server.
The combination of <a href="cairo-XLib-Backend.html#cairo-xlib-surface-create"><tt class="function">cairo_xlib_surface_create()</tt></a> and
<a href="cairo-cairo-t.html#cairo-set-target-surface"><tt class="function">cairo_set_target_surface()</tt></a> is somewhat more flexible, although
it still is slow.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>cr</tt></i> :</span></td><td> a <a href="cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>dpy</tt></i> :</span></td><td> an X display
</td></tr><tr><td><span class="term"><i class="parameter"><tt>drawable</tt></i> :</span></td><td> a window or pixmap on the default screen of <i class="parameter"><tt>dpy</tt></i>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2681239"></a><h3><a name="cairo-xlib-surface-create"></a>cairo_xlib_surface_create ()</h3><a class="indexterm" name="id2681247"></a><pre class="programlisting"><a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_xlib_surface_create (Display *dpy,
Drawable drawable,
Visual *visual,
<a href="cairo-cairo-t.html#cairo-format-t">cairo_format_t</a> format,
Colormap colormap);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>dpy</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>drawable</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>visual</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>format</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>colormap</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-XCB-Backend.html"><b>&lt;&lt; XCB Backend</b></a></td><td align="right"></td></tr></table></body></html>

Просмотреть файл

@ -1,220 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>cairo_matrix_t</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-cairo-pattern-t.html" title="cairo_pattern_t"><link rel="next" href="cairo-ATSUI-Fonts.html" title="ATSUI Fonts"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-cairo-pattern-t.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-ATSUI-Fonts.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="cairo-cairo-matrix-t"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">cairo_matrix_t</span></h2><p>cairo_matrix_t &#8212;
Transformation matrices</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
typedef <a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a>;
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a>* <a href="cairo-cairo-matrix-t.html#cairo-matrix-create">cairo_matrix_create</a> (void);
void <a href="cairo-cairo-matrix-t.html#cairo-matrix-destroy">cairo_matrix_destroy</a> (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-matrix-t.html#cairo-matrix-copy">cairo_matrix_copy</a> (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
const <a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *other);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-matrix-t.html#cairo-matrix-set-identity">cairo_matrix_set_identity</a> (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-matrix-t.html#cairo-matrix-set-affine">cairo_matrix_set_affine</a> (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double a,
double b,
double c,
double d,
double tx,
double ty);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-matrix-t.html#cairo-matrix-get-affine">cairo_matrix_get_affine</a> (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double *a,
double *b,
double *c,
double *d,
double *tx,
double *ty);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-matrix-t.html#cairo-matrix-translate">cairo_matrix_translate</a> (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double tx,
double ty);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-matrix-t.html#cairo-matrix-scale">cairo_matrix_scale</a> (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double sx,
double sy);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-matrix-t.html#cairo-matrix-rotate">cairo_matrix_rotate</a> (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double radians);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-matrix-t.html#cairo-matrix-invert">cairo_matrix_invert</a> (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-matrix-t.html#cairo-matrix-multiply">cairo_matrix_multiply</a> (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *result,
const <a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *a,
const <a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *b);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-matrix-t.html#cairo-matrix-transform-distance">cairo_matrix_transform_distance</a>
(<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double *dx,
double *dy);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-matrix-t.html#cairo-matrix-transform-point">cairo_matrix_transform_point</a> (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double *x,
double *y);
</pre></div><div class="refsect1" lang="en"><a name="id2733267"></a><h2>Description</h2><p><a class="indexterm" name="id2733273"></a><a class="indexterm" name="id2733279"></a>
<span class="structname">cairo_matrix_t</span> is used throughout
Cairo to represents between different coordinates spaces.
A <span class="structname">cairo_matrix</span> holds an affine
transformation, such as a scale, rotation, or shear, or a
combination of those. Mathematically, the effect of an affine
transformation on a point (<tt class="literal">x</tt>,<tt class="literal">y</tt>) is given by:
</p><pre class="programlisting">
x_new = x * a + y * c + tx;
y_new = x * b + y * d + ty;
</pre><p>
The parameters <tt class="literal">a</tt>, <tt class="literal">b</tt>,
<tt class="literal">c</tt>, <tt class="literal">d</tt>, <tt class="literal">tx</tt>,
<tt class="literal">ty</tt> can be retrieved with
<a href="cairo-cairo-matrix-t.html#cairo-matrix-get-affine"><tt class="function">cairo_matrix_get_affine()</tt></a> and set with <a href="cairo-cairo-matrix-t.html#cairo-matrix-get-affine"><tt class="function">cairo_matrix_get_affine()</tt></a>.
</p><p>
The primary use of transformation matrices in Cairo is as the
current transformation matrix in a <a href="cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a>. The current
transformation matrix gives the transformation from user space
coordinates to device coordinates. See <a href="cairo-cairo-t.html#cairo-set-matrix"><tt class="function">cairo_set_matrix()</tt></a>,
<a href="cairo-cairo-t.html#cairo-current-matrix"><tt class="function">cairo_current_matrix()</tt></a>.
</p></div><div class="refsect1" lang="en"><a name="id2733367"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2733372"></a><h3><a name="cairo-matrix-t"></a>cairo_matrix_t</h3><a class="indexterm" name="id2733381"></a><pre class="programlisting">typedef struct _cairo_matrix cairo_matrix_t;
</pre><p>
A <a href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a> holds an affine transformation, such as a scale,
rotation, or shear, or a combination of those.</p><p>
</p></div><hr><div class="refsect2" lang="en"><a name="id2733402"></a><h3><a name="cairo-matrix-create"></a>cairo_matrix_create ()</h3><a class="indexterm" name="id2733411"></a><pre class="programlisting"><a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a>* cairo_matrix_create (void);</pre><p>
Creates a new identity matrix.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a newly created matrix; free with <a href="cairo-cairo-matrix-t.html#cairo-matrix-destroy"><tt class="function">cairo_matrix_destroy()</tt></a>,
or <tt class="literal">NULL</tt> if memory couldn't be allocated.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2733451"></a><h3><a name="cairo-matrix-destroy"></a>cairo_matrix_destroy ()</h3><a class="indexterm" name="id2733459"></a><pre class="programlisting">void cairo_matrix_destroy (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);</pre><p>
Frees a matrix created with cairo_matrix_create.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td> a <a href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2734685"></a><h3><a name="cairo-matrix-copy"></a>cairo_matrix_copy ()</h3><a class="indexterm" name="id2734693"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_matrix_copy (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
const <a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *other);</pre><p>
Modifies <i class="parameter"><tt>matrix</tt></i> to be identical to <i class="parameter"><tt>other</tt></i>.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td> a <a href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>other</tt></i> :</span></td><td> another <span class="type">cairo_</span>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">CAIRO_STATUS_SUCCESS</tt>, always.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2734779"></a><h3><a name="cairo-matrix-set-identity"></a>cairo_matrix_set_identity ()</h3><a class="indexterm" name="id2734787"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_matrix_set_identity (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);</pre><p>
Modifies <i class="parameter"><tt>matrix</tt></i> to be an identity transformation.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td> a <a href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">CAIRO_STATUS_SUCCESS</tt>, always.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2734846"></a><h3><a name="cairo-matrix-set-affine"></a>cairo_matrix_set_affine ()</h3><a class="indexterm" name="id2734855"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_matrix_set_affine (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double a,
double b,
double c,
double d,
double tx,
double ty);</pre><p>
Sets <i class="parameter"><tt>matrix</tt></i> to be the affine transformation given by
<i class="parameter"><tt>a</tt></i>, b, <i class="parameter"><tt>c</tt></i>, <i class="parameter"><tt>d</tt></i>, <i class="parameter"><tt>tx</tt></i>, <i class="parameter"><tt>ty</tt></i>. The transformation is given
by:
</p><pre class="programlisting">
x_new = x * a + y * c + tx;
y_new = x * b + y * d + ty;
</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td> a cairo_matrix_t
</td></tr><tr><td><span class="term"><i class="parameter"><tt>a</tt></i> :</span></td><td> a component of the affine transformation
</td></tr><tr><td><span class="term"><i class="parameter"><tt>b</tt></i> :</span></td><td> b component of the affine transformation
</td></tr><tr><td><span class="term"><i class="parameter"><tt>c</tt></i> :</span></td><td> c component of the affine transformation
</td></tr><tr><td><span class="term"><i class="parameter"><tt>d</tt></i> :</span></td><td> d component of the affine transformation
</td></tr><tr><td><span class="term"><i class="parameter"><tt>tx</tt></i> :</span></td><td> X translation component of the affine transformation
</td></tr><tr><td><span class="term"><i class="parameter"><tt>ty</tt></i> :</span></td><td> Y translation component of the affine transformation
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">CAIRO_STATUS_SUCCESS</tt>, always.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2678925"></a><h3><a name="cairo-matrix-get-affine"></a>cairo_matrix_get_affine ()</h3><a class="indexterm" name="id2678933"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_matrix_get_affine (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double *a,
double *b,
double *c,
double *d,
double *tx,
double *ty);</pre><p>
Gets the matrix values for the affine tranformation that <i class="parameter"><tt>matrix</tt></i> represents.
See <a href="cairo-cairo-matrix-t.html#cairo-matrix-set-affine"><tt class="function">cairo_matrix_set_affine()</tt></a>.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td> a <i class="parameter"><tt>cairo_matrix_t</tt></i>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>a</tt></i> :</span></td><td> location to store a component of affine transformation, or <tt class="literal">NULL</tt>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>b</tt></i> :</span></td><td> location to store b component of affine transformation, or <tt class="literal">NULL</tt>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>c</tt></i> :</span></td><td> location to store c component of affine transformation, or <tt class="literal">NULL</tt>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>d</tt></i> :</span></td><td> location to store d component of affine transformation, or <tt class="literal">NULL</tt>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>tx</tt></i> :</span></td><td> location to store X-translation component of affine transformation, or <tt class="literal">NULL</tt>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>ty</tt></i> :</span></td><td> location to store Y-translation component of affine transformation, or <tt class="literal">NULL</tt>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">CAIRO_STATUS_SUCCESS</tt>, always.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2679124"></a><h3><a name="cairo-matrix-translate"></a>cairo_matrix_translate ()</h3><a class="indexterm" name="id2679133"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_matrix_translate (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double tx,
double ty);</pre><p>
Applies a translation by <i class="parameter"><tt>tx</tt></i>, <i class="parameter"><tt>ty</tt></i> to the transformation in
<i class="parameter"><tt>matrix</tt></i>. The new transformation is given by first translating by
<i class="parameter"><tt>tx</tt></i>, <i class="parameter"><tt>ty</tt></i> then applying the original transformation</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td> a cairo_matrix_t
</td></tr><tr><td><span class="term"><i class="parameter"><tt>tx</tt></i> :</span></td><td> amount to rotate in the X direction
</td></tr><tr><td><span class="term"><i class="parameter"><tt>ty</tt></i> :</span></td><td> amount to rotate in the Y direction
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">CAIRO_STATUS_SUCCESS</tt>, always.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2679235"></a><h3><a name="cairo-matrix-scale"></a>cairo_matrix_scale ()</h3><a class="indexterm" name="id2679243"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_matrix_scale (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double sx,
double sy);</pre><p>
Applies scaling by <i class="parameter"><tt>tx</tt></i>, <i class="parameter"><tt>ty</tt></i> to the transformation in
<i class="parameter"><tt>matrix</tt></i>. The new transformation is given by first scaling by <i class="parameter"><tt>sx</tt></i>
and <i class="parameter"><tt>sy</tt></i> then applying the original transformation</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td> a <a href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>sx</tt></i> :</span></td><td> Scale factor in the X direction
</td></tr><tr><td><span class="term"><i class="parameter"><tt>sy</tt></i> :</span></td><td> Scale factor in the Y direction
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">CAIRO_STATUS_SUCCESS</tt>, always.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2679353"></a><h3><a name="cairo-matrix-rotate"></a>cairo_matrix_rotate ()</h3><a class="indexterm" name="id2679361"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_matrix_rotate (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double radians);</pre><p>
Applies rotation by <i class="parameter"><tt>radians</tt></i> to the transformation in
<i class="parameter"><tt>matrix</tt></i>. The new transformation is given by first rotating by
<i class="parameter"><tt>radians</tt></i> then applying the original transformation</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td> a <i class="parameter"><tt>cairo_matrix_t</tt></i>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>radians</tt></i> :</span></td><td> angle of rotation, in radians. Angles are defined
so that an angle of 90 degrees (<tt class="literal">M_PI</tt> radians) rotates the
positive X axis into the positive Y axis. With the default
Cairo choice of axis orientation, positive rotations are
clockwise.
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">CAIRO_STATUS_SUCCESS</tt>, always.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2679451"></a><h3><a name="cairo-matrix-invert"></a>cairo_matrix_invert ()</h3><a class="indexterm" name="id2679459"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_matrix_invert (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);</pre><p>
Changes <i class="parameter"><tt>matrix</tt></i> to be the inverse of it's original value. Not
all transformation matrices have inverses; if the matrix
collapses points together (it is <i class="firstterm">degenerate</i>),
then it has no inverse and this function will fail.
</p><p>
Returns: If <i class="parameter"><tt>matrix</tt></i> has an inverse, modifies <i class="parameter"><tt>matrix</tt></i> to
be the inverse matrix and returns <tt class="literal">CAIRO_STATUS_SUCCESS</tt>. Otherwise,</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td> a <i class="parameter"><tt>cairo_matrix_t</tt></i>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td><tt class="literal">CAIRO_STATUS_INVALID_MATRIX</tt>.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2679535"></a><h3><a name="cairo-matrix-multiply"></a>cairo_matrix_multiply ()</h3><a class="indexterm" name="id2679543"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_matrix_multiply (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *result,
const <a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *a,
const <a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *b);</pre><p>
Multiplies the affine transformations in <i class="parameter"><tt>a</tt></i> and <i class="parameter"><tt>b</tt></i> together
and stores the result in <i class="parameter"><tt>result</tt></i>. The resulting transformation
is given by first applying the transformation in <i class="parameter"><tt>b</tt></i> then
applying the transformation in <i class="parameter"><tt>a</tt></i>.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>result</tt></i> :</span></td><td> a <i class="parameter"><tt>cairo_matrix_t</tt></i> in which to store the result
</td></tr><tr><td><span class="term"><i class="parameter"><tt>a</tt></i> :</span></td><td> a <i class="parameter"><tt>cairo_matrix_t</tt></i>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>b</tt></i> :</span></td><td> a <i class="parameter"><tt>cairo_matrix_t</tt></i>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">CAIRO_STATUS_SUCCESS</tt>, always.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2679658"></a><h3><a name="cairo-matrix-transform-distance"></a>cairo_matrix_transform_distance ()</h3><a class="indexterm" name="id2679669"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_matrix_transform_distance
(<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double *dx,
double *dy);</pre><p>
Transforms the vector (<i class="parameter"><tt>dx</tt></i>,<i class="parameter"><tt>dy</tt></i>) by <i class="parameter"><tt>matrix</tt></i>. Translation is
ignored. In terms of the components of the affine transformation:
</p><p>
</p><pre class="programlisting">
dx2 = dx1 * a + dy1 * c;
dy2 = dx1 * b + dy1 * d;
</pre><p>
</p><p>
Affine transformations are position invariant, so the same vector
always transforms to the same vector. If (<i class="parameter"><tt>x1</tt></i>,<i class="parameter"><tt>y1</tt></i>) transforms
to (<i class="parameter"><tt>x2</tt></i>,<i class="parameter"><tt>y2</tt></i>) then (<i class="parameter"><tt>x1</tt></i>+<i class="parameter"><tt>dx1</tt></i>,<i class="parameter"><tt>y1</tt></i>+<i class="parameter"><tt>dy1</tt></i>) will transform to
(<i class="parameter"><tt>x1</tt></i>+<i class="parameter"><tt>dx2</tt></i>,<i class="parameter"><tt>y1</tt></i>+<i class="parameter"><tt>dy2</tt></i>) for all values of <i class="parameter"><tt>x1</tt></i> and <i class="parameter"><tt>x2</tt></i>.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td> a <i class="parameter"><tt>cairo_matrix_t</tt></i>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>dx</tt></i> :</span></td><td> a distance in the X direction. An in/out parameter
</td></tr><tr><td><span class="term"><i class="parameter"><tt>dy</tt></i> :</span></td><td> a distance in the Y direction. An in/out parameter
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">CAIRO_STATUS_SUCCESS</tt>, always.
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2679828"></a><h3><a name="cairo-matrix-transform-point"></a>cairo_matrix_transform_point ()</h3><a class="indexterm" name="id2679839"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_matrix_transform_point (<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
double *x,
double *y);</pre><p>
Transforms the point (<i class="parameter"><tt>x</tt></i>, <i class="parameter"><tt>y</tt></i>) by <i class="parameter"><tt>matrix</tt></i>.</p><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td> a <i class="parameter"><tt>cairo_matrix_t</tt></i>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x</tt></i> :</span></td><td> X position. An in/out parameter
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y</tt></i> :</span></td><td> Y position. An in/out parameter
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">CAIRO_STATUS_SUCCESS</tt>, always.
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-cairo-pattern-t.html"><b>&lt;&lt; cairo_pattern_t</b></a></td><td align="right"><a accesskey="n" href="cairo-ATSUI-Fonts.html"><b>ATSUI Fonts &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1,158 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>cairo_pattern_t</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-cairo-surface-t.html" title="cairo_surface_t"><link rel="next" href="cairo-cairo-matrix-t.html" title="cairo_matrix_t"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-cairo-surface-t.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-cairo-matrix-t.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="cairo-cairo-pattern-t"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">cairo_pattern_t</span></h2><p>cairo_pattern_t &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
typedef <a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a>;
<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a>* <a href="cairo-cairo-pattern-t.html#cairo-pattern-create-for-surface">cairo_pattern_create_for_surface</a>
(<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a>* <a href="cairo-cairo-pattern-t.html#cairo-pattern-create-linear">cairo_pattern_create_linear</a>
(double x0,
double y0,
double x1,
double y1);
<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a>* <a href="cairo-cairo-pattern-t.html#cairo-pattern-create-radial">cairo_pattern_create_radial</a>
(double cx0,
double cy0,
double radius0,
double cx1,
double cy1,
double radius1);
void <a href="cairo-cairo-pattern-t.html#cairo-pattern-reference">cairo_pattern_reference</a> (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern);
void <a href="cairo-cairo-pattern-t.html#cairo-pattern-destroy">cairo_pattern_destroy</a> (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop">cairo_pattern_add_color_stop</a> (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern,
double offset,
double red,
double green,
double blue,
double alpha);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-pattern-t.html#cairo-pattern-set-matrix">cairo_pattern_set_matrix</a> (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-pattern-t.html#cairo-pattern-get-matrix">cairo_pattern_get_matrix</a> (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);
enum <a href="cairo-cairo-pattern-t.html#cairo-extend-t">cairo_extend_t</a>;
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-pattern-t.html#cairo-pattern-set-extend">cairo_pattern_set_extend</a> (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern,
<a href="cairo-cairo-pattern-t.html#cairo-extend-t">cairo_extend_t</a> extend);
<a href="cairo-cairo-pattern-t.html#cairo-extend-t">cairo_extend_t</a> <a href="cairo-cairo-pattern-t.html#cairo-pattern-get-extend">cairo_pattern_get_extend</a> (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-pattern-t.html#cairo-pattern-set-filter">cairo_pattern_set_filter</a> (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern,
<a href="cairo-cairo-t.html#cairo-filter-t">cairo_filter_t</a> filter);
<a href="cairo-cairo-t.html#cairo-filter-t">cairo_filter_t</a> <a href="cairo-cairo-pattern-t.html#cairo-pattern-get-filter">cairo_pattern_get_filter</a> (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern);
</pre></div><div class="refsect1" lang="en"><a name="id2735726"></a><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><a name="id2735736"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2735741"></a><h3><a name="cairo-pattern-t"></a>cairo_pattern_t</h3><a class="indexterm" name="id2735750"></a><pre class="programlisting">typedef struct _cairo_pattern cairo_pattern_t;
</pre><p>
</p></div><hr><div class="refsect2" lang="en"><a name="id2735760"></a><h3><a name="cairo-pattern-create-for-surface"></a>cairo_pattern_create_for_surface ()</h3><a class="indexterm" name="id2735768"></a><pre class="programlisting"><a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a>* cairo_pattern_create_for_surface
(<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>surface</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2735813"></a><h3><a name="cairo-pattern-create-linear"></a>cairo_pattern_create_linear ()</h3><a class="indexterm" name="id2735822"></a><pre class="programlisting"><a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a>* cairo_pattern_create_linear
(double x0,
double y0,
double x1,
double y1);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>x0</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y0</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>x1</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>y1</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2735917"></a><h3><a name="cairo-pattern-create-radial"></a>cairo_pattern_create_radial ()</h3><a class="indexterm" name="id2735925"></a><pre class="programlisting"><a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a>* cairo_pattern_create_radial
(double cx0,
double cy0,
double radius0,
double cx1,
double cy1,
double radius1);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>cx0</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cy0</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>radius0</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cx1</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>cy1</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>radius1</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2617438"></a><h3><a name="cairo-pattern-reference"></a>cairo_pattern_reference ()</h3><a class="indexterm" name="id2617446"></a><pre class="programlisting">void cairo_pattern_reference (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>pattern</tt></i> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2617480"></a><h3><a name="cairo-pattern-destroy"></a>cairo_pattern_destroy ()</h3><a class="indexterm" name="id2617488"></a><pre class="programlisting">void cairo_pattern_destroy (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>pattern</tt></i> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2617522"></a><h3><a name="cairo-pattern-add-color-stop"></a>cairo_pattern_add_color_stop ()</h3><a class="indexterm" name="id2617533"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_pattern_add_color_stop (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern,
double offset,
double red,
double green,
double blue,
double alpha);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>pattern</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>offset</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>red</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>green</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>blue</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>alpha</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2740442"></a><h3><a name="cairo-pattern-set-matrix"></a>cairo_pattern_set_matrix ()</h3><a class="indexterm" name="id2740450"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_pattern_set_matrix (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>pattern</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2740510"></a><h3><a name="cairo-pattern-get-matrix"></a>cairo_pattern_get_matrix ()</h3><a class="indexterm" name="id2740519"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_pattern_get_matrix (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>pattern</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2740580"></a><h3><a name="cairo-extend-t"></a>enum cairo_extend_t</h3><a class="indexterm" name="id2740588"></a><pre class="programlisting">typedef enum {
CAIRO_EXTEND_NONE,
CAIRO_EXTEND_REPEAT,
CAIRO_EXTEND_REFLECT
} cairo_extend_t;
</pre><p>
</p></div><hr><div class="refsect2" lang="en"><a name="id2740599"></a><h3><a name="cairo-pattern-set-extend"></a>cairo_pattern_set_extend ()</h3><a class="indexterm" name="id2740608"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_pattern_set_extend (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern,
<a href="cairo-cairo-pattern-t.html#cairo-extend-t">cairo_extend_t</a> extend);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>pattern</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>extend</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2740669"></a><h3><a name="cairo-pattern-get-extend"></a>cairo_pattern_get_extend ()</h3><a class="indexterm" name="id2740677"></a><pre class="programlisting"><a href="cairo-cairo-pattern-t.html#cairo-extend-t">cairo_extend_t</a> cairo_pattern_get_extend (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>pattern</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2740721"></a><h3><a name="cairo-pattern-set-filter"></a>cairo_pattern_set_filter ()</h3><a class="indexterm" name="id2740730"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_pattern_set_filter (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern,
<a href="cairo-cairo-t.html#cairo-filter-t">cairo_filter_t</a> filter);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>pattern</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>filter</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2740790"></a><h3><a name="cairo-pattern-get-filter"></a>cairo_pattern_get_filter ()</h3><a class="indexterm" name="id2740799"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-filter-t">cairo_filter_t</a> cairo_pattern_get_filter (<a href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> *pattern);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>pattern</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-cairo-surface-t.html"><b>&lt;&lt; cairo_surface_t</b></a></td><td align="right"><a accesskey="n" href="cairo-cairo-matrix-t.html"><b>cairo_matrix_t &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1,117 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>cairo_surface_t</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="pt02.html" title="Part II. Reference"><link rel="previous" href="cairo-cairo-t.html" title="cairo_t"><link rel="next" href="cairo-cairo-pattern-t.html" title="cairo_pattern_t"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-cairo-t.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="pt02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-cairo-pattern-t.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="cairo-cairo-surface-t"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">cairo_surface_t</span></h2><p>cairo_surface_t &#8212; </p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
typedef <a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>;
<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a href="cairo-cairo-surface-t.html#cairo-surface-create-for-image">cairo_surface_create_for_image</a>
(char *data,
<a href="cairo-cairo-t.html#cairo-format-t">cairo_format_t</a> format,
int width,
int height,
int stride);
<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a href="cairo-cairo-surface-t.html#cairo-surface-create-similar">cairo_surface_create_similar</a>
(<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *other,
<a href="cairo-cairo-t.html#cairo-format-t">cairo_format_t</a> format,
int width,
int height);
void <a href="cairo-cairo-surface-t.html#cairo-surface-reference">cairo_surface_reference</a> (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
void <a href="cairo-cairo-surface-t.html#cairo-surface-destroy">cairo_surface_destroy</a> (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-surface-t.html#cairo-surface-set-repeat">cairo_surface_set_repeat</a> (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
int repeat);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-surface-t.html#cairo-surface-set-matrix">cairo_surface_set_matrix</a> (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-surface-t.html#cairo-surface-get-matrix">cairo_surface_get_matrix</a> (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);
<a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> <a href="cairo-cairo-surface-t.html#cairo-surface-set-filter">cairo_surface_set_filter</a> (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
<a href="cairo-cairo-t.html#cairo-filter-t">cairo_filter_t</a> filter);
<a href="cairo-cairo-t.html#cairo-filter-t">cairo_filter_t</a> <a href="cairo-cairo-surface-t.html#cairo-surface-get-filter">cairo_surface_get_filter</a> (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
</pre></div><div class="refsect1" lang="en"><a name="id2728748"></a><h2>Description</h2><p>
</p></div><div class="refsect1" lang="en"><a name="id2728757"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2728763"></a><h3><a name="cairo-surface-t"></a>cairo_surface_t</h3><a class="indexterm" name="id2728771"></a><pre class="programlisting">typedef struct _cairo_surface cairo_surface_t;
</pre><p>
A <a href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a> represents an image, either as the destination
of a drawing operation or as source when drawing onto another
surface. There are different subtypes of cairo_surface_t for
different drawing backends; for example, <a href="cairo-cairo-t.html#cairo-image-surface-create"><tt class="function">cairo_image_surface_create()</tt></a>
creates a bitmap image in memory.
</p><p>
Memory management of <a href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a> is done with
<a href="cairo-cairo-surface-t.html#cairo-surface-reference"><tt class="function">cairo_surface_reference()</tt></a> and <a href="cairo-cairo-surface-t.html#cairo-surface-destroy"><tt class="function">cairo_surface_destroy()</tt></a>.</p><p>
</p></div><hr><div class="refsect2" lang="en"><a name="id2728823"></a><h3><a name="cairo-surface-create-for-image"></a>cairo_surface_create_for_image ()</h3><a class="indexterm" name="id2616534"></a><pre class="programlisting"><a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_surface_create_for_image
(char *data,
<a href="cairo-cairo-t.html#cairo-format-t">cairo_format_t</a> format,
int width,
int height,
int stride);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>format</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>width</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>height</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>stride</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2616646"></a><h3><a name="cairo-surface-create-similar"></a>cairo_surface_create_similar ()</h3><a class="indexterm" name="id2616655"></a><pre class="programlisting"><a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_surface_create_similar
(<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *other,
<a href="cairo-cairo-t.html#cairo-format-t">cairo_format_t</a> format,
int width,
int height);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>other</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>format</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>width</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>height</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2616752"></a><h3><a name="cairo-surface-reference"></a>cairo_surface_reference ()</h3><a class="indexterm" name="id2616760"></a><pre class="programlisting">void cairo_surface_reference (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>surface</tt></i> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2690242"></a><h3><a name="cairo-surface-destroy"></a>cairo_surface_destroy ()</h3><a class="indexterm" name="id2690250"></a><pre class="programlisting">void cairo_surface_destroy (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>surface</tt></i> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2690284"></a><h3><a name="cairo-surface-set-repeat"></a>cairo_surface_set_repeat ()</h3><a class="indexterm" name="id2690292"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_surface_set_repeat (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
int repeat);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>surface</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>repeat</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2690353"></a><h3><a name="cairo-surface-set-matrix"></a>cairo_surface_set_matrix ()</h3><a class="indexterm" name="id2690361"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_surface_set_matrix (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>surface</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2690422"></a><h3><a name="cairo-surface-get-matrix"></a>cairo_surface_get_matrix ()</h3><a class="indexterm" name="id2690431"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_surface_get_matrix (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
<a href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>surface</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>matrix</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2690492"></a><h3><a name="cairo-surface-set-filter"></a>cairo_surface_set_filter ()</h3><a class="indexterm" name="id2690500"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-status-t">cairo_status_t</a> cairo_surface_set_filter (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
<a href="cairo-cairo-t.html#cairo-filter-t">cairo_filter_t</a> filter);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>surface</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><i class="parameter"><tt>filter</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2738900"></a><h3><a name="cairo-surface-get-filter"></a>cairo_surface_get_filter ()</h3><a class="indexterm" name="id2738909"></a><pre class="programlisting"><a href="cairo-cairo-t.html#cairo-filter-t">cairo_filter_t</a> cairo_surface_get_filter (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre><p>
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>surface</tt></i> :</span></td><td>
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="cairo-cairo-t.html"><b>&lt;&lt; cairo_t</b></a></td><td align="right"><a accesskey="n" href="cairo-cairo-pattern-t.html"><b>cairo_pattern_t &gt;&gt;</b></a></td></tr></table></body></html>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,189 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<book xmlns="http://www.devhelp.net/book" title="" link="index.html" author="" name="cairo">
<chapters>
<sub name="Tutorial" link="pt01.html"/>
<sub name="Reference" link="pt02.html">
<sub name="cairo_t" link="cairo-cairo-t.html"/>
<sub name="cairo_surface_t" link="cairo-cairo-surface-t.html"/>
<sub name="cairo_pattern_t" link="cairo-cairo-pattern-t.html"/>
<sub name="cairo_matrix_t" link="cairo-cairo-matrix-t.html"/>
<sub name="ATSUI Fonts" link="cairo-ATSUI-Fonts.html"/>
<sub name="FreeType Fonts" link="cairo-FreeType-Fonts.html"/>
<sub name="Glitz backend" link="cairo-Glitz-backend.html"/>
<sub name="PDF Backend" link="cairo-PDF-Backend.html"/>
<sub name="PNG Backend" link="cairo-PNG-Backend.html"/>
<sub name="PS Backend" link="cairo-PS-Backend.html"/>
<sub name="Quartz Backend" link="cairo-Quartz-Backend.html"/>
<sub name="Microsoft Windows Backend" link="cairo-Microsoft-Windows-Backend.html"/>
<sub name="XCB Backend" link="cairo-XCB-Backend.html"/>
<sub name="XLib Backend" link="cairo-XLib-Backend.html"/>
</sub>
</chapters>
<functions>
<function name="cairo_t" link="cairo-cairo-t.html#cairo-t"/>
<function name="cairo_create ()" link="cairo-cairo-t.html#cairo-create"/>
<function name="cairo_reference ()" link="cairo-cairo-t.html#cairo-reference"/>
<function name="cairo_destroy ()" link="cairo-cairo-t.html#cairo-destroy"/>
<function name="cairo_save ()" link="cairo-cairo-t.html#cairo-save"/>
<function name="cairo_restore ()" link="cairo-cairo-t.html#cairo-restore"/>
<function name="cairo_copy ()" link="cairo-cairo-t.html#cairo-copy"/>
<function name="cairo_set_target_surface ()" link="cairo-cairo-t.html#cairo-set-target-surface"/>
<function name="enum cairo_format_t" link="cairo-cairo-t.html#cairo-format-t"/>
<function name="cairo_set_target_image ()" link="cairo-cairo-t.html#cairo-set-target-image"/>
<function name="enum cairo_operator_t" link="cairo-cairo-t.html#cairo-operator-t"/>
<function name="cairo_set_operator ()" link="cairo-cairo-t.html#cairo-set-operator"/>
<function name="cairo_set_rgb_color ()" link="cairo-cairo-t.html#cairo-set-rgb-color"/>
<function name="cairo_set_pattern ()" link="cairo-cairo-t.html#cairo-set-pattern"/>
<function name="cairo_set_alpha ()" link="cairo-cairo-t.html#cairo-set-alpha"/>
<function name="cairo_set_tolerance ()" link="cairo-cairo-t.html#cairo-set-tolerance"/>
<function name="enum cairo_fill_rule_t" link="cairo-cairo-t.html#cairo-fill-rule-t"/>
<function name="cairo_set_fill_rule ()" link="cairo-cairo-t.html#cairo-set-fill-rule"/>
<function name="cairo_set_line_width ()" link="cairo-cairo-t.html#cairo-set-line-width"/>
<function name="enum cairo_line_cap_t" link="cairo-cairo-t.html#cairo-line-cap-t"/>
<function name="cairo_set_line_cap ()" link="cairo-cairo-t.html#cairo-set-line-cap"/>
<function name="enum cairo_line_join_t" link="cairo-cairo-t.html#cairo-line-join-t"/>
<function name="cairo_set_line_join ()" link="cairo-cairo-t.html#cairo-set-line-join"/>
<function name="cairo_set_dash ()" link="cairo-cairo-t.html#cairo-set-dash"/>
<function name="cairo_set_miter_limit ()" link="cairo-cairo-t.html#cairo-set-miter-limit"/>
<function name="cairo_translate ()" link="cairo-cairo-t.html#cairo-translate"/>
<function name="cairo_scale ()" link="cairo-cairo-t.html#cairo-scale"/>
<function name="cairo_rotate ()" link="cairo-cairo-t.html#cairo-rotate"/>
<function name="cairo_concat_matrix ()" link="cairo-cairo-t.html#cairo-concat-matrix"/>
<function name="cairo_set_matrix ()" link="cairo-cairo-t.html#cairo-set-matrix"/>
<function name="cairo_default_matrix ()" link="cairo-cairo-t.html#cairo-default-matrix"/>
<function name="cairo_identity_matrix ()" link="cairo-cairo-t.html#cairo-identity-matrix"/>
<function name="cairo_transform_point ()" link="cairo-cairo-t.html#cairo-transform-point"/>
<function name="cairo_transform_distance ()" link="cairo-cairo-t.html#cairo-transform-distance"/>
<function name="cairo_inverse_transform_point ()" link="cairo-cairo-t.html#cairo-inverse-transform-point"/>
<function name="cairo_inverse_transform_distance ()" link="cairo-cairo-t.html#cairo-inverse-transform-distance"/>
<function name="cairo_new_path ()" link="cairo-cairo-t.html#cairo-new-path"/>
<function name="cairo_move_to ()" link="cairo-cairo-t.html#cairo-move-to"/>
<function name="cairo_line_to ()" link="cairo-cairo-t.html#cairo-line-to"/>
<function name="cairo_curve_to ()" link="cairo-cairo-t.html#cairo-curve-to"/>
<function name="cairo_arc ()" link="cairo-cairo-t.html#cairo-arc"/>
<function name="cairo_arc_negative ()" link="cairo-cairo-t.html#cairo-arc-negative"/>
<function name="cairo_rel_move_to ()" link="cairo-cairo-t.html#cairo-rel-move-to"/>
<function name="cairo_rel_line_to ()" link="cairo-cairo-t.html#cairo-rel-line-to"/>
<function name="cairo_rel_curve_to ()" link="cairo-cairo-t.html#cairo-rel-curve-to"/>
<function name="cairo_rectangle ()" link="cairo-cairo-t.html#cairo-rectangle"/>
<function name="cairo_close_path ()" link="cairo-cairo-t.html#cairo-close-path"/>
<function name="cairo_stroke ()" link="cairo-cairo-t.html#cairo-stroke"/>
<function name="cairo_fill ()" link="cairo-cairo-t.html#cairo-fill"/>
<function name="cairo_copy_page ()" link="cairo-cairo-t.html#cairo-copy-page"/>
<function name="cairo_show_page ()" link="cairo-cairo-t.html#cairo-show-page"/>
<function name="cairo_in_stroke ()" link="cairo-cairo-t.html#cairo-in-stroke"/>
<function name="cairo_in_fill ()" link="cairo-cairo-t.html#cairo-in-fill"/>
<function name="cairo_bool_t" link="cairo-cairo-t.html#cairo-bool-t"/>
<function name="cairo_stroke_extents ()" link="cairo-cairo-t.html#cairo-stroke-extents"/>
<function name="cairo_fill_extents ()" link="cairo-cairo-t.html#cairo-fill-extents"/>
<function name="cairo_init_clip ()" link="cairo-cairo-t.html#cairo-init-clip"/>
<function name="cairo_clip ()" link="cairo-cairo-t.html#cairo-clip"/>
<function name="cairo_font_t" link="cairo-cairo-t.html#cairo-font-t"/>
<function name="cairo_glyph_t" link="cairo-cairo-t.html#cairo-glyph-t"/>
<function name="cairo_text_extents_t" link="cairo-cairo-t.html#cairo-text-extents-t"/>
<function name="cairo_font_extents_t" link="cairo-cairo-t.html#cairo-font-extents-t"/>
<function name="enum cairo_font_slant_t" link="cairo-cairo-t.html#cairo-font-slant-t"/>
<function name="enum cairo_font_weight_t" link="cairo-cairo-t.html#cairo-font-weight-t"/>
<function name="cairo_select_font ()" link="cairo-cairo-t.html#cairo-select-font"/>
<function name="cairo_scale_font ()" link="cairo-cairo-t.html#cairo-scale-font"/>
<function name="cairo_transform_font ()" link="cairo-cairo-t.html#cairo-transform-font"/>
<function name="cairo_show_text ()" link="cairo-cairo-t.html#cairo-show-text"/>
<function name="cairo_show_glyphs ()" link="cairo-cairo-t.html#cairo-show-glyphs"/>
<function name="cairo_current_font ()" link="cairo-cairo-t.html#cairo-current-font"/>
<function name="cairo_current_font_extents ()" link="cairo-cairo-t.html#cairo-current-font-extents"/>
<function name="cairo_set_font ()" link="cairo-cairo-t.html#cairo-set-font"/>
<function name="cairo_text_extents ()" link="cairo-cairo-t.html#cairo-text-extents"/>
<function name="cairo_glyph_extents ()" link="cairo-cairo-t.html#cairo-glyph-extents"/>
<function name="cairo_text_path ()" link="cairo-cairo-t.html#cairo-text-path"/>
<function name="cairo_glyph_path ()" link="cairo-cairo-t.html#cairo-glyph-path"/>
<function name="cairo_font_reference ()" link="cairo-cairo-t.html#cairo-font-reference"/>
<function name="cairo_font_destroy ()" link="cairo-cairo-t.html#cairo-font-destroy"/>
<function name="cairo_font_extents ()" link="cairo-cairo-t.html#cairo-font-extents"/>
<function name="cairo_font_glyph_extents ()" link="cairo-cairo-t.html#cairo-font-glyph-extents"/>
<function name="cairo_show_surface ()" link="cairo-cairo-t.html#cairo-show-surface"/>
<function name="cairo_current_operator ()" link="cairo-cairo-t.html#cairo-current-operator"/>
<function name="cairo_current_rgb_color ()" link="cairo-cairo-t.html#cairo-current-rgb-color"/>
<function name="cairo_current_pattern ()" link="cairo-cairo-t.html#cairo-current-pattern"/>
<function name="cairo_current_alpha ()" link="cairo-cairo-t.html#cairo-current-alpha"/>
<function name="cairo_current_tolerance ()" link="cairo-cairo-t.html#cairo-current-tolerance"/>
<function name="cairo_current_point ()" link="cairo-cairo-t.html#cairo-current-point"/>
<function name="cairo_current_fill_rule ()" link="cairo-cairo-t.html#cairo-current-fill-rule"/>
<function name="cairo_current_line_width ()" link="cairo-cairo-t.html#cairo-current-line-width"/>
<function name="cairo_current_line_cap ()" link="cairo-cairo-t.html#cairo-current-line-cap"/>
<function name="cairo_current_line_join ()" link="cairo-cairo-t.html#cairo-current-line-join"/>
<function name="cairo_current_miter_limit ()" link="cairo-cairo-t.html#cairo-current-miter-limit"/>
<function name="cairo_current_matrix ()" link="cairo-cairo-t.html#cairo-current-matrix"/>
<function name="cairo_current_target_surface ()" link="cairo-cairo-t.html#cairo-current-target-surface"/>
<function name="cairo_current_path ()" link="cairo-cairo-t.html#cairo-current-path"/>
<function name="cairo_current_path_flat ()" link="cairo-cairo-t.html#cairo-current-path-flat"/>
<function name="enum cairo_status_t" link="cairo-cairo-t.html#cairo-status-t"/>
<function name="cairo_status ()" link="cairo-cairo-t.html#cairo-status"/>
<function name="cairo_status_string ()" link="cairo-cairo-t.html#cairo-status-string"/>
<function name="enum cairo_filter_t" link="cairo-cairo-t.html#cairo-filter-t"/>
<function name="cairo_image_surface_create ()" link="cairo-cairo-t.html#cairo-image-surface-create"/>
<function name="cairo_image_surface_create_for_data ()" link="cairo-cairo-t.html#cairo-image-surface-create-for-data"/>
<function name="cairo_surface_t" link="cairo-cairo-surface-t.html#cairo-surface-t"/>
<function name="cairo_surface_create_for_image ()" link="cairo-cairo-surface-t.html#cairo-surface-create-for-image"/>
<function name="cairo_surface_create_similar ()" link="cairo-cairo-surface-t.html#cairo-surface-create-similar"/>
<function name="cairo_surface_reference ()" link="cairo-cairo-surface-t.html#cairo-surface-reference"/>
<function name="cairo_surface_destroy ()" link="cairo-cairo-surface-t.html#cairo-surface-destroy"/>
<function name="cairo_surface_set_repeat ()" link="cairo-cairo-surface-t.html#cairo-surface-set-repeat"/>
<function name="cairo_surface_set_matrix ()" link="cairo-cairo-surface-t.html#cairo-surface-set-matrix"/>
<function name="cairo_surface_get_matrix ()" link="cairo-cairo-surface-t.html#cairo-surface-get-matrix"/>
<function name="cairo_surface_set_filter ()" link="cairo-cairo-surface-t.html#cairo-surface-set-filter"/>
<function name="cairo_surface_get_filter ()" link="cairo-cairo-surface-t.html#cairo-surface-get-filter"/>
<function name="cairo_pattern_t" link="cairo-cairo-pattern-t.html#cairo-pattern-t"/>
<function name="cairo_pattern_create_for_surface ()" link="cairo-cairo-pattern-t.html#cairo-pattern-create-for-surface"/>
<function name="cairo_pattern_create_linear ()" link="cairo-cairo-pattern-t.html#cairo-pattern-create-linear"/>
<function name="cairo_pattern_create_radial ()" link="cairo-cairo-pattern-t.html#cairo-pattern-create-radial"/>
<function name="cairo_pattern_reference ()" link="cairo-cairo-pattern-t.html#cairo-pattern-reference"/>
<function name="cairo_pattern_destroy ()" link="cairo-cairo-pattern-t.html#cairo-pattern-destroy"/>
<function name="cairo_pattern_add_color_stop ()" link="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop"/>
<function name="cairo_pattern_set_matrix ()" link="cairo-cairo-pattern-t.html#cairo-pattern-set-matrix"/>
<function name="cairo_pattern_get_matrix ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-matrix"/>
<function name="enum cairo_extend_t" link="cairo-cairo-pattern-t.html#cairo-extend-t"/>
<function name="cairo_pattern_set_extend ()" link="cairo-cairo-pattern-t.html#cairo-pattern-set-extend"/>
<function name="cairo_pattern_get_extend ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-extend"/>
<function name="cairo_pattern_set_filter ()" link="cairo-cairo-pattern-t.html#cairo-pattern-set-filter"/>
<function name="cairo_pattern_get_filter ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-filter"/>
<function name="cairo_matrix_t" link="cairo-cairo-matrix-t.html#cairo-matrix-t"/>
<function name="cairo_matrix_create ()" link="cairo-cairo-matrix-t.html#cairo-matrix-create"/>
<function name="cairo_matrix_destroy ()" link="cairo-cairo-matrix-t.html#cairo-matrix-destroy"/>
<function name="cairo_matrix_copy ()" link="cairo-cairo-matrix-t.html#cairo-matrix-copy"/>
<function name="cairo_matrix_set_identity ()" link="cairo-cairo-matrix-t.html#cairo-matrix-set-identity"/>
<function name="cairo_matrix_set_affine ()" link="cairo-cairo-matrix-t.html#cairo-matrix-set-affine"/>
<function name="cairo_matrix_get_affine ()" link="cairo-cairo-matrix-t.html#cairo-matrix-get-affine"/>
<function name="cairo_matrix_translate ()" link="cairo-cairo-matrix-t.html#cairo-matrix-translate"/>
<function name="cairo_matrix_scale ()" link="cairo-cairo-matrix-t.html#cairo-matrix-scale"/>
<function name="cairo_matrix_rotate ()" link="cairo-cairo-matrix-t.html#cairo-matrix-rotate"/>
<function name="cairo_matrix_invert ()" link="cairo-cairo-matrix-t.html#cairo-matrix-invert"/>
<function name="cairo_matrix_multiply ()" link="cairo-cairo-matrix-t.html#cairo-matrix-multiply"/>
<function name="cairo_matrix_transform_distance ()" link="cairo-cairo-matrix-t.html#cairo-matrix-transform-distance"/>
<function name="cairo_matrix_transform_point ()" link="cairo-cairo-matrix-t.html#cairo-matrix-transform-point"/>
<function name="cairo_atsui_font_create ()" link="cairo-ATSUI-Fonts.html#cairo-atsui-font-create"/>
<function name="cairo_ft_font_create ()" link="cairo-FreeType-Fonts.html#cairo-ft-font-create"/>
<function name="cairo_ft_font_create_for_ft_face ()" link="cairo-FreeType-Fonts.html#cairo-ft-font-create-for-ft-face"/>
<function name="cairo_ft_font_lock_face ()" link="cairo-FreeType-Fonts.html#cairo-ft-font-lock-face"/>
<function name="cairo_ft_font_unlock_face ()" link="cairo-FreeType-Fonts.html#cairo-ft-font-unlock-face"/>
<function name="cairo_ft_font_get_pattern ()" link="cairo-FreeType-Fonts.html#cairo-ft-font-get-pattern"/>
<function name="cairo_set_target_glitz ()" link="cairo-Glitz-backend.html#cairo-set-target-glitz"/>
<function name="cairo_glitz_surface_create ()" link="cairo-Glitz-backend.html#cairo-glitz-surface-create"/>
<function name="cairo_set_target_pdf ()" link="cairo-PDF-Backend.html#cairo-set-target-pdf"/>
<function name="cairo_pdf_surface_create ()" link="cairo-PDF-Backend.html#cairo-pdf-surface-create"/>
<function name="cairo_set_target_png ()" link="cairo-PNG-Backend.html#cairo-set-target-png"/>
<function name="cairo_png_surface_create ()" link="cairo-PNG-Backend.html#cairo-png-surface-create"/>
<function name="cairo_set_target_ps ()" link="cairo-PS-Backend.html#cairo-set-target-ps"/>
<function name="cairo_ps_surface_create ()" link="cairo-PS-Backend.html#cairo-ps-surface-create"/>
<function name="cairo_set_target_quartz_context ()" link="cairo-Quartz-Backend.html#cairo-set-target-quartz-context"/>
<function name="cairo_quartz_surface_create ()" link="cairo-Quartz-Backend.html#cairo-quartz-surface-create"/>
<function name="cairo_set_target_win32 ()" link="cairo-Microsoft-Windows-Backend.html#cairo-set-target-win32"/>
<function name="cairo_win32_surface_create ()" link="cairo-Microsoft-Windows-Backend.html#cairo-win32-surface-create"/>
<function name="cairo_win32_font_create_for_logfontw ()" link="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-create-for-logfontw"/>
<function name="cairo_win32_font_select_font ()" link="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-select-font"/>
<function name="cairo_win32_font_done_font ()" link="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-done-font"/>
<function name="cairo_win32_font_get_scale_factor ()" link="cairo-Microsoft-Windows-Backend.html#cairo-win32-font-get-scale-factor"/>
<function name="cairo_set_target_xcb ()" link="cairo-XCB-Backend.html#cairo-set-target-xcb"/>
<function name="cairo_set_target_drawable ()" link="cairo-XLib-Backend.html#cairo-set-target-drawable"/>
<function name="cairo_xlib_surface_create ()" link="cairo-XLib-Backend.html#cairo-xlib-surface-create"/>
</functions>
</book>

Двоичные данные
gfx/cairo/cairo/doc/public/html/home.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 654 B

Просмотреть файл

@ -1,2 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Cairo: A Vector Graphics Library</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="next" href="pt01.html" title="Part I. Tutorial"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" lang="en"><div class="titlepage"><div><div><table class="navigation" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Cairo: A Vector Graphics Library</p></th></tr></table></div></div><div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="part"><a href="pt01.html">I. Tutorial</a></span></dt><dt><span class="part"><a href="pt02.html">II. Reference</a></span></dt><dd><dl><dt><a href="cairo-cairo-t.html">cairo_t</a> - Drawing contexts.</dt><dt><a href="cairo-cairo-surface-t.html">cairo_surface_t</a> - </dt><dt><a href="cairo-cairo-pattern-t.html">cairo_pattern_t</a> - </dt><dt><a href="cairo-cairo-matrix-t.html">cairo_matrix_t</a> -
Transformation matrices</dt><dt><a href="cairo-ATSUI-Fonts.html">ATSUI Fonts</a> - </dt><dt><a href="cairo-FreeType-Fonts.html">FreeType Fonts</a> - </dt><dt><a href="cairo-Glitz-backend.html">Glitz backend</a> - </dt><dt><a href="cairo-PDF-Backend.html">PDF Backend</a> - </dt><dt><a href="cairo-PNG-Backend.html">PNG Backend</a> - </dt><dt><a href="cairo-PS-Backend.html">PS Backend</a> - </dt><dt><a href="cairo-Quartz-Backend.html">Quartz Backend</a> - </dt><dt><a href="cairo-Microsoft-Windows-Backend.html">Microsoft Windows Backend</a> - </dt><dt><a href="cairo-XCB-Backend.html">XCB Backend</a> - </dt><dt><a href="cairo-XLib-Backend.html">XLib Backend</a> - </dt></dl></dd></dl></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"></td><td align="right"><a accesskey="n" href="pt01.html"><b>Part I. Tutorial &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1,179 +0,0 @@
<ANCHOR id="cairo-cairo-t" href="cairo/cairo-cairo-t.html">
<ANCHOR id="cairo-t" href="cairo/cairo-cairo-t.html#cairo-t">
<ANCHOR id="cairo-create" href="cairo/cairo-cairo-t.html#cairo-create">
<ANCHOR id="cairo-reference" href="cairo/cairo-cairo-t.html#cairo-reference">
<ANCHOR id="cairo-destroy" href="cairo/cairo-cairo-t.html#cairo-destroy">
<ANCHOR id="cairo-save" href="cairo/cairo-cairo-t.html#cairo-save">
<ANCHOR id="cairo-restore" href="cairo/cairo-cairo-t.html#cairo-restore">
<ANCHOR id="cairo-copy" href="cairo/cairo-cairo-t.html#cairo-copy">
<ANCHOR id="cairo-set-target-surface" href="cairo/cairo-cairo-t.html#cairo-set-target-surface">
<ANCHOR id="cairo-format-t" href="cairo/cairo-cairo-t.html#cairo-format-t">
<ANCHOR id="cairo-set-target-image" href="cairo/cairo-cairo-t.html#cairo-set-target-image">
<ANCHOR id="cairo-operator-t" href="cairo/cairo-cairo-t.html#cairo-operator-t">
<ANCHOR id="cairo-set-operator" href="cairo/cairo-cairo-t.html#cairo-set-operator">
<ANCHOR id="cairo-set-rgb-color" href="cairo/cairo-cairo-t.html#cairo-set-rgb-color">
<ANCHOR id="cairo-set-pattern" href="cairo/cairo-cairo-t.html#cairo-set-pattern">
<ANCHOR id="cairo-set-alpha" href="cairo/cairo-cairo-t.html#cairo-set-alpha">
<ANCHOR id="cairo-set-tolerance" href="cairo/cairo-cairo-t.html#cairo-set-tolerance">
<ANCHOR id="cairo-fill-rule-t" href="cairo/cairo-cairo-t.html#cairo-fill-rule-t">
<ANCHOR id="cairo-set-fill-rule" href="cairo/cairo-cairo-t.html#cairo-set-fill-rule">
<ANCHOR id="cairo-set-line-width" href="cairo/cairo-cairo-t.html#cairo-set-line-width">
<ANCHOR id="cairo-line-cap-t" href="cairo/cairo-cairo-t.html#cairo-line-cap-t">
<ANCHOR id="cairo-set-line-cap" href="cairo/cairo-cairo-t.html#cairo-set-line-cap">
<ANCHOR id="cairo-line-join-t" href="cairo/cairo-cairo-t.html#cairo-line-join-t">
<ANCHOR id="cairo-set-line-join" href="cairo/cairo-cairo-t.html#cairo-set-line-join">
<ANCHOR id="cairo-set-dash" href="cairo/cairo-cairo-t.html#cairo-set-dash">
<ANCHOR id="cairo-set-miter-limit" href="cairo/cairo-cairo-t.html#cairo-set-miter-limit">
<ANCHOR id="cairo-translate" href="cairo/cairo-cairo-t.html#cairo-translate">
<ANCHOR id="cairo-scale" href="cairo/cairo-cairo-t.html#cairo-scale">
<ANCHOR id="cairo-rotate" href="cairo/cairo-cairo-t.html#cairo-rotate">
<ANCHOR id="cairo-concat-matrix" href="cairo/cairo-cairo-t.html#cairo-concat-matrix">
<ANCHOR id="cairo-set-matrix" href="cairo/cairo-cairo-t.html#cairo-set-matrix">
<ANCHOR id="cairo-default-matrix" href="cairo/cairo-cairo-t.html#cairo-default-matrix">
<ANCHOR id="cairo-identity-matrix" href="cairo/cairo-cairo-t.html#cairo-identity-matrix">
<ANCHOR id="cairo-transform-point" href="cairo/cairo-cairo-t.html#cairo-transform-point">
<ANCHOR id="cairo-transform-distance" href="cairo/cairo-cairo-t.html#cairo-transform-distance">
<ANCHOR id="cairo-inverse-transform-point" href="cairo/cairo-cairo-t.html#cairo-inverse-transform-point">
<ANCHOR id="cairo-inverse-transform-distance" href="cairo/cairo-cairo-t.html#cairo-inverse-transform-distance">
<ANCHOR id="cairo-new-path" href="cairo/cairo-cairo-t.html#cairo-new-path">
<ANCHOR id="cairo-move-to" href="cairo/cairo-cairo-t.html#cairo-move-to">
<ANCHOR id="cairo-line-to" href="cairo/cairo-cairo-t.html#cairo-line-to">
<ANCHOR id="cairo-curve-to" href="cairo/cairo-cairo-t.html#cairo-curve-to">
<ANCHOR id="cairo-arc" href="cairo/cairo-cairo-t.html#cairo-arc">
<ANCHOR id="cairo-arc-negative" href="cairo/cairo-cairo-t.html#cairo-arc-negative">
<ANCHOR id="cairo-rel-move-to" href="cairo/cairo-cairo-t.html#cairo-rel-move-to">
<ANCHOR id="cairo-rel-line-to" href="cairo/cairo-cairo-t.html#cairo-rel-line-to">
<ANCHOR id="cairo-rel-curve-to" href="cairo/cairo-cairo-t.html#cairo-rel-curve-to">
<ANCHOR id="cairo-rectangle" href="cairo/cairo-cairo-t.html#cairo-rectangle">
<ANCHOR id="cairo-close-path" href="cairo/cairo-cairo-t.html#cairo-close-path">
<ANCHOR id="cairo-stroke" href="cairo/cairo-cairo-t.html#cairo-stroke">
<ANCHOR id="cairo-fill" href="cairo/cairo-cairo-t.html#cairo-fill">
<ANCHOR id="cairo-copy-page" href="cairo/cairo-cairo-t.html#cairo-copy-page">
<ANCHOR id="cairo-show-page" href="cairo/cairo-cairo-t.html#cairo-show-page">
<ANCHOR id="cairo-in-stroke" href="cairo/cairo-cairo-t.html#cairo-in-stroke">
<ANCHOR id="cairo-in-fill" href="cairo/cairo-cairo-t.html#cairo-in-fill">
<ANCHOR id="cairo-bool-t" href="cairo/cairo-cairo-t.html#cairo-bool-t">
<ANCHOR id="cairo-stroke-extents" href="cairo/cairo-cairo-t.html#cairo-stroke-extents">
<ANCHOR id="cairo-fill-extents" href="cairo/cairo-cairo-t.html#cairo-fill-extents">
<ANCHOR id="cairo-init-clip" href="cairo/cairo-cairo-t.html#cairo-init-clip">
<ANCHOR id="cairo-clip" href="cairo/cairo-cairo-t.html#cairo-clip">
<ANCHOR id="cairo-font-t" href="cairo/cairo-cairo-t.html#cairo-font-t">
<ANCHOR id="cairo-glyph-t" href="cairo/cairo-cairo-t.html#cairo-glyph-t">
<ANCHOR id="cairo-text-extents-t" href="cairo/cairo-cairo-t.html#cairo-text-extents-t">
<ANCHOR id="cairo-font-extents-t" href="cairo/cairo-cairo-t.html#cairo-font-extents-t">
<ANCHOR id="cairo-font-slant-t" href="cairo/cairo-cairo-t.html#cairo-font-slant-t">
<ANCHOR id="cairo-font-weight-t" href="cairo/cairo-cairo-t.html#cairo-font-weight-t">
<ANCHOR id="cairo-select-font" href="cairo/cairo-cairo-t.html#cairo-select-font">
<ANCHOR id="cairo-scale-font" href="cairo/cairo-cairo-t.html#cairo-scale-font">
<ANCHOR id="cairo-transform-font" href="cairo/cairo-cairo-t.html#cairo-transform-font">
<ANCHOR id="cairo-show-text" href="cairo/cairo-cairo-t.html#cairo-show-text">
<ANCHOR id="cairo-show-glyphs" href="cairo/cairo-cairo-t.html#cairo-show-glyphs">
<ANCHOR id="cairo-current-font" href="cairo/cairo-cairo-t.html#cairo-current-font">
<ANCHOR id="cairo-current-font-extents" href="cairo/cairo-cairo-t.html#cairo-current-font-extents">
<ANCHOR id="cairo-set-font" href="cairo/cairo-cairo-t.html#cairo-set-font">
<ANCHOR id="cairo-text-extents" href="cairo/cairo-cairo-t.html#cairo-text-extents">
<ANCHOR id="cairo-glyph-extents" href="cairo/cairo-cairo-t.html#cairo-glyph-extents">
<ANCHOR id="cairo-text-path" href="cairo/cairo-cairo-t.html#cairo-text-path">
<ANCHOR id="cairo-glyph-path" href="cairo/cairo-cairo-t.html#cairo-glyph-path">
<ANCHOR id="cairo-font-reference" href="cairo/cairo-cairo-t.html#cairo-font-reference">
<ANCHOR id="cairo-font-destroy" href="cairo/cairo-cairo-t.html#cairo-font-destroy">
<ANCHOR id="cairo-font-extents" href="cairo/cairo-cairo-t.html#cairo-font-extents">
<ANCHOR id="cairo-font-glyph-extents" href="cairo/cairo-cairo-t.html#cairo-font-glyph-extents">
<ANCHOR id="cairo-show-surface" href="cairo/cairo-cairo-t.html#cairo-show-surface">
<ANCHOR id="cairo-current-operator" href="cairo/cairo-cairo-t.html#cairo-current-operator">
<ANCHOR id="cairo-current-rgb-color" href="cairo/cairo-cairo-t.html#cairo-current-rgb-color">
<ANCHOR id="cairo-current-pattern" href="cairo/cairo-cairo-t.html#cairo-current-pattern">
<ANCHOR id="cairo-current-alpha" href="cairo/cairo-cairo-t.html#cairo-current-alpha">
<ANCHOR id="cairo-current-tolerance" href="cairo/cairo-cairo-t.html#cairo-current-tolerance">
<ANCHOR id="cairo-current-point" href="cairo/cairo-cairo-t.html#cairo-current-point">
<ANCHOR id="cairo-current-fill-rule" href="cairo/cairo-cairo-t.html#cairo-current-fill-rule">
<ANCHOR id="cairo-current-line-width" href="cairo/cairo-cairo-t.html#cairo-current-line-width">
<ANCHOR id="cairo-current-line-cap" href="cairo/cairo-cairo-t.html#cairo-current-line-cap">
<ANCHOR id="cairo-current-line-join" href="cairo/cairo-cairo-t.html#cairo-current-line-join">
<ANCHOR id="cairo-current-miter-limit" href="cairo/cairo-cairo-t.html#cairo-current-miter-limit">
<ANCHOR id="cairo-current-matrix" href="cairo/cairo-cairo-t.html#cairo-current-matrix">
<ANCHOR id="cairo-current-target-surface" href="cairo/cairo-cairo-t.html#cairo-current-target-surface">
<ANCHOR id="cairo-current-path" href="cairo/cairo-cairo-t.html#cairo-current-path">
<ANCHOR id="cairo-current-path-flat" href="cairo/cairo-cairo-t.html#cairo-current-path-flat">
<ANCHOR id="cairo-status-t" href="cairo/cairo-cairo-t.html#cairo-status-t">
<ANCHOR id="cairo-status" href="cairo/cairo-cairo-t.html#cairo-status">
<ANCHOR id="cairo-status-string" href="cairo/cairo-cairo-t.html#cairo-status-string">
<ANCHOR id="cairo-filter-t" href="cairo/cairo-cairo-t.html#cairo-filter-t">
<ANCHOR id="cairo-image-surface-create" href="cairo/cairo-cairo-t.html#cairo-image-surface-create">
<ANCHOR id="cairo-image-surface-create-for-data" href="cairo/cairo-cairo-t.html#cairo-image-surface-create-for-data">
<ANCHOR id="cairo-cairo-surface-t" href="cairo/cairo-cairo-surface-t.html">
<ANCHOR id="cairo-surface-t" href="cairo/cairo-cairo-surface-t.html#cairo-surface-t">
<ANCHOR id="cairo-surface-create-for-image" href="cairo/cairo-cairo-surface-t.html#cairo-surface-create-for-image">
<ANCHOR id="cairo-surface-create-similar" href="cairo/cairo-cairo-surface-t.html#cairo-surface-create-similar">
<ANCHOR id="cairo-surface-reference" href="cairo/cairo-cairo-surface-t.html#cairo-surface-reference">
<ANCHOR id="cairo-surface-destroy" href="cairo/cairo-cairo-surface-t.html#cairo-surface-destroy">
<ANCHOR id="cairo-surface-set-repeat" href="cairo/cairo-cairo-surface-t.html#cairo-surface-set-repeat">
<ANCHOR id="cairo-surface-set-matrix" href="cairo/cairo-cairo-surface-t.html#cairo-surface-set-matrix">
<ANCHOR id="cairo-surface-get-matrix" href="cairo/cairo-cairo-surface-t.html#cairo-surface-get-matrix">
<ANCHOR id="cairo-surface-set-filter" href="cairo/cairo-cairo-surface-t.html#cairo-surface-set-filter">
<ANCHOR id="cairo-surface-get-filter" href="cairo/cairo-cairo-surface-t.html#cairo-surface-get-filter">
<ANCHOR id="cairo-cairo-pattern-t" href="cairo/cairo-cairo-pattern-t.html">
<ANCHOR id="cairo-pattern-t" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-t">
<ANCHOR id="cairo-pattern-create-for-surface" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-create-for-surface">
<ANCHOR id="cairo-pattern-create-linear" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-create-linear">
<ANCHOR id="cairo-pattern-create-radial" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-create-radial">
<ANCHOR id="cairo-pattern-reference" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-reference">
<ANCHOR id="cairo-pattern-destroy" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-destroy">
<ANCHOR id="cairo-pattern-add-color-stop" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop">
<ANCHOR id="cairo-pattern-set-matrix" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-set-matrix">
<ANCHOR id="cairo-pattern-get-matrix" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-get-matrix">
<ANCHOR id="cairo-extend-t" href="cairo/cairo-cairo-pattern-t.html#cairo-extend-t">
<ANCHOR id="cairo-pattern-set-extend" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-set-extend">
<ANCHOR id="cairo-pattern-get-extend" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-get-extend">
<ANCHOR id="cairo-pattern-set-filter" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-set-filter">
<ANCHOR id="cairo-pattern-get-filter" href="cairo/cairo-cairo-pattern-t.html#cairo-pattern-get-filter">
<ANCHOR id="cairo-cairo-matrix-t" href="cairo/cairo-cairo-matrix-t.html">
<ANCHOR id="cairo-matrix-t" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-t">
<ANCHOR id="cairo-matrix-create" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-create">
<ANCHOR id="cairo-matrix-destroy" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-destroy">
<ANCHOR id="cairo-matrix-copy" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-copy">
<ANCHOR id="cairo-matrix-set-identity" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-set-identity">
<ANCHOR id="cairo-matrix-set-affine" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-set-affine">
<ANCHOR id="cairo-matrix-get-affine" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-get-affine">
<ANCHOR id="cairo-matrix-translate" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-translate">
<ANCHOR id="cairo-matrix-scale" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-scale">
<ANCHOR id="cairo-matrix-rotate" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-rotate">
<ANCHOR id="cairo-matrix-invert" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-invert">
<ANCHOR id="cairo-matrix-multiply" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-multiply">
<ANCHOR id="cairo-matrix-transform-distance" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-transform-distance">
<ANCHOR id="cairo-matrix-transform-point" href="cairo/cairo-cairo-matrix-t.html#cairo-matrix-transform-point">
<ANCHOR id="cairo-ATSUI-Fonts" href="cairo/cairo-ATSUI-Fonts.html">
<ANCHOR id="cairo-atsui-font-create" href="cairo/cairo-ATSUI-Fonts.html#cairo-atsui-font-create">
<ANCHOR id="cairo-FreeType-Fonts" href="cairo/cairo-FreeType-Fonts.html">
<ANCHOR id="cairo-ft-font-create" href="cairo/cairo-FreeType-Fonts.html#cairo-ft-font-create">
<ANCHOR id="cairo-ft-font-create-for-ft-face" href="cairo/cairo-FreeType-Fonts.html#cairo-ft-font-create-for-ft-face">
<ANCHOR id="cairo-ft-font-lock-face" href="cairo/cairo-FreeType-Fonts.html#cairo-ft-font-lock-face">
<ANCHOR id="cairo-ft-font-unlock-face" href="cairo/cairo-FreeType-Fonts.html#cairo-ft-font-unlock-face">
<ANCHOR id="cairo-ft-font-get-pattern" href="cairo/cairo-FreeType-Fonts.html#cairo-ft-font-get-pattern">
<ANCHOR id="cairo-Glitz-backend" href="cairo/cairo-Glitz-backend.html">
<ANCHOR id="cairo-set-target-glitz" href="cairo/cairo-Glitz-backend.html#cairo-set-target-glitz">
<ANCHOR id="cairo-glitz-surface-create" href="cairo/cairo-Glitz-backend.html#cairo-glitz-surface-create">
<ANCHOR id="cairo-PDF-Backend" href="cairo/cairo-PDF-Backend.html">
<ANCHOR id="cairo-set-target-pdf" href="cairo/cairo-PDF-Backend.html#cairo-set-target-pdf">
<ANCHOR id="cairo-pdf-surface-create" href="cairo/cairo-PDF-Backend.html#cairo-pdf-surface-create">
<ANCHOR id="cairo-PNG-Backend" href="cairo/cairo-PNG-Backend.html">
<ANCHOR id="cairo-set-target-png" href="cairo/cairo-PNG-Backend.html#cairo-set-target-png">
<ANCHOR id="cairo-png-surface-create" href="cairo/cairo-PNG-Backend.html#cairo-png-surface-create">
<ANCHOR id="cairo-PS-Backend" href="cairo/cairo-PS-Backend.html">
<ANCHOR id="cairo-set-target-ps" href="cairo/cairo-PS-Backend.html#cairo-set-target-ps">
<ANCHOR id="cairo-ps-surface-create" href="cairo/cairo-PS-Backend.html#cairo-ps-surface-create">
<ANCHOR id="cairo-Quartz-Backend" href="cairo/cairo-Quartz-Backend.html">
<ANCHOR id="cairo-set-target-quartz-context" href="cairo/cairo-Quartz-Backend.html#cairo-set-target-quartz-context">
<ANCHOR id="cairo-quartz-surface-create" href="cairo/cairo-Quartz-Backend.html#cairo-quartz-surface-create">
<ANCHOR id="cairo-Microsoft-Windows-Backend" href="cairo/cairo-Microsoft-Windows-Backend.html">
<ANCHOR id="cairo-set-target-win32" href="cairo/cairo-Microsoft-Windows-Backend.html#cairo-set-target-win32">
<ANCHOR id="cairo-win32-surface-create" href="cairo/cairo-Microsoft-Windows-Backend.html#cairo-win32-surface-create">
<ANCHOR id="cairo-win32-font-create-for-logfontw" href="cairo/cairo-Microsoft-Windows-Backend.html#cairo-win32-font-create-for-logfontw">
<ANCHOR id="cairo-win32-font-select-font" href="cairo/cairo-Microsoft-Windows-Backend.html#cairo-win32-font-select-font">
<ANCHOR id="cairo-win32-font-done-font" href="cairo/cairo-Microsoft-Windows-Backend.html#cairo-win32-font-done-font">
<ANCHOR id="cairo-win32-font-get-scale-factor" href="cairo/cairo-Microsoft-Windows-Backend.html#cairo-win32-font-get-scale-factor">
<ANCHOR id="cairo-XCB-Backend" href="cairo/cairo-XCB-Backend.html">
<ANCHOR id="cairo-set-target-xcb" href="cairo/cairo-XCB-Backend.html#cairo-set-target-xcb">
<ANCHOR id="cairo-XLib-Backend" href="cairo/cairo-XLib-Backend.html">
<ANCHOR id="cairo-set-target-drawable" href="cairo/cairo-XLib-Backend.html#cairo-set-target-drawable">
<ANCHOR id="cairo-xlib-surface-create" href="cairo/cairo-XLib-Backend.html#cairo-xlib-surface-create">

Двоичные данные
gfx/cairo/cairo/doc/public/html/left.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 459 B

Просмотреть файл

@ -1 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Part I. Tutorial</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="previous" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="next" href="pt02.html" title="Part II. Reference"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="pt02.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2677864"></a>Tutorial</h1></div></div><div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="index.html"><b>&lt;&lt; Cairo: A Vector Graphics Library</b></a></td><td align="right"><a accesskey="n" href="pt02.html"><b>Part II. Reference &gt;&gt;</b></a></td></tr></table></body></html>

Просмотреть файл

@ -1 +0,0 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Part II. Reference</title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"><link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="previous" href="pt01.html" title="Part I. Tutorial"><link rel="next" href="cairo-cairo-t.html" title="cairo_t"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="pt01.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-cairo-t.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2618448"></a>Reference</h1></div></div><div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="pt01.html"><b>&lt;&lt; Part I. Tutorial</b></a></td><td align="right"><a accesskey="n" href="cairo-cairo-t.html"><b>cairo_t &gt;&gt;</b></a></td></tr></table></body></html>

Двоичные данные
gfx/cairo/cairo/doc/public/html/right.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 472 B

Просмотреть файл

@ -1,66 +0,0 @@
.synopsis, .classsynopsis
{
background: #eeeeee;
border: solid 1px #aaaaaa;
padding: 0.5em;
}
.programlisting
{
background: #eeeeff;
border: solid 1px #aaaaff;
padding: 0.5em;
}
.variablelist
{
padding: 4px;
margin-left: 3em;
}
.variablelist td:first-child
{
vertical-align: top;
}
table.navigation
{
background: #ffeeee;
border: solid 1px #ffaaaa;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.navigation a
{
color: #770000;
}
.navigation a:visited
{
color: #550000;
}
.navigation .title
{
font-size: 200%;
}
div.refnamediv
{
margin-top: 2em;
}
div.gallery-float
{
float: left;
padding: 10px;
}
div.gallery-float img
{
border-style: none;
}
div.gallery-spacer
{
clear: both;
}
a
{
text-decoration: none;
}
a:hover
{
text-decoration: underline;
color: #FF0000;
}

Двоичные данные
gfx/cairo/cairo/doc/public/html/up.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 406 B

Просмотреть файл

@ -1,25 +0,0 @@
<!-- ##### SECTION Title ##### -->
ATSUI Fonts
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION cairo_atsui_font_create ##### -->
<para>
</para>
@style:
@Returns:

Просмотреть файл

@ -1,63 +0,0 @@
<!-- ##### SECTION Title ##### -->
FreeType Fonts
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION cairo_ft_font_create ##### -->
<para>
</para>
@pattern:
@scale:
@Returns:
<!-- ##### FUNCTION cairo_ft_font_create_for_ft_face ##### -->
<para>
</para>
@face:
@load_flags:
@scale:
@Returns:
<!-- ##### FUNCTION cairo_ft_font_lock_face ##### -->
<para>
</para>
@ft_font:
@Returns:
<!-- ##### FUNCTION cairo_ft_font_unlock_face ##### -->
<para>
</para>
@ft_font:
<!-- ##### FUNCTION cairo_ft_font_get_pattern ##### -->
<para>
</para>
@ft_font:
@Returns:

Просмотреть файл

@ -1,34 +0,0 @@
<!-- ##### SECTION Title ##### -->
Glitz backend
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION cairo_set_target_glitz ##### -->
<para>
</para>
@cr:
@surface:
<!-- ##### FUNCTION cairo_glitz_surface_create ##### -->
<para>
</para>
@surface:
@Returns:

Просмотреть файл

@ -1,193 +0,0 @@
<!-- ##### SECTION Title ##### -->
cairo_matrix_t
<!-- ##### SECTION Short_Description ##### -->
Transformation matrices
<!-- ##### SECTION Long_Description ##### -->
<para><indexterm><primary>types</primary><secondary>cairo_matrix</secondary></indexterm><indexterm><primary/></indexterm>
<structname>cairo_matrix_t</structname> is used throughout
Cairo to represents between different coordinates spaces.
A <structname>cairo_matrix</structname> holds an affine
transformation, such as a scale, rotation, or shear, or a
combination of those. Mathematically, the effect of an affine
transformation on a point (<literal>x</literal>,<literal>y</literal>) is given by:
</para>
<programlisting>
x_new = x * a + y * c + tx;
y_new = x * b + y * d + ty;
</programlisting>
<para>
The parameters <literal>a</literal>, <literal>b</literal>,
<literal>c</literal>, <literal>d</literal>, <literal>tx</literal>,
<literal>ty</literal> can be retrieved with
cairo_matrix_get_affine() and set with cairo_matrix_get_affine().
</para>
<para>
The primary use of transformation matrices in Cairo is as the
current transformation matrix in a #cairo_t. The current
transformation matrix gives the transformation from user space
coordinates to device coordinates. See cairo_set_matrix(),
cairo_current_matrix().
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### TYPEDEF cairo_matrix_t ##### -->
<para>
</para>
<!-- ##### FUNCTION cairo_matrix_create ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION cairo_matrix_destroy ##### -->
<para>
</para>
@matrix:
<!-- ##### FUNCTION cairo_matrix_copy ##### -->
<para>
</para>
@matrix:
@other:
@Returns:
<!-- ##### FUNCTION cairo_matrix_set_identity ##### -->
<para>
</para>
@matrix:
@Returns:
<!-- ##### FUNCTION cairo_matrix_set_affine ##### -->
<para>
</para>
@matrix:
@a:
@b:
@c:
@d:
@tx:
@ty:
@Returns:
<!-- # Unused Parameters # -->
@cr:
<!-- ##### FUNCTION cairo_matrix_get_affine ##### -->
<para>
</para>
@matrix:
@a:
@b:
@c:
@d:
@tx:
@ty:
@Returns:
<!-- ##### FUNCTION cairo_matrix_translate ##### -->
<para>
</para>
@matrix:
@tx:
@ty:
@Returns:
<!-- ##### FUNCTION cairo_matrix_scale ##### -->
<para>
</para>
@matrix:
@sx:
@sy:
@Returns:
<!-- ##### FUNCTION cairo_matrix_rotate ##### -->
<para>
</para>
@matrix:
@radians:
@Returns:
<!-- ##### FUNCTION cairo_matrix_invert ##### -->
<para>
</para>
@matrix:
@Returns:
<!-- ##### FUNCTION cairo_matrix_multiply ##### -->
<para>
</para>
@result:
@a:
@b:
@Returns:
<!-- ##### FUNCTION cairo_matrix_transform_distance ##### -->
<para>
</para>
@matrix:
@dx:
@dy:
@Returns:
<!-- ##### FUNCTION cairo_matrix_transform_point ##### -->
<para>
</para>
@matrix:
@x:
@y:
@Returns:
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../cairo-docs.xml" "book" "refsect2" "")
End:
-->

Просмотреть файл

@ -1,154 +0,0 @@
<!-- ##### SECTION Title ##### -->
cairo_pattern_t
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### TYPEDEF cairo_pattern_t ##### -->
<para>
</para>
<!-- ##### FUNCTION cairo_pattern_create_for_surface ##### -->
<para>
</para>
@surface:
@Returns:
<!-- ##### FUNCTION cairo_pattern_create_linear ##### -->
<para>
</para>
@x0:
@y0:
@x1:
@y1:
@Returns:
<!-- ##### FUNCTION cairo_pattern_create_radial ##### -->
<para>
</para>
@cx0:
@cy0:
@radius0:
@cx1:
@cy1:
@radius1:
@Returns:
<!-- ##### FUNCTION cairo_pattern_reference ##### -->
<para>
</para>
@pattern:
<!-- ##### FUNCTION cairo_pattern_destroy ##### -->
<para>
</para>
@pattern:
<!-- ##### FUNCTION cairo_pattern_add_color_stop ##### -->
<para>
</para>
@pattern:
@offset:
@red:
@green:
@blue:
@alpha:
@Returns:
<!-- ##### FUNCTION cairo_pattern_set_matrix ##### -->
<para>
</para>
@pattern:
@matrix:
@Returns:
<!-- ##### FUNCTION cairo_pattern_get_matrix ##### -->
<para>
</para>
@pattern:
@matrix:
@Returns:
<!-- ##### ENUM cairo_extend_t ##### -->
<para>
</para>
@CAIRO_EXTEND_NONE:
@CAIRO_EXTEND_REPEAT:
@CAIRO_EXTEND_REFLECT:
<!-- ##### FUNCTION cairo_pattern_set_extend ##### -->
<para>
</para>
@pattern:
@extend:
@Returns:
<!-- ##### FUNCTION cairo_pattern_get_extend ##### -->
<para>
</para>
@pattern:
@Returns:
<!-- ##### FUNCTION cairo_pattern_set_filter ##### -->
<para>
</para>
@pattern:
@filter:
@Returns:
<!-- ##### FUNCTION cairo_pattern_get_filter ##### -->
<para>
</para>
@pattern:
@Returns:

Просмотреть файл

@ -1,42 +0,0 @@
<!-- ##### SECTION Title ##### -->
PDF Backend
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION cairo_set_target_pdf ##### -->
<para>
</para>
@cr:
@file:
@width_inches:
@height_inches:
@x_pixels_per_inch:
@y_pixels_per_inch:
<!-- ##### FUNCTION cairo_pdf_surface_create ##### -->
<para>
</para>
@file:
@width_inches:
@height_inches:
@x_pixels_per_inch:
@y_pixels_per_inch:
@Returns:

Просмотреть файл

@ -1,40 +0,0 @@
<!-- ##### SECTION Title ##### -->
PNG Backend
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION cairo_set_target_png ##### -->
<para>
</para>
@cr:
@file:
@format:
@width:
@height:
<!-- ##### FUNCTION cairo_png_surface_create ##### -->
<para>
</para>
@file:
@format:
@width:
@height:
@Returns:

Просмотреть файл

@ -1,42 +0,0 @@
<!-- ##### SECTION Title ##### -->
PS Backend
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION cairo_set_target_ps ##### -->
<para>
</para>
@cr:
@file:
@width_inches:
@height_inches:
@x_pixels_per_inch:
@y_pixels_per_inch:
<!-- ##### FUNCTION cairo_ps_surface_create ##### -->
<para>
</para>
@file:
@width_inches:
@height_inches:
@x_pixels_per_inch:
@y_pixels_per_inch:
@Returns:

Просмотреть файл

@ -1,38 +0,0 @@
<!-- ##### SECTION Title ##### -->
Quartz Backend
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION cairo_set_target_quartz_context ##### -->
<para>
</para>
@cr:
@context:
@width:
@height:
<!-- ##### FUNCTION cairo_quartz_surface_create ##### -->
<para>
</para>
@context:
@width:
@height:
@Returns:

Просмотреть файл

@ -1,112 +0,0 @@
<!-- ##### SECTION Title ##### -->
cairo_surface_t
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### TYPEDEF cairo_surface_t ##### -->
<para>
</para>
<!-- ##### FUNCTION cairo_surface_create_for_image ##### -->
<para>
</para>
@data:
@format:
@width:
@height:
@stride:
@Returns:
<!-- ##### FUNCTION cairo_surface_create_similar ##### -->
<para>
</para>
@other:
@format:
@width:
@height:
@Returns:
<!-- ##### FUNCTION cairo_surface_reference ##### -->
<para>
</para>
@surface:
<!-- ##### FUNCTION cairo_surface_destroy ##### -->
<para>
</para>
@surface:
<!-- ##### FUNCTION cairo_surface_set_repeat ##### -->
<para>
</para>
@surface:
@repeat:
@Returns:
<!-- ##### FUNCTION cairo_surface_set_matrix ##### -->
<para>
</para>
@surface:
@matrix:
@Returns:
<!-- ##### FUNCTION cairo_surface_get_matrix ##### -->
<para>
</para>
@surface:
@matrix:
@Returns:
<!-- ##### FUNCTION cairo_surface_set_filter ##### -->
<para>
</para>
@surface:
@filter:
@Returns:
<!-- ##### FUNCTION cairo_surface_get_filter ##### -->
<para>
</para>
@surface:
@Returns:

Просмотреть файл

@ -1,28 +0,0 @@
<!-- ##### SECTION Title ##### -->
XCB Backend
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION cairo_set_target_xcb ##### -->
<para>
</para>
@cr:
@dpy:
@drawable:
@visual:
@format:

Просмотреть файл

@ -1,39 +0,0 @@
<!-- ##### SECTION Title ##### -->
XLib Backend
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION cairo_set_target_drawable ##### -->
<para>
</para>
@cr:
@dpy:
@drawable:
<!-- ##### FUNCTION cairo_xlib_surface_create ##### -->
<para>
</para>
@dpy:
@drawable:
@visual:
@format:
@colormap:
@Returns:

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,62 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-ATSUI-Fonts">
<refmeta>
<refentrytitle>ATSUI Fonts</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ATSUI Fonts</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="cairo-font-t">cairo_font_t</link>* <link linkend="cairo-atsui-font-create">cairo_atsui_font_create</link> (<link linkend="ATSUStyle">ATSUStyle</link> style);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-atsui-font-create"/>cairo_atsui_font_create ()</title>
<indexterm><primary>cairo_atsui_font_create</primary></indexterm><programlisting><link linkend="cairo-font-t">cairo_font_t</link>* cairo_atsui_font_create (<link linkend="ATSUStyle">ATSUStyle</link> style);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>style</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,206 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-FreeType-Fonts">
<refmeta>
<refentrytitle>FreeType Fonts</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FreeType Fonts</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="cairo-font-t">cairo_font_t</link>* <link linkend="cairo-ft-font-create">cairo_ft_font_create</link> (<link linkend="FcPattern">FcPattern</link> *pattern,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *scale);
<link linkend="cairo-font-t">cairo_font_t</link>* <link linkend="cairo-ft-font-create-for-ft-face">cairo_ft_font_create_for_ft_face</link>
(<link linkend="FT-Face">FT_Face</link> face,
<link linkend="int">int</link> load_flags,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *scale);
<link linkend="FT-Face">FT_Face</link> <link linkend="cairo-ft-font-lock-face">cairo_ft_font_lock_face</link> (<link linkend="cairo-font-t">cairo_font_t</link> *ft_font);
<link linkend="void">void</link> <link linkend="cairo-ft-font-unlock-face">cairo_ft_font_unlock_face</link> (<link linkend="cairo-font-t">cairo_font_t</link> *ft_font);
<link linkend="FcPattern">FcPattern</link>* <link linkend="cairo-ft-font-get-pattern">cairo_ft_font_get_pattern</link> (<link linkend="cairo-font-t">cairo_font_t</link> *ft_font);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-ft-font-create"/>cairo_ft_font_create ()</title>
<indexterm><primary>cairo_ft_font_create</primary></indexterm><programlisting><link linkend="cairo-font-t">cairo_font_t</link>* cairo_ft_font_create (<link linkend="FcPattern">FcPattern</link> *pattern,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *scale);</programlisting>
<para>
Creates a new font for the FreeType font backend based on a
fontconfig pattern. This font can then be used with
<link linkend="cairo-set-font"><function>cairo_set_font()</function></link>, <link linkend="cairo-font-glyph-extents"><function>cairo_font_glyph_extents()</function></link>, or FreeType backend
specific functions like <link linkend="cairo-ft-font-lock-face"><function>cairo_ft_font_lock_face()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>pattern</parameter>&nbsp;:</term>
<listitem><simpara> A fully resolved fontconfig
pattern. A pattern can be resolved, by, among other things, calling
<link linkend="FcConfigSubstitute"><function>FcConfigSubstitute()</function></link>, <link linkend="FcDefaultSubstitute"><function>FcDefaultSubstitute()</function></link>, then
<link linkend="FcFontMatch"><function>FcFontMatch()</function></link>. Cairo will call <link linkend="FcPatternReference"><function>FcPatternReference()</function></link> on this
pattern, so you should not further modify the pattern, but you can
release your reference to the pattern with <link linkend="FcPatternDestroy"><function>FcPatternDestroy()</function></link> if
you no longer need to access it.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>scale</parameter>&nbsp;:</term>
<listitem><simpara> The scale at which this font will be used. The
scale is given by multiplying the font matrix (see
<link linkend="cairo-transform-font"><function>cairo_transform_font()</function></link>) by the current transformation matrix.
The translation elements of the resulting matrix are ignored.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly created <link linkend="cairo-font-t"><type>cairo_font_t</type></link>. Free with
<link linkend="cairo-font-destroy"><function>cairo_font_destroy()</function></link> when you are done using it.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-ft-font-create-for-ft-face"/>cairo_ft_font_create_for_ft_face ()</title>
<indexterm><primary>cairo_ft_font_create_for_ft_face</primary></indexterm><programlisting><link linkend="cairo-font-t">cairo_font_t</link>* cairo_ft_font_create_for_ft_face
(<link linkend="FT-Face">FT_Face</link> face,
<link linkend="int">int</link> load_flags,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *scale);</programlisting>
<para>
Creates a new font forthe FreeType font backend from a pre-opened
FreeType face. This font can then be used with <link linkend="cairo-set-font"><function>cairo_set_font()</function></link>,
<link linkend="cairo-font-glyph-extents"><function>cairo_font_glyph_extents()</function></link>, or FreeType backend specific
functions like <link linkend="cairo-ft-font-lock-face"><function>cairo_ft_font_lock_face()</function></link> Cairo will determine the
pixel size and transformation from the <parameter>scale</parameter> parameter and call
<link linkend="FT-Set-Transform"><function>FT_Set_Transform()</function></link> and <link linkend="FT-Set-Pixel-Sizes"><function>FT_Set_Pixel_Sizes()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>face</parameter>&nbsp;:</term>
<listitem><simpara> A FreeType face object, already opened. This must
be kept around until the font object's refcount drops to
zero and it is freed. The font object can be kept alive by
internal caching, so it's safest to keep the face object
around forever.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>load_flags</parameter>&nbsp;:</term>
<listitem><simpara> The flags to pass to FT_Load_Glyph when loading
glyphs from the font. These flags control aspects of
rendering such as hinting and antialiasing. See the FreeType
docs for full information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>scale</parameter>&nbsp;:</term>
<listitem><simpara> The scale at which this font will be used. The
scale is given by multiplying the font matrix (see
<link linkend="cairo-transform-font"><function>cairo_transform_font()</function></link>) by the current transformation matrix.
The translation elements of the resulting matrix are ignored.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly created <link linkend="cairo-font-t"><type>cairo_font_t</type></link>. Free with
<link linkend="cairo-font-destroy"><function>cairo_font_destroy()</function></link> when you are done using it.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-ft-font-lock-face"/>cairo_ft_font_lock_face ()</title>
<indexterm><primary>cairo_ft_font_lock_face</primary></indexterm><programlisting><link linkend="FT-Face">FT_Face</link> cairo_ft_font_lock_face (<link linkend="cairo-font-t">cairo_font_t</link> *ft_font);</programlisting>
<para>
<link linkend="cairo-ft-font-lock-face"><function>cairo_ft_font_lock_face()</function></link> gets the <link linkend="FT-Face"><type>FT_Face</type></link> object from a FreeType
backend font and scales it appropriately for the font. You must
release the face with <link linkend="cairo-ft-font-unlock-face"><function>cairo_ft_font_unlock_face()</function></link>
when you are done using it. Since the <link linkend="FT-Face"><type>FT_Face</type></link> object can be
shared between multiple <link linkend="cairo-font-t"><type>cairo_font_t</type></link> objects, you must not
lock any other font objects until you unlock this one. A count is
kept of the number of times <link linkend="cairo-ft-font-lock-face"><function>cairo_ft_font_lock_face()</function></link> is
called. <link linkend="cairo-ft-font-unlock-face"><function>cairo_ft_font_unlock_face()</function></link> must be called the same number
of times.
</para>
<para>
You must be careful when using this function in a library or in a
threaded application, because other threads may lock faces that
share the same <link linkend="FT-Face"><type>FT_Face</type></link> object. For this reason, you must call
<link linkend="cairo-ft-lock"><function>cairo_ft_lock()</function></link> before locking any face objects, and
<link linkend="cairo-ft-unlock"><function>cairo_ft_unlock()</function></link> after you are done. (These functions are not yet
implemented, so this function cannot be currently safely used in a
threaded application.)</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>ft_font</parameter>&nbsp;:</term>
<listitem><simpara> A <link linkend="cairo-font-t"><type>cairo_font_t</type></link> from the FreeType font backend. Such an
object can be created with <link linkend="cairo-ft-font-create"><function>cairo_ft_font_create()</function></link> or
<link linkend="cairo-ft-font-create-for-ft-face"><function>cairo_ft_font_create_for_ft_face()</function></link>. On some platforms the font from
<link linkend="cairo-current-font"><function>cairo_current_font()</function></link> will also be a FreeType font, but using this
functionality with fonts you don't create yourself is not
recommended.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The <link linkend="FT-Face"><type>FT_Face</type></link> object for <parameter>font</parameter>, scaled appropriately.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-ft-font-unlock-face"/>cairo_ft_font_unlock_face ()</title>
<indexterm><primary>cairo_ft_font_unlock_face</primary></indexterm><programlisting><link linkend="void">void</link> cairo_ft_font_unlock_face (<link linkend="cairo-font-t">cairo_font_t</link> *ft_font);</programlisting>
<para>
Releases a face obtained with <link linkend="cairo-ft-font-lock-face"><function>cairo_ft_font_lock_face()</function></link>. See the
documentation for that function for full details.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>ft_font</parameter>&nbsp;:</term>
<listitem><simpara> A <link linkend="cairo-font-t"><type>cairo_font_t</type></link> from the FreeType font backend. Such an
object can be created with <link linkend="cairo-ft-font-create"><function>cairo_ft_font_create()</function></link> or
<link linkend="cairo-ft-font-create-for-ft-face"><function>cairo_ft_font_create_for_ft_face()</function></link>. On some platforms the font from
<link linkend="cairo-current-font"><function>cairo_current_font()</function></link> will also be a FreeType font, but using this
functionality with fonts you don't create yourself is not
recommended.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-ft-font-get-pattern"/>cairo_ft_font_get_pattern ()</title>
<indexterm><primary>cairo_ft_font_get_pattern</primary></indexterm><programlisting><link linkend="FcPattern">FcPattern</link>* cairo_ft_font_get_pattern (<link linkend="cairo-font-t">cairo_font_t</link> *ft_font);</programlisting>
<para>
<link linkend="cairo-ft-font-get-pattern"><function>cairo_ft_font_get_pattern()</function></link> gets the <link linkend="FcPattern"><type>FcPattern</type></link> for a FreeType
backend font.
</para>
<para>
Return value: The <link linkend="FcPattenr"><type>FcPattenr</type></link> for <parameter>font</parameter>. The return value is owned
by the font, so you must not modify it, and must call
<link linkend="FcPatternReference"><function>FcPatternReference()</function></link> to keep a persistant reference to the
pattern. If the font was created with <link linkend="cairo-ft-font-create-for-ft-face"><function>cairo_ft_font_create_for_ft_face()</function></link></para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>ft_font</parameter>&nbsp;:</term>
<listitem><simpara> A <link linkend="cairo-font-t"><type>cairo_font_t</type></link> from the FreeType font backend. Such an
object can be created with <link linkend="cairo-ft-font-create"><function>cairo_ft_font_create()</function></link> or
<link linkend="cairo-ft-font-create-for-ft-face"><function>cairo_ft_font_create_for_ft_face()</function></link>. On some platforms the font from
<link linkend="cairo-current-font"><function>cairo_current_font()</function></link> will also be a FreeType font, but using this
functionality with fonts you don't create yourself is not
recommended.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara><literal>NULL</literal>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,80 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-Glitz-backend">
<refmeta>
<refentrytitle>Glitz backend</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Glitz backend</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="void">void</link> <link linkend="cairo-set-target-glitz">cairo_set_target_glitz</link> (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="glitz-surface-t">glitz_surface_t</link> *surface);
<link linkend="cairo-surface-t">cairo_surface_t</link>* <link linkend="cairo-glitz-surface-create">cairo_glitz_surface_create</link> (<link linkend="glitz-surface-t">glitz_surface_t</link> *surface);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-set-target-glitz"/>cairo_set_target_glitz ()</title>
<indexterm><primary>cairo_set_target_glitz</primary></indexterm><programlisting><link linkend="void">void</link> cairo_set_target_glitz (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="glitz-surface-t">glitz_surface_t</link> *surface);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cr</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>surface</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-glitz-surface-create"/>cairo_glitz_surface_create ()</title>
<indexterm><primary>cairo_glitz_surface_create</primary></indexterm><programlisting><link linkend="cairo-surface-t">cairo_surface_t</link>* cairo_glitz_surface_create (<link linkend="glitz-surface-t">glitz_surface_t</link> *surface);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>surface</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,434 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-cairo-matrix-t">
<refmeta>
<refentrytitle>cairo_matrix_t</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>cairo_matrix_t</refname><refpurpose>
Transformation matrices</refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
typedef <link linkend="cairo-matrix-t">cairo_matrix_t</link>;
<link linkend="cairo-matrix-t">cairo_matrix_t</link>* <link linkend="cairo-matrix-create">cairo_matrix_create</link> (void);
<link linkend="void">void</link> <link linkend="cairo-matrix-destroy">cairo_matrix_destroy</link> (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-matrix-copy">cairo_matrix_copy</link> (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
const <link linkend="cairo-matrix-t">cairo_matrix_t</link> *other);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-matrix-set-identity">cairo_matrix_set_identity</link> (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-matrix-set-affine">cairo_matrix_set_affine</link> (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> a,
<link linkend="double">double</link> b,
<link linkend="double">double</link> c,
<link linkend="double">double</link> d,
<link linkend="double">double</link> tx,
<link linkend="double">double</link> ty);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-matrix-get-affine">cairo_matrix_get_affine</link> (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> *a,
<link linkend="double">double</link> *b,
<link linkend="double">double</link> *c,
<link linkend="double">double</link> *d,
<link linkend="double">double</link> *tx,
<link linkend="double">double</link> *ty);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-matrix-translate">cairo_matrix_translate</link> (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> tx,
<link linkend="double">double</link> ty);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-matrix-scale">cairo_matrix_scale</link> (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> sx,
<link linkend="double">double</link> sy);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-matrix-rotate">cairo_matrix_rotate</link> (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> radians);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-matrix-invert">cairo_matrix_invert</link> (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-matrix-multiply">cairo_matrix_multiply</link> (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *result,
const <link linkend="cairo-matrix-t">cairo_matrix_t</link> *a,
const <link linkend="cairo-matrix-t">cairo_matrix_t</link> *b);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-matrix-transform-distance">cairo_matrix_transform_distance</link>
(<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> *dx,
<link linkend="double">double</link> *dy);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-matrix-transform-point">cairo_matrix_transform_point</link> (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> *x,
<link linkend="double">double</link> *y);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><indexterm><primary>types</primary><secondary>cairo_matrix</secondary></indexterm><indexterm><primary/></indexterm>
<structname>cairo_matrix_t</structname> is used throughout
Cairo to represents between different coordinates spaces.
A <structname>cairo_matrix</structname> holds an affine
transformation, such as a scale, rotation, or shear, or a
combination of those. Mathematically, the effect of an affine
transformation on a point (<literal>x</literal>,<literal>y</literal>) is given by:
</para>
<programlisting>
x_new = x * a + y * c + tx;
y_new = x * b + y * d + ty;
</programlisting>
<para>
The parameters <literal>a</literal>, <literal>b</literal>,
<literal>c</literal>, <literal>d</literal>, <literal>tx</literal>,
<literal>ty</literal> can be retrieved with
<link linkend="cairo-matrix-get-affine"><function>cairo_matrix_get_affine()</function></link> and set with <link linkend="cairo-matrix-get-affine"><function>cairo_matrix_get_affine()</function></link>.
</para>
<para>
The primary use of transformation matrices in Cairo is as the
current transformation matrix in a <link linkend="cairo-t"><type>cairo_t</type></link>. The current
transformation matrix gives the transformation from user space
coordinates to device coordinates. See <link linkend="cairo-set-matrix"><function>cairo_set_matrix()</function></link>,
<link linkend="cairo-current-matrix"><function>cairo_current_matrix()</function></link>.
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-matrix-t"/>cairo_matrix_t</title>
<indexterm><primary>cairo_matrix_t</primary></indexterm><programlisting>typedef struct _cairo_matrix cairo_matrix_t;
</programlisting>
<para>
A <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> holds an affine transformation, such as a scale,
rotation, or shear, or a combination of those.</para>
<para>
</para></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-create"/>cairo_matrix_create ()</title>
<indexterm><primary>cairo_matrix_create</primary></indexterm><programlisting><link linkend="cairo-matrix-t">cairo_matrix_t</link>* cairo_matrix_create (void);</programlisting>
<para>
Creates a new identity matrix.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly created matrix; free with <link linkend="cairo-matrix-destroy"><function>cairo_matrix_destroy()</function></link>,
or <literal>NULL</literal> if memory couldn't be allocated.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-destroy"/>cairo_matrix_destroy ()</title>
<indexterm><primary>cairo_matrix_destroy</primary></indexterm><programlisting><link linkend="void">void</link> cairo_matrix_destroy (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);</programlisting>
<para>
Frees a matrix created with cairo_matrix_create.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-copy"/>cairo_matrix_copy ()</title>
<indexterm><primary>cairo_matrix_copy</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_matrix_copy (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
const <link linkend="cairo-matrix-t">cairo_matrix_t</link> *other);</programlisting>
<para>
Modifies <parameter>matrix</parameter> to be identical to <parameter>other</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>other</parameter>&nbsp;:</term>
<listitem><simpara> another <link linkend="cairo-"><type>cairo_</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>CAIRO_STATUS_SUCCESS</literal>, always.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-set-identity"/>cairo_matrix_set_identity ()</title>
<indexterm><primary>cairo_matrix_set_identity</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_matrix_set_identity (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);</programlisting>
<para>
Modifies <parameter>matrix</parameter> to be an identity transformation.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>CAIRO_STATUS_SUCCESS</literal>, always.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-set-affine"/>cairo_matrix_set_affine ()</title>
<indexterm><primary>cairo_matrix_set_affine</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_matrix_set_affine (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> a,
<link linkend="double">double</link> b,
<link linkend="double">double</link> c,
<link linkend="double">double</link> d,
<link linkend="double">double</link> tx,
<link linkend="double">double</link> ty);</programlisting>
<para>
Sets <parameter>matrix</parameter> to be the affine transformation given by
<parameter>a</parameter>, b, <parameter>c</parameter>, <parameter>d</parameter>, <parameter>tx</parameter>, <parameter>ty</parameter>. The transformation is given
by:
<programlisting>
x_new = x * a + y * c + tx;
y_new = x * b + y * d + ty;
</programlisting></para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara> a cairo_matrix_t
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
<listitem><simpara> a component of the affine transformation
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>b</parameter>&nbsp;:</term>
<listitem><simpara> b component of the affine transformation
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>c</parameter>&nbsp;:</term>
<listitem><simpara> c component of the affine transformation
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>d</parameter>&nbsp;:</term>
<listitem><simpara> d component of the affine transformation
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tx</parameter>&nbsp;:</term>
<listitem><simpara> X translation component of the affine transformation
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ty</parameter>&nbsp;:</term>
<listitem><simpara> Y translation component of the affine transformation
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>CAIRO_STATUS_SUCCESS</literal>, always.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-get-affine"/>cairo_matrix_get_affine ()</title>
<indexterm><primary>cairo_matrix_get_affine</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_matrix_get_affine (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> *a,
<link linkend="double">double</link> *b,
<link linkend="double">double</link> *c,
<link linkend="double">double</link> *d,
<link linkend="double">double</link> *tx,
<link linkend="double">double</link> *ty);</programlisting>
<para>
Gets the matrix values for the affine tranformation that <parameter>matrix</parameter> represents.
See <link linkend="cairo-matrix-set-affine"><function>cairo_matrix_set_affine()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara> a <parameter>cairo_matrix_t</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
<listitem><simpara> location to store a component of affine transformation, or <literal>NULL</literal>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>b</parameter>&nbsp;:</term>
<listitem><simpara> location to store b component of affine transformation, or <literal>NULL</literal>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>c</parameter>&nbsp;:</term>
<listitem><simpara> location to store c component of affine transformation, or <literal>NULL</literal>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>d</parameter>&nbsp;:</term>
<listitem><simpara> location to store d component of affine transformation, or <literal>NULL</literal>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tx</parameter>&nbsp;:</term>
<listitem><simpara> location to store X-translation component of affine transformation, or <literal>NULL</literal>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ty</parameter>&nbsp;:</term>
<listitem><simpara> location to store Y-translation component of affine transformation, or <literal>NULL</literal>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>CAIRO_STATUS_SUCCESS</literal>, always.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-translate"/>cairo_matrix_translate ()</title>
<indexterm><primary>cairo_matrix_translate</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_matrix_translate (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> tx,
<link linkend="double">double</link> ty);</programlisting>
<para>
Applies a translation by <parameter>tx</parameter>, <parameter>ty</parameter> to the transformation in
<parameter>matrix</parameter>. The new transformation is given by first translating by
<parameter>tx</parameter>, <parameter>ty</parameter> then applying the original transformation</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara> a cairo_matrix_t
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tx</parameter>&nbsp;:</term>
<listitem><simpara> amount to rotate in the X direction
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ty</parameter>&nbsp;:</term>
<listitem><simpara> amount to rotate in the Y direction
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>CAIRO_STATUS_SUCCESS</literal>, always.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-scale"/>cairo_matrix_scale ()</title>
<indexterm><primary>cairo_matrix_scale</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_matrix_scale (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> sx,
<link linkend="double">double</link> sy);</programlisting>
<para>
Applies scaling by <parameter>tx</parameter>, <parameter>ty</parameter> to the transformation in
<parameter>matrix</parameter>. The new transformation is given by first scaling by <parameter>sx</parameter>
and <parameter>sy</parameter> then applying the original transformation</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>sx</parameter>&nbsp;:</term>
<listitem><simpara> Scale factor in the X direction
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>sy</parameter>&nbsp;:</term>
<listitem><simpara> Scale factor in the Y direction
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>CAIRO_STATUS_SUCCESS</literal>, always.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-rotate"/>cairo_matrix_rotate ()</title>
<indexterm><primary>cairo_matrix_rotate</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_matrix_rotate (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> radians);</programlisting>
<para>
Applies rotation by <parameter>radians</parameter> to the transformation in
<parameter>matrix</parameter>. The new transformation is given by first rotating by
<parameter>radians</parameter> then applying the original transformation</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara> a <parameter>cairo_matrix_t</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>radians</parameter>&nbsp;:</term>
<listitem><simpara> angle of rotation, in radians. Angles are defined
so that an angle of 90 degrees (<literal>M_PI</literal> radians) rotates the
positive X axis into the positive Y axis. With the default
Cairo choice of axis orientation, positive rotations are
clockwise.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>CAIRO_STATUS_SUCCESS</literal>, always.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-invert"/>cairo_matrix_invert ()</title>
<indexterm><primary>cairo_matrix_invert</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_matrix_invert (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);</programlisting>
<para>
Changes <parameter>matrix</parameter> to be the inverse of it's original value. Not
all transformation matrices have inverses; if the matrix
collapses points together (it is <firstterm>degenerate</firstterm>),
then it has no inverse and this function will fail.
</para>
<para>
Returns: If <parameter>matrix</parameter> has an inverse, modifies <parameter>matrix</parameter> to
be the inverse matrix and returns <literal>CAIRO_STATUS_SUCCESS</literal>. Otherwise,</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara> a <parameter>cairo_matrix_t</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara><literal>CAIRO_STATUS_INVALID_MATRIX</literal>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-multiply"/>cairo_matrix_multiply ()</title>
<indexterm><primary>cairo_matrix_multiply</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_matrix_multiply (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *result,
const <link linkend="cairo-matrix-t">cairo_matrix_t</link> *a,
const <link linkend="cairo-matrix-t">cairo_matrix_t</link> *b);</programlisting>
<para>
Multiplies the affine transformations in <parameter>a</parameter> and <parameter>b</parameter> together
and stores the result in <parameter>result</parameter>. The resulting transformation
is given by first applying the transformation in <parameter>b</parameter> then
applying the transformation in <parameter>a</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>result</parameter>&nbsp;:</term>
<listitem><simpara> a <parameter>cairo_matrix_t</parameter> in which to store the result
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
<listitem><simpara> a <parameter>cairo_matrix_t</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>b</parameter>&nbsp;:</term>
<listitem><simpara> a <parameter>cairo_matrix_t</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>CAIRO_STATUS_SUCCESS</literal>, always.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-transform-distance"/>cairo_matrix_transform_distance ()</title>
<indexterm><primary>cairo_matrix_transform_distance</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_matrix_transform_distance
(<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> *dx,
<link linkend="double">double</link> *dy);</programlisting>
<para>
Transforms the vector (<parameter>dx</parameter>,<parameter>dy</parameter>) by <parameter>matrix</parameter>. Translation is
ignored. In terms of the components of the affine transformation:
</para>
<para>
<programlisting>
dx2 = dx1 * a + dy1 * c;
dy2 = dx1 * b + dy1 * d;
</programlisting>
</para>
<para>
Affine transformations are position invariant, so the same vector
always transforms to the same vector. If (<parameter>x1</parameter>,<parameter>y1</parameter>) transforms
to (<parameter>x2</parameter>,<parameter>y2</parameter>) then (<parameter>x1</parameter>+<parameter>dx1</parameter>,<parameter>y1</parameter>+<parameter>dy1</parameter>) will transform to
(<parameter>x1</parameter>+<parameter>dx2</parameter>,<parameter>y1</parameter>+<parameter>dy2</parameter>) for all values of <parameter>x1</parameter> and <parameter>x2</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara> a <parameter>cairo_matrix_t</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dx</parameter>&nbsp;:</term>
<listitem><simpara> a distance in the X direction. An in/out parameter
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dy</parameter>&nbsp;:</term>
<listitem><simpara> a distance in the Y direction. An in/out parameter
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>CAIRO_STATUS_SUCCESS</literal>, always.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-matrix-transform-point"/>cairo_matrix_transform_point ()</title>
<indexterm><primary>cairo_matrix_transform_point</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_matrix_transform_point (<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix,
<link linkend="double">double</link> *x,
<link linkend="double">double</link> *y);</programlisting>
<para>
Transforms the point (<parameter>x</parameter>, <parameter>y</parameter>) by <parameter>matrix</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara> a <parameter>cairo_matrix_t</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara> X position. An in/out parameter
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara> Y position. An in/out parameter
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>CAIRO_STATUS_SUCCESS</literal>, always.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,334 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-cairo-pattern-t">
<refmeta>
<refentrytitle>cairo_pattern_t</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>cairo_pattern_t</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
typedef <link linkend="cairo-pattern-t">cairo_pattern_t</link>;
<link linkend="cairo-pattern-t">cairo_pattern_t</link>* <link linkend="cairo-pattern-create-for-surface">cairo_pattern_create_for_surface</link>
(<link linkend="cairo-surface-t">cairo_surface_t</link> *surface);
<link linkend="cairo-pattern-t">cairo_pattern_t</link>* <link linkend="cairo-pattern-create-linear">cairo_pattern_create_linear</link>
(<link linkend="double">double</link> x0,
<link linkend="double">double</link> y0,
<link linkend="double">double</link> x1,
<link linkend="double">double</link> y1);
<link linkend="cairo-pattern-t">cairo_pattern_t</link>* <link linkend="cairo-pattern-create-radial">cairo_pattern_create_radial</link>
(<link linkend="double">double</link> cx0,
<link linkend="double">double</link> cy0,
<link linkend="double">double</link> radius0,
<link linkend="double">double</link> cx1,
<link linkend="double">double</link> cy1,
<link linkend="double">double</link> radius1);
<link linkend="void">void</link> <link linkend="cairo-pattern-reference">cairo_pattern_reference</link> (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern);
<link linkend="void">void</link> <link linkend="cairo-pattern-destroy">cairo_pattern_destroy</link> (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-pattern-add-color-stop">cairo_pattern_add_color_stop</link> (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern,
<link linkend="double">double</link> offset,
<link linkend="double">double</link> red,
<link linkend="double">double</link> green,
<link linkend="double">double</link> blue,
<link linkend="double">double</link> alpha);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-pattern-set-matrix">cairo_pattern_set_matrix</link> (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-pattern-get-matrix">cairo_pattern_get_matrix</link> (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);
enum <link linkend="cairo-extend-t">cairo_extend_t</link>;
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-pattern-set-extend">cairo_pattern_set_extend</link> (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern,
<link linkend="cairo-extend-t">cairo_extend_t</link> extend);
<link linkend="cairo-extend-t">cairo_extend_t</link> <link linkend="cairo-pattern-get-extend">cairo_pattern_get_extend</link> (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-pattern-set-filter">cairo_pattern_set_filter</link> (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern,
<link linkend="cairo-filter-t">cairo_filter_t</link> filter);
<link linkend="cairo-filter-t">cairo_filter_t</link> <link linkend="cairo-pattern-get-filter">cairo_pattern_get_filter</link> (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-pattern-t"/>cairo_pattern_t</title>
<indexterm><primary>cairo_pattern_t</primary></indexterm><programlisting>typedef struct _cairo_pattern cairo_pattern_t;
</programlisting>
<para>
</para></refsect2>
<refsect2>
<title><anchor id="cairo-pattern-create-for-surface"/>cairo_pattern_create_for_surface ()</title>
<indexterm><primary>cairo_pattern_create_for_surface</primary></indexterm><programlisting><link linkend="cairo-pattern-t">cairo_pattern_t</link>* cairo_pattern_create_for_surface
(<link linkend="cairo-surface-t">cairo_surface_t</link> *surface);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>surface</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-pattern-create-linear"/>cairo_pattern_create_linear ()</title>
<indexterm><primary>cairo_pattern_create_linear</primary></indexterm><programlisting><link linkend="cairo-pattern-t">cairo_pattern_t</link>* cairo_pattern_create_linear
(<link linkend="double">double</link> x0,
<link linkend="double">double</link> y0,
<link linkend="double">double</link> x1,
<link linkend="double">double</link> y1);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>x0</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y0</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-pattern-create-radial"/>cairo_pattern_create_radial ()</title>
<indexterm><primary>cairo_pattern_create_radial</primary></indexterm><programlisting><link linkend="cairo-pattern-t">cairo_pattern_t</link>* cairo_pattern_create_radial
(<link linkend="double">double</link> cx0,
<link linkend="double">double</link> cy0,
<link linkend="double">double</link> radius0,
<link linkend="double">double</link> cx1,
<link linkend="double">double</link> cy1,
<link linkend="double">double</link> radius1);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cx0</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cy0</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>radius0</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cx1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cy1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>radius1</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-pattern-reference"/>cairo_pattern_reference ()</title>
<indexterm><primary>cairo_pattern_reference</primary></indexterm><programlisting><link linkend="void">void</link> cairo_pattern_reference (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>pattern</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-pattern-destroy"/>cairo_pattern_destroy ()</title>
<indexterm><primary>cairo_pattern_destroy</primary></indexterm><programlisting><link linkend="void">void</link> cairo_pattern_destroy (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>pattern</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-pattern-add-color-stop"/>cairo_pattern_add_color_stop ()</title>
<indexterm><primary>cairo_pattern_add_color_stop</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_pattern_add_color_stop (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern,
<link linkend="double">double</link> offset,
<link linkend="double">double</link> red,
<link linkend="double">double</link> green,
<link linkend="double">double</link> blue,
<link linkend="double">double</link> alpha);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>pattern</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>red</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>green</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>blue</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>alpha</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-pattern-set-matrix"/>cairo_pattern_set_matrix ()</title>
<indexterm><primary>cairo_pattern_set_matrix</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_pattern_set_matrix (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>pattern</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-pattern-get-matrix"/>cairo_pattern_get_matrix ()</title>
<indexterm><primary>cairo_pattern_get_matrix</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_pattern_get_matrix (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>pattern</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-extend-t"/>enum cairo_extend_t</title>
<indexterm><primary>cairo_extend_t</primary></indexterm><programlisting>typedef enum {
CAIRO_EXTEND_NONE,
CAIRO_EXTEND_REPEAT,
CAIRO_EXTEND_REFLECT
} cairo_extend_t;
</programlisting>
<para>
</para></refsect2>
<refsect2>
<title><anchor id="cairo-pattern-set-extend"/>cairo_pattern_set_extend ()</title>
<indexterm><primary>cairo_pattern_set_extend</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_pattern_set_extend (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern,
<link linkend="cairo-extend-t">cairo_extend_t</link> extend);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>pattern</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>extend</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-pattern-get-extend"/>cairo_pattern_get_extend ()</title>
<indexterm><primary>cairo_pattern_get_extend</primary></indexterm><programlisting><link linkend="cairo-extend-t">cairo_extend_t</link> cairo_pattern_get_extend (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>pattern</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-pattern-set-filter"/>cairo_pattern_set_filter ()</title>
<indexterm><primary>cairo_pattern_set_filter</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_pattern_set_filter (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern,
<link linkend="cairo-filter-t">cairo_filter_t</link> filter);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>pattern</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>filter</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-pattern-get-filter"/>cairo_pattern_get_filter ()</title>
<indexterm><primary>cairo_pattern_get_filter</primary></indexterm><programlisting><link linkend="cairo-filter-t">cairo_filter_t</link> cairo_pattern_get_filter (<link linkend="cairo-pattern-t">cairo_pattern_t</link> *pattern);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>pattern</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,120 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-PDF-Backend">
<refmeta>
<refentrytitle>PDF Backend</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>PDF Backend</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="void">void</link> <link linkend="cairo-set-target-pdf">cairo_set_target_pdf</link> (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="double">double</link> width_inches,
<link linkend="double">double</link> height_inches,
<link linkend="double">double</link> x_pixels_per_inch,
<link linkend="double">double</link> y_pixels_per_inch);
<link linkend="cairo-surface-t">cairo_surface_t</link>* <link linkend="cairo-pdf-surface-create">cairo_pdf_surface_create</link> (<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="double">double</link> width_inches,
<link linkend="double">double</link> height_inches,
<link linkend="double">double</link> x_pixels_per_inch,
<link linkend="double">double</link> y_pixels_per_inch);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-set-target-pdf"/>cairo_set_target_pdf ()</title>
<indexterm><primary>cairo_set_target_pdf</primary></indexterm><programlisting><link linkend="void">void</link> cairo_set_target_pdf (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="double">double</link> width_inches,
<link linkend="double">double</link> height_inches,
<link linkend="double">double</link> x_pixels_per_inch,
<link linkend="double">double</link> y_pixels_per_inch);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cr</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>file</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width_inches</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height_inches</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x_pixels_per_inch</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y_pixels_per_inch</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-pdf-surface-create"/>cairo_pdf_surface_create ()</title>
<indexterm><primary>cairo_pdf_surface_create</primary></indexterm><programlisting><link linkend="cairo-surface-t">cairo_surface_t</link>* cairo_pdf_surface_create (<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="double">double</link> width_inches,
<link linkend="double">double</link> height_inches,
<link linkend="double">double</link> x_pixels_per_inch,
<link linkend="double">double</link> y_pixels_per_inch);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>file</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width_inches</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height_inches</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x_pixels_per_inch</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y_pixels_per_inch</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,110 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-PNG-Backend">
<refmeta>
<refentrytitle>PNG Backend</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>PNG Backend</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="void">void</link> <link linkend="cairo-set-target-png">cairo_set_target_png</link> (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="cairo-format-t">cairo_format_t</link> format,
<link linkend="int">int</link> width,
<link linkend="int">int</link> height);
<link linkend="cairo-surface-t">cairo_surface_t</link>* <link linkend="cairo-png-surface-create">cairo_png_surface_create</link> (<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="cairo-format-t">cairo_format_t</link> format,
<link linkend="int">int</link> width,
<link linkend="int">int</link> height);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-set-target-png"/>cairo_set_target_png ()</title>
<indexterm><primary>cairo_set_target_png</primary></indexterm><programlisting><link linkend="void">void</link> cairo_set_target_png (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="cairo-format-t">cairo_format_t</link> format,
<link linkend="int">int</link> width,
<link linkend="int">int</link> height);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cr</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>file</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-png-surface-create"/>cairo_png_surface_create ()</title>
<indexterm><primary>cairo_png_surface_create</primary></indexterm><programlisting><link linkend="cairo-surface-t">cairo_surface_t</link>* cairo_png_surface_create (<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="cairo-format-t">cairo_format_t</link> format,
<link linkend="int">int</link> width,
<link linkend="int">int</link> height);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>file</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,125 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-PS-Backend">
<refmeta>
<refentrytitle>PS Backend</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>PS Backend</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="void">void</link> <link linkend="cairo-set-target-ps">cairo_set_target_ps</link> (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="double">double</link> width_inches,
<link linkend="double">double</link> height_inches,
<link linkend="double">double</link> x_pixels_per_inch,
<link linkend="double">double</link> y_pixels_per_inch);
<link linkend="cairo-surface-t">cairo_surface_t</link>* <link linkend="cairo-ps-surface-create">cairo_ps_surface_create</link> (<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="double">double</link> width_inches,
<link linkend="double">double</link> height_inches,
<link linkend="double">double</link> x_pixels_per_inch,
<link linkend="double">double</link> y_pixels_per_inch);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-set-target-ps"/>cairo_set_target_ps ()</title>
<indexterm><primary>cairo_set_target_ps</primary></indexterm><programlisting><link linkend="void">void</link> cairo_set_target_ps (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="double">double</link> width_inches,
<link linkend="double">double</link> height_inches,
<link linkend="double">double</link> x_pixels_per_inch,
<link linkend="double">double</link> y_pixels_per_inch);</programlisting>
<para>
Directs output for a <link linkend="cairo-t"><type>cairo_t</type></link> to a postscript file. The file must
be kept open until the <link linkend="cairo-t"><type>cairo_t</type></link> is destroyed or set to have a
different target, and then must be closed by the application.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cr</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-t"><type>cairo_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>file</parameter>&nbsp;:</term>
<listitem><simpara> an open, writeable file
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width_inches</parameter>&nbsp;:</term>
<listitem><simpara> width of the output page, in inches
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height_inches</parameter>&nbsp;:</term>
<listitem><simpara> height of the output page, in inches
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x_pixels_per_inch</parameter>&nbsp;:</term>
<listitem><simpara> X resolution to use for image fallbacks;
not all Cairo drawing can be represented in a postscript
file, so Cairo will write out images for some portions
of the output.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y_pixels_per_inch</parameter>&nbsp;:</term>
<listitem><simpara> Y resolution to use for image fallbacks.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-ps-surface-create"/>cairo_ps_surface_create ()</title>
<indexterm><primary>cairo_ps_surface_create</primary></indexterm><programlisting><link linkend="cairo-surface-t">cairo_surface_t</link>* cairo_ps_surface_create (<link linkend="FILE:CAPS">FILE</link> *file,
<link linkend="double">double</link> width_inches,
<link linkend="double">double</link> height_inches,
<link linkend="double">double</link> x_pixels_per_inch,
<link linkend="double">double</link> y_pixels_per_inch);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>file</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width_inches</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height_inches</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x_pixels_per_inch</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y_pixels_per_inch</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,102 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-Quartz-Backend">
<refmeta>
<refentrytitle>Quartz Backend</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Quartz Backend</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="void">void</link> <link linkend="cairo-set-target-quartz-context">cairo_set_target_quartz_context</link> (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="CGContextRef">CGContextRef</link> context,
<link linkend="int">int</link> width,
<link linkend="int">int</link> height);
<link linkend="cairo-surface-t">cairo_surface_t</link>* <link linkend="cairo-quartz-surface-create">cairo_quartz_surface_create</link>
(<link linkend="CGContextRef">CGContextRef</link> context,
<link linkend="int">int</link> width,
<link linkend="int">int</link> height);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-set-target-quartz-context"/>cairo_set_target_quartz_context ()</title>
<indexterm><primary>cairo_set_target_quartz_context</primary></indexterm><programlisting><link linkend="void">void</link> cairo_set_target_quartz_context (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="CGContextRef">CGContextRef</link> context,
<link linkend="int">int</link> width,
<link linkend="int">int</link> height);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cr</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-quartz-surface-create"/>cairo_quartz_surface_create ()</title>
<indexterm><primary>cairo_quartz_surface_create</primary></indexterm><programlisting><link linkend="cairo-surface-t">cairo_surface_t</link>* cairo_quartz_surface_create
(<link linkend="CGContextRef">CGContextRef</link> context,
<link linkend="int">int</link> width,
<link linkend="int">int</link> height);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,255 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-cairo-surface-t">
<refmeta>
<refentrytitle>cairo_surface_t</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>cairo_surface_t</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
typedef <link linkend="cairo-surface-t">cairo_surface_t</link>;
<link linkend="cairo-surface-t">cairo_surface_t</link>* <link linkend="cairo-surface-create-for-image">cairo_surface_create_for_image</link>
(<link linkend="char">char</link> *data,
<link linkend="cairo-format-t">cairo_format_t</link> format,
<link linkend="int">int</link> width,
<link linkend="int">int</link> height,
<link linkend="int">int</link> stride);
<link linkend="cairo-surface-t">cairo_surface_t</link>* <link linkend="cairo-surface-create-similar">cairo_surface_create_similar</link>
(<link linkend="cairo-surface-t">cairo_surface_t</link> *other,
<link linkend="cairo-format-t">cairo_format_t</link> format,
<link linkend="int">int</link> width,
<link linkend="int">int</link> height);
<link linkend="void">void</link> <link linkend="cairo-surface-reference">cairo_surface_reference</link> (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface);
<link linkend="void">void</link> <link linkend="cairo-surface-destroy">cairo_surface_destroy</link> (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-surface-set-repeat">cairo_surface_set_repeat</link> (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface,
<link linkend="int">int</link> repeat);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-surface-set-matrix">cairo_surface_set_matrix</link> (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-surface-get-matrix">cairo_surface_get_matrix</link> (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-surface-set-filter">cairo_surface_set_filter</link> (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface,
<link linkend="cairo-filter-t">cairo_filter_t</link> filter);
<link linkend="cairo-filter-t">cairo_filter_t</link> <link linkend="cairo-surface-get-filter">cairo_surface_get_filter</link> (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-surface-t"/>cairo_surface_t</title>
<indexterm><primary>cairo_surface_t</primary></indexterm><programlisting>typedef struct _cairo_surface cairo_surface_t;
</programlisting>
<para>
A <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> represents an image, either as the destination
of a drawing operation or as source when drawing onto another
surface. There are different subtypes of cairo_surface_t for
different drawing backends; for example, <link linkend="cairo-image-surface-create"><function>cairo_image_surface_create()</function></link>
creates a bitmap image in memory.
</para>
<para>
Memory management of <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> is done with
<link linkend="cairo-surface-reference"><function>cairo_surface_reference()</function></link> and <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link>.</para>
<para>
</para></refsect2>
<refsect2>
<title><anchor id="cairo-surface-create-for-image"/>cairo_surface_create_for_image ()</title>
<indexterm><primary>cairo_surface_create_for_image</primary></indexterm><programlisting><link linkend="cairo-surface-t">cairo_surface_t</link>* cairo_surface_create_for_image
(<link linkend="char">char</link> *data,
<link linkend="cairo-format-t">cairo_format_t</link> format,
<link linkend="int">int</link> width,
<link linkend="int">int</link> height,
<link linkend="int">int</link> stride);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>stride</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-surface-create-similar"/>cairo_surface_create_similar ()</title>
<indexterm><primary>cairo_surface_create_similar</primary></indexterm><programlisting><link linkend="cairo-surface-t">cairo_surface_t</link>* cairo_surface_create_similar
(<link linkend="cairo-surface-t">cairo_surface_t</link> *other,
<link linkend="cairo-format-t">cairo_format_t</link> format,
<link linkend="int">int</link> width,
<link linkend="int">int</link> height);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>other</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-surface-reference"/>cairo_surface_reference ()</title>
<indexterm><primary>cairo_surface_reference</primary></indexterm><programlisting><link linkend="void">void</link> cairo_surface_reference (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>surface</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-surface-destroy"/>cairo_surface_destroy ()</title>
<indexterm><primary>cairo_surface_destroy</primary></indexterm><programlisting><link linkend="void">void</link> cairo_surface_destroy (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>surface</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-surface-set-repeat"/>cairo_surface_set_repeat ()</title>
<indexterm><primary>cairo_surface_set_repeat</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_surface_set_repeat (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface,
<link linkend="int">int</link> repeat);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>surface</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>repeat</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-surface-set-matrix"/>cairo_surface_set_matrix ()</title>
<indexterm><primary>cairo_surface_set_matrix</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_surface_set_matrix (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>surface</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-surface-get-matrix"/>cairo_surface_get_matrix ()</title>
<indexterm><primary>cairo_surface_get_matrix</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_surface_get_matrix (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *matrix);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>surface</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-surface-set-filter"/>cairo_surface_set_filter ()</title>
<indexterm><primary>cairo_surface_set_filter</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_surface_set_filter (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface,
<link linkend="cairo-filter-t">cairo_filter_t</link> filter);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>surface</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>filter</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-surface-get-filter"/>cairo_surface_get_filter ()</title>
<indexterm><primary>cairo_surface_get_filter</primary></indexterm><programlisting><link linkend="cairo-filter-t">cairo_filter_t</link> cairo_surface_get_filter (<link linkend="cairo-surface-t">cairo_surface_t</link> *surface);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>surface</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,181 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-Microsoft-Windows-Backend">
<refmeta>
<refentrytitle>Microsoft Windows Backend</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Microsoft Windows Backend</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="void">void</link> <link linkend="cairo-set-target-win32">cairo_set_target_win32</link> (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="HDC:CAPS">HDC</link> hdc);
<link linkend="cairo-surface-t">cairo_surface_t</link>* <link linkend="cairo-win32-surface-create">cairo_win32_surface_create</link> (<link linkend="HDC:CAPS">HDC</link> hdc);
<link linkend="cairo-font-t">cairo_font_t</link>* <link linkend="cairo-win32-font-create-for-logfontw">cairo_win32_font_create_for_logfontw</link>
(<link linkend="LOGFONTW:CAPS">LOGFONTW</link> *logfont,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *scale);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-win32-font-select-font">cairo_win32_font_select_font</link> (<link linkend="cairo-font-t">cairo_font_t</link> *font,
<link linkend="HDC:CAPS">HDC</link> hdc);
<link linkend="void">void</link> <link linkend="cairo-win32-font-done-font">cairo_win32_font_done_font</link> (<link linkend="cairo-font-t">cairo_font_t</link> *font);
<link linkend="double">double</link> <link linkend="cairo-win32-font-get-scale-factor">cairo_win32_font_get_scale_factor</link>
(<link linkend="cairo-font-t">cairo_font_t</link> *font);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-set-target-win32"/>cairo_set_target_win32 ()</title>
<indexterm><primary>cairo_set_target_win32</primary></indexterm><programlisting><link linkend="void">void</link> cairo_set_target_win32 (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="HDC:CAPS">HDC</link> hdc);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cr</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>hdc</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-win32-surface-create"/>cairo_win32_surface_create ()</title>
<indexterm><primary>cairo_win32_surface_create</primary></indexterm><programlisting><link linkend="cairo-surface-t">cairo_surface_t</link>* cairo_win32_surface_create (<link linkend="HDC:CAPS">HDC</link> hdc);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>hdc</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-win32-font-create-for-logfontw"/>cairo_win32_font_create_for_logfontw ()</title>
<indexterm><primary>cairo_win32_font_create_for_logfontw</primary></indexterm><programlisting><link linkend="cairo-font-t">cairo_font_t</link>* cairo_win32_font_create_for_logfontw
(<link linkend="LOGFONTW:CAPS">LOGFONTW</link> *logfont,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *scale);</programlisting>
<para>
Creates a new font for the Win32 font backend based on a
<link linkend="LOGFONT:CAPS"><type>LOGFONT</type></link>. This font can then be used with
<link linkend="cairo-set-font"><function>cairo_set_font()</function></link>, <link linkend="cairo-font-glyph-extents"><function>cairo_font_glyph_extents()</function></link>, or FreeType backend
specific functions like <link linkend="cairo-win32-font-select-font"><function>cairo_win32_font_select_font()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>logfont</parameter>&nbsp;:</term>
<listitem><simpara> A <link linkend="LOGFONTW:CAPS"><type>LOGFONTW</type></link> structure specifying the font to use.
The lfHeight, lfWidth, lfOrientation and lfEscapement
fields of this structure are ignored; information from
<parameter>scale</parameter> will be used instead.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>scale</parameter>&nbsp;:</term>
<listitem><simpara> The scale at which this font will be used. The
scale is given by multiplying the font matrix (see
<link linkend="cairo-transform-font"><function>cairo_transform_font()</function></link>) by the current transformation matrix.
The translation elements of the resulting matrix are ignored.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly created <link linkend="cairo-font-t"><type>cairo_font_t</type></link>. Free with
<link linkend="cairo-font-destroy"><function>cairo_font_destroy()</function></link> when you are done using it.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-win32-font-select-font"/>cairo_win32_font_select_font ()</title>
<indexterm><primary>cairo_win32_font_select_font</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_win32_font_select_font (<link linkend="cairo-font-t">cairo_font_t</link> *font,
<link linkend="HDC:CAPS">HDC</link> hdc);</programlisting>
<para>
Selects the font into the given device context and changes the
map mode and world transformation of the device context to match
that of the font. This function is intended for use when using
layout APIs such as Uniscribe to do text layout with the
Cairo font. After finishing using the device context, you must call
<link linkend="cairo-win32-font-done-font"><function>cairo_win32_font_done_font()</function></link> to release any resources allocated
by this function.
</para>
<para>
See <link linkend="cairo-win32-font-get-scale-factor"><function>cairo_win32_font_get_scale_factor()</function></link> for converting logical
coordinates from the device context to font space.
</para>
<para>
Normally, calls to <link linkend="SaveDC"><function>SaveDC()</function></link> and <link linkend="RestoreDC"><function>RestoreDC()</function></link> would be made around
the use of this function to preserve the original graphics state.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&nbsp;:</term>
<listitem><simpara> A <link linkend="cairo-font-t"><type>cairo_font_t</type></link> from the Win32 font backend. Such an
object can be created with <link linkend="cairo-win32-font-create-for-logfontw"><function>cairo_win32_font_create_for_logfontw()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>hdc</parameter>&nbsp;:</term>
<listitem><simpara> a device context
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>CAIRO_STATUS_SUCCESS</literal> if the operation succeeded.
otherwise an error such as <literal>CAIRO_STATUS_NO_MEMORY</literal> and
the device context is unchanged.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-win32-font-done-font"/>cairo_win32_font_done_font ()</title>
<indexterm><primary>cairo_win32_font_done_font</primary></indexterm><programlisting><link linkend="void">void</link> cairo_win32_font_done_font (<link linkend="cairo-font-t">cairo_font_t</link> *font);</programlisting>
<para>
Releases any resources allocated by <link linkend="cairo-win32-font-select-font"><function>cairo_win32_font_select_font()</function></link></para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&nbsp;:</term>
<listitem><simpara> A <link linkend="cairo-font-t"><type>cairo_font_t</type></link> from the Win32 font backend.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-win32-font-get-scale-factor"/>cairo_win32_font_get_scale_factor ()</title>
<indexterm><primary>cairo_win32_font_get_scale_factor</primary></indexterm><programlisting><link linkend="double">double</link> cairo_win32_font_get_scale_factor
(<link linkend="cairo-font-t">cairo_font_t</link> *font);</programlisting>
<para>
Gets a scale factor between logical coordinates in the coordinate
space used by <link linkend="cairo-win32-font-select-font"><function>cairo_win32_font_select_font()</function></link> and font space coordinates.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-t"><type>cairo_font_t</type></link> from the Win32 font backend
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> factor to multiply logical units by to get font space
coordinates.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,181 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-Microsoft-Windows-Backend">
<refmeta>
<refentrytitle>Microsoft Windows Backend</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Microsoft Windows Backend</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="void">void</link> <link linkend="cairo-set-target-win32">cairo_set_target_win32</link> (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="HDC:CAPS">HDC</link> hdc);
<link linkend="cairo-surface-t">cairo_surface_t</link>* <link linkend="cairo-win32-surface-create">cairo_win32_surface_create</link> (<link linkend="HDC:CAPS">HDC</link> hdc);
<link linkend="cairo-font-t">cairo_font_t</link>* <link linkend="cairo-win32-font-create-for-logfontw">cairo_win32_font_create_for_logfontw</link>
(<link linkend="LOGFONTW:CAPS">LOGFONTW</link> *logfont,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *scale);
<link linkend="cairo-status-t">cairo_status_t</link> <link linkend="cairo-win32-font-select-font">cairo_win32_font_select_font</link> (<link linkend="cairo-font-t">cairo_font_t</link> *font,
<link linkend="HDC:CAPS">HDC</link> hdc);
<link linkend="void">void</link> <link linkend="cairo-win32-font-done-font">cairo_win32_font_done_font</link> (<link linkend="cairo-font-t">cairo_font_t</link> *font);
<link linkend="double">double</link> <link linkend="cairo-win32-font-get-scale-factor">cairo_win32_font_get_scale_factor</link>
(<link linkend="cairo-font-t">cairo_font_t</link> *font);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-set-target-win32"/>cairo_set_target_win32 ()</title>
<indexterm><primary>cairo_set_target_win32</primary></indexterm><programlisting><link linkend="void">void</link> cairo_set_target_win32 (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="HDC:CAPS">HDC</link> hdc);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cr</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>hdc</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-win32-surface-create"/>cairo_win32_surface_create ()</title>
<indexterm><primary>cairo_win32_surface_create</primary></indexterm><programlisting><link linkend="cairo-surface-t">cairo_surface_t</link>* cairo_win32_surface_create (<link linkend="HDC:CAPS">HDC</link> hdc);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>hdc</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-win32-font-create-for-logfontw"/>cairo_win32_font_create_for_logfontw ()</title>
<indexterm><primary>cairo_win32_font_create_for_logfontw</primary></indexterm><programlisting><link linkend="cairo-font-t">cairo_font_t</link>* cairo_win32_font_create_for_logfontw
(<link linkend="LOGFONTW:CAPS">LOGFONTW</link> *logfont,
<link linkend="cairo-matrix-t">cairo_matrix_t</link> *scale);</programlisting>
<para>
Creates a new font for the Win32 font backend based on a
<link linkend="LOGFONT:CAPS"><type>LOGFONT</type></link>. This font can then be used with
<link linkend="cairo-set-font"><function>cairo_set_font()</function></link>, <link linkend="cairo-font-glyph-extents"><function>cairo_font_glyph_extents()</function></link>, or FreeType backend
specific functions like <link linkend="cairo-win32-font-select-font"><function>cairo_win32_font_select_font()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>logfont</parameter>&nbsp;:</term>
<listitem><simpara> A <link linkend="LOGFONTW:CAPS"><type>LOGFONTW</type></link> structure specifying the font to use.
The lfHeight, lfWidth, lfOrientation and lfEscapement
fields of this structure are ignored; information from
<parameter>scale</parameter> will be used instead.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>scale</parameter>&nbsp;:</term>
<listitem><simpara> The scale at which this font will be used. The
scale is given by multiplying the font matrix (see
<link linkend="cairo-transform-font"><function>cairo_transform_font()</function></link>) by the current transformation matrix.
The translation elements of the resulting matrix are ignored.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly created <link linkend="cairo-font-t"><type>cairo_font_t</type></link>. Free with
<link linkend="cairo-font-destroy"><function>cairo_font_destroy()</function></link> when you are done using it.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-win32-font-select-font"/>cairo_win32_font_select_font ()</title>
<indexterm><primary>cairo_win32_font_select_font</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link> cairo_win32_font_select_font (<link linkend="cairo-font-t">cairo_font_t</link> *font,
<link linkend="HDC:CAPS">HDC</link> hdc);</programlisting>
<para>
Selects the font into the given device context and changes the
map mode and world transformation of the device context to match
that of the font. This function is intended for use when using
layout APIs such as Uniscribe to do text layout with the
Cairo font. After finishing using the device context, you must call
<link linkend="cairo-win32-font-done-font"><function>cairo_win32_font_done_font()</function></link> to release any resources allocated
by this function.
</para>
<para>
See <link linkend="cairo-win32-font-get-scale-factor"><function>cairo_win32_font_get_scale_factor()</function></link> for converting logical
coordinates from the device context to font space.
</para>
<para>
Normally, calls to <link linkend="SaveDC"><function>SaveDC()</function></link> and <link linkend="RestoreDC"><function>RestoreDC()</function></link> would be made around
the use of this function to preserve the original graphics state.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&nbsp;:</term>
<listitem><simpara> A <link linkend="cairo-font-t"><type>cairo_font_t</type></link> from the Win32 font backend. Such an
object can be created with <link linkend="cairo-win32-font-create-for-logfontw"><function>cairo_win32_font_create_for_logfontw()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>hdc</parameter>&nbsp;:</term>
<listitem><simpara> a device context
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <literal>CAIRO_STATUS_SUCCESS</literal> if the operation succeeded.
otherwise an error such as <literal>CAIRO_STATUS_NO_MEMORY</literal> and
the device context is unchanged.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-win32-font-done-font"/>cairo_win32_font_done_font ()</title>
<indexterm><primary>cairo_win32_font_done_font</primary></indexterm><programlisting><link linkend="void">void</link> cairo_win32_font_done_font (<link linkend="cairo-font-t">cairo_font_t</link> *font);</programlisting>
<para>
Releases any resources allocated by <link linkend="cairo-win32-font-select-font"><function>cairo_win32_font_select_font()</function></link></para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&nbsp;:</term>
<listitem><simpara> A <link linkend="cairo-font-t"><type>cairo_font_t</type></link> from the Win32 font backend.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-win32-font-get-scale-factor"/>cairo_win32_font_get_scale_factor ()</title>
<indexterm><primary>cairo_win32_font_get_scale_factor</primary></indexterm><programlisting><link linkend="double">double</link> cairo_win32_font_get_scale_factor
(<link linkend="cairo-font-t">cairo_font_t</link> *font);</programlisting>
<para>
Gets a scale factor between logical coordinates in the coordinate
space used by <link linkend="cairo-win32-font-select-font"><function>cairo_win32_font_select_font()</function></link> and font space coordinates.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-t"><type>cairo_font_t</type></link> from the Win32 font backend
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> factor to multiply logical units by to get font space
coordinates.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,80 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-XCB-Backend">
<refmeta>
<refentrytitle>XCB Backend</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>XCB Backend</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="void">void</link> <link linkend="cairo-set-target-xcb">cairo_set_target_xcb</link> (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="XCBConnection">XCBConnection</link> *dpy,
<link linkend="XCBDRAWABLE:CAPS">XCBDRAWABLE</link> drawable,
<link linkend="XCBVISUALTYPE:CAPS">XCBVISUALTYPE</link> *visual,
<link linkend="cairo-format-t">cairo_format_t</link> format);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-set-target-xcb"/>cairo_set_target_xcb ()</title>
<indexterm><primary>cairo_set_target_xcb</primary></indexterm><programlisting><link linkend="void">void</link> cairo_set_target_xcb (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="XCBConnection">XCBConnection</link> *dpy,
<link linkend="XCBDRAWABLE:CAPS">XCBDRAWABLE</link> drawable,
<link linkend="XCBVISUALTYPE:CAPS">XCBVISUALTYPE</link> *visual,
<link linkend="cairo-format-t">cairo_format_t</link> format);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cr</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dpy</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>drawable</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>visual</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Просмотреть файл

@ -1,113 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="cairo-XLib-Backend">
<refmeta>
<refentrytitle>XLib Backend</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>XLib Backend</refname><refpurpose></refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="void">void</link> <link linkend="cairo-set-target-drawable">cairo_set_target_drawable</link> (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="Display">Display</link> *dpy,
<link linkend="Drawable">Drawable</link> drawable);
<link linkend="cairo-surface-t">cairo_surface_t</link>* <link linkend="cairo-xlib-surface-create">cairo_xlib_surface_create</link> (<link linkend="Display">Display</link> *dpy,
<link linkend="Drawable">Drawable</link> drawable,
<link linkend="Visual">Visual</link> *visual,
<link linkend="cairo-format-t">cairo_format_t</link> format,
<link linkend="Colormap">Colormap</link> colormap);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="cairo-set-target-drawable"/>cairo_set_target_drawable ()</title>
<indexterm><primary>cairo_set_target_drawable</primary></indexterm><programlisting><link linkend="void">void</link> cairo_set_target_drawable (<link linkend="cairo-t">cairo_t</link> *cr,
<link linkend="Display">Display</link> *dpy,
<link linkend="Drawable">Drawable</link> drawable);</programlisting>
<para>
Directs output for a <link linkend="cairo-t"><type>cairo_t</type></link> to an Xlib drawable. <parameter>drawable</parameter> must
be a Window or Pixmap on the default screen of <parameter>dpy</parameter> using the
default colormap and visual. Using this function is slow because
the function must retrieve information about <parameter>drawable</parameter> from the X
server.
The combination of <link linkend="cairo-xlib-surface-create"><function>cairo_xlib_surface_create()</function></link> and
<link linkend="cairo-set-target-surface"><function>cairo_set_target_surface()</function></link> is somewhat more flexible, although
it still is slow.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cr</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-t"><type>cairo_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dpy</parameter>&nbsp;:</term>
<listitem><simpara> an X display
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>drawable</parameter>&nbsp;:</term>
<listitem><simpara> a window or pixmap on the default screen of <parameter>dpy</parameter>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-xlib-surface-create"/>cairo_xlib_surface_create ()</title>
<indexterm><primary>cairo_xlib_surface_create</primary></indexterm><programlisting><link linkend="cairo-surface-t">cairo_surface_t</link>* cairo_xlib_surface_create (<link linkend="Display">Display</link> *dpy,
<link linkend="Drawable">Drawable</link> drawable,
<link linkend="Visual">Visual</link> *visual,
<link linkend="cairo-format-t">cairo_format_t</link> format,
<link linkend="Colormap">Colormap</link> colormap);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dpy</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>drawable</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>visual</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>colormap</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,163 +0,0 @@
#
# *** NOTE *** this file is checked into CVS for convenience only.
# DO NOT EDIT. Rather get changes into upstream gtk-doc and then
# update this version from the gtk-doc version.
#
# -*- mode: makefile -*-
####################################
# Everything below here is generic #
####################################
if GTK_DOC_USE_LIBTOOL
GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
else
GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
endif
# We set GPATH here; this gives us semantics for GNU make
# which are more like other make's VPATH, when it comes to
# whether a source that is a target of one rule is then
# searched for in VPATH/GPATH.
#
GPATH = $(srcdir)
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
EXTRA_DIST = \
$(content_files) \
$(HTML_IMAGES) \
$(DOC_MAIN_SGML_FILE) \
$(DOC_MODULE).types \
$(DOC_MODULE)-sections.txt \
$(DOC_MODULE)-overrides.txt
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
SCANOBJ_FILES = \
$(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).interfaces \
$(DOC_MODULE).prerequisites \
$(DOC_MODULE).signals
CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
if ENABLE_GTK_DOC
all-local: html-build.stamp
#### scan ####
scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
@echo '*** Scanning header files ***'
@-chmod -R u+w $(srcdir)
if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
else \
cd $(srcdir) ; \
for i in $(SCANOBJ_FILES) ; do \
test -f $$i || touch $$i ; \
done \
fi
cd $(srcdir) && \
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
touch scan-build.stamp
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
@true
#### templates ####
tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
@echo '*** Rebuilding template files ***'
@-chmod -R u+w $(srcdir)
cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
touch tmpl-build.stamp
tmpl.stamp: tmpl-build.stamp
@true
#### xml ####
sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
@echo '*** Building XML ***'
@-chmod -R u+w $(srcdir)
cd $(srcdir) && \
gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS)
touch sgml-build.stamp
sgml.stamp: sgml-build.stamp
@true
#### html ####
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
@echo '*** Building HTML ***'
@-chmod -R u+w $(srcdir)
rm -rf $(srcdir)/html
mkdir $(srcdir)/html
cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
@echo '-- Fixing Crossreferences'
cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
touch html-build.stamp
else
all-local:
endif
##############
clean-local:
rm -f *~ *.bak
rm -rf .libs
maintainer-clean-local: clean
cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
install-data-local:
installfiles=`echo $(srcdir)/html/*`; \
if test "$$installfiles" = '$(srcdir)/html/*'; \
then echo '-- Nothing to install' ; \
else \
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
for i in $$installfiles; do \
echo '-- Installing '$$i ; \
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
done; \
echo '-- Installing $(srcdir)/html/index.sgml' ; \
$(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
fi
uninstall-local:
rm -f $(DESTDIR)$(TARGET_DIR)/*
#
# Require gtk-doc when making dist
#
if ENABLE_GTK_DOC
dist-check-gtkdoc:
else
dist-check-gtkdoc:
@echo "*** gtk-doc must be installed and enabled in order to make dist"
@false
endif
# XXX: Before this was:
# dist-hook: dist-check-gtkdoc dist-hook-local
# which seems reasonable, but for some reason the dist-check-gtkdoc
# was always failing on me, even though I do have gtk-doc installed
# and it is successfully building the documentation.
dist-hook: dist-hook-local
mkdir $(distdir)/tmpl
mkdir $(distdir)/xml
mkdir $(distdir)/html
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
-cp $(srcdir)/xml/*.xml $(distdir)/xml
-cp $(srcdir)/html/* $(distdir)/html
.PHONY : dist-hook-local

Просмотреть файл

@ -1,294 +0,0 @@
#!/bin/sh
#
# install - install a program, script, or datafile
#
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd=$cpprog
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd=$stripprog
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "$0: no input file specified" >&2
exit 1
else
:
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d "$dst" ]; then
instcmd=:
chmodcmd=""
else
instcmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f "$src" ] || [ -d "$src" ]
then
:
else
echo "$0: $src does not exist" >&2
exit 1
fi
if [ x"$dst" = x ]
then
echo "$0: no destination specified" >&2
exit 1
else
:
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d "$dst" ]
then
dst=$dst/`basename "$src"`
else
:
fi
fi
## this sed command emulates the dirname command
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS=$oIFS
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp=$pathcomp$1
shift
if [ ! -d "$pathcomp" ] ;
then
$mkdirprog "$pathcomp"
else
:
fi
pathcomp=$pathcomp/
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd "$dst" &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename "$dst"`
else
dstfile=`basename "$dst" $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename "$dst"`
else
:
fi
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up temp files at exit.
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
trap '(exit $?); exit' 1 2 13 15
# Move or copy the file name to the temp name
$doit $instcmd "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
# Now remove or move aside any old file at destination location. We try this
# two ways since rm can't unlink itself on some systems and the destination
# file might be busy for other reasons. In this case, the final cleanup
# might fail but the new file should still install successfully.
{
if [ -f "$dstdir/$dstfile" ]
then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
{
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
fi &&
# The final little trick to "correctly" pass the exit status to the exit trap.
{
(exit 0); exit
}

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,336 +0,0 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
run=:
# In the cases where this matters, `missing' is being run in the
# srcdir already.
if test -f configure.ac; then
configure_ac=configure.ac
else
configure_ac=configure.in
fi
case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
--run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing 0.4 - GNU automake"
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
aclocal*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
autoconf)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
autoheader)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
autom4te)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
proper tools for further handling them.
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
echo "#! /bin/sh"
echo "# Created by GNU Automake missing as a replacement of"
echo "# $ $@"
echo "exit 0"
chmod +x $file
exit 1
fi
;;
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if [ ! -f y.tab.h ]; then
echo >y.tab.h
fi
if [ ! -f y.tab.c ]; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if [ ! -f lex.yy.c ]; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
help2man)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
fi
if [ -f "$file" ]; then
touch $file
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
exit 1
fi
;;
makeinfo)
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
# We have makeinfo, but it failed.
exit 1
fi
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
fi
touch $file
;;
tar)
shift
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
fi
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
# messages.
if (gnutar --version > /dev/null 2>&1); then
gnutar "$@" && exit 0
fi
if (gtar --version > /dev/null 2>&1); then
gtar "$@" && exit 0
fi
firstarg="$1"
if shift; then
case "$firstarg" in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
case "$firstarg" in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
;;
esac
fi
echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
You may want to install GNU tar or Free paxutils, or check the
command line arguments."
exit 1
;;
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
;;
esac
exit 0

Просмотреть файл

@ -1,111 +0,0 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain
errstatus=0
dirmode=""
usage="\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
# process command line arguments
while test $# -gt 0 ; do
case $1 in
-h | --help | --h*) # -h for help
echo "$usage" 1>&2
exit 0
;;
-m) # -m PERM arg
shift
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
dirmode=$1
shift
;;
--) # stop option processing
shift
break
;;
-*) # unknown option
echo "$usage" 1>&2
exit 1
;;
*) # first non-opt arg
break
;;
esac
done
for file
do
if test -d "$file"; then
shift
else
break
fi
done
case $# in
0) exit 0 ;;
esac
case $dirmode in
'')
if mkdir -p -- . 2>/dev/null; then
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
fi
;;
*)
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@"
fi
;;
esac
for file
do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
shift
pathcomp=
for d
do
pathcomp="$pathcomp$d"
case $pathcomp in
-*) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp"
mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then
errstatus=$lasterr
else
if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
lasterr=""
chmod "$dirmode" "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then
errstatus=$lasterr
fi
fi
fi
fi
pathcomp="$pathcomp/"
done
done
exit $errstatus
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# End:
# mkinstalldirs ends here

Просмотреть файл

@ -1,133 +0,0 @@
if CAIRO_HAS_PS_SURFACE
libcairo_ps_headers = cairo-ps.h
libcairo_ps_sources = cairo_ps_surface.c
endif
if CAIRO_HAS_PDF_SURFACE
libcairo_pdf_headers = cairo-pdf.h
libcairo_pdf_sources = cairo_pdf_surface.c
endif
if CAIRO_HAS_PNG_SURFACE
libcairo_png_headers = cairo-png.h
libcairo_png_sources = cairo_png_surface.c
endif
if CAIRO_HAS_XLIB_SURFACE
libcairo_xlib_headers = cairo-xlib.h
libcairo_xlib_sources = cairo_xlib_surface.c
endif
if CAIRO_HAS_QUARTZ_SURFACE
libcairo_quartz_headers = cairo-quartz.h
libcairo_quartz_sources = cairo_quartz_surface.c
endif
if CAIRO_HAS_XCB_SURFACE
libcairo_xcb_headers = cairo-xcb.h
libcairo_xcb_sources = cairo_xcb_surface.c
endif
libcairo_win32_sources =
if CAIRO_HAS_WIN32_SURFACE
libcairo_win32_headers = cairo-win32.h
libcairo_win32_sources += cairo_win32_surface.c cairo-win32-private.h
endif
if CAIRO_HAS_WIN32_FONT
libcairo_win32_sources += cairo_win32_font.c
endif
if CAIRO_HAS_GLITZ_SURFACE
libcairo_glitz_headers = cairo-glitz.h
libcairo_glitz_sources = cairo_glitz_surface.c
endif
if CAIRO_HAS_ATSUI_FONT
libcairo_atsui_headers = cairo-atsui.h
libcairo_atsui_sources = cairo_atsui_font.c
endif
if CAIRO_HAS_FT_FONT
libcairo_ft_headers = cairo-ft.h
libcairo_ft_sources = cairo_ft_font.c cairo-ft-private.h
endif
# These names match automake style variable definition conventions so
# without these lines, automake will complain during the handling of
# the libcairo_la_LIBADD below. (The INCLUDES is an autoconf only
# term and automake does not care about it)
FONTCONFIG_LIBS=@FONTCONFIG_LIBS@
XRENDER_LIBS=@XRENDER_LIBS@
cairoincludedir = $(includedir)/cairo
cairoinclude_HEADERS = \
cairo.h \
cairo-features.h \
$(libcairo_atsui_headers) \
$(libcairo_ft_headers) \
$(libcairo_glitz_headers) \
$(libcairo_pdf_headers) \
$(libcairo_png_headers) \
$(libcairo_ps_headers) \
$(libcairo_quartz_headers) \
$(libcairo_win32_headers) \
$(libcairo_xcb_headers) \
$(libcairo_xlib_headers)
lib_LTLIBRARIES = libcairo.la
libcairo_la_SOURCES = \
cairo.c \
cairo.h \
cairo_array.c \
cairo_cache.c \
cairo_color.c \
cairo_fixed.c \
cairo_font.c \
cairo_gstate.c \
cairo_hull.c \
cairo_image_surface.c \
cairo_matrix.c \
cairo_path.c \
cairo_path_bounds.c \
cairo_path_fill.c \
cairo_path_stroke.c \
cairo_pen.c \
cairo_polygon.c \
cairo_slope.c \
cairo_spline.c \
cairo_surface.c \
cairo_traps.c \
cairo_pattern.c \
cairo_unicode.c \
cairo_wideint.c \
cairo-wideint.h \
$(libcairo_atsui_sources)\
$(libcairo_ft_sources)\
$(libcairo_ps_sources) \
$(libcairo_pdf_sources) \
$(libcairo_png_sources) \
$(libcairo_xlib_sources)\
$(libcairo_quartz_sources)\
$(libcairo_xcb_sources) \
$(libcairo_glitz_sources)\
$(libcairo_win32_sources)\
$(libcairo_freetype_sources) \
cairoint.h
libcairo_la_LDFLAGS = -version-info @VERSION_INFO@ -no-undefined
INCLUDES = -I$(srcdir) $(CAIRO_CFLAGS)
libcairo_la_LIBADD = $(CAIRO_LIBS)
install-data-local:
@if test -f $(includedir)/cairo.h || test -f $(includedir)/cairo-features.h ; then \
echo "****************************************************************" ; \
echo "*** Error: Old headers found. You should remove the following" ; \
echo "*** files and then type 'make install' again." ; \
ls $(includedir)/cairo*.h ; \
echo "****************************************************************" ; \
false ; \
fi

Просмотреть файл

@ -54,63 +54,65 @@ REQUIRES = $(PNG_REQUIRES) \
CSRCS = \
cairo.c \
cairo_array.c \
cairo_cache.c \
cairo_color.c \
cairo_fixed.c \
cairo_font.c \
cairo_gstate.c \
cairo_hull.c \
cairo_image_surface.c \
cairo_matrix.c \
cairo_path.c \
cairo_path_bounds.c \
cairo_path_fill.c \
cairo_path_stroke.c \
cairo_pattern.c \
cairo_pen.c \
cairo_polygon.c \
cairo_slope.c \
cairo_spline.c \
cairo_surface.c \
cairo_traps.c \
cairo_unicode.c \
cairo_wideint.c \
cairo-arc.c \
cairo-array.c \
cairo-cache.c \
cairo-color.c \
cairo-fixed.c \
cairo-font.c \
cairo-gstate.c \
cairo-hull.c \
cairo-image-surface.c \
cairo-matrix.c \
cairo-output-stream.c \
cairo-path.c \
cairo-path-bounds.c \
cairo-path-data.c \
cairo-path-fill.c \
cairo-path-stroke.c \
cairo-pattern.c \
cairo-pen.c \
cairo-polygon.c \
cairo-slope.c \
cairo-spline.c \
cairo-surface.c \
cairo-traps.c \
cairo-unicode.c \
cairo-wideint.c \
$(NULL)
EXPORTS = cairo.h cairo-features.h
ifeq ($(MOZ_GFX_TOOLKIT),windows)
CSRCS += cairo_win32_font.c \
cairo_win32_surface.c
CSRCS += cairo-win32-font.c \
cairo-win32-surface.c
EXPORTS += cairo-win32.h
endif
ifneq (,$(filter mac cocoa,$(MOZ_GFX_TOOLKIT)))
CSRCS += cairo_quartz_surface.c \
cairo_atsui_font.c
CSRCS += cairo-quartz-surface.c \
cairo-atsui-font.c
EXPORTS += cairo-quartz.h
endif
ifdef BUILD_CAIRO_PDF
CSRCS += cairo_pdf_surface.c \
cairo_png_surface.c \
cairo_ps_surface.c
EXPORTS += cairo-pdf.h
CSRCS += cairo-pdf-surface.c \
cairo-ps-surface.c
EXPORTS += cairo-ps.h cairo-pdf.h
endif
ifdef MOZ_X11
CSRCS += cairo_xlib_surface.c \
cairo_ft_font.c
CSRCS += cairo-xlib-surface.c \
cairo-ft-font.c
EXPORTS += cairo-xlib.h
LOCAL_INCLUDES += $(FT2_CFLAGS)
endif
ifdef BUILD_CAIRO_GL
CSRCS += cairo_glitz_surface.c
CSRCS += cairo-glitz-surface.c
EXPORTS += cairo-glitz.h
endif

Просмотреть файл

@ -0,0 +1,57 @@
/* cairo - a vector graphics library with display and print output
*
* Copyright © 2005 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it either under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation
* (the "LGPL") or, at your option, under the terms of the Mozilla
* Public License Version 1.1 (the "MPL"). If you do not alter this
* notice, a recipient may use your version of this file under either
* the MPL or the LGPL.
*
* You should have received a copy of the LGPL along with this library
* in the file COPYING-LGPL-2.1; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* You should have received a copy of the MPL along with this library
* in the file COPYING-MPL-1.1
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
* OF ANY KIND, either express or implied. See the LGPL or the MPL for
* the specific language governing rights and limitations.
*
* The Original Code is the cairo graphics library.
*
* The Initial Developer of the Original Code is Red Hat, Inc.
*
* Contributor(s):
* Carl D. Worth <cworth@redhat.com>
*/
#ifndef CAIRO_ARC_PRIVATE_H
#define CAIRO_ARC_PRIVATE_H
#include "cairoint.h"
void
_cairo_arc_path (cairo_t *cr,
double xc,
double yc,
double radius,
double angle1,
double angle2);
void
_cairo_arc_path_negative (cairo_t *cr,
double xc,
double yc,
double radius,
double angle1,
double angle2);
#endif /* CAIRO_ARC_PRIVATE_H */

Просмотреть файл

@ -0,0 +1,296 @@
/* cairo - a vector graphics library with display and print output
*
* Copyright © 2002 University of Southern California
*
* This library is free software; you can redistribute it and/or
* modify it either under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation
* (the "LGPL") or, at your option, under the terms of the Mozilla
* Public License Version 1.1 (the "MPL"). If you do not alter this
* notice, a recipient may use your version of this file under either
* the MPL or the LGPL.
*
* You should have received a copy of the LGPL along with this library
* in the file COPYING-LGPL-2.1; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* You should have received a copy of the MPL along with this library
* in the file COPYING-MPL-1.1
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
* OF ANY KIND, either express or implied. See the LGPL or the MPL for
* the specific language governing rights and limitations.
*
* The Original Code is the cairo graphics library.
*
* The Initial Developer of the Original Code is University of Southern
* California.
*
* Contributor(s):
* Carl D. Worth <cworth@cworth.org>
*/
#include <math.h>
#include "cairo-arc-private.h"
/* Spline deviation from the circle in radius would be given by:
error = sqrt (x**2 + y**2) - 1
A simpler error function to work with is:
e = x**2 + y**2 - 1
From "Good approximation of circles by curvature-continuous Bezier
curves", Tor Dokken and Morten Daehlen, Computer Aided Geometric
Design 8 (1990) 22-41, we learn:
abs (max(e)) = 4/27 * sin**6(angle/4) / cos**2(angle/4)
and
abs (error) =~ 1/2 * e
Of course, this error value applies only for the particular spline
approximation that is used in _cairo_gstate_arc_segment.
*/
static double
_arc_error_normalized (double angle)
{
return 2.0/27.0 * pow (sin (angle / 4), 6) / pow (cos (angle / 4), 2);
}
static double
_arc_max_angle_for_tolerance_normalized (double tolerance)
{
double angle, error;
int i;
/* Use table lookup to reduce search time in most cases. */
struct {
double angle;
double error;
} table[] = {
{ M_PI / 1.0, 0.0185185185185185036127 },
{ M_PI / 2.0, 0.000272567143730179811158 },
{ M_PI / 3.0, 2.38647043651461047433e-05 },
{ M_PI / 4.0, 4.2455377443222443279e-06 },
{ M_PI / 5.0, 1.11281001494389081528e-06 },
{ M_PI / 6.0, 3.72662000942734705475e-07 },
{ M_PI / 7.0, 1.47783685574284411325e-07 },
{ M_PI / 8.0, 6.63240432022601149057e-08 },
{ M_PI / 9.0, 3.2715520137536980553e-08 },
{ M_PI / 10.0, 1.73863223499021216974e-08 },
{ M_PI / 11.0, 9.81410988043554039085e-09 },
};
int table_size = (sizeof (table) / sizeof (table[0]));
for (i = 0; i < table_size; i++)
if (table[i].error < tolerance)
return table[i].angle;
++i;
do {
angle = M_PI / i++;
error = _arc_error_normalized (angle);
} while (error > tolerance);
return angle;
}
static int
_arc_segments_needed (double angle,
double radius,
cairo_matrix_t *ctm,
double tolerance)
{
double l1, l2, lmax;
double max_angle;
_cairo_matrix_compute_eigen_values (ctm, &l1, &l2);
l1 = fabs (l1);
l2 = fabs (l2);
if (l1 > l2)
lmax = l1;
else
lmax = l2;
max_angle = _arc_max_angle_for_tolerance_normalized (tolerance / (radius * lmax));
return (int) ceil (angle / max_angle);
}
/* We want to draw a single spline approximating a circular arc radius
R from angle A to angle B. Since we want a symmetric spline that
matches the endpoints of the arc in position and slope, we know
that the spline control points must be:
(R * cos(A), R * sin(A))
(R * cos(A) - h * sin(A), R * sin(A) + h * cos (A))
(R * cos(B) + h * sin(B), R * sin(B) - h * cos (B))
(R * cos(B), R * sin(B))
for some value of h.
"Approximation of circular arcs by cubic poynomials", Michael
Goldapp, Computer Aided Geometric Design 8 (1991) 227-238, provides
various values of h along with error analysis for each.
From that paper, a very practical value of h is:
h = 4/3 * tan(angle/4)
This value does not give the spline with minimal error, but it does
provide a very good approximation, (6th-order convergence), and the
error expression is quite simple, (see the comment for
_arc_error_normalized).
*/
static void
_cairo_arc_segment (cairo_t *cr,
double xc,
double yc,
double radius,
double angle_A,
double angle_B)
{
double r_sin_A, r_cos_A;
double r_sin_B, r_cos_B;
double h;
r_sin_A = radius * sin (angle_A);
r_cos_A = radius * cos (angle_A);
r_sin_B = radius * sin (angle_B);
r_cos_B = radius * cos (angle_B);
h = 4.0/3.0 * tan ((angle_B - angle_A) / 4.0);
cairo_curve_to (cr,
xc + r_cos_A - h * r_sin_A,
yc + r_sin_A + h * r_cos_A,
xc + r_cos_B + h * r_sin_B,
yc + r_sin_B - h * r_cos_B,
xc + r_cos_B,
yc + r_sin_B);
}
static void
_cairo_arc_in_direction (cairo_t *cr,
double xc,
double yc,
double radius,
double angle_min,
double angle_max,
cairo_direction_t dir)
{
while (angle_max - angle_min > 4 * M_PI)
angle_max -= 2 * M_PI;
/* Recurse if drawing arc larger than pi */
if (angle_max - angle_min > M_PI) {
double angle_mid = angle_min + (angle_max - angle_min) / 2.0;
/* XXX: Something tells me this block could be condensed. */
if (dir == CAIRO_DIRECTION_FORWARD) {
_cairo_arc_in_direction (cr, xc, yc, radius,
angle_min, angle_mid,
dir);
_cairo_arc_in_direction (cr, xc, yc, radius,
angle_mid, angle_max,
dir);
} else {
_cairo_arc_in_direction (cr, xc, yc, radius,
angle_mid, angle_max,
dir);
_cairo_arc_in_direction (cr, xc, yc, radius,
angle_min, angle_mid,
dir);
}
} else {
cairo_matrix_t ctm;
int i, segments;
double angle, angle_step;
cairo_get_matrix (cr, &ctm);
segments = _arc_segments_needed (angle_max - angle_min,
radius, &ctm,
cairo_get_tolerance (cr));
angle_step = (angle_max - angle_min) / (double) segments;
if (dir == CAIRO_DIRECTION_FORWARD) {
angle = angle_min;
} else {
angle = angle_max;
angle_step = - angle_step;
}
for (i = 0; i < segments; i++, angle += angle_step) {
_cairo_arc_segment (cr, xc, yc,
radius,
angle,
angle + angle_step);
}
}
}
/**
* _cairo_arc_path_negative:
* @cr: a cairo context
* @xc: X position of the center of the arc
* @yc: Y position of the center of the arc
* @radius: the radius of the arc
* @angle1: the start angle, in radians
* @angle2: the end angle, in radians
*
* Compute a path for the given arc and append it onto the current
* path within @cr. The arc will be accurate within the current
* tolerance and given the current transformation.
**/
void
_cairo_arc_path (cairo_t *cr,
double xc,
double yc,
double radius,
double angle1,
double angle2)
{
_cairo_arc_in_direction (cr, xc, yc,
radius,
angle1, angle2,
CAIRO_DIRECTION_FORWARD);
}
/**
* _cairo_arc_path_negative:
* @xc: X position of the center of the arc
* @yc: Y position of the center of the arc
* @radius: the radius of the arc
* @angle1: the start angle, in radians
* @angle2: the end angle, in radians
* @ctm: the current transformation matrix
* @tolerance: the current tolerance value
* @path: the path onto which th earc will be appended
*
* Compute a path for the given arc (defined in the negative
* direction) and append it onto the current path within @cr. The arc
* will be accurate within the current tolerance and given the current
* transformation.
**/
void
_cairo_arc_path_negative (cairo_t *cr,
double xc,
double yc,
double radius,
double angle1,
double angle2)
{
_cairo_arc_in_direction (cr, xc, yc,
radius,
angle2, angle1,
CAIRO_DIRECTION_REVERSE);
}

Просмотреть файл

@ -0,0 +1,273 @@
/* cairo - a vector graphics library with display and print output
*
* Copyright © 2004 Red Hat, Inc
*
* This library is free software; you can redistribute it and/or
* modify it either under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation
* (the "LGPL") or, at your option, under the terms of the Mozilla
* Public License Version 1.1 (the "MPL"). If you do not alter this
* notice, a recipient may use your version of this file under either
* the MPL or the LGPL.
*
* You should have received a copy of the LGPL along with this library
* in the file COPYING-LGPL-2.1; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* You should have received a copy of the MPL along with this library
* in the file COPYING-MPL-1.1
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
* OF ANY KIND, either express or implied. See the LGPL or the MPL for
* the specific language governing rights and limitations.
*
* The Original Code is the cairo graphics library.
*
* The Initial Developer of the Original Code is University of Southern
* California.
*
* Contributor(s):
* Kristian Høgsberg <krh@redhat.com>
*/
#include "cairoint.h"
void
_cairo_array_init (cairo_array_t *array, int element_size)
{
array->size = 0;
array->num_elements = 0;
array->element_size = element_size;
array->elements = NULL;
}
void
_cairo_array_fini (cairo_array_t *array)
{
free (array->elements);
}
cairo_status_t
_cairo_array_grow_by (cairo_array_t *array, int additional)
{
char *new_elements;
int old_size = array->size;
int required_size = array->num_elements + additional;
int new_size;
if (required_size <= old_size)
return CAIRO_STATUS_SUCCESS;
if (old_size == 0)
new_size = 1;
else
new_size = old_size * 2;
while (new_size < required_size)
new_size = new_size * 2;
array->size = new_size;
new_elements = realloc (array->elements,
array->size * array->element_size);
if (new_elements == NULL) {
array->size = old_size;
return CAIRO_STATUS_NO_MEMORY;
}
array->elements = new_elements;
return CAIRO_STATUS_SUCCESS;
}
void
_cairo_array_truncate (cairo_array_t *array, int num_elements)
{
if (num_elements < array->num_elements)
array->num_elements = num_elements;
}
void *
_cairo_array_index (cairo_array_t *array, int index)
{
assert (0 <= index && index < array->num_elements);
return (void *) &array->elements[index * array->element_size];
}
void
_cairo_array_copy_element (cairo_array_t *array, int index, void *dst)
{
memcpy (dst, _cairo_array_index (array, index), array->element_size);
}
void *
_cairo_array_append (cairo_array_t *array,
const void *elements, int num_elements)
{
cairo_status_t status;
void *dest;
status = _cairo_array_grow_by (array, num_elements);
if (status != CAIRO_STATUS_SUCCESS)
return NULL;
assert (array->num_elements + num_elements <= array->size);
dest = &array->elements[array->num_elements * array->element_size];
array->num_elements += num_elements;
if (elements != NULL)
memcpy (dest, elements, num_elements * array->element_size);
return dest;
}
int
_cairo_array_num_elements (cairo_array_t *array)
{
return array->num_elements;
}
/* cairo_user_data_array_t */
typedef struct {
const cairo_user_data_key_t *key;
void *user_data;
cairo_destroy_func_t destroy;
} cairo_user_data_slot_t;
/**
* _cairo_user_data_array_init:
* @array: a #cairo_user_data_array_t
*
* Initializes a #cairo_user_data_array_t structure for future
* use. After initialization, the array has no keys. Call
* _cairo_user_data_array_destroy() to free any allocated memory
* when done using the array.
**/
void
_cairo_user_data_array_init (cairo_user_data_array_t *array)
{
_cairo_array_init (array, sizeof (cairo_user_data_slot_t));
}
/**
* _cairo_user_data_array_destroy:
* @array: a #cairo_user_data_array_t
*
* Destroys all current keys in the user data array and deallocates
* any memory allocated for the array itself.
**/
void
_cairo_user_data_array_destroy (cairo_user_data_array_t *array)
{
int i, num_slots;
cairo_user_data_slot_t *slots;
num_slots = array->num_elements;
slots = (cairo_user_data_slot_t *) array->elements;
for (i = 0; i < num_slots; i++) {
if (slots[i].user_data != NULL && slots[i].destroy != NULL)
slots[i].destroy (slots[i].user_data);
}
_cairo_array_fini (array);
}
/**
* _cairo_user_data_array_get_data:
* @array: a #cairo_user_data_array_t
* @key: the address of the #cairo_user_data_key_t the user data was
* attached to
*
* Returns user data previously attached using the specified
* key. If no user data has been attached with the given key this
* function returns %NULL.
*
* Return value: the user data previously attached or %NULL.
**/
void *
_cairo_user_data_array_get_data (cairo_user_data_array_t *array,
const cairo_user_data_key_t *key)
{
int i, num_slots;
cairo_user_data_slot_t *slots;
num_slots = array->num_elements;
slots = (cairo_user_data_slot_t *) array->elements;
for (i = 0; i < num_slots; i++) {
if (slots[i].key == key)
return slots[i].user_data;
}
return NULL;
}
/**
* _cairo_user_data_array_set_data:
* @array: a #cairo_user_data_array_t
* @key: the address of a #cairo_user_data_key_t to attach the user data to
* @user_data: the user data to attach
* @destroy: a #cairo_destroy_func_t which will be called when the
* user data array is destroyed or when new user data is attached using the
* same key.
*
* Attaches user data to a user data array. To remove user data,
* call this function with the key that was used to set it and %NULL
* for @data.
*
* Return value: %CAIRO_STATUS_SUCCESS or %CAIRO_STATUS_NO_MEMORY if a
* slot could not be allocated for the user data.
**/
cairo_status_t
_cairo_user_data_array_set_data (cairo_user_data_array_t *array,
const cairo_user_data_key_t *key,
void *user_data,
cairo_destroy_func_t destroy)
{
int i, num_slots;
cairo_user_data_slot_t *slots, *s;
s = NULL;
num_slots = array->num_elements;
slots = (cairo_user_data_slot_t *) array->elements;
for (i = 0; i < num_slots; i++) {
if (slots[i].key == key) {
if (slots[i].user_data != NULL && slots[i].destroy != NULL)
slots[i].destroy (slots[i].user_data);
s = &slots[i];
break;
}
if (user_data && slots[i].user_data == NULL) {
s = &slots[i]; /* Have to keep searching for an exact match */
}
}
if (user_data == NULL) {
if (s != NULL) {
s->key = NULL;
s->user_data = NULL;
s->destroy = NULL;
}
return CAIRO_STATUS_SUCCESS;
} else {
if (s == NULL)
s = _cairo_array_append (array, NULL, 1);
if (s == NULL)
return CAIRO_STATUS_NO_MEMORY;
s->key = key;
s->user_data = user_data;
s->destroy = destroy;
}
return CAIRO_STATUS_SUCCESS;
}

Просмотреть файл

@ -37,45 +37,37 @@
#include <math.h>
#include "cairo-atsui.h"
#include "cairoint.h"
#if 0
#include "cairo.h"
#include <iconv.h>
#endif
// FixedToFloat/FloatToFixed are 10.3 SDK items - include definitions
// here so we can use older SDKs
#ifndef FixedToFloat
#define fixed1 ((Fixed) 0x00010000L)
#define FixedToFloat(a) ((float)(a) / fixed1)
#define FloatToFixed(a) ((Fixed)((float)(a) * fixed1))
#endif
typedef struct {
cairo_font_t base;
cairo_scaled_font_t base;
cairo_font_scale_t scale;
cairo_matrix_t scale;
ATSUStyle style;
ATSUStyle unscaled_style;
ATSUFontID fontID;
} cairo_atsui_font_t;
typedef struct cairo_ATSUI_glyph_path_callback_info_t {
cairo_path_t *path;
cairo_path_fixed_t *path;
cairo_matrix_t scale;
} cairo_ATSUI_glyph_path_callback_info_t;
const cairo_scaled_font_backend_t cairo_atsui_scaled_font_backend;
static CGAffineTransform
CGAffineTransformMakeWithCairoFontScale(cairo_font_scale_t scale)
CGAffineTransformMakeWithCairoFontScale(cairo_matrix_t *scale)
{
return CGAffineTransformMake(scale.matrix[0][0], scale.matrix[0][1],
scale.matrix[1][0], scale.matrix[1][1],
return CGAffineTransformMake(scale->xx, scale->yx,
scale->xy, scale->yy,
0, 0);
}
static ATSUStyle
CreateSizedCopyOfStyle(ATSUStyle inStyle, cairo_font_scale_t * scale)
CreateSizedCopyOfStyle(ATSUStyle inStyle, cairo_matrix_t *scale)
{
ATSUStyle style;
OSStatus err;
@ -83,7 +75,7 @@ CreateSizedCopyOfStyle(ATSUStyle inStyle, cairo_font_scale_t * scale)
// Set the style's size
CGAffineTransform theTransform =
CGAffineTransformMakeWithCairoFontScale(*scale);
CGAffineTransformMakeWithCairoFontScale(scale);
Fixed theSize =
FloatToFixed(CGSizeApplyAffineTransform
(CGSizeMake(1.0, 1.0), theTransform).height);
@ -98,7 +90,6 @@ CreateSizedCopyOfStyle(ATSUStyle inStyle, cairo_font_scale_t * scale)
sizeof(ATSUAttributeTag), theFontStyleTags,
theFontStyleSizes, theFontStyleValues);
return style;
}
@ -107,15 +98,16 @@ static cairo_status_t
_cairo_atsui_font_create(const char *family,
cairo_font_slant_t slant,
cairo_font_weight_t weight,
cairo_font_scale_t *scale,
cairo_font_t **font_out)
const cairo_matrix_t *font_matrix,
const cairo_matrix_t *ctm,
cairo_scaled_font_t **font_out)
{
cairo_atsui_font_t *font = NULL;
ATSUStyle style;
ATSUFontID fontID;
OSStatus err;
Boolean isItalic, isBold;
cairo_matrix_t scale;
err = ATSUCreateStyle(&style);
@ -186,10 +178,11 @@ _cairo_atsui_font_create(const char *family,
font = malloc(sizeof(cairo_atsui_font_t));
_cairo_font_init(&font->base, scale, &cairo_atsui_font_backend);
font->style = CreateSizedCopyOfStyle(style, scale);
_cairo_scaled_font_init(&font->base, font_matrix, ctm,
&cairo_atsui_scaled_font_backend);
cairo_matrix_multiply(&scale, font_matrix, ctm);
font->style = CreateSizedCopyOfStyle(style, &scale);
Fixed theSize = FloatToFixed(1.0);
const ATSUAttributeTag theFontStyleTags[] = { kATSUSizeTag };
@ -203,9 +196,9 @@ _cairo_atsui_font_create(const char *family,
font->unscaled_style = style;
font->fontID = fontID;
font->scale = *scale;
font->scale = scale;
*font_out = (cairo_font_t *)font;
*font_out = &font->base;
return CAIRO_STATUS_SUCCESS;
}
@ -224,14 +217,6 @@ _cairo_atsui_font_destroy_font(void *abstract_font)
ATSUDisposeStyle(font->style);
if (font->unscaled_style)
ATSUDisposeStyle(font->unscaled_style);
free(font);
}
static void
_cairo_atsui_font_destroy_unscaled_font(void *abstract_font)
{
}
@ -243,9 +228,10 @@ _cairo_atsui_font_get_glyph_cache_key(void *abstract_font,
static cairo_status_t
_cairo_atsui_font_text_to_glyphs(void *abstract_font,
const unsigned char *utf8,
cairo_glyph_t ** glyphs, int *nglyphs)
_cairo_atsui_font_text_to_glyphs(void *abstract_font,
const char *utf8,
cairo_glyph_t **glyphs,
int *num_glyphs)
{
cairo_atsui_font_t *font = abstract_font;
size_t i;
@ -294,16 +280,16 @@ _cairo_atsui_font_text_to_glyphs(void *abstract_font,
&layoutRecords,
&glyphCount);
*nglyphs = glyphCount - 1;
*num_glyphs = glyphCount - 1;
*glyphs =
(cairo_glyph_t *) malloc(*nglyphs * (sizeof(cairo_glyph_t)));
(cairo_glyph_t *) malloc(*num_glyphs * (sizeof(cairo_glyph_t)));
if (*glyphs == NULL) {
return CAIRO_STATUS_NO_MEMORY;
}
for (i = 0; i < *nglyphs; i++) {
for (i = 0; i < *num_glyphs; i++) {
(*glyphs)[i].index = layoutRecords[i].glyphID;
(*glyphs)[i].x = FixedToFloat(layoutRecords[i].realPos);
(*glyphs)[i].y = 0;
@ -318,7 +304,6 @@ _cairo_atsui_font_text_to_glyphs(void *abstract_font,
ATSUDisposeTextLayout(textLayout);
return CAIRO_STATUS_SUCCESS;
}
@ -413,7 +398,6 @@ _cairo_atsui_font_glyph_bbox(void *abstract_font,
cairo_atsui_font_t *font = abstract_font;
cairo_fixed_t x1, y1, x2, y2;
int i;
OSStatus err;
bbox->p1.x = bbox->p1.y = CAIRO_MAXSHORT << 16;
bbox->p2.x = bbox->p2.y = CAIRO_MINSHORT << 16;
@ -494,7 +478,7 @@ _cairo_atsui_font_show_glyphs(void *abstract_font,
CGContextSetFont(myBitmapContext, cgFont);
CGAffineTransform textTransform =
CGAffineTransformMakeWithCairoFontScale(font->scale);
CGAffineTransformMakeWithCairoFontScale(&font->scale);
textTransform = CGAffineTransformScale(textTransform, 1.0f, -1.0f);
@ -502,10 +486,12 @@ _cairo_atsui_font_show_glyphs(void *abstract_font,
CGContextSetTextMatrix(myBitmapContext, textTransform);
if (pattern->type == CAIRO_PATTERN_SOLID &&
_cairo_pattern_is_opaque(pattern)) {
_cairo_pattern_is_opaque_solid(pattern)) {
cairo_solid_pattern_t *solid = (cairo_solid_pattern_t *)pattern;
CGContextSetRGBFillColor(myBitmapContext,
solid->red, solid->green, solid->blue, 1.0f);
solid->color.red,
solid->color.green,
solid->color.blue, 1.0f);
} else
CGContextSetRGBFillColor(myBitmapContext, 0.0f, 0.0f, 0.0f, 0.0f);
@ -544,19 +530,18 @@ static OSStatus MyATSCubicMoveToCallback(const Float32Point * pt,
{
cairo_ATSUI_glyph_path_callback_info_t *info = callBackDataPtr;
double scaledPt[2];
cairo_point_t point;
cairo_fixed_t x, y;
scaledPt[0] = pt->x;
scaledPt[1] = pt->y;
cairo_matrix_transform_point(&info->scale, &scaledPt[0], &scaledPt[1]);
point.x = _cairo_fixed_from_double(scaledPt[0]);
point.y = _cairo_fixed_from_double(scaledPt[1]);
_cairo_path_move_to(info->path, &point);
x = _cairo_fixed_from_double(scaledPt[0]);
y = _cairo_fixed_from_double(scaledPt[1]);
_cairo_path_fixed_close_path(info->path);
_cairo_path_fixed_move_to(info->path, x, y);
return noErr;
}
@ -566,19 +551,18 @@ static OSStatus MyATSCubicLineToCallback(const Float32Point * pt,
void *callBackDataPtr)
{
cairo_ATSUI_glyph_path_callback_info_t *info = callBackDataPtr;
cairo_point_t point;
double scaledPt[2];
cairo_fixed_t x, y;
scaledPt[0] = pt->x;
scaledPt[1] = pt->y;
cairo_matrix_transform_point(&info->scale, &scaledPt[0], &scaledPt[1]);
point.x = _cairo_fixed_from_double(scaledPt[0]);
point.y = _cairo_fixed_from_double(scaledPt[1]);
x = _cairo_fixed_from_double(scaledPt[0]);
y = _cairo_fixed_from_double(scaledPt[1]);
_cairo_path_line_to(info->path, &point);
_cairo_path_fixed_line_to(info->path, x, y);
return noErr;
@ -591,8 +575,10 @@ static OSStatus MyATSCubicCurveToCallback(const Float32Point * pt1,
void *callBackDataPtr)
{
cairo_ATSUI_glyph_path_callback_info_t *info = callBackDataPtr;
cairo_point_t p0, p1, p2;
double scaledPt[2];
cairo_fixed_t x0, y0;
cairo_fixed_t x1, y1;
cairo_fixed_t x2, y2;
scaledPt[0] = pt1->x;
@ -600,8 +586,8 @@ static OSStatus MyATSCubicCurveToCallback(const Float32Point * pt1,
cairo_matrix_transform_point(&info->scale, &scaledPt[0], &scaledPt[1]);
p0.x = _cairo_fixed_from_double(scaledPt[0]);
p0.y = _cairo_fixed_from_double(scaledPt[1]);
x0 = _cairo_fixed_from_double(scaledPt[0]);
y0 = _cairo_fixed_from_double(scaledPt[1]);
scaledPt[0] = pt2->x;
@ -609,8 +595,8 @@ static OSStatus MyATSCubicCurveToCallback(const Float32Point * pt1,
cairo_matrix_transform_point(&info->scale, &scaledPt[0], &scaledPt[1]);
p1.x = _cairo_fixed_from_double(scaledPt[0]);
p1.y = _cairo_fixed_from_double(scaledPt[1]);
x1 = _cairo_fixed_from_double(scaledPt[0]);
y1 = _cairo_fixed_from_double(scaledPt[1]);
scaledPt[0] = pt3->x;
@ -618,11 +604,11 @@ static OSStatus MyATSCubicCurveToCallback(const Float32Point * pt1,
cairo_matrix_transform_point(&info->scale, &scaledPt[0], &scaledPt[1]);
p2.x = _cairo_fixed_from_double(scaledPt[0]);
p2.y = _cairo_fixed_from_double(scaledPt[1]);
x2 = _cairo_fixed_from_double(scaledPt[0]);
y2 = _cairo_fixed_from_double(scaledPt[1]);
_cairo_path_curve_to(info->path, &p0, &p1, &p2);
_cairo_path_fixed_curve_to(info->path, x0, y0, x1, y1, x2, y2);
return noErr;
@ -634,7 +620,7 @@ static OSStatus MyCubicClosePathProc(void *callBackDataPtr)
cairo_ATSUI_glyph_path_callback_info_t *info = callBackDataPtr;
_cairo_path_close_path(info->path);
_cairo_path_fixed_close_path(info->path);
return noErr;
@ -644,7 +630,7 @@ static OSStatus MyCubicClosePathProc(void *callBackDataPtr)
static cairo_status_t
_cairo_atsui_font_glyph_path(void *abstract_font,
cairo_glyph_t *glyphs, int num_glyphs,
cairo_path_t *path)
cairo_path_fixed_t *path)
{
int i;
cairo_atsui_font_t *font = abstract_font;
@ -673,9 +659,9 @@ _cairo_atsui_font_glyph_path(void *abstract_font,
GlyphID theGlyph = glyphs[i].index;
cairo_matrix_set_affine(&info.scale,
1.0, 0.0,
0.0, 1.0, glyphs[i].x, glyphs[i].y);
cairo_matrix_init(&info.scale,
1.0, 0.0,
0.0, 1.0, glyphs[i].x, glyphs[i].y);
err = ATSUGlyphGetCubicPaths(font->style,
@ -690,17 +676,9 @@ _cairo_atsui_font_glyph_path(void *abstract_font,
}
static cairo_status_t
_cairo_atsui_font_create_glyph(cairo_image_glyph_cache_entry_t * val)
{
return CAIRO_STATUS_NO_MEMORY;
}
const cairo_font_backend_t cairo_atsui_font_backend = {
const cairo_scaled_font_backend_t cairo_atsui_scaled_font_backend = {
_cairo_atsui_font_create,
_cairo_atsui_font_destroy_font,
_cairo_atsui_font_destroy_unscaled_font,
_cairo_atsui_font_font_extents,
_cairo_atsui_font_text_to_glyphs,
_cairo_atsui_font_glyph_extents,
@ -708,39 +686,5 @@ const cairo_font_backend_t cairo_atsui_font_backend = {
_cairo_atsui_font_show_glyphs,
_cairo_atsui_font_glyph_path,
_cairo_atsui_font_get_glyph_cache_key,
_cairo_atsui_font_create_glyph
};
cairo_font_t *cairo_atsui_font_create(ATSUStyle style)
{
#if 0
cairo_font_scale_t scale;
cairo_font_t *scaled;
cairo_atsui_font_t *f = NULL;
scaled = malloc(sizeof(cairo_font_t));
if (scaled == NULL)
return NULL;
f = malloc(sizeof(cairo_atsui_font_t));
if (f) {
if (_cairo_unscaled_font_init(&f->base, &cairo_atsui_font_backend)
== CAIRO_STATUS_SUCCESS) {
f->style = style;
_cairo_font_init(scaled, &scale, &f->base);
return scaled;
}
}
free(scaled);
#endif
return NULL;
}

Просмотреть файл

@ -38,7 +38,7 @@
#include <cairo.h>
#ifdef CAIRO_HAS_ATSUI_FONT
#ifdef CAIRO_HAS_ATSUI_FONT
/* ATSUI platform-specific font interface */
@ -46,10 +46,10 @@
CAIRO_BEGIN_DECLS
cairo_font_t *
cairo_atsui_font_create(ATSUStyle style);
CAIRO_END_DECLS
#else /* CAIRO_HAS_ATSUI_FONT */
# error Cairo was not compiled with support for the atsui font backend
#endif /* CAIRO_HAS_ATSUI_FONT */
#endif /* CAIRO_ATSUI_H */

Просмотреть файл

@ -113,7 +113,9 @@ static const cairo_cache_arrangement_t cache_arrangements [] = {
#define LIVE_ENTRY_P(cache, i) \
(!((NULL_ENTRY_P((cache),(i))) || (DEAD_ENTRY_P((cache),(i)))))
#ifdef CAIRO_DO_SANITY_CHECKING
#ifdef NDEBUG
#define _cache_sane_state(c)
#else
static void
_cache_sane_state (cairo_cache_t *cache)
{
@ -125,8 +127,6 @@ _cache_sane_state (cairo_cache_t *cache)
/* assert (cache->used_memory <= cache->max_memory); */
assert (cache->live_entries <= cache->arrangement->size);
}
#else
#define _cache_sane_state(c)
#endif
static void
@ -351,8 +351,9 @@ _cairo_cache_init (cairo_cache_t *cache,
#endif
cache->backend = backend;
cache->entries = calloc (sizeof(cairo_cache_entry_base_t *),
cache->arrangement->size);
cache->entries = calloc (cache->arrangement->size,
sizeof(cairo_cache_entry_base_t *));
if (cache->entries == NULL)
return CAIRO_STATUS_NO_MEMORY;
}

Просмотреть файл

@ -0,0 +1,163 @@
/* cairo - a vector graphics library with display and print output
*
* Copyright © 2002 University of Southern California
* Copyright © 2005 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it either under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation
* (the "LGPL") or, at your option, under the terms of the Mozilla
* Public License Version 1.1 (the "MPL"). If you do not alter this
* notice, a recipient may use your version of this file under either
* the MPL or the LGPL.
*
* You should have received a copy of the LGPL along with this library
* in the file COPYING-LGPL-2.1; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* You should have received a copy of the MPL along with this library
* in the file COPYING-MPL-1.1
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
* OF ANY KIND, either express or implied. See the LGPL or the MPL for
* the specific language governing rights and limitations.
*
* The Original Code is the cairo graphics library.
*
* The Initial Developer of the Original Code is University of Southern
* California.
*
* Contributor(s):
* Carl D. Worth <cworth@cworth.org>
*/
#include "cairoint.h"
static cairo_color_t const cairo_color_white = {
1.0, 1.0, 1.0, 1.0,
0xffff, 0xffff, 0xffff, 0xffff
};
static cairo_color_t const cairo_color_black = {
0.0, 0.0, 0.0, 1.0,
0x0, 0x0, 0x0, 0xffff
};
static cairo_color_t const cairo_color_transparent = {
0.0, 0.0, 0.0, 0.0,
0x0, 0x0, 0x0, 0x0
};
static cairo_color_t const cairo_color_magenta = {
1.0, 0.0, 1.0, 1.0,
0xffff, 0x0, 0xffff, 0xffff
};
const cairo_color_t *
_cairo_stock_color (cairo_stock_t stock)
{
switch (stock) {
case CAIRO_STOCK_WHITE:
return &cairo_color_white;
case CAIRO_STOCK_BLACK:
return &cairo_color_black;
case CAIRO_STOCK_TRANSPARENT:
return &cairo_color_transparent;
}
ASSERT_NOT_REACHED;
/* If the user can get here somehow, give a color that indicates a
* problem. */
return &cairo_color_magenta;
}
void
_cairo_color_init (cairo_color_t *color)
{
*color = cairo_color_white;
}
void
_cairo_color_init_rgb (cairo_color_t *color,
double red, double green, double blue)
{
_cairo_color_init_rgba (color, red, green, blue, 1.0);
}
/* XXX: The calculation of:
channel * 0xffff
isn't really what we want since:
(1.0 - epsilon) * 0xffff = 0xfffe
In other words, given an input range of [0.0, 1.0], we have an
infinitely small range tha maps to the output value 0xffff,
(while having large, uniformly sized input ranges for all
other output values). This is undesirable, particularly when
we want to do optimizations for "opaque" colors specfied as
floating-point.
*/
static void
_cairo_color_compute_shorts (cairo_color_t *color)
{
color->red_short = color->red * color->alpha * 0xffff;
color->green_short = color->green * color->alpha * 0xffff;
color->blue_short = color->blue * color->alpha * 0xffff;
color->alpha_short = color->alpha * 0xffff;
}
void
_cairo_color_init_rgba (cairo_color_t *color,
double red, double green, double blue,
double alpha)
{
color->red = red;
color->green = green;
color->blue = blue;
color->alpha = alpha;
_cairo_color_compute_shorts (color);
}
void
_cairo_color_multiply_alpha (cairo_color_t *color,
double alpha)
{
color->alpha *= alpha;
_cairo_color_compute_shorts (color);
}
void
_cairo_color_get_rgba (cairo_color_t *color,
double *red,
double *green,
double *blue,
double *alpha)
{
*red = color->red;
*green = color->green;
*blue = color->blue;
*alpha = color->alpha;
}
void
_cairo_color_get_rgba_premultiplied (cairo_color_t *color,
double *red,
double *green,
double *blue,
double *alpha)
{
*red = color->red * color->alpha;
*green = color->green * color->alpha;
*blue = color->blue * color->alpha;
*alpha = color->alpha;
}

Просмотреть файл

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -48,7 +48,7 @@ CAIRO_BEGIN_DECLS
* the different fonts-on-disk used by a document, so it can embed them
*/
cairo_private cairo_unscaled_font_t *
_cairo_ft_font_get_unscaled_font (cairo_font_t *font);
_cairo_ft_scaled_font_get_unscaled_font (cairo_scaled_font_t *scaled_font);
cairo_private FT_Face
_cairo_ft_unscaled_font_lock_face (cairo_unscaled_font_t *unscaled_font);

Просмотреть файл

@ -39,7 +39,7 @@
#include <cairo.h>
#ifdef CAIRO_HAS_FT_FONT
#ifdef CAIRO_HAS_FT_FONT
/* Fontconfig/Freetype platform-specific font interface */
@ -49,25 +49,23 @@
CAIRO_BEGIN_DECLS
cairo_font_t *
cairo_ft_font_create (FcPattern *pattern,
cairo_matrix_t *scale);
cairo_font_face_t *
cairo_ft_font_face_create_for_pattern (FcPattern *pattern);
cairo_font_t *
cairo_ft_font_create_for_ft_face (FT_Face face,
int load_flags,
cairo_matrix_t *scale);
cairo_font_face_t *
cairo_ft_font_face_create_for_ft_face (FT_Face face,
int load_flags);
FT_Face
cairo_ft_font_lock_face (cairo_font_t *ft_font);
cairo_ft_scaled_font_lock_face (cairo_scaled_font_t *scaled_font);
void
cairo_ft_font_unlock_face (cairo_font_t *ft_font);
FcPattern *
cairo_ft_font_get_pattern (cairo_font_t *ft_font);
cairo_ft_scaled_font_unlock_face (cairo_scaled_font_t *scaled_font);
CAIRO_END_DECLS
#else /* CAIRO_HAS_FT_FONT */
# error Cairo was not compiled with support for the freetype font backend
#endif /* CAIRO_HAS_FT_FONT */
#endif /* CAIRO_FT_H */

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -39,20 +39,19 @@
#include <cairo.h>
#ifdef CAIRO_HAS_GLITZ_SURFACE
#ifdef CAIRO_HAS_GLITZ_SURFACE
#include <glitz.h>
CAIRO_BEGIN_DECLS
void
cairo_set_target_glitz (cairo_t *cr,
glitz_surface_t *surface);
cairo_surface_t *
cairo_glitz_surface_create (glitz_surface_t *surface);
CAIRO_END_DECLS
#else /* CAIRO_HAS_GLITZ_SURFACE */
# error Cairo was not compiled with support for the glitz backend
#endif /* CAIRO_HAS_GLITZ_SURFACE */
#endif /* CAIRO_GLITZ_H */

Просмотреть файл

@ -0,0 +1,82 @@
/* cairo - a vector graphics library with display and print output
*
* Copyright © 2005 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it either under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation
* (the "LGPL") or, at your option, under the terms of the Mozilla
* Public License Version 1.1 (the "MPL"). If you do not alter this
* notice, a recipient may use your version of this file under either
* the MPL or the LGPL.
*
* You should have received a copy of the LGPL along with this library
* in the file COPYING-LGPL-2.1; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* You should have received a copy of the MPL along with this library
* in the file COPYING-MPL-1.1
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
* OF ANY KIND, either express or implied. See the LGPL or the MPL for
* the specific language governing rights and limitations.
*
* The Original Code is the cairo graphics library.
*
* The Initial Developer of the Original Code is Red Hat, Inc.
*
* Contributor(s):
* Carl D. Worth <cworth@redhat.com>
*/
#ifndef CAIRO_GSTATE_PRIVATE_H
#define CAIRO_GSTATE_PRIVATE_H
struct _cairo_gstate {
cairo_operator_t operator;
double tolerance;
/* stroke style */
double line_width;
cairo_line_cap_t line_cap;
cairo_line_join_t line_join;
double miter_limit;
cairo_fill_rule_t fill_rule;
double *dash;
int num_dashes;
double dash_offset;
double max_dash_length;
double fraction_dash_lit;
char *font_family; /* NULL means CAIRO_FONT_FAMILY_DEFAULT; */
cairo_font_slant_t font_slant;
cairo_font_weight_t font_weight;
cairo_font_face_t *font_face;
cairo_scaled_font_t *scaled_font; /* Specific to the current CTM */
cairo_surface_t *surface;
int surface_level; /* Used to detect bad nested use */
cairo_pattern_t *source;
cairo_clip_rec_t clip;
cairo_matrix_t font_matrix;
cairo_matrix_t ctm;
cairo_matrix_t ctm_inverse;
cairo_pen_t pen_regular;
struct _cairo_gstate *next;
};
#endif /* CAIRO_GSTATE_PRIVATE_H */

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше