diff options
Diffstat (limited to 'libs/cairo-1.16.0/doc/public')
124 files changed, 58241 insertions, 0 deletions
diff --git a/libs/cairo-1.16.0/doc/public/Makefile.am b/libs/cairo-1.16.0/doc/public/Makefile.am new file mode 100644 index 0000000..33bccab --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/Makefile.am @@ -0,0 +1,61 @@ +include $(top_srcdir)/build/Makefile.am.common +include $(top_srcdir)/src/Makefile.am.features + +# 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" --ignore-decorators="cairo_public|cairo_private" + +# The directory containing the source code. +DOC_SOURCE_DIR=$(top_srcdir)/src + +# Used for dependencies +HFILE_GLOB=$(top_srcdir)/src/cairo*.h +CFILE_GLOB=$(top_srcdir)/src/cairo*.c +EXTRA_HFILES=$(top_builddir)/src/cairo-supported-features.h + +# Headers to ignore +IGNORE_HFILES= \ + drm \ + cairo-features.h \ + cairo-features-win32.h \ + $(all_cairo_private) \ + $(unsupported_cairo_headers) \ + $(NULL) + +# Extra options to supply to gtkdoc-mkdb +MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=cairo + +# Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE) +content_files = \ + language-bindings.xml \ + version.xml \ + $(NULL) + +version.xml: $(top_srcdir)/cairo-version.h + echo $(CAIRO_VERSION_MAJOR).$(CAIRO_VERSION_MINOR).$(CAIRO_VERSION_MICRO) > $@ + +# Images to copy into HTML directory +HTML_IMAGES = + +# Extra options to supply to gtkdoc-fixref +FIXXREF_OPTIONS= + +include $(top_srcdir)/build/Makefile.am.gtk-doc + +dist-hook: doc + +# This line really belongs in gtk-doc.mk +$(REPORT_FILES): sgml-build.stamp + +if ENABLE_GTK_DOC +TESTS += check-doc-coverage.sh +endif + +TESTS += check-doc-syntax.sh +EXTRA_DIST += check-doc-coverage.sh check-doc-syntax.sh +TESTS_ENVIRONMENT = srcdir="$(srcdir)" top_srcdir="$(top_srcdir)" MAKE="$(MAKE) $(AM_MAKEFLAGS)" DOC_MODULE="$(DOC_MODULE)" REPORT_FILES="$(REPORT_FILES)" diff --git a/libs/cairo-1.16.0/doc/public/Makefile.in b/libs/cairo-1.16.0/doc/public/Makefile.in new file mode 100644 index 0000000..cb7d90a --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/Makefile.in @@ -0,0 +1,1919 @@ +# Makefile.in generated by automake 1.15.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2017 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@ + +# Generated by configure. Do not edit. + +# Makefile.sources +# +# This file is the canonical location listing all the source files used +# to build the cairo library. Every source file is categorized as one of: +# +# * public header file +# * private header file (must end in -private.h except for cairoint.h) +# * source code file +# +# Every source file should be specified exactly once, grouped with the +# feature that uses the source file. If more than one feature use the +# file (like pdf_operators or font_subset files), the files should be +# appended to to the base cairo files, and the code inside them +# enabled/disabled using C preprocessor macros defined in cairoint.h. +# See how pdf_operators or font_subset are handled. +# +# The sources are picked up according to the configured features +# by the generated file Makefile.am.features or Makefile.win32.features. +# +# These are a few special source files. Those are not included in this +# file to not confuse build systems. Each build system must handle them +# separately. These files include: +# +# * cairo-features.h: +# This file is generated by configure and includes macros signifying +# which features are enabled. This file should be installed like +# other public headers, but should NOT be distributed in the cairo +# distribution. +# +# * cairo-version.h: +# This is a dummy header file used during the build, but it should +# NOT be installed. Its sole purpose is to make sure changes in the +# cairo version do not trigger a full rebuild of the library, but +# just the functions actually using the version information. +# +# * $(top_srcdir)/cairo-version.h: +# This is the real file holding the cairo version number. This file +# should be installed like other public headers. This is used during +# the build by cairo-version.c only. +# +# * cairo-supported-features.h: +# This file is generated by configure and includes macros signifying +# all supported features. This is used by gtk-doc to generate +# documentation for all those macros, enabled or not. +# This file is NOT used during the build of the library and should +# NOT be installed or distributed. +# +# Please follow the strict syntax of this file, including keeping file +# lists sorted. +# + +# BEFORE MODIFYING THIS FILE: +# +# This file is a descendant of an old copy of gtk-doc.make, modified for cairo minimally: +# +# - Moved to build/ +# - Made it append to EXTRA_DIST and CLEANFILES +# - Instead of all-local, make "doc" build docs, and err if gtk-doc not enabled +# - Some other changed introduced in 7f114b781f5c530d57530e5f76402e41cdabac6b +# +# Before changing it, check to see if a newer gtk-doc.make has fixed the issue you are facing. +# From time to time, it would be nice to update this to the latest copy of gtk-doc.make, but +# please do review all the differences and port our modifications forward. +# + +# -*- mode: makefile -*- + +#################################### +# Everything below here is generic # +#################################### +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +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@ +EXTRA_PROGRAMS = +check_PROGRAMS = +@CAIRO_HAS_XLIB_SURFACE_TRUE@am__append_1 = $(cairo_xlib_headers) +@CAIRO_HAS_XLIB_SURFACE_TRUE@am__append_2 = $(cairo_xlib_private) +@CAIRO_HAS_XLIB_SURFACE_TRUE@am__append_3 = $(cairo_xlib_cxx_sources) +@CAIRO_HAS_XLIB_SURFACE_TRUE@am__append_4 = $(cairo_xlib_sources) +@CAIRO_HAS_XLIB_SURFACE_TRUE@am__append_5 = cairo-xlib.pc +@CAIRO_HAS_XLIB_XRENDER_SURFACE_TRUE@am__append_6 = $(cairo_xlib_xrender_headers) +@CAIRO_HAS_XLIB_XRENDER_SURFACE_TRUE@am__append_7 = $(cairo_xlib_xrender_private) +@CAIRO_HAS_XLIB_XRENDER_SURFACE_TRUE@am__append_8 = $(cairo_xlib_xrender_cxx_sources) +@CAIRO_HAS_XLIB_XRENDER_SURFACE_TRUE@am__append_9 = $(cairo_xlib_xrender_sources) +@CAIRO_HAS_XLIB_XRENDER_SURFACE_TRUE@am__append_10 = cairo-xlib-xrender.pc +@CAIRO_HAS_XCB_SURFACE_TRUE@am__append_11 = $(cairo_xcb_headers) +@CAIRO_HAS_XCB_SURFACE_TRUE@am__append_12 = $(cairo_xcb_private) +@CAIRO_HAS_XCB_SURFACE_TRUE@am__append_13 = $(cairo_xcb_cxx_sources) +@CAIRO_HAS_XCB_SURFACE_TRUE@am__append_14 = $(cairo_xcb_sources) +@CAIRO_HAS_XCB_SURFACE_TRUE@am__append_15 = cairo-xcb.pc +@CAIRO_HAS_XLIB_XCB_FUNCTIONS_TRUE@am__append_16 = $(cairo_xlib_xcb_headers) +@CAIRO_HAS_XLIB_XCB_FUNCTIONS_TRUE@am__append_17 = $(cairo_xlib_xcb_private) +@CAIRO_HAS_XLIB_XCB_FUNCTIONS_TRUE@am__append_18 = $(cairo_xlib_xcb_cxx_sources) +@CAIRO_HAS_XLIB_XCB_FUNCTIONS_TRUE@am__append_19 = $(cairo_xlib_xcb_sources) +@CAIRO_HAS_XLIB_XCB_FUNCTIONS_TRUE@am__append_20 = cairo-xlib-xcb.pc +@CAIRO_HAS_XCB_SHM_FUNCTIONS_TRUE@am__append_21 = $(cairo_xcb_shm_headers) +@CAIRO_HAS_XCB_SHM_FUNCTIONS_TRUE@am__append_22 = $(cairo_xcb_shm_private) +@CAIRO_HAS_XCB_SHM_FUNCTIONS_TRUE@am__append_23 = $(cairo_xcb_shm_cxx_sources) +@CAIRO_HAS_XCB_SHM_FUNCTIONS_TRUE@am__append_24 = $(cairo_xcb_shm_sources) +@CAIRO_HAS_XCB_SHM_FUNCTIONS_TRUE@am__append_25 = cairo-xcb-shm.pc +@CAIRO_HAS_QT_SURFACE_TRUE@am__append_26 = $(cairo_qt_headers) +@CAIRO_HAS_QT_SURFACE_TRUE@am__append_27 = $(cairo_qt_private) +@CAIRO_HAS_QT_SURFACE_TRUE@am__append_28 = $(cairo_qt_cxx_sources) +@CAIRO_HAS_QT_SURFACE_TRUE@am__append_29 = $(cairo_qt_sources) +@CAIRO_HAS_QT_SURFACE_TRUE@am__append_30 = cairo-qt.pc +@CAIRO_HAS_QUARTZ_SURFACE_TRUE@am__append_31 = $(cairo_quartz_headers) +@CAIRO_HAS_QUARTZ_SURFACE_TRUE@am__append_32 = $(cairo_quartz_private) +@CAIRO_HAS_QUARTZ_SURFACE_TRUE@am__append_33 = $(cairo_quartz_cxx_sources) +@CAIRO_HAS_QUARTZ_SURFACE_TRUE@am__append_34 = $(cairo_quartz_sources) +@CAIRO_HAS_QUARTZ_SURFACE_TRUE@am__append_35 = cairo-quartz.pc +@CAIRO_HAS_QUARTZ_FONT_TRUE@am__append_36 = $(cairo_quartz_font_headers) +@CAIRO_HAS_QUARTZ_FONT_TRUE@am__append_37 = $(cairo_quartz_font_private) +@CAIRO_HAS_QUARTZ_FONT_TRUE@am__append_38 = $(cairo_quartz_font_cxx_sources) +@CAIRO_HAS_QUARTZ_FONT_TRUE@am__append_39 = $(cairo_quartz_font_sources) +@CAIRO_HAS_QUARTZ_FONT_TRUE@am__append_40 = cairo-quartz-font.pc +@CAIRO_HAS_QUARTZ_IMAGE_SURFACE_TRUE@am__append_41 = $(cairo_quartz_image_headers) +@CAIRO_HAS_QUARTZ_IMAGE_SURFACE_TRUE@am__append_42 = $(cairo_quartz_image_private) +@CAIRO_HAS_QUARTZ_IMAGE_SURFACE_TRUE@am__append_43 = $(cairo_quartz_image_cxx_sources) +@CAIRO_HAS_QUARTZ_IMAGE_SURFACE_TRUE@am__append_44 = $(cairo_quartz_image_sources) +@CAIRO_HAS_QUARTZ_IMAGE_SURFACE_TRUE@am__append_45 = cairo-quartz-image.pc +@CAIRO_HAS_WIN32_SURFACE_TRUE@am__append_46 = $(cairo_win32_headers) +@CAIRO_HAS_WIN32_SURFACE_TRUE@am__append_47 = $(cairo_win32_private) +@CAIRO_HAS_WIN32_SURFACE_TRUE@am__append_48 = $(cairo_win32_cxx_sources) +@CAIRO_HAS_WIN32_SURFACE_TRUE@am__append_49 = $(cairo_win32_sources) +@CAIRO_HAS_WIN32_SURFACE_TRUE@am__append_50 = cairo-win32.pc +@CAIRO_HAS_WIN32_FONT_TRUE@am__append_51 = $(cairo_win32_font_headers) +@CAIRO_HAS_WIN32_FONT_TRUE@am__append_52 = $(cairo_win32_font_private) +@CAIRO_HAS_WIN32_FONT_TRUE@am__append_53 = $(cairo_win32_font_cxx_sources) +@CAIRO_HAS_WIN32_FONT_TRUE@am__append_54 = $(cairo_win32_font_sources) +@CAIRO_HAS_WIN32_FONT_TRUE@am__append_55 = cairo-win32-font.pc +@CAIRO_HAS_OS2_SURFACE_TRUE@am__append_56 = $(cairo_os2_headers) +@CAIRO_HAS_OS2_SURFACE_TRUE@am__append_57 = $(cairo_os2_private) +@CAIRO_HAS_OS2_SURFACE_TRUE@am__append_58 = $(cairo_os2_cxx_sources) +@CAIRO_HAS_OS2_SURFACE_TRUE@am__append_59 = $(cairo_os2_sources) +@CAIRO_HAS_OS2_SURFACE_TRUE@am__append_60 = cairo-os2.pc +@CAIRO_HAS_BEOS_SURFACE_TRUE@am__append_61 = $(cairo_beos_headers) +@CAIRO_HAS_BEOS_SURFACE_TRUE@am__append_62 = $(cairo_beos_private) +@CAIRO_HAS_BEOS_SURFACE_TRUE@am__append_63 = $(cairo_beos_cxx_sources) +@CAIRO_HAS_BEOS_SURFACE_TRUE@am__append_64 = $(cairo_beos_sources) +@CAIRO_HAS_BEOS_SURFACE_TRUE@am__append_65 = cairo-beos.pc +@CAIRO_HAS_DRM_SURFACE_TRUE@am__append_66 = $(cairo_drm_headers) +@CAIRO_HAS_DRM_SURFACE_TRUE@am__append_67 = $(cairo_drm_private) +@CAIRO_HAS_DRM_SURFACE_TRUE@am__append_68 = $(cairo_drm_cxx_sources) +@CAIRO_HAS_DRM_SURFACE_TRUE@am__append_69 = $(cairo_drm_sources) +@CAIRO_HAS_DRM_SURFACE_TRUE@am__append_70 = cairo-drm.pc +@CAIRO_HAS_GALLIUM_SURFACE_TRUE@am__append_71 = $(cairo_gallium_headers) +@CAIRO_HAS_GALLIUM_SURFACE_TRUE@am__append_72 = $(cairo_gallium_private) +@CAIRO_HAS_GALLIUM_SURFACE_TRUE@am__append_73 = $(cairo_gallium_cxx_sources) +@CAIRO_HAS_GALLIUM_SURFACE_TRUE@am__append_74 = $(cairo_gallium_sources) +@CAIRO_HAS_GALLIUM_SURFACE_TRUE@am__append_75 = cairo-gallium.pc +@CAIRO_HAS_PNG_FUNCTIONS_TRUE@am__append_76 = $(cairo_png_headers) +@CAIRO_HAS_PNG_FUNCTIONS_TRUE@am__append_77 = $(cairo_png_private) +@CAIRO_HAS_PNG_FUNCTIONS_TRUE@am__append_78 = $(cairo_png_cxx_sources) +@CAIRO_HAS_PNG_FUNCTIONS_TRUE@am__append_79 = $(cairo_png_sources) +@CAIRO_HAS_PNG_FUNCTIONS_TRUE@am__append_80 = cairo-png.pc +@CAIRO_HAS_GL_SURFACE_TRUE@am__append_81 = $(cairo_gl_headers) +@CAIRO_HAS_GL_SURFACE_TRUE@am__append_82 = $(cairo_gl_private) +@CAIRO_HAS_GL_SURFACE_TRUE@am__append_83 = $(cairo_gl_cxx_sources) +@CAIRO_HAS_GL_SURFACE_TRUE@am__append_84 = $(cairo_gl_sources) +@CAIRO_HAS_GL_SURFACE_TRUE@am__append_85 = cairo-gl.pc +@CAIRO_HAS_GLESV2_SURFACE_TRUE@am__append_86 = $(cairo_glesv2_headers) +@CAIRO_HAS_GLESV2_SURFACE_TRUE@am__append_87 = $(cairo_glesv2_private) +@CAIRO_HAS_GLESV2_SURFACE_TRUE@am__append_88 = $(cairo_glesv2_cxx_sources) +@CAIRO_HAS_GLESV2_SURFACE_TRUE@am__append_89 = $(cairo_glesv2_sources) +@CAIRO_HAS_GLESV2_SURFACE_TRUE@am__append_90 = cairo-glesv2.pc +@CAIRO_HAS_GLESV3_SURFACE_TRUE@am__append_91 = $(cairo_glesv3_headers) +@CAIRO_HAS_GLESV3_SURFACE_TRUE@am__append_92 = $(cairo_glesv3_private) +@CAIRO_HAS_GLESV3_SURFACE_TRUE@am__append_93 = $(cairo_glesv3_cxx_sources) +@CAIRO_HAS_GLESV3_SURFACE_TRUE@am__append_94 = $(cairo_glesv3_sources) +@CAIRO_HAS_GLESV3_SURFACE_TRUE@am__append_95 = cairo-glesv3.pc +@CAIRO_HAS_COGL_SURFACE_TRUE@am__append_96 = $(cairo_cogl_headers) +@CAIRO_HAS_COGL_SURFACE_TRUE@am__append_97 = $(cairo_cogl_private) +@CAIRO_HAS_COGL_SURFACE_TRUE@am__append_98 = $(cairo_cogl_cxx_sources) +@CAIRO_HAS_COGL_SURFACE_TRUE@am__append_99 = $(cairo_cogl_sources) +@CAIRO_HAS_COGL_SURFACE_TRUE@am__append_100 = cairo-cogl.pc +@CAIRO_HAS_DIRECTFB_SURFACE_TRUE@am__append_101 = $(cairo_directfb_headers) +@CAIRO_HAS_DIRECTFB_SURFACE_TRUE@am__append_102 = $(cairo_directfb_private) +@CAIRO_HAS_DIRECTFB_SURFACE_TRUE@am__append_103 = $(cairo_directfb_cxx_sources) +@CAIRO_HAS_DIRECTFB_SURFACE_TRUE@am__append_104 = $(cairo_directfb_sources) +@CAIRO_HAS_DIRECTFB_SURFACE_TRUE@am__append_105 = cairo-directfb.pc +@CAIRO_HAS_VG_SURFACE_TRUE@am__append_106 = $(cairo_vg_headers) +@CAIRO_HAS_VG_SURFACE_TRUE@am__append_107 = $(cairo_vg_private) +@CAIRO_HAS_VG_SURFACE_TRUE@am__append_108 = $(cairo_vg_cxx_sources) +@CAIRO_HAS_VG_SURFACE_TRUE@am__append_109 = $(cairo_vg_sources) +@CAIRO_HAS_VG_SURFACE_TRUE@am__append_110 = cairo-vg.pc +@CAIRO_HAS_EGL_FUNCTIONS_TRUE@am__append_111 = $(cairo_egl_headers) +@CAIRO_HAS_EGL_FUNCTIONS_TRUE@am__append_112 = $(cairo_egl_private) +@CAIRO_HAS_EGL_FUNCTIONS_TRUE@am__append_113 = $(cairo_egl_cxx_sources) +@CAIRO_HAS_EGL_FUNCTIONS_TRUE@am__append_114 = $(cairo_egl_sources) +@CAIRO_HAS_EGL_FUNCTIONS_TRUE@am__append_115 = cairo-egl.pc +@CAIRO_HAS_GLX_FUNCTIONS_TRUE@am__append_116 = $(cairo_glx_headers) +@CAIRO_HAS_GLX_FUNCTIONS_TRUE@am__append_117 = $(cairo_glx_private) +@CAIRO_HAS_GLX_FUNCTIONS_TRUE@am__append_118 = $(cairo_glx_cxx_sources) +@CAIRO_HAS_GLX_FUNCTIONS_TRUE@am__append_119 = $(cairo_glx_sources) +@CAIRO_HAS_GLX_FUNCTIONS_TRUE@am__append_120 = cairo-glx.pc +@CAIRO_HAS_WGL_FUNCTIONS_TRUE@am__append_121 = $(cairo_wgl_headers) +@CAIRO_HAS_WGL_FUNCTIONS_TRUE@am__append_122 = $(cairo_wgl_private) +@CAIRO_HAS_WGL_FUNCTIONS_TRUE@am__append_123 = $(cairo_wgl_cxx_sources) +@CAIRO_HAS_WGL_FUNCTIONS_TRUE@am__append_124 = $(cairo_wgl_sources) +@CAIRO_HAS_WGL_FUNCTIONS_TRUE@am__append_125 = cairo-wgl.pc +@CAIRO_HAS_SCRIPT_SURFACE_TRUE@am__append_126 = $(cairo_script_headers) +@CAIRO_HAS_SCRIPT_SURFACE_TRUE@am__append_127 = $(cairo_script_private) +@CAIRO_HAS_SCRIPT_SURFACE_TRUE@am__append_128 = $(cairo_script_cxx_sources) +@CAIRO_HAS_SCRIPT_SURFACE_TRUE@am__append_129 = $(cairo_script_sources) +@CAIRO_HAS_SCRIPT_SURFACE_TRUE@am__append_130 = cairo-script.pc +@CAIRO_HAS_FT_FONT_TRUE@am__append_131 = $(cairo_ft_headers) +@CAIRO_HAS_FT_FONT_TRUE@am__append_132 = $(cairo_ft_private) +@CAIRO_HAS_FT_FONT_TRUE@am__append_133 = $(cairo_ft_cxx_sources) +@CAIRO_HAS_FT_FONT_TRUE@am__append_134 = $(cairo_ft_sources) +@CAIRO_HAS_FT_FONT_TRUE@am__append_135 = cairo-ft.pc +@CAIRO_HAS_FC_FONT_TRUE@am__append_136 = $(cairo_fc_headers) +@CAIRO_HAS_FC_FONT_TRUE@am__append_137 = $(cairo_fc_private) +@CAIRO_HAS_FC_FONT_TRUE@am__append_138 = $(cairo_fc_cxx_sources) +@CAIRO_HAS_FC_FONT_TRUE@am__append_139 = $(cairo_fc_sources) +@CAIRO_HAS_FC_FONT_TRUE@am__append_140 = cairo-fc.pc +@CAIRO_HAS_PS_SURFACE_TRUE@am__append_141 = $(cairo_ps_headers) +@CAIRO_HAS_PS_SURFACE_TRUE@am__append_142 = $(cairo_ps_private) +@CAIRO_HAS_PS_SURFACE_TRUE@am__append_143 = $(cairo_ps_cxx_sources) +@CAIRO_HAS_PS_SURFACE_TRUE@am__append_144 = $(cairo_ps_sources) +@CAIRO_HAS_PS_SURFACE_TRUE@am__append_145 = cairo-ps.pc +@CAIRO_HAS_PDF_SURFACE_TRUE@am__append_146 = $(cairo_pdf_headers) +@CAIRO_HAS_PDF_SURFACE_TRUE@am__append_147 = $(cairo_pdf_private) +@CAIRO_HAS_PDF_SURFACE_TRUE@am__append_148 = $(cairo_pdf_cxx_sources) +@CAIRO_HAS_PDF_SURFACE_TRUE@am__append_149 = $(cairo_pdf_sources) +@CAIRO_HAS_PDF_SURFACE_TRUE@am__append_150 = cairo-pdf.pc +@CAIRO_HAS_SVG_SURFACE_TRUE@am__append_151 = $(cairo_svg_headers) +@CAIRO_HAS_SVG_SURFACE_TRUE@am__append_152 = $(cairo_svg_private) +@CAIRO_HAS_SVG_SURFACE_TRUE@am__append_153 = $(cairo_svg_cxx_sources) +@CAIRO_HAS_SVG_SURFACE_TRUE@am__append_154 = $(cairo_svg_sources) +@CAIRO_HAS_SVG_SURFACE_TRUE@am__append_155 = cairo-svg.pc +@CAIRO_HAS_TEST_SURFACES_TRUE@am__append_156 = $(cairo_test_surfaces_private) $(cairo_test_surfaces_headers) +@CAIRO_HAS_TEST_SURFACES_TRUE@am__append_157 = $(cairo_test_surfaces_cxx_sources) +@CAIRO_HAS_TEST_SURFACES_TRUE@am__append_158 = $(cairo_test_surfaces_sources) +@CAIRO_HAS_TEE_SURFACE_TRUE@am__append_159 = $(cairo_tee_headers) +@CAIRO_HAS_TEE_SURFACE_TRUE@am__append_160 = $(cairo_tee_private) +@CAIRO_HAS_TEE_SURFACE_TRUE@am__append_161 = $(cairo_tee_cxx_sources) +@CAIRO_HAS_TEE_SURFACE_TRUE@am__append_162 = $(cairo_tee_sources) +@CAIRO_HAS_TEE_SURFACE_TRUE@am__append_163 = cairo-tee.pc +@CAIRO_HAS_XML_SURFACE_TRUE@am__append_164 = $(cairo_xml_headers) +@CAIRO_HAS_XML_SURFACE_TRUE@am__append_165 = $(cairo_xml_private) +@CAIRO_HAS_XML_SURFACE_TRUE@am__append_166 = $(cairo_xml_cxx_sources) +@CAIRO_HAS_XML_SURFACE_TRUE@am__append_167 = $(cairo_xml_sources) +@CAIRO_HAS_XML_SURFACE_TRUE@am__append_168 = cairo-xml.pc +@CAIRO_HAS_PTHREAD_TRUE@am__append_169 = $(cairo_pthread_private) $(cairo_pthread_headers) +@CAIRO_HAS_PTHREAD_TRUE@am__append_170 = $(cairo_pthread_cxx_sources) +@CAIRO_HAS_PTHREAD_TRUE@am__append_171 = $(cairo_pthread_sources) +@CAIRO_HAS_GOBJECT_FUNCTIONS_TRUE@am__append_172 = $(cairo_gobject_headers) +@CAIRO_HAS_GOBJECT_FUNCTIONS_TRUE@am__append_173 = $(cairo_gobject_private) +@CAIRO_HAS_GOBJECT_FUNCTIONS_TRUE@am__append_174 = $(cairo_gobject_cxx_sources) +@CAIRO_HAS_GOBJECT_FUNCTIONS_TRUE@am__append_175 = $(cairo_gobject_sources) +@CAIRO_HAS_GOBJECT_FUNCTIONS_TRUE@am__append_176 = cairo-gobject.pc +@CAIRO_HAS_TRACE_TRUE@am__append_177 = $(cairo_trace_private) $(cairo_trace_headers) +@CAIRO_HAS_TRACE_TRUE@am__append_178 = $(cairo_trace_cxx_sources) +@CAIRO_HAS_TRACE_TRUE@am__append_179 = $(cairo_trace_sources) +@CAIRO_HAS_INTERPRETER_TRUE@am__append_180 = $(cairo_interpreter_private) $(cairo_interpreter_headers) +@CAIRO_HAS_INTERPRETER_TRUE@am__append_181 = $(cairo_interpreter_cxx_sources) +@CAIRO_HAS_INTERPRETER_TRUE@am__append_182 = $(cairo_interpreter_sources) +@CAIRO_HAS_SYMBOL_LOOKUP_TRUE@am__append_183 = $(cairo_symbol_lookup_private) $(cairo_symbol_lookup_headers) +@CAIRO_HAS_SYMBOL_LOOKUP_TRUE@am__append_184 = $(cairo_symbol_lookup_cxx_sources) +@CAIRO_HAS_SYMBOL_LOOKUP_TRUE@am__append_185 = $(cairo_symbol_lookup_sources) +@ENABLE_GTK_DOC_TRUE@am__append_186 = check-doc-coverage.sh +subdir = doc/public +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/build/aclocal.cairo.m4 \ + $(top_srcdir)/build/aclocal.compare.m4 \ + $(top_srcdir)/build/aclocal.enable.m4 \ + $(top_srcdir)/build/aclocal.float.m4 \ + $(top_srcdir)/build/aclocal.makefile.m4 \ + $(top_srcdir)/build/aclocal.pkg.m4 \ + $(top_srcdir)/build/gtk-doc.m4 $(top_srcdir)/build/libtool.m4 \ + $(top_srcdir)/build/ltoptions.m4 \ + $(top_srcdir)/build/ltsugar.m4 \ + $(top_srcdir)/build/ltversion.m4 \ + $(top_srcdir)/build/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/cairo-version.h \ + $(top_srcdir)/build/configure.ac.version \ + $(top_srcdir)/build/configure.ac.tools \ + $(top_srcdir)/build/configure.ac.features \ + $(top_srcdir)/build/configure.ac.warnings \ + $(top_srcdir)/build/configure.ac.system \ + $(top_srcdir)/build/configure.ac.analysis \ + $(top_srcdir)/build/configure.ac.noversion \ + $(top_srcdir)/build/configure.ac.pthread \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +am__tty_colors = { \ + $(am__tty_colors_dummy); \ + if test "X$(AM_COLOR_TESTS)" = Xno; then \ + am__color_tests=no; \ + elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ + am__color_tests=yes; \ + elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ + am__color_tests=yes; \ + fi; \ + if test $$am__color_tests = yes; then \ + red='[0;31m'; \ + grn='[0;32m'; \ + lgn='[1;32m'; \ + blu='[1;34m'; \ + mgn='[0;35m'; \ + brg='[1m'; \ + std='[m'; \ + fi; \ +} +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 = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__recheck_rx = ^[ ]*:recheck:[ ]* +am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* +am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* +# A command that, given a newline-separated list of test names on the +# standard input, print the name of the tests that are to be re-run +# upon "make recheck". +am__list_recheck_tests = $(AWK) '{ \ + recheck = 1; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + { \ + if ((getline line2 < ($$0 ".log")) < 0) \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ + { \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ + { \ + break; \ + } \ + }; \ + if (recheck) \ + print $$0; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# A command that, given a newline-separated list of test names on the +# standard input, create the global log from their .trs and .log files. +am__create_global_log = $(AWK) ' \ +function fatal(msg) \ +{ \ + print "fatal: making $@: " msg | "cat >&2"; \ + exit 1; \ +} \ +function rst_section(header) \ +{ \ + print header; \ + len = length(header); \ + for (i = 1; i <= len; i = i + 1) \ + printf "="; \ + printf "\n\n"; \ +} \ +{ \ + copy_in_global_log = 1; \ + global_test_result = "RUN"; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".trs"); \ + if (line ~ /$(am__global_test_result_rx)/) \ + { \ + sub("$(am__global_test_result_rx)", "", line); \ + sub("[ ]*$$", "", line); \ + global_test_result = line; \ + } \ + else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ + copy_in_global_log = 0; \ + }; \ + if (copy_in_global_log) \ + { \ + rst_section(global_test_result ": " $$0); \ + while ((rc = (getline line < ($$0 ".log"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".log"); \ + print line; \ + }; \ + printf "\n"; \ + }; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# Restructured Text title. +am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } +# Solaris 10 'make', and several other traditional 'make' implementations, +# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it +# by disabling -e (using the XSI extension "set +e") if it's set. +am__sh_e_setup = case $$- in *e*) set +e;; esac +# Default flags passed to test drivers. +am__common_driver_flags = \ + --color-tests "$$am__color_tests" \ + --enable-hard-errors "$$am__enable_hard_errors" \ + --expect-failure "$$am__expect_failure" +# To be inserted before the command running the test. Creates the +# directory for the log if needed. Stores in $dir the directory +# containing $f, in $tst the test, in $log the log. Executes the +# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and +# passes TESTS_ENVIRONMENT. Set up options for the wrapper that +# will run the test scripts (or their associated LOG_COMPILER, if +# thy have one). +am__check_pre = \ +$(am__sh_e_setup); \ +$(am__vpath_adj_setup) $(am__vpath_adj) \ +$(am__tty_colors); \ +srcdir=$(srcdir); export srcdir; \ +case "$@" in \ + */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ + *) am__odir=.;; \ +esac; \ +test "x$$am__odir" = x"." || test -d "$$am__odir" \ + || $(MKDIR_P) "$$am__odir" || exit $$?; \ +if test -f "./$$f"; then dir=./; \ +elif test -f "$$f"; then dir=; \ +else dir="$(srcdir)/"; fi; \ +tst=$$dir$$f; log='$@'; \ +if test -n '$(DISABLE_HARD_ERRORS)'; then \ + am__enable_hard_errors=no; \ +else \ + am__enable_hard_errors=yes; \ +fi; \ +case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ + am__expect_failure=yes;; \ + *) \ + am__expect_failure=no;; \ +esac; \ +$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) +# A shell command to get the names of the tests scripts with any registered +# extension removed (i.e., equivalently, the names of the test logs, with +# the '.log' extension removed). The result is saved in the shell variable +# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, +# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", +# since that might cause problem with VPATH rewrites for suffix-less tests. +# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. +am__set_TESTS_bases = \ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` +RECHECK_LOGS = $(TEST_LOGS) +AM_RECURSIVE_TARGETS = check recheck +TEST_SUITE_LOG = test-suite.log +TEST_EXTENSIONS = @EXEEXT@ .test +LOG_DRIVER = $(SHELL) $(top_srcdir)/build/test-driver +LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) +am__set_b = \ + case '$@' in \ + */*) \ + case '$*' in \ + */*) b='$*';; \ + *) b=`echo '$@' | sed 's/\.log$$//'`; \ + esac;; \ + *) \ + b='$*';; \ + esac +am__test_logs1 = $(TESTS:=.log) +am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) +TEST_LOGS = $(am__test_logs2:.test.log=.log) +TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build/test-driver +TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ + $(TEST_LOG_FLAGS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build/Makefile.am.common \ + $(top_srcdir)/build/Makefile.am.gtk-doc \ + $(top_srcdir)/build/test-driver \ + $(top_srcdir)/src/Makefile.am.features \ + $(top_srcdir)/src/Makefile.sources README +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BFD_LIBS = @BFD_LIBS@ +CAIROBOILERPLATE_LIBS = @CAIROBOILERPLATE_LIBS@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LDFLAGS = @CAIRO_LDFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CAIRO_LIBTOOL_VERSION_INFO = @CAIRO_LIBTOOL_VERSION_INFO@ +CAIRO_NONPKGCONFIG_CFLAGS = @CAIRO_NONPKGCONFIG_CFLAGS@ +CAIRO_NONPKGCONFIG_LIBS = @CAIRO_NONPKGCONFIG_LIBS@ +CAIRO_RELEASE_STATUS = @CAIRO_RELEASE_STATUS@ +CAIRO_REQUIRES = @CAIRO_REQUIRES@ +CAIRO_TEST_MODE = @CAIRO_TEST_MODE@ +CAIRO_TEST_UNDEFINED_LDFLAGS = @CAIRO_TEST_UNDEFINED_LDFLAGS@ +CAIRO_VERSION_MAJOR = @CAIRO_VERSION_MAJOR@ +CAIRO_VERSION_MICRO = @CAIRO_VERSION_MICRO@ +CAIRO_VERSION_MINOR = @CAIRO_VERSION_MINOR@ +CAIRO_VERSION_SONUM = @CAIRO_VERSION_SONUM@ +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@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FIND = @FIND@ +FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ +FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_CONFIG = @FREETYPE_CONFIG@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +GOBJECT_CFLAGS = @GOBJECT_CFLAGS@ +GOBJECT_LIBS = @GOBJECT_LIBS@ +GREP = @GREP@ +GS = @GS@ +GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ +GTKDOC_MKPDF = @GTKDOC_MKPDF@ +GTKDOC_REBASE = @GTKDOC_REBASE@ +HTML_DIR = @HTML_DIR@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBM = @LIBM@ +LIBOBJS = @LIBOBJS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBSPECTRE_CFLAGS = @LIBSPECTRE_CFLAGS@ +LIBSPECTRE_LIBS = @LIBSPECTRE_LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LTP = @LTP@ +LTP_GENHTML = @LTP_GENHTML@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKGCONFIG_REQUIRES = @PKGCONFIG_REQUIRES@ +PKG_CONFIG = @PKG_CONFIG@ +POPPLER_CFLAGS = @POPPLER_CFLAGS@ +POPPLER_LIBS = @POPPLER_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHLIB_EXT = @SHLIB_EXT@ +SHM_LIBS = @SHM_LIBS@ +SHTOOL = @SHTOOL@ +STRIP = @STRIP@ +VALGRIND_CFLAGS = @VALGRIND_CFLAGS@ +VALGRIND_LIBS = @VALGRIND_LIBS@ +VERSION = @VERSION@ +XARGS = @XARGS@ +XMKMF = @XMKMF@ +X_CFLAGS = @X_CFLAGS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_LIBS = @X_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +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@ +builddir = @builddir@ +cogl_CFLAGS = @cogl_CFLAGS@ +cogl_LIBS = @cogl_LIBS@ +datadir = @datadir@ +datarootdir = @datarootdir@ +directfb_CFLAGS = @directfb_CFLAGS@ +directfb_LIBS = @directfb_LIBS@ +docdir = @docdir@ +drm_CFLAGS = @drm_CFLAGS@ +drm_LIBS = @drm_LIBS@ +dvidir = @dvidir@ +egl_CFLAGS = @egl_CFLAGS@ +egl_LIBS = @egl_LIBS@ +exec_prefix = @exec_prefix@ +gallium_DIR = @gallium_DIR@ +gl_CFLAGS = @gl_CFLAGS@ +gl_LIBS = @gl_LIBS@ +glesv2_CFLAGS = @glesv2_CFLAGS@ +glesv2_LIBS = @glesv2_LIBS@ +glesv3_CFLAGS = @glesv3_CFLAGS@ +glesv3_LIBS = @glesv3_LIBS@ +glib_CFLAGS = @glib_CFLAGS@ +glib_LIBS = @glib_LIBS@ +gtk_CFLAGS = @gtk_CFLAGS@ +gtk_LIBS = @gtk_LIBS@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lzo_LIBS = @lzo_LIBS@ +mandir = @mandir@ +mesa_DIR = @mesa_DIR@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pixman_CFLAGS = @pixman_CFLAGS@ +pixman_LIBS = @pixman_LIBS@ +png_CFLAGS = @png_CFLAGS@ +png_LIBS = @png_LIBS@ +png_REQUIRES = @png_REQUIRES@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pthread_CFLAGS = @pthread_CFLAGS@ +pthread_LIBS = @pthread_LIBS@ +qt_CFLAGS = @qt_CFLAGS@ +qt_LIBS = @qt_LIBS@ +real_pthread_CFLAGS = @real_pthread_CFLAGS@ +real_pthread_LIBS = @real_pthread_LIBS@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +shm_LIBS = @shm_LIBS@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xcb_CFLAGS = @xcb_CFLAGS@ +xcb_LIBS = @xcb_LIBS@ +xcb_shm_CFLAGS = @xcb_shm_CFLAGS@ +xcb_shm_LIBS = @xcb_shm_LIBS@ +xlib_CFLAGS = @xlib_CFLAGS@ +xlib_LIBS = @xlib_LIBS@ +xlib_xcb_CFLAGS = @xlib_xcb_CFLAGS@ +xlib_xcb_LIBS = @xlib_xcb_LIBS@ +xlib_xrender_CFLAGS = @xlib_xrender_CFLAGS@ +xlib_xrender_LIBS = @xlib_xrender_LIBS@ +BUILT_SOURCES = +CLEANFILES = *.i *.s *.gch $(EXTRA_LTLIBRARIES) $(EXTRA_PROGRAMS) \ + $(check_PROGRAMS) $(SCANOBJ_FILES) $(REPORT_FILES) \ + $(DOC_STAMPS) +DISTCLEANFILES = $(BUILT_SOURCES) +EXTRA_DIST = $(content_files) $(HTML_IMAGES) $(DOC_MAIN_SGML_FILE) \ + $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt \ + check-doc-coverage.sh check-doc-syntax.sh +EXTRA_LTLIBRARIES = +MAINTAINERCLEANFILES = Makefile.in +TESTS = $(am__append_186) check-doc-syntax.sh +cairo_headers = cairo.h cairo-deprecated.h +cairo_private = cairoint.h cairo-analysis-surface-private.h \ + cairo-arc-private.h cairo-array-private.h \ + cairo-atomic-private.h cairo-backend-private.h \ + cairo-box-inline.h cairo-boxes-private.h cairo-cache-private.h \ + cairo-clip-inline.h cairo-clip-private.h \ + cairo-combsort-inline.h cairo-compiler-private.h \ + cairo-composite-rectangles-private.h \ + cairo-compositor-private.h cairo-contour-inline.h \ + cairo-contour-private.h cairo-damage-private.h \ + cairo-default-context-private.h cairo-device-private.h \ + cairo-error-inline.h cairo-error-private.h \ + cairo-fixed-private.h cairo-fixed-type-private.h \ + cairo-fontconfig-private.h cairo-freed-pool-private.h \ + cairo-freelist-private.h cairo-freelist-type-private.h \ + cairo-gstate-private.h cairo-hash-private.h \ + cairo-image-info-private.h cairo-image-surface-inline.h \ + cairo-image-surface-private.h cairo-line-inline.h \ + cairo-line-private.h cairo-list-inline.h cairo-list-private.h \ + cairo-malloc-private.h cairo-mempool-private.h \ + cairo-mutex-impl-private.h cairo-mutex-list-private.h \ + cairo-mutex-private.h cairo-mutex-type-private.h \ + cairo-output-stream-private.h cairo-paginated-private.h \ + cairo-paginated-surface-private.h cairo-path-fixed-private.h \ + cairo-path-private.h cairo-pattern-inline.h \ + cairo-pattern-private.h cairo-pixman-private.h cairo-private.h \ + cairo-recording-surface-inline.h \ + cairo-recording-surface-private.h \ + cairo-reference-count-private.h cairo-region-private.h \ + cairo-rtree-private.h cairo-scaled-font-private.h \ + cairo-slope-private.h cairo-spans-compositor-private.h \ + cairo-spans-private.h cairo-stroke-dash-private.h \ + cairo-surface-backend-private.h \ + cairo-surface-clipper-private.h \ + cairo-surface-fallback-private.h cairo-surface-inline.h \ + cairo-surface-observer-inline.h \ + cairo-surface-observer-private.h \ + cairo-surface-offset-private.h cairo-surface-private.h \ + cairo-surface-snapshot-inline.h \ + cairo-surface-snapshot-private.h \ + cairo-surface-subsurface-inline.h \ + cairo-surface-subsurface-private.h \ + cairo-surface-wrapper-private.h cairo-time-private.h \ + cairo-traps-private.h cairo-tristrip-private.h \ + cairo-types-private.h cairo-user-font-private.h \ + cairo-wideint-private.h cairo-wideint-type-private.h $(NULL) \ + $(_cairo_font_subset_private) $(_cairo_pdf_operators_private) +cairo_sources = cairo-analysis-surface.c cairo-arc.c cairo-array.c \ + cairo-atomic.c cairo-base64-stream.c cairo-base85-stream.c \ + cairo-bentley-ottmann-rectangular.c \ + cairo-bentley-ottmann-rectilinear.c cairo-bentley-ottmann.c \ + cairo-botor-scan-converter.c cairo-boxes-intersect.c \ + cairo-boxes.c cairo-cache.c cairo-clip-boxes.c \ + cairo-clip-polygon.c cairo-clip-region.c cairo-clip-surface.c \ + cairo-clip-tor-scan-converter.c cairo-clip.c cairo-color.c \ + cairo-composite-rectangles.c cairo-compositor.c \ + cairo-contour.c cairo-damage.c cairo-debug.c \ + cairo-default-context.c cairo-device.c cairo-error.c \ + cairo-fallback-compositor.c cairo-fixed.c \ + cairo-font-face-twin-data.c cairo-font-face-twin.c \ + cairo-font-face.c cairo-font-options.c cairo-freed-pool.c \ + cairo-freelist.c cairo-gstate.c cairo-hash.c cairo-hull.c \ + cairo-image-compositor.c cairo-image-info.c \ + cairo-image-source.c cairo-image-surface.c cairo-line.c \ + cairo-lzw.c cairo-mask-compositor.c cairo-matrix.c \ + cairo-mempool.c cairo-mesh-pattern-rasterizer.c cairo-misc.c \ + cairo-mono-scan-converter.c cairo-mutex.c \ + cairo-no-compositor.c cairo-observer.c cairo-output-stream.c \ + cairo-paginated-surface.c cairo-path-bounds.c \ + cairo-path-fill.c cairo-path-fixed.c cairo-path-in-fill.c \ + cairo-path-stroke-boxes.c cairo-path-stroke-polygon.c \ + cairo-path-stroke-traps.c cairo-path-stroke-tristrip.c \ + cairo-path-stroke.c cairo-path.c cairo-pattern.c cairo-pen.c \ + cairo-polygon-intersect.c cairo-polygon-reduce.c \ + cairo-polygon.c cairo-raster-source-pattern.c \ + cairo-recording-surface.c cairo-rectangle.c \ + cairo-rectangular-scan-converter.c cairo-region.c \ + cairo-rtree.c cairo-scaled-font.c \ + cairo-shape-mask-compositor.c cairo-slope.c \ + cairo-spans-compositor.c cairo-spans.c cairo-spline.c \ + cairo-stroke-dash.c cairo-stroke-style.c \ + cairo-surface-clipper.c cairo-surface-fallback.c \ + cairo-surface-observer.c cairo-surface-offset.c \ + cairo-surface-snapshot.c cairo-surface-subsurface.c \ + cairo-surface-wrapper.c cairo-surface.c cairo-time.c \ + cairo-tor-scan-converter.c cairo-tor22-scan-converter.c \ + cairo-toy-font-face.c cairo-traps-compositor.c cairo-traps.c \ + cairo-tristrip.c cairo-unicode.c cairo-user-font.c \ + cairo-version.c cairo-wideint.c cairo.c $(NULL) \ + $(_cairo_font_subset_sources) $(_cairo_pdf_operators_sources) \ + $(_cairo_deflate_stream_sources) +_cairo_font_subset_private = \ + cairo-scaled-font-subsets-private.h \ + cairo-truetype-subset-private.h \ + cairo-type1-private.h \ + cairo-type3-glyph-surface-private.h \ + $(NULL) + +_cairo_font_subset_sources = \ + cairo-cff-subset.c \ + cairo-scaled-font-subsets.c \ + cairo-truetype-subset.c \ + cairo-type1-fallback.c \ + cairo-type1-glyph-names.c \ + cairo-type1-subset.c \ + cairo-type3-glyph-surface.c \ + $(NULL) + +cairo_egl_sources = cairo-egl-context.c +cairo_glx_sources = cairo-glx-context.c +cairo_wgl_sources = cairo-wgl-context.c +_cairo_pdf_operators_private = \ + cairo-pdf-operators-private.h \ + cairo-pdf-shading-private.h \ + cairo-tag-attributes-private.h \ + $(NULL) + +_cairo_pdf_operators_sources = \ + cairo-pdf-operators.c \ + cairo-pdf-shading.c \ + cairo-tag-attributes.c \ + $(NULL) + +cairo_png_sources = cairo-png.c +cairo_ps_headers = cairo-ps.h +cairo_ps_private = cairo-ps-surface-private.h +cairo_ps_sources = cairo-ps-surface.c +_cairo_deflate_stream_sources = cairo-deflate-stream.c +cairo_pdf_headers = cairo-pdf.h +cairo_pdf_private = cairo-pdf-surface-private.h cairo-tag-stack-private.h +cairo_pdf_sources = cairo-pdf-surface.c cairo-pdf-interchange.c cairo-tag-stack.c +cairo_svg_headers = cairo-svg.h +cairo_svg_private = cairo-svg-surface-private.h +cairo_svg_sources = cairo-svg-surface.c +cairo_ft_headers = cairo-ft.h +cairo_ft_private = cairo-ft-private.h +cairo_ft_sources = cairo-ft-font.c + +# These are private, even though they look like public headers +cairo_test_surfaces_private = \ + test-compositor-surface.h \ + test-compositor-surface-private.h \ + test-null-compositor-surface.h \ + test-paginated-surface.h \ + $(NULL) + +cairo_test_surfaces_sources = \ + test-compositor-surface.c \ + test-null-compositor-surface.c \ + test-base-compositor-surface.c \ + test-paginated-surface.c \ + $(NULL) + +cairo_xlib_headers = cairo-xlib.h +cairo_xlib_private = \ + cairo-xlib-private.h \ + cairo-xlib-surface-private.h \ + cairo-xlib-xrender-private.h \ + $(NULL) + +cairo_xlib_sources = \ + cairo-xlib-display.c \ + cairo-xlib-core-compositor.c \ + cairo-xlib-fallback-compositor.c \ + cairo-xlib-render-compositor.c \ + cairo-xlib-screen.c \ + cairo-xlib-source.c \ + cairo-xlib-surface.c \ + cairo-xlib-surface-shm.c \ + cairo-xlib-visual.c \ + cairo-xlib-xcb-surface.c \ + $(NULL) + +cairo_xlib_xrender_headers = cairo-xlib-xrender.h +cairo_xcb_headers = cairo-xcb.h +cairo_xcb_private = cairo-xcb-private.h +cairo_xcb_sources = \ + cairo-xcb-connection.c \ + cairo-xcb-connection-core.c \ + cairo-xcb-connection-render.c \ + cairo-xcb-connection-shm.c \ + cairo-xcb-screen.c \ + cairo-xcb-shm.c \ + cairo-xcb-surface.c \ + cairo-xcb-surface-core.c \ + cairo-xcb-surface-render.c \ + cairo-xcb-resources.c \ + $(NULL) + +cairo_qt_headers = cairo-qt.h +cairo_qt_cxx_sources = cairo-qt-surface.cpp +cairo_quartz_headers = cairo-quartz.h +cairo_quartz_private = cairo-quartz-private.h +cairo_quartz_sources = cairo-quartz-surface.c +cairo_quartz_image_headers = cairo-quartz-image.h +cairo_quartz_image_sources = cairo-quartz-image-surface.c +cairo_quartz_font_sources = cairo-quartz-font.c +cairo_win32_headers = cairo-win32.h +cairo_win32_private = win32/cairo-win32-private.h +cairo_win32_sources = \ + win32/cairo-win32-debug.c \ + win32/cairo-win32-device.c \ + win32/cairo-win32-gdi-compositor.c \ + win32/cairo-win32-system.c \ + win32/cairo-win32-surface.c \ + win32/cairo-win32-display-surface.c \ + win32/cairo-win32-printing-surface.c \ + $(NULL) + +cairo_win32_font_sources = \ + win32/cairo-win32-font.c \ + $(NULL) + +cairo_os2_headers = cairo-os2.h +cairo_os2_private = cairo-os2-private.h +cairo_os2_sources = cairo-os2-surface.c + +# automake is stupid enough to always use c++ linker if we enable the +# following lines, even if beos surface is not enabled. Disable it for now. +cairo_beos_headers = cairo-beos.h +cairo_beos_cxx_sources = cairo-beos-surface.cpp +cairo_gl_headers = cairo-gl.h +cairo_gl_private = cairo-gl-private.h \ + cairo-gl-dispatch-private.h \ + cairo-gl-ext-def-private.h \ + cairo-gl-gradient-private.h + +cairo_gl_sources = cairo-gl-composite.c \ + cairo-gl-device.c \ + cairo-gl-dispatch.c \ + cairo-gl-glyphs.c \ + cairo-gl-gradient.c \ + cairo-gl-info.c \ + cairo-gl-msaa-compositor.c \ + cairo-gl-operand.c \ + cairo-gl-shaders.c \ + cairo-gl-source.c \ + cairo-gl-spans-compositor.c \ + cairo-gl-surface.c \ + cairo-gl-traps-compositor.c + +cairo_glesv2_headers = $(cairo_gl_headers) +cairo_glesv2_private = $(cairo_gl_private) +cairo_glesv2_sources = $(cairo_gl_sources) +cairo_glesv3_headers = $(cairo_gl_headers) +cairo_glesv3_private = $(cairo_gl_private) +cairo_glesv3_sources = $(cairo_gl_sources) +cairo_directfb_headers = cairo-directfb.h +cairo_directfb_sources = cairo-directfb-surface.c +cairo_drm_headers = cairo-drm.h +cairo_drm_private = drm/cairo-drm-private.h \ + drm/cairo-drm-intel-private.h \ + drm/cairo-drm-intel-brw-defines.h \ + drm/cairo-drm-intel-brw-structs.h \ + drm/cairo-drm-intel-brw-eu.h \ + drm/cairo-drm-intel-command-private.h \ + drm/cairo-drm-intel-ioctl-private.h \ + drm/cairo-drm-i915-private.h \ + drm/cairo-drm-i965-private.h \ + drm/cairo-drm-radeon-private.h + +cairo_drm_sources = drm/cairo-drm.c \ + drm/cairo-drm-bo.c \ + drm/cairo-drm-surface.c \ + drm/cairo-drm-intel.c \ + drm/cairo-drm-intel-debug.c \ + drm/cairo-drm-intel-surface.c \ + drm/cairo-drm-i915-surface.c \ + drm/cairo-drm-i915-glyphs.c \ + drm/cairo-drm-i915-shader.c \ + drm/cairo-drm-i915-spans.c \ + drm/cairo-drm-i965-surface.c \ + drm/cairo-drm-i965-glyphs.c \ + drm/cairo-drm-i965-shader.c \ + drm/cairo-drm-i965-spans.c \ + drm/cairo-drm-intel-brw-eu.c \ + drm/cairo-drm-intel-brw-eu-emit.c \ + drm/cairo-drm-intel-brw-eu-util.c \ + drm/cairo-drm-radeon.c \ + drm/cairo-drm-radeon-surface.c + +cairo_gallium_sources = drm/cairo-drm-gallium-surface.c +cairo_script_headers = cairo-script.h +cairo_script_private = cairo-script-private.h +cairo_script_sources = cairo-script-surface.c +cairo_tee_headers = cairo-tee.h +cairo_tee_private = cairo-tee-surface-private.h +cairo_tee_sources = cairo-tee-surface.c +cairo_xml_headers = cairo-xml.h +cairo_xml_sources = cairo-xml-surface.c +cairo_vg_headers = cairo-vg.h +cairo_vg_sources = cairo-vg-surface.c +cairo_cogl_headers = cairo-cogl.h +cairo_cogl_private = cairo-cogl-private.h \ + cairo-cogl-gradient-private.h \ + cairo-cogl-context-private.h \ + cairo-cogl-utils-private.h + +cairo_cogl_sources = cairo-cogl-surface.c \ + cairo-cogl-gradient.c \ + cairo-cogl-context.c \ + cairo-cogl-utils.c + +supported_cairo_headers = $(cairo_headers) $(cairo_xlib_headers) \ + $(cairo_xlib_xrender_headers) $(cairo_xcb_headers) \ + $(cairo_xcb_shm_headers) $(cairo_quartz_headers) \ + $(cairo_quartz_font_headers) $(cairo_win32_headers) \ + $(cairo_win32_font_headers) $(cairo_png_headers) \ + $(cairo_egl_headers) $(cairo_glx_headers) $(cairo_wgl_headers) \ + $(cairo_script_headers) $(cairo_ft_headers) \ + $(cairo_fc_headers) $(cairo_ps_headers) $(cairo_pdf_headers) \ + $(cairo_svg_headers) $(cairo_image_headers) \ + $(cairo_mime_headers) $(cairo_recording_headers) \ + $(cairo_observer_headers) $(cairo_user_headers) \ + $(cairo_gobject_headers) +unsupported_cairo_headers = $(cairo_xlib_xcb_headers) \ + $(cairo_qt_headers) $(cairo_quartz_image_headers) \ + $(cairo_os2_headers) $(cairo_beos_headers) \ + $(cairo_drm_headers) $(cairo_gallium_headers) \ + $(cairo_gl_headers) $(cairo_glesv2_headers) \ + $(cairo_glesv3_headers) $(cairo_cogl_headers) \ + $(cairo_directfb_headers) $(cairo_vg_headers) \ + $(cairo_tee_headers) $(cairo_xml_headers) +all_cairo_headers = $(cairo_headers) $(cairo_xlib_headers) \ + $(cairo_xlib_xrender_headers) $(cairo_xcb_headers) \ + $(cairo_xlib_xcb_headers) $(cairo_xcb_shm_headers) \ + $(cairo_qt_headers) $(cairo_quartz_headers) \ + $(cairo_quartz_font_headers) $(cairo_quartz_image_headers) \ + $(cairo_win32_headers) $(cairo_win32_font_headers) \ + $(cairo_os2_headers) $(cairo_beos_headers) \ + $(cairo_drm_headers) $(cairo_gallium_headers) \ + $(cairo_png_headers) $(cairo_gl_headers) \ + $(cairo_glesv2_headers) $(cairo_glesv3_headers) \ + $(cairo_cogl_headers) $(cairo_directfb_headers) \ + $(cairo_vg_headers) $(cairo_egl_headers) $(cairo_glx_headers) \ + $(cairo_wgl_headers) $(cairo_script_headers) \ + $(cairo_ft_headers) $(cairo_fc_headers) $(cairo_ps_headers) \ + $(cairo_pdf_headers) $(cairo_svg_headers) \ + $(cairo_image_headers) $(cairo_mime_headers) \ + $(cairo_recording_headers) $(cairo_observer_headers) \ + $(cairo_tee_headers) $(cairo_xml_headers) \ + $(cairo_user_headers) $(cairo_gobject_headers) +all_cairo_private = $(cairo_private) $(cairo_xlib_private) \ + $(cairo_xlib_xrender_private) $(cairo_xcb_private) \ + $(cairo_xlib_xcb_private) $(cairo_xcb_shm_private) \ + $(cairo_qt_private) $(cairo_quartz_private) \ + $(cairo_quartz_font_private) $(cairo_quartz_image_private) \ + $(cairo_win32_private) $(cairo_win32_font_private) \ + $(cairo_os2_private) $(cairo_beos_private) \ + $(cairo_drm_private) $(cairo_gallium_private) \ + $(cairo_png_private) $(cairo_gl_private) \ + $(cairo_glesv2_private) $(cairo_glesv3_private) \ + $(cairo_cogl_private) $(cairo_directfb_private) \ + $(cairo_vg_private) $(cairo_egl_private) $(cairo_glx_private) \ + $(cairo_wgl_private) $(cairo_script_private) \ + $(cairo_ft_private) $(cairo_fc_private) $(cairo_ps_private) \ + $(cairo_pdf_private) $(cairo_svg_private) \ + $(cairo_test_surfaces_private) $(cairo_test_surfaces_headers) \ + $(cairo_image_private) $(cairo_mime_private) \ + $(cairo_recording_private) $(cairo_observer_private) \ + $(cairo_tee_private) $(cairo_xml_private) \ + $(cairo_user_private) $(cairo_pthread_private) \ + $(cairo_pthread_headers) $(cairo_gobject_private) \ + $(cairo_trace_private) $(cairo_trace_headers) \ + $(cairo_interpreter_private) $(cairo_interpreter_headers) \ + $(cairo_symbol_lookup_private) $(cairo_symbol_lookup_headers) +all_cairo_cxx_sources = $(cairo_cxx_sources) $(cairo_xlib_cxx_sources) \ + $(cairo_xlib_xrender_cxx_sources) $(cairo_xcb_cxx_sources) \ + $(cairo_xlib_xcb_cxx_sources) $(cairo_xcb_shm_cxx_sources) \ + $(cairo_qt_cxx_sources) $(cairo_quartz_cxx_sources) \ + $(cairo_quartz_font_cxx_sources) \ + $(cairo_quartz_image_cxx_sources) $(cairo_win32_cxx_sources) \ + $(cairo_win32_font_cxx_sources) $(cairo_os2_cxx_sources) \ + $(cairo_beos_cxx_sources) $(cairo_drm_cxx_sources) \ + $(cairo_gallium_cxx_sources) $(cairo_png_cxx_sources) \ + $(cairo_gl_cxx_sources) $(cairo_glesv2_cxx_sources) \ + $(cairo_glesv3_cxx_sources) $(cairo_cogl_cxx_sources) \ + $(cairo_directfb_cxx_sources) $(cairo_vg_cxx_sources) \ + $(cairo_egl_cxx_sources) $(cairo_glx_cxx_sources) \ + $(cairo_wgl_cxx_sources) $(cairo_script_cxx_sources) \ + $(cairo_ft_cxx_sources) $(cairo_fc_cxx_sources) \ + $(cairo_ps_cxx_sources) $(cairo_pdf_cxx_sources) \ + $(cairo_svg_cxx_sources) $(cairo_test_surfaces_cxx_sources) \ + $(cairo_image_cxx_sources) $(cairo_mime_cxx_sources) \ + $(cairo_recording_cxx_sources) $(cairo_observer_cxx_sources) \ + $(cairo_tee_cxx_sources) $(cairo_xml_cxx_sources) \ + $(cairo_user_cxx_sources) $(cairo_pthread_cxx_sources) \ + $(cairo_gobject_cxx_sources) $(cairo_trace_cxx_sources) \ + $(cairo_interpreter_cxx_sources) \ + $(cairo_symbol_lookup_cxx_sources) +all_cairo_sources = $(cairo_sources) $(cairo_xlib_sources) \ + $(cairo_xlib_xrender_sources) $(cairo_xcb_sources) \ + $(cairo_xlib_xcb_sources) $(cairo_xcb_shm_sources) \ + $(cairo_qt_sources) $(cairo_quartz_sources) \ + $(cairo_quartz_font_sources) $(cairo_quartz_image_sources) \ + $(cairo_win32_sources) $(cairo_win32_font_sources) \ + $(cairo_os2_sources) $(cairo_beos_sources) \ + $(cairo_drm_sources) $(cairo_gallium_sources) \ + $(cairo_png_sources) $(cairo_gl_sources) \ + $(cairo_glesv2_sources) $(cairo_glesv3_sources) \ + $(cairo_cogl_sources) $(cairo_directfb_sources) \ + $(cairo_vg_sources) $(cairo_egl_sources) $(cairo_glx_sources) \ + $(cairo_wgl_sources) $(cairo_script_sources) \ + $(cairo_ft_sources) $(cairo_fc_sources) $(cairo_ps_sources) \ + $(cairo_pdf_sources) $(cairo_svg_sources) \ + $(cairo_test_surfaces_sources) $(cairo_image_sources) \ + $(cairo_mime_sources) $(cairo_recording_sources) \ + $(cairo_observer_sources) $(cairo_tee_sources) \ + $(cairo_xml_sources) $(cairo_user_sources) \ + $(cairo_pthread_sources) $(cairo_gobject_sources) \ + $(cairo_trace_sources) $(cairo_interpreter_sources) \ + $(cairo_symbol_lookup_sources) +enabled_cairo_headers = $(cairo_headers) $(am__append_1) \ + $(am__append_6) $(am__append_11) $(am__append_16) \ + $(am__append_21) $(am__append_26) $(am__append_31) \ + $(am__append_36) $(am__append_41) $(am__append_46) \ + $(am__append_51) $(am__append_56) $(am__append_61) \ + $(am__append_66) $(am__append_71) $(am__append_76) \ + $(am__append_81) $(am__append_86) $(am__append_91) \ + $(am__append_96) $(am__append_101) $(am__append_106) \ + $(am__append_111) $(am__append_116) $(am__append_121) \ + $(am__append_126) $(am__append_131) $(am__append_136) \ + $(am__append_141) $(am__append_146) $(am__append_151) \ + $(cairo_image_headers) $(cairo_mime_headers) \ + $(cairo_recording_headers) $(cairo_observer_headers) \ + $(am__append_159) $(am__append_164) $(cairo_user_headers) \ + $(am__append_172) +enabled_cairo_private = $(cairo_private) $(am__append_2) \ + $(am__append_7) $(am__append_12) $(am__append_17) \ + $(am__append_22) $(am__append_27) $(am__append_32) \ + $(am__append_37) $(am__append_42) $(am__append_47) \ + $(am__append_52) $(am__append_57) $(am__append_62) \ + $(am__append_67) $(am__append_72) $(am__append_77) \ + $(am__append_82) $(am__append_87) $(am__append_92) \ + $(am__append_97) $(am__append_102) $(am__append_107) \ + $(am__append_112) $(am__append_117) $(am__append_122) \ + $(am__append_127) $(am__append_132) $(am__append_137) \ + $(am__append_142) $(am__append_147) $(am__append_152) \ + $(am__append_156) $(cairo_image_private) $(cairo_mime_private) \ + $(cairo_recording_private) $(cairo_observer_private) \ + $(am__append_160) $(am__append_165) $(cairo_user_private) \ + $(am__append_169) $(am__append_173) $(am__append_177) \ + $(am__append_180) $(am__append_183) +enabled_cairo_cxx_sources = $(cairo_cxx_sources) $(am__append_3) \ + $(am__append_8) $(am__append_13) $(am__append_18) \ + $(am__append_23) $(am__append_28) $(am__append_33) \ + $(am__append_38) $(am__append_43) $(am__append_48) \ + $(am__append_53) $(am__append_58) $(am__append_63) \ + $(am__append_68) $(am__append_73) $(am__append_78) \ + $(am__append_83) $(am__append_88) $(am__append_93) \ + $(am__append_98) $(am__append_103) $(am__append_108) \ + $(am__append_113) $(am__append_118) $(am__append_123) \ + $(am__append_128) $(am__append_133) $(am__append_138) \ + $(am__append_143) $(am__append_148) $(am__append_153) \ + $(am__append_157) $(cairo_image_cxx_sources) \ + $(cairo_mime_cxx_sources) $(cairo_recording_cxx_sources) \ + $(cairo_observer_cxx_sources) $(am__append_161) \ + $(am__append_166) $(cairo_user_cxx_sources) $(am__append_170) \ + $(am__append_174) $(am__append_178) $(am__append_181) \ + $(am__append_184) +enabled_cairo_sources = $(cairo_sources) $(am__append_4) \ + $(am__append_9) $(am__append_14) $(am__append_19) \ + $(am__append_24) $(am__append_29) $(am__append_34) \ + $(am__append_39) $(am__append_44) $(am__append_49) \ + $(am__append_54) $(am__append_59) $(am__append_64) \ + $(am__append_69) $(am__append_74) $(am__append_79) \ + $(am__append_84) $(am__append_89) $(am__append_94) \ + $(am__append_99) $(am__append_104) $(am__append_109) \ + $(am__append_114) $(am__append_119) $(am__append_124) \ + $(am__append_129) $(am__append_134) $(am__append_139) \ + $(am__append_144) $(am__append_149) $(am__append_154) \ + $(am__append_158) $(cairo_image_sources) $(cairo_mime_sources) \ + $(cairo_recording_sources) $(cairo_observer_sources) \ + $(am__append_162) $(am__append_167) $(cairo_user_sources) \ + $(am__append_171) $(am__append_175) $(am__append_179) \ + $(am__append_182) $(am__append_185) +all_cairo_pkgconf = cairo.pc cairo-xlib.pc cairo-xlib-xrender.pc \ + cairo-xcb.pc cairo-xlib-xcb.pc cairo-xcb-shm.pc cairo-qt.pc \ + cairo-quartz.pc cairo-quartz-font.pc cairo-quartz-image.pc \ + cairo-win32.pc cairo-win32-font.pc cairo-os2.pc cairo-beos.pc \ + cairo-drm.pc cairo-gallium.pc cairo-png.pc cairo-gl.pc \ + cairo-glesv2.pc cairo-glesv3.pc cairo-cogl.pc \ + cairo-directfb.pc cairo-vg.pc cairo-egl.pc cairo-glx.pc \ + cairo-wgl.pc cairo-script.pc cairo-ft.pc cairo-fc.pc \ + cairo-ps.pc cairo-pdf.pc cairo-svg.pc cairo-tee.pc \ + cairo-xml.pc cairo-gobject.pc +enabled_cairo_pkgconf = cairo.pc $(am__append_5) $(am__append_10) \ + $(am__append_15) $(am__append_20) $(am__append_25) \ + $(am__append_30) $(am__append_35) $(am__append_40) \ + $(am__append_45) $(am__append_50) $(am__append_55) \ + $(am__append_60) $(am__append_65) $(am__append_70) \ + $(am__append_75) $(am__append_80) $(am__append_85) \ + $(am__append_90) $(am__append_95) $(am__append_100) \ + $(am__append_105) $(am__append_110) $(am__append_115) \ + $(am__append_120) $(am__append_125) $(am__append_130) \ + $(am__append_135) $(am__append_140) $(am__append_145) \ + $(am__append_150) $(am__append_155) $(am__append_163) \ + $(am__append_168) $(am__append_176) + +# 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" --ignore-decorators="cairo_public|cairo_private" + +# The directory containing the source code. +DOC_SOURCE_DIR = $(top_srcdir)/src + +# Used for dependencies +HFILE_GLOB = $(top_srcdir)/src/cairo*.h +CFILE_GLOB = $(top_srcdir)/src/cairo*.c +EXTRA_HFILES = $(top_builddir)/src/cairo-supported-features.h + +# Headers to ignore +IGNORE_HFILES = \ + drm \ + cairo-features.h \ + cairo-features-win32.h \ + $(all_cairo_private) \ + $(unsupported_cairo_headers) \ + $(NULL) + + +# Extra options to supply to gtkdoc-mkdb +MKDB_OPTIONS = --sgml-mode --output-format=xml --name-space=cairo + +# Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE) +content_files = \ + language-bindings.xml \ + version.xml \ + $(NULL) + + +# 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_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) +@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(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) +DOC_STAMPS = scan-build.stamp sgml-build.stamp html-build.stamp \ + $(srcdir)/sgml.stamp $(srcdir)/html.stamp + +SCANOBJ_FILES = \ + $(DOC_MODULE).args \ + $(DOC_MODULE).hierarchy \ + $(DOC_MODULE).interfaces \ + $(DOC_MODULE).prerequisites \ + $(DOC_MODULE).signals + +REPORT_FILES = \ + $(DOC_MODULE)-undocumented.txt \ + $(DOC_MODULE)-undeclared.txt \ + $(DOC_MODULE)-unused.txt + +TESTS_ENVIRONMENT = srcdir="$(srcdir)" top_srcdir="$(top_srcdir)" MAKE="$(MAKE) $(AM_MAKEFLAGS)" DOC_MODULE="$(DOC_MODULE)" REPORT_FILES="$(REPORT_FILES)" +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .log .test .test$(EXEEXT) .trs +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build/Makefile.am.common $(top_srcdir)/src/Makefile.am.features $(top_srcdir)/src/Makefile.sources $(top_srcdir)/build/Makefile.am.gtk-doc $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/public/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign doc/public/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_srcdir)/build/Makefile.am.common $(top_srcdir)/src/Makefile.am.features $(top_srcdir)/src/Makefile.sources $(top_srcdir)/build/Makefile.am.gtk-doc $(am__empty): + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +# Recover from deleted '.trs' file; this should ensure that +# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create +# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells +# to avoid problems with "make -n". +.log.trs: + rm -f $< $@ + $(MAKE) $(AM_MAKEFLAGS) $< + +# Leading 'am--fnord' is there to ensure the list of targets does not +# expand to empty, as could happen e.g. with make check TESTS=''. +am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) +am--force-recheck: + @: + +$(TEST_SUITE_LOG): $(TEST_LOGS) + @$(am__set_TESTS_bases); \ + am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ + redo_bases=`for i in $$bases; do \ + am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ + done`; \ + if test -n "$$redo_bases"; then \ + redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ + redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ + if $(am__make_dryrun); then :; else \ + rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ + fi; \ + fi; \ + if test -n "$$am__remaking_logs"; then \ + echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ + "recursion detected" >&2; \ + elif test -n "$$redo_logs"; then \ + am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ + fi; \ + if $(am__make_dryrun); then :; else \ + st=0; \ + errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ + for i in $$redo_bases; do \ + test -f $$i.trs && test -r $$i.trs \ + || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ + test -f $$i.log && test -r $$i.log \ + || { echo "$$errmsg $$i.log" >&2; st=1; }; \ + done; \ + test $$st -eq 0 || exit 1; \ + fi + @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ + ws='[ ]'; \ + results=`for b in $$bases; do echo $$b.trs; done`; \ + test -n "$$results" || results=/dev/null; \ + all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ + pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ + fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ + skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ + xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ + xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ + error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ + if test `expr $$fail + $$xpass + $$error` -eq 0; then \ + success=true; \ + else \ + success=false; \ + fi; \ + br='==================='; br=$$br$$br$$br$$br; \ + result_count () \ + { \ + if test x"$$1" = x"--maybe-color"; then \ + maybe_colorize=yes; \ + elif test x"$$1" = x"--no-color"; then \ + maybe_colorize=no; \ + else \ + echo "$@: invalid 'result_count' usage" >&2; exit 4; \ + fi; \ + shift; \ + desc=$$1 count=$$2; \ + if test $$maybe_colorize = yes && test $$count -gt 0; then \ + color_start=$$3 color_end=$$std; \ + else \ + color_start= color_end=; \ + fi; \ + echo "$${color_start}# $$desc $$count$${color_end}"; \ + }; \ + create_testsuite_report () \ + { \ + result_count $$1 "TOTAL:" $$all "$$brg"; \ + result_count $$1 "PASS: " $$pass "$$grn"; \ + result_count $$1 "SKIP: " $$skip "$$blu"; \ + result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ + result_count $$1 "FAIL: " $$fail "$$red"; \ + result_count $$1 "XPASS:" $$xpass "$$red"; \ + result_count $$1 "ERROR:" $$error "$$mgn"; \ + }; \ + { \ + echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ + $(am__rst_title); \ + create_testsuite_report --no-color; \ + echo; \ + echo ".. contents:: :depth: 2"; \ + echo; \ + for b in $$bases; do echo $$b; done \ + | $(am__create_global_log); \ + } >$(TEST_SUITE_LOG).tmp || exit 1; \ + mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ + if $$success; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ + echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ + if $$success; then :; else \ + echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ + if test -n "$(PACKAGE_BUGREPORT)"; then \ + echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ + fi; \ + echo "$$col$$br$$std"; \ + fi; \ + $$success || exit 1 + +check-TESTS: + @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list + @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + trs_list=`for i in $$bases; do echo $$i.trs; done`; \ + log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ + exit $$?; +recheck: all $(check_PROGRAMS) + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + bases=`for i in $$bases; do echo $$i; done \ + | $(am__list_recheck_tests)` || exit 1; \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + log_list=`echo $$log_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ + am__force_recheck=am--force-recheck \ + TEST_LOGS="$$log_list"; \ + exit $$? +check-doc-coverage.sh.log: check-doc-coverage.sh + @p='check-doc-coverage.sh'; \ + b='check-doc-coverage.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +check-doc-syntax.sh.log: check-doc-syntax.sh + @p='check-doc-syntax.sh'; \ + b='check-doc-syntax.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +.test.log: + @p='$<'; \ + $(am__set_b); \ + $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +@am__EXEEXT_TRUE@.test$(EXEEXT).log: +@am__EXEEXT_TRUE@ @p='$<'; \ +@am__EXEEXT_TRUE@ $(am__set_b); \ +@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ +@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ +@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ +@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$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 + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile +installdirs: +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) 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: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) + -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) + -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-am + +clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \ + mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-local + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-data-local + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +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-local + +.MAKE: all check check-am install install-am install-strip + +.PHONY: all all-am check check-TESTS check-am clean \ + clean-checkPROGRAMS clean-generic clean-libtool clean-local \ + cscopelist-am ctags-am dist-hook distclean distclean-generic \ + distclean-libtool distclean-local distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-data-local install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am 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 \ + recheck tags-am uninstall uninstall-am uninstall-local + +.PRECIOUS: Makefile + + +version.xml: $(top_srcdir)/cairo-version.h + echo $(CAIRO_VERSION_MAJOR).$(CAIRO_VERSION_MINOR).$(CAIRO_VERSION_MICRO) > $@ + +@ENABLE_GTK_DOC_TRUE@doc: html-build.stamp +@ENABLE_GTK_DOC_FALSE@doc: +@ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed (and --enable-gtk-doc) in order to make doc" +@ENABLE_GTK_DOC_FALSE@ @false + +docs: html-build.stamp + +#### scan #### + +scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) $(EXTRA_HFILES) + @echo 'gtk-doc: Scanning header files' + @-chmod -R u+w $(srcdir) + gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) --output-dir=$(srcdir) + if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; 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 + touch scan-build.stamp + +$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp + @true + +#### xml #### + +# gtkdoc-mkdb is broken and requires a --root-dir=$(srcdir) option +# The _srcdir diversion is fragile but works for make check; make distcheck +sgml-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(expand_content_files) + @echo 'gtk-doc: Building XML' + @-chmod -R u+w $(srcdir) + _srcdir="`pwd`/$(DOC_SOURCE_DIR)"; \ + cd $(srcdir) && gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$$_srcdir --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(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 'gtk-doc: 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 'gtk-doc: Fixing cross-references' + cd $(srcdir) && gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + touch html-build.stamp + +############## + +clean-local: + rm -f *~ *.bak + rm -rf .libs + +distclean-local: + cd $(srcdir) && \ + rm -rf xml $(REPORT_FILES) \ + $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt + +maintainer-clean-local: clean + cd $(srcdir) && rm -rf xml html + +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) || :; \ + which gtkdoc-rebase >/dev/null && \ + gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(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 --enable-gtk-doc) in order to make dist" +@ENABLE_GTK_DOC_FALSE@ @false + +dist-hook: dist-check-gtkdoc dist-hook-local + mkdir $(distdir)/xml + mkdir $(distdir)/html + -cp $(srcdir)/xml/*.xml $(distdir)/xml + cp $(srcdir)/html/* $(distdir)/html + -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/ + -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/ + cd $(distdir) && rm -f $(DISTCLEANFILES) + -gtkdoc-rebase --online --relative --html-dir=$(distdir)/html + +.PHONY : dist-hook-local docs + +dist-hook: doc + +# This line really belongs in gtk-doc.mk +$(REPORT_FILES): sgml-build.stamp + +# 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: diff --git a/libs/cairo-1.16.0/doc/public/README b/libs/cairo-1.16.0/doc/public/README new file mode 100644 index 0000000..f3d157b --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/README @@ -0,0 +1,37 @@ +Cairo Reference Documentation +============================= + +The API documentation is generated using gtk-doc. + + +Building +-------- + +The documentation is not built by default. To build it you need to +configure with gtk-doc enabled (--enable-gtk-doc), and run: + + make doc + + +Adding New API +-------------- + +When adding new symbols and macros to the public API, modify +cairo-section.txt and add new symbols to the right place. + +When adding whole new features, you also need to modify cairo-docs.xml +and add a new file under tmpl/. Beware that the files are tmpl/ are +both manually edited AND modified by gtk-doc, gathering documentation +stub from source files. + + +Tests +----- + +There are some tests in this directory, ensuring proper documentation +syntax as well as checking that all public symbols are fully documented. + +After adding any new API, just run: + + make check + diff --git a/libs/cairo-1.16.0/doc/public/cairo-docs.xml b/libs/cairo-1.16.0/doc/public/cairo-docs.xml new file mode 100644 index 0000000..d6d152d --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/cairo-docs.xml @@ -0,0 +1,87 @@ +<?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" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<book lang="en" id="cairo" xmlns:xi="http://www.w3.org/2003/XInclude"> +<title>Cairo: A Vector Graphics Library</title> + <bookinfo> + <title>Cairo: A Vector Graphics Library</title> + <releaseinfo>for Cairo &version;</releaseinfo> + </bookinfo> + <chapter id="cairo-drawing"> + <title>Drawing</title> + <xi:include href="xml/cairo.xml"/> + <xi:include href="xml/cairo-paths.xml"/> + <xi:include href="xml/cairo-pattern.xml"/> + <xi:include href="xml/cairo-region.xml"/> + <xi:include href="xml/cairo-transforms.xml"/> + <xi:include href="xml/cairo-text.xml"/> + <xi:include href="xml/cairo-raster-source.xml"/> + <xi:include href="xml/cairo-tag.xml"/> + </chapter> + <chapter id="cairo-fonts"> + <title>Fonts</title> + <xi:include href="xml/cairo-font-face.xml"/> + <xi:include href="xml/cairo-scaled-font.xml"/> + <xi:include href="xml/cairo-font-options.xml"/> + <xi:include href="xml/cairo-ft.xml"/> + <xi:include href="xml/cairo-win32-fonts.xml"/> + <xi:include href="xml/cairo-quartz-fonts.xml"/> + <xi:include href="xml/cairo-user-fonts.xml"/> + </chapter> + <chapter id="cairo-surfaces"> + <title>Surfaces</title> + <xi:include href="xml/cairo-device.xml"/> + <xi:include href="xml/cairo-surface.xml"/> + <xi:include href="xml/cairo-image.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-recording.xml"/> + <xi:include href="xml/cairo-win32.xml"/> + <!--xi:include href="xml/cairo-beos.xml"/--> + <xi:include href="xml/cairo-svg.xml"/> + <xi:include href="xml/cairo-quartz.xml" /> + <!--xi:include href="xml/cairo-quartz-image.xml"/--> + <xi:include href="xml/cairo-xcb.xml"/> + <xi:include href="xml/cairo-xlib.xml"/> + <xi:include href="xml/cairo-xlib-xrender.xml"/> + <xi:include href="xml/cairo-script.xml"/> + </chapter> + <chapter id="cairo-support"> + <title>Utilities</title> + <xi:include href="xml/cairo-matrix.xml"/> + <xi:include href="xml/cairo-status.xml"/> + <xi:include href="xml/cairo-version.xml"/> + <xi:include href="xml/cairo-types.xml"/> + </chapter> + <index id="index-all"> + <title>Index</title> + </index> + <index id="index-1.2" role="1.2"> + <title>Index of new symbols in 1.2</title> + </index> + <index id="index-1.4" role="1.4"> + <title>Index of new symbols in 1.4</title> + </index> + <index id="index-1.6" role="1.6"> + <title>Index of new symbols in 1.6</title> + </index> + <index id="index-1.8" role="1.8"> + <title>Index of new symbols in 1.8</title> + </index> + <index id="index-1.10" role="1.10"> + <title>Index of new symbols in 1.10</title> + </index> + <index id="index-1.12" role="1.12"> + <title>Index of new symbols in 1.12</title> + </index> + <index id="index-1.14" role="1.14"> + <title>Index of new symbols in 1.14</title> + </index> + <index id="index-1.16" role="1.16"> + <title>Index of new symbols in 1.16</title> + </index> + <xi:include href="language-bindings.xml"/> +</book> diff --git a/libs/cairo-1.16.0/doc/public/cairo-overrides.txt b/libs/cairo-1.16.0/doc/public/cairo-overrides.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/cairo-overrides.txt diff --git a/libs/cairo-1.16.0/doc/public/cairo-sections.txt b/libs/cairo-1.16.0/doc/public/cairo-sections.txt new file mode 100644 index 0000000..4ea86b4 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/cairo-sections.txt @@ -0,0 +1,759 @@ +<SECTION> +<FILE>cairo-ft</FILE> +CAIRO_HAS_FT_FONT +CAIRO_HAS_FC_FONT +cairo_ft_font_face_create_for_ft_face +cairo_ft_font_face_create_for_pattern +cairo_ft_font_options_substitute +cairo_ft_scaled_font_lock_face +cairo_ft_scaled_font_unlock_face +cairo_ft_synthesize_t +cairo_ft_font_face_get_synthesize +cairo_ft_font_face_set_synthesize +cairo_ft_font_face_unset_synthesize +</SECTION> + +<SECTION> +<FILE>cairo-win32-fonts</FILE> +CAIRO_HAS_WIN32_FONT +cairo_win32_font_face_create_for_logfontw +cairo_win32_font_face_create_for_hfont +cairo_win32_font_face_create_for_logfontw_hfont +cairo_win32_scaled_font_select_font +cairo_win32_scaled_font_done_font +cairo_win32_scaled_font_get_metrics_factor +cairo_win32_scaled_font_get_logical_to_device +cairo_win32_scaled_font_get_device_to_logical +</SECTION> + +<SECTION> +<FILE>cairo-quartz-fonts</FILE> +CAIRO_HAS_QUARTZ_FONT +cairo_quartz_font_face_create_for_cgfont +cairo_quartz_font_face_create_for_atsu_font_id +</SECTION> + +<SECTION> +<FILE>cairo-user-fonts</FILE> +CAIRO_HAS_USER_FONT +cairo_user_scaled_font_init_func_t +cairo_user_scaled_font_render_glyph_func_t +cairo_user_scaled_font_text_to_glyphs_func_t +cairo_user_scaled_font_unicode_to_glyph_func_t +cairo_user_font_face_create +cairo_user_font_face_set_init_func +cairo_user_font_face_get_init_func +cairo_user_font_face_set_render_glyph_func +cairo_user_font_face_get_render_glyph_func +cairo_user_font_face_set_unicode_to_glyph_func +cairo_user_font_face_get_unicode_to_glyph_func +cairo_user_font_face_set_text_to_glyphs_func +cairo_user_font_face_get_text_to_glyphs_func +</SECTION> + +<SECTION> +<FILE>cairo-image</FILE> +CAIRO_HAS_IMAGE_SURFACE +cairo_format_t +cairo_format_stride_for_width +cairo_image_surface_create +cairo_image_surface_create_for_data +cairo_image_surface_get_data +cairo_image_surface_get_format +cairo_image_surface_get_width +cairo_image_surface_get_height +cairo_image_surface_get_stride +</SECTION> + +<SECTION> +<FILE>cairo-pdf</FILE> +CAIRO_HAS_PDF_SURFACE +CAIRO_PDF_OUTLINE_ROOT +cairo_pdf_outline_flags_t +cairo_pdf_metadata_t +cairo_pdf_surface_create +cairo_pdf_surface_create_for_stream +cairo_pdf_surface_restrict_to_version +cairo_pdf_version_t +cairo_pdf_get_versions +cairo_pdf_version_to_string +cairo_pdf_surface_set_size +cairo_pdf_surface_add_outline +cairo_pdf_surface_set_metadata +cairo_pdf_surface_set_page_label +cairo_pdf_surface_set_thumbnail_size +</SECTION> + +<SECTION> +<FILE>cairo-png</FILE> +CAIRO_HAS_PNG_FUNCTIONS +cairo_image_surface_create_from_png +cairo_read_func_t +cairo_image_surface_create_from_png_stream +cairo_surface_write_to_png +cairo_write_func_t +cairo_surface_write_to_png_stream +</SECTION> + +<SECTION> +<FILE>cairo-ps</FILE> +CAIRO_HAS_PS_SURFACE +cairo_ps_surface_create +cairo_ps_surface_create_for_stream +cairo_ps_surface_restrict_to_level +cairo_ps_level_t +cairo_ps_get_levels +cairo_ps_level_to_string +cairo_ps_surface_set_eps +cairo_ps_surface_get_eps +cairo_ps_surface_set_size +cairo_ps_surface_dsc_begin_setup +cairo_ps_surface_dsc_begin_page_setup +cairo_ps_surface_dsc_comment +</SECTION> + +<SECTION> +<FILE>cairo-recording</FILE> +CAIRO_HAS_RECORDING_SURFACE +cairo_recording_surface_create +cairo_recording_surface_ink_extents +cairo_recording_surface_get_extents +</SECTION> + +<SECTION> +<FILE>cairo-skia</FILE> +cairo_skia_context_t +cairo_skia_surface_t +format_to_sk_config +cairo_skia_surface_create +cairo_skia_surface_create_for_data +<SUBSECTION Private> +cairo_skia_context +cairo_skia_surface +</SECTION> + +<SECTION> +<FILE>cairo-win32</FILE> +CAIRO_HAS_WIN32_SURFACE +cairo_win32_surface_create +cairo_win32_surface_create_with_dib +cairo_win32_surface_create_with_ddb +cairo_win32_surface_create_with_format +cairo_win32_printing_surface_create +cairo_win32_surface_get_dc +cairo_win32_surface_get_image +<SUBSECTION Private> +SB_NONE +SHADEBLENDCAPS +WIN32_FONT_LOGICAL_SCALE +cairo_win32_device_t +cairo_win32_display_surface_t +cairo_win32_printing_surface_t +cairo_win32_surface_t +to_win32_device +to_win32_device_from_surface +to_win32_display_surface +to_win32_printing_surface +to_win32_surface +</SECTION> + +<SECTION> +<FILE>cairo-quartz</FILE> +CAIRO_HAS_QUARTZ_SURFACE +cairo_quartz_surface_create +cairo_quartz_surface_create_for_cg_context +cairo_quartz_surface_get_cg_context +</SECTION> + +<SECTION> +<FILE>cairo-xlib</FILE> +CAIRO_HAS_XLIB_SURFACE +cairo_xlib_surface_create +cairo_xlib_surface_create_for_bitmap +cairo_xlib_surface_set_size +cairo_xlib_surface_get_display +cairo_xlib_surface_get_screen +cairo_xlib_surface_set_drawable +cairo_xlib_surface_get_drawable +cairo_xlib_surface_get_visual +cairo_xlib_surface_get_width +cairo_xlib_surface_get_height +cairo_xlib_surface_get_depth +cairo_xlib_device_debug_cap_xrender_version +cairo_xlib_device_debug_get_precision +cairo_xlib_device_debug_set_precision +</SECTION> + +<SECTION> +<FILE>cairo-xlib-xrender</FILE> +CAIRO_HAS_XLIB_XRENDER_SURFACE +cairo_xlib_surface_create_with_xrender_format +cairo_xlib_surface_get_xrender_format +</SECTION> + +<SECTION> +<FILE>cairo-xcb</FILE> +CAIRO_HAS_XCB_SURFACE +CAIRO_HAS_XCB_SHM_FUNCTIONS +cairo_xcb_surface_create +cairo_xcb_surface_create_for_bitmap +cairo_xcb_surface_create_with_xrender_format +cairo_xcb_surface_set_size +cairo_xcb_surface_set_drawable +cairo_xcb_device_get_connection +cairo_xcb_device_debug_cap_xrender_version +cairo_xcb_device_debug_cap_xshm_version +cairo_xcb_device_debug_get_precision +cairo_xcb_device_debug_set_precision +</SECTION> + +<SECTION> +<FILE>cairo-svg</FILE> +CAIRO_HAS_SVG_SURFACE +cairo_svg_surface_create +cairo_svg_surface_create_for_stream +cairo_svg_surface_get_document_unit +cairo_svg_surface_set_document_unit +cairo_svg_surface_restrict_to_version +cairo_svg_version_t +cairo_svg_get_versions +cairo_svg_version_to_string +cairo_svg_unit_t +</SECTION> + +<SECTION> +<FILE>cairo-device</FILE> +cairo_device_t +cairo_device_reference +cairo_device_destroy +cairo_device_status +cairo_device_finish +cairo_device_flush +cairo_device_type_t +cairo_device_get_type +cairo_device_get_reference_count +cairo_device_set_user_data +cairo_device_get_user_data +cairo_device_acquire +cairo_device_release +cairo_device_observer_elapsed +cairo_device_observer_fill_elapsed +cairo_device_observer_glyphs_elapsed +cairo_device_observer_mask_elapsed +cairo_device_observer_paint_elapsed +cairo_device_observer_print +cairo_device_observer_stroke_elapsed +</SECTION> + +<SECTION> +<FILE>cairo-surface</FILE> +CAIRO_HAS_MIME_SURFACE +CAIRO_MIME_TYPE_CCITT_FAX +CAIRO_MIME_TYPE_CCITT_FAX_PARAMS +CAIRO_MIME_TYPE_EPS +CAIRO_MIME_TYPE_EPS_PARAMS +CAIRO_MIME_TYPE_JBIG2 +CAIRO_MIME_TYPE_JBIG2_GLOBAL +CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID +CAIRO_MIME_TYPE_JP2 +CAIRO_MIME_TYPE_JPEG +CAIRO_MIME_TYPE_PNG +CAIRO_MIME_TYPE_URI +CAIRO_MIME_TYPE_UNIQUE_ID +cairo_surface_t +cairo_content_t +cairo_surface_create_similar +cairo_surface_create_similar_image +cairo_surface_create_for_rectangle +cairo_surface_reference +cairo_surface_destroy +cairo_surface_status +cairo_surface_finish +cairo_surface_flush +cairo_surface_get_device +cairo_surface_get_font_options +cairo_surface_get_content +cairo_surface_mark_dirty +cairo_surface_mark_dirty_rectangle +cairo_surface_set_device_offset +cairo_surface_get_device_offset +cairo_surface_get_device_scale +cairo_surface_set_device_scale +cairo_surface_set_fallback_resolution +cairo_surface_get_fallback_resolution +cairo_surface_type_t +cairo_surface_get_type +cairo_surface_get_reference_count +cairo_surface_set_user_data +cairo_surface_get_user_data +cairo_surface_copy_page +cairo_surface_show_page +cairo_surface_has_show_text_glyphs +cairo_surface_set_mime_data +cairo_surface_get_mime_data +cairo_surface_supports_mime_type +cairo_surface_map_to_image +cairo_surface_unmap_image +</SECTION> + +<SECTION> +<FILE>cairo-surface-observer</FILE> +CAIRO_HAS_OBSERVER_SURFACE +cairo_surface_create_observer +cairo_surface_observer_add_fill_callback +cairo_surface_observer_add_finish_callback +cairo_surface_observer_add_flush_callback +cairo_surface_observer_add_glyphs_callback +cairo_surface_observer_add_mask_callback +cairo_surface_observer_add_paint_callback +cairo_surface_observer_add_stroke_callback +cairo_surface_observer_callback_t +cairo_surface_observer_elapsed +cairo_surface_observer_mode_t +cairo_surface_observer_print +</SECTION> + +<SECTION> +<FILE>cairo-version</FILE> +CAIRO_VERSION +CAIRO_VERSION_MAJOR +CAIRO_VERSION_MINOR +CAIRO_VERSION_MICRO +CAIRO_VERSION_STRING +CAIRO_VERSION_ENCODE +CAIRO_VERSION_STRINGIZE +cairo_version +cairo_version_string +<SUBSECTION Private> +CAIRO_VERSION_STRINGIZE_ +</SECTION> + +<SECTION> +<FILE>cairo-region</FILE> +cairo_region_t +cairo_region_create +cairo_region_create_rectangle +cairo_region_create_rectangles +cairo_region_copy +cairo_region_reference +cairo_region_destroy +cairo_region_status +cairo_region_get_extents +cairo_region_num_rectangles +cairo_region_get_rectangle +cairo_region_is_empty +cairo_region_contains_point +cairo_region_overlap_t +cairo_region_contains_rectangle +cairo_region_equal +cairo_region_translate +cairo_region_intersect +cairo_region_intersect_rectangle +cairo_region_subtract +cairo_region_subtract_rectangle +cairo_region_union +cairo_region_union_rectangle +cairo_region_xor +cairo_region_xor_rectangle +</SECTION> + +<SECTION> +<FILE>cairo-pattern</FILE> +cairo_pattern_t +cairo_pattern_add_color_stop_rgb +cairo_pattern_add_color_stop_rgba +cairo_pattern_get_color_stop_count +cairo_pattern_get_color_stop_rgba +cairo_pattern_create_rgb +cairo_pattern_create_rgba +cairo_pattern_get_rgba +cairo_pattern_create_for_surface +cairo_pattern_get_surface +cairo_pattern_create_linear +cairo_pattern_get_linear_points +cairo_pattern_create_radial +cairo_pattern_get_radial_circles +cairo_pattern_create_mesh +cairo_mesh_pattern_begin_patch +cairo_mesh_pattern_end_patch +cairo_mesh_pattern_move_to +cairo_mesh_pattern_line_to +cairo_mesh_pattern_curve_to +cairo_mesh_pattern_set_control_point +cairo_mesh_pattern_set_corner_color_rgb +cairo_mesh_pattern_set_corner_color_rgba +cairo_mesh_pattern_get_patch_count +cairo_mesh_pattern_get_path +cairo_mesh_pattern_get_control_point +cairo_mesh_pattern_get_corner_color_rgba +cairo_pattern_reference +cairo_pattern_destroy +cairo_pattern_status +cairo_extend_t +cairo_pattern_set_extend +cairo_pattern_get_extend +cairo_filter_t +cairo_pattern_set_filter +cairo_pattern_get_filter +cairo_pattern_set_matrix +cairo_pattern_get_matrix +cairo_pattern_type_t +cairo_pattern_get_type +cairo_pattern_get_reference_count +cairo_pattern_set_user_data +cairo_pattern_get_user_data +</SECTION> + +<SECTION> +<FILE>cairo-raster-source</FILE> +cairo_pattern_create_raster_source +cairo_raster_source_pattern_set_callback_data +cairo_raster_source_pattern_get_callback_data +cairo_raster_source_pattern_set_acquire +cairo_raster_source_pattern_get_acquire +cairo_raster_source_pattern_set_snapshot +cairo_raster_source_pattern_get_snapshot +cairo_raster_source_pattern_set_copy +cairo_raster_source_pattern_get_copy +cairo_raster_source_pattern_set_finish +cairo_raster_source_pattern_get_finish +cairo_raster_source_acquire_func_t +cairo_raster_source_release_func_t +cairo_raster_source_snapshot_func_t +cairo_raster_source_copy_func_t +cairo_raster_source_finish_func_t +</SECTION> + +<SECTION> +<FILE>cairo-tag</FILE> +CAIRO_TAG_DEST +CAIRO_TAG_LINK +cairo_tag_begin +cairo_tag_end +</SECTION> + +<SECTION> +<FILE>cairo-matrix</FILE> +cairo_matrix_t +cairo_matrix_init +cairo_matrix_init_identity +cairo_matrix_init_translate +cairo_matrix_init_scale +cairo_matrix_init_rotate +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-status</FILE> +cairo_status_t +cairo_status_to_string +cairo_debug_reset_static_data +</SECTION> + +<SECTION> +<FILE>cairo-font-face</FILE> +cairo_font_face_t +cairo_font_face_reference +cairo_font_face_destroy +cairo_font_face_status +cairo_font_type_t +cairo_font_face_get_type +cairo_font_face_get_reference_count +cairo_font_face_set_user_data +cairo_font_face_get_user_data +</SECTION> + +<SECTION> +<FILE>cairo-scaled-font</FILE> +cairo_scaled_font_t +cairo_scaled_font_create +cairo_scaled_font_reference +cairo_scaled_font_destroy +cairo_scaled_font_status +cairo_font_extents_t +cairo_scaled_font_extents +cairo_text_extents_t +cairo_scaled_font_text_extents +cairo_scaled_font_glyph_extents +cairo_scaled_font_text_to_glyphs +cairo_scaled_font_get_font_face +cairo_scaled_font_get_font_options +cairo_scaled_font_get_font_matrix +cairo_scaled_font_get_ctm +cairo_scaled_font_get_scale_matrix +cairo_scaled_font_get_type +cairo_scaled_font_get_reference_count +cairo_scaled_font_set_user_data +cairo_scaled_font_get_user_data +</SECTION> + +<SECTION> +<FILE>cairo-font-options</FILE> +cairo_font_options_t +cairo_font_options_create +cairo_font_options_copy +cairo_font_options_destroy +cairo_font_options_status +cairo_font_options_merge +cairo_font_options_hash +cairo_font_options_equal +cairo_font_options_set_antialias +cairo_font_options_get_antialias +cairo_subpixel_order_t +cairo_font_options_set_subpixel_order +cairo_font_options_get_subpixel_order +cairo_hint_style_t +cairo_font_options_set_hint_style +cairo_font_options_get_hint_style +cairo_hint_metrics_t +cairo_font_options_set_hint_metrics +cairo_font_options_get_hint_metrics +cairo_font_options_get_variations +cairo_font_options_set_variations +</SECTION> + +<SECTION> +<FILE>cairo-types</FILE> +cairo_bool_t +cairo_user_data_key_t +cairo_destroy_func_t +cairo_rectangle_int_t +</SECTION> + +<SECTION> +<FILE>cairo-transforms</FILE> +cairo_translate +cairo_scale +cairo_rotate +cairo_transform +cairo_set_matrix +cairo_get_matrix +cairo_identity_matrix +cairo_user_to_device +cairo_user_to_device_distance +cairo_device_to_user +cairo_device_to_user_distance +</SECTION> + + +<SECTION> +<FILE>cairo-paths</FILE> +cairo_path_t +cairo_path_data_t +cairo_path_data_type_t +cairo_copy_path +cairo_copy_path_flat +cairo_path_destroy +cairo_append_path +cairo_has_current_point +cairo_get_current_point +cairo_new_path +cairo_new_sub_path +cairo_close_path +cairo_arc +cairo_arc_negative +cairo_curve_to +cairo_line_to +cairo_move_to +cairo_rectangle +cairo_glyph_path +cairo_text_path +cairo_rel_curve_to +cairo_rel_line_to +cairo_rel_move_to +cairo_path_extents +</SECTION> + +<SECTION> +<FILE>cairo-text</FILE> +cairo_glyph_t +cairo_font_slant_t +cairo_font_weight_t +cairo_text_cluster_t +cairo_text_cluster_flags_t +cairo_select_font_face +cairo_set_font_size +cairo_set_font_matrix +cairo_get_font_matrix +cairo_set_font_options +cairo_get_font_options +cairo_set_font_face +cairo_get_font_face +cairo_set_scaled_font +cairo_get_scaled_font +cairo_show_text +cairo_show_glyphs +cairo_show_text_glyphs +cairo_font_extents +cairo_text_extents +cairo_glyph_extents +cairo_toy_font_face_create +cairo_toy_font_face_get_family +cairo_toy_font_face_get_slant +cairo_toy_font_face_get_weight +cairo_glyph_allocate +cairo_glyph_free +cairo_text_cluster_allocate +cairo_text_cluster_free +</SECTION> + +<SECTION> +<FILE>cairo</FILE> +cairo_t +cairo_create +cairo_reference +cairo_destroy +cairo_status +cairo_save +cairo_restore +cairo_get_target +cairo_push_group +cairo_push_group_with_content +cairo_pop_group +cairo_pop_group_to_source +cairo_get_group_target +cairo_set_source_rgb +cairo_set_source_rgba +cairo_set_source +cairo_set_source_surface +cairo_get_source +cairo_antialias_t +cairo_set_antialias +cairo_get_antialias +cairo_set_dash +cairo_get_dash_count +cairo_get_dash +cairo_fill_rule_t +cairo_set_fill_rule +cairo_get_fill_rule +cairo_line_cap_t +cairo_set_line_cap +cairo_get_line_cap +cairo_line_join_t +cairo_set_line_join +cairo_get_line_join +cairo_set_line_width +cairo_get_line_width +cairo_set_miter_limit +cairo_get_miter_limit +cairo_operator_t +cairo_set_operator +cairo_get_operator +cairo_set_tolerance +cairo_get_tolerance +cairo_clip +cairo_clip_preserve +cairo_clip_extents +cairo_in_clip +cairo_reset_clip +cairo_rectangle_t +cairo_rectangle_list_t +cairo_rectangle_list_destroy +cairo_copy_clip_rectangle_list +cairo_fill +cairo_fill_preserve +cairo_fill_extents +cairo_in_fill +cairo_mask +cairo_mask_surface +cairo_paint +cairo_paint_with_alpha +cairo_stroke +cairo_stroke_preserve +cairo_stroke_extents +cairo_in_stroke +cairo_copy_page +cairo_show_page +cairo_get_reference_count +cairo_set_user_data +cairo_get_user_data +<SUBSECTION Private> +cairo_public +CAIRO_BEGIN_DECLS +CAIRO_END_DECLS +cairo_current_font_extents +cairo_get_font_extents +cairo_current_operator +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_get_status +cairo_concat_matrix +cairo_scale_font +cairo_select_font +cairo_transform_font +cairo_transform_point +cairo_transform_distance +cairo_inverse_transform_point +cairo_inverse_transform_distance +cairo_init_clip +cairo_surface_create_for_image +cairo_default_matrix +cairo_matrix_set_affine +cairo_matrix_set_identity +cairo_pattern_add_color_stop +cairo_set_rgb_color +cairo_set_pattern +cairo_xlib_surface_create_for_pixmap_with_visual +cairo_xlib_surface_create_for_window_with_visual +cairo_xcb_surface_create_for_pixmap_with_visual +cairo_xcb_surface_create_for_window_with_visual +cairo_ps_surface_set_dpi +cairo_pdf_surface_set_dpi +cairo_svg_surface_set_dpi +cairo_current_path +cairo_current_path_flat +cairo_get_path +cairo_get_path_flat +cairo_set_alpha +cairo_show_surface +cairo_copy +cairo_surface_set_repeat +cairo_surface_set_matrix +cairo_surface_get_matrix +cairo_surface_set_filter +cairo_surface_get_filter +cairo_matrix_create +cairo_matrix_destroy +cairo_matrix_copy +cairo_matrix_get_affine +cairo_set_target_surface +cairo_set_target_image +cairo_set_target_pdf +cairo_set_target_png +cairo_set_target_ps +cairo_set_target_quartz +cairo_set_target_win32 +cairo_set_target_xcb +cairo_set_target_drawable +cairo_get_status_string +cairo_status_string +CAIRO_FONT_TYPE_ATSUI +cairo_atsui_font_face_create_for_atsu_font_id +</SECTION> + +<SECTION> +<FILE>cairo-script</FILE> +CAIRO_HAS_SCRIPT_SURFACE +cairo_script_create +cairo_script_create_for_stream +cairo_script_from_recording_surface +cairo_script_get_mode +cairo_script_mode_t +cairo_script_set_mode +cairo_script_surface_create +cairo_script_surface_create_for_target +cairo_script_write_comment +</SECTION> diff --git a/libs/cairo-1.16.0/doc/public/cairo.types b/libs/cairo-1.16.0/doc/public/cairo.types new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/cairo.types diff --git a/libs/cairo-1.16.0/doc/public/check-doc-coverage.sh b/libs/cairo-1.16.0/doc/public/check-doc-coverage.sh new file mode 100755 index 0000000..648ca12 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/check-doc-coverage.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +LC_ALL=C +export LC_ALL + +if test -z "$DOC_MODULE"; then + # extract from Makefile + eval `grep '^DOC_MODULE' Makefile | sed 's/ //g'` + if test -z "$DOC_MODULE"; then + echo Failed extracting DOC_MODULE from Makefile 1>&2 + echo Try setting DOC_MODULE env var manually 1>&2 + exit 1 + fi +fi + +if test -n "$REPORT_FILES"; then + $MAKE $REPORT_FILES || exit 1 +fi + +test -z "$srcdir" && srcdir=. +stat=0 + +if test -f "$DOC_MODULE-undeclared.txt"; then + undeclared=`cat "$DOC_MODULE-undeclared.txt"` + if test -n "$undeclared"; then + echo "*** ERROR: Undeclared documentation symbols:" 1>&2 + cat "$DOC_MODULE-undeclared.txt" 1>&2 + stat=1 + fi +fi >&2 +if test -f "$DOC_MODULE-unused.txt"; then + unused=`cat "$DOC_MODULE-unused.txt"` + if test -n "$unused"; then + echo "*** ERROR: Unused documented symbols:" 1>&2 + cat "$DOC_MODULE-unused.txt" 1>&2 + stat=1 + fi +fi >&2 +if test -f "$DOC_MODULE-undocumented.txt"; then + if grep '^0 symbols incomplete' "$DOC_MODULE-undocumented.txt" >/dev/null && + grep '^0 not documented' "$DOC_MODULE-undocumented.txt" >/dev/null; then + : + else + echo "*** ERROR: Incomplete or undocumented symbols:" 1>&2 + cat "$DOC_MODULE-undocumented.txt" 1>&2 + stat=1 + fi +fi >&2 + +if test $stat != 0; then + echo "*** IGNORING ERROR ***" +fi +#exit $stat +exit 0 diff --git a/libs/cairo-1.16.0/doc/public/check-doc-syntax.sh b/libs/cairo-1.16.0/doc/public/check-doc-syntax.sh new file mode 100755 index 0000000..129065d --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/check-doc-syntax.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +LC_ALL=C +export LC_ALL + +test -z "$srcdir" && srcdir=. +test -z "$top_srcdir" && top_srcdir=$srcdir/../.. + +SGML_DOCS=true +FILES=`echo $srcdir/tmpl/*.sgml` + +. "$top_srcdir/src/check-doc-syntax.sh" diff --git a/libs/cairo-1.16.0/doc/public/html/bindings-errors.html b/libs/cairo-1.16.0/doc/public/html/bindings-errors.html new file mode 100644 index 0000000..ea96f87 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/bindings-errors.html @@ -0,0 +1,121 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Error handling: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo"> +<link rel="prev" href="bindings-streams.html" title="Streams and File I/O"> +<link rel="next" href="bindings-patterns.html" title="Patterns"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="language-bindings.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="bindings-streams.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="bindings-patterns.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="sect1"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="bindings-errors"></a>Error handling</h2></div></div></div> +<p> + The error handling approach in C for Cairo has multiple + elements: + </p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p> + When a method on an object fails, the object is put into + an error state. Subsequent operations on the object do + nothing. The status of the object can be queried with + a function like <a class="link" href="cairo-cairo-t.html#cairo-status" title="cairo_status ()"><code class="function">status()</code></a>. + </p></li> +<li class="listitem"> +<p> + Constructors, rather than + returning <code class="constant">NULL</code> on out-of-memory failure, + return a special singleton object on which all + operations do nothing. Retrieving the status of the + singleton object returns <code class="constant">CAIRO_STATUS_NO_MEMORY</code> + </p> +<p class="remark"><em><span class="remark"> + Is this going to apply to + <span class="type">cairo_surface_t</span> as well? + </span></em></p> +<p class="remark"><em><span class="remark"> + What about cairo_copy_path_data()? It's probably going to + have to return <code class="constant">NULL</code>. + </span></em></p> +</li> +<li class="listitem"><p> + Errors propagate from object to object. Setting a pattern + in an out-of-memory state as the source of a + <span class="type">cairo_t</span> puts the type into an error state. + </p></li> +</ul></div> +<p class="remark"><em><span class="remark">Much of the above is not yet implemented at the time of + this writing</span></em></p> +<p> + A language binding could copy the C approach, and for a + language without exceptions, this is likely the right thing + to do. However, for a language with exceptions, exposing + a completely different style of error handling for cairo + would be strange. So, instead, status should be checked + after every call to cairo, and exceptions thrown as necessary. + </p> +<p> + One problem that can arise with this, in languages + where handling exceptions is mandatory (like Java), is that almost + every cairo function can result in a status being set, + usually because of an out-of-memory condition. This could make + cairo hard to use. To resolve this problem, let's classify then + cairo status codes: + </p> +<pre class="programlisting"> +/* Memory */ +CAIRO_STATUS_NO_MEMORY, + +/* Programmer error */ +CAIRO_STATUS_INVALID_RESTORE +CAIRO_STATUS_INVALID_POP_GROUP +CAIRO_STATUS_NO_CURRENT_POINT +CAIRO_STATUS_INVALID_MATRIX +CAIRO_STATUS_NO_TARGET_SURFACE +CAIRO_STATUS_INVALID_STRING +CAIRO_STATUS_SURFACE_FINISHED +CAIRO_STATUS_BAD_NESTING + +/* Language binding implementation */ +CAIRO_STATUS_NULL_POINTER +CAIRO_STATUS_INVALID_PATH_DATA +CAIRO_STATUS_SURFACE_TYPE_MISMATCH + +/* Other */ +CAIRO_STATUS_READ_ERROR +CAIRO_STATUS_WRITE_ERROR +</pre> +<p> + If we look at these, the + <code class="constant">CAIRO_STATUS_NO_MEMORY</code> + should map to the native out-of-memory exception, which could + happen at any point in any case. Most of the others indicate + programmer error, and handling them in user code would be + silly. These should be mapped into whatever the language uses + for assertion failures, rather than errors that are normally + handled. (In Java, a subclass of Error rather than Exception, + perhaps.) And <code class="constant">CAIRO_STATUS_READ_ERROR</code>, + and <code class="constant">CAIRO_STATUS_WRITE_ERROR</code> can occur + only in very specific places. (In fact, as described + in <a class="xref" href="bindings-streams.html" title="Streams and File I/O">the section called “Streams and File I/O”</a>, these errors may be + mapped into the language's native I/O error types.) + So, there really aren't exceptions that the programmer must + handle at most points in the Cairo API. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/bindings-fonts.html b/libs/cairo-1.16.0/doc/public/html/bindings-fonts.html new file mode 100644 index 0000000..622a529 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/bindings-fonts.html @@ -0,0 +1,52 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Fonts: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo"> +<link rel="prev" href="bindings-surfaces.html" title="Surfaces"> +<link rel="next" href="bindings-path.html" title="cairo_path_t"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="language-bindings.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="bindings-surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="bindings-path.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="sect1"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="bindings-fonts"></a>Fonts</h2></div></div></div> +<p> + Fonts are once more an area where there is a hierarchy of types: + </p> +<pre class="programlisting"> +cairo_font_face_t + cairo_ft_font_face_t + cairo_win32_font_face_t +cairo_scaled_font_t + cairo_ft_scaled_font_t + cairo_win32_scaled_font_t +</pre> +<p> + The methods on the subtypes are, however, not useful without + bindings for fontconfig and FreeType or for the Win32 GDI, + so most language bindings will choose not to bind these + types. + </p> +<p> + The <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-set-user-data" title="cairo_font_face_set_user_data ()"><code class="function">cairo_font_face_set_user_data()</code></a>, + and <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-user-data" title="cairo_font_face_get_user_data ()"><code class="function">cairo_font_face_get_user_data()</code></a> + methods are provided for use in language bindings, and should + not be directly exposed to applications. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/bindings-memory.html b/libs/cairo-1.16.0/doc/public/html/bindings-memory.html new file mode 100644 index 0000000..961ee82 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/bindings-memory.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Memory management: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo"> +<link rel="prev" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo"> +<link rel="next" href="bindings-return-values.html" title="Multiple return values"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="language-bindings.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="language-bindings.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="bindings-return-values.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="sect1"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="bindings-memory"></a>Memory management</h2></div></div></div> +<p> + The objects in cairo can roughly be divided into two types: + reference-counted, opaque types like + <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> + and plain structures like + <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a>. + <a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="type">cairo_path_t</span></a> + and + <a class="link" href="cairo-Paths.html#cairo-path-data-t" title="union cairo_path_data_t"><span class="type">cairo_path_data_t</span></a> + are special cases and are treated separately in this appendix. + </p> +<p> + Refcounted opaque types all have a + <code class="function">..._reference()</code> + function to increase the refcount by one and a + <code class="function">..._destroy()</code> to decrease the refcount + by one. These should not be exposed to the user of the language + binding, but rather used to implement memory management within + the language binding. The simplest way to do memory management + for a language binding is to treat the language binding object + as a simple handle to the cairo object. The language binding + object references the cairo object, and unreferences it when + finalized. This is the recommended method, though there are + a couple of caveats to be noted: + </p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p> + Equality won't work as expected. You can have two language + objects for the same cairo and they won't necessarily + compare equal. If the language allows customizing the + equality operation, then this is fixable by comparing + the underlying pointers. It also can be fixed by creating + at most one language object per cairo object, and + uniquifying via a <em class="firstterm">pin table</em> (a hash + table that goes from cairo object to language object). + For <span class="type">cairo_surface_t</span> you can use also + <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-user-data" title="cairo_surface_set_user_data ()"><code class="function">cairo_surface_set_user_data()</code></a> + instead of a separate pin table. + </p></li> +<li class="listitem"> +<p> + Derivation from the language object doesn't work because + you can lose the language object while keeping the Cairo + object. Code like: + </p> +<pre class="programlisting"> +public class MySurface (ImageSurface) { + public MySurface (width, height) { + super (Format.ARGB32, width, height); + } + public int get42 () { + return 42; + } +} + + cr = Cairo(MySurface(width, height)); + surface = cr.getTarget(); +</pre> +<p> + Can result in <code class="varname">surface</code> containing an + <code class="classname">ImageSurface</code> not a <code class="classname">MySurface</code>. + This is not easily fixable without creating memory leaks, + and it's probably best to simply forbid deriving from the + language objects. + </p> +</li> +</ul></div> +<p> + When a plain structure is used as a return value from cairo, + this is done by passing it as a “out parameter”. + </p> +<pre class="programlisting"> +cairo_font_extents_t extents; + +cairo_font_extents (cr, &extents);</pre> +<p> + In a language binding, this should typically be treated + as a return value: + </p> +<pre class="programlisting"> +FontExtents extents = cr.fontExtents ();</pre> +<p> + A language binding has a choice in how it implements the + language objects for plain structures. It can use a pure + language object with fields corresponding to those of the C + structure, and convert from and to the C structure when calling + cairo functions or converting cairo return values. Or it + can keep a pointer to the C structure internally and wrap + it inside a language object much like occurs for refcounted + objects. The choice should be invisible to the user: they should + be able to imagine that it is implemented as a pure language + object. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/bindings-overloading.html b/libs/cairo-1.16.0/doc/public/html/bindings-overloading.html new file mode 100644 index 0000000..a7a518b --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/bindings-overloading.html @@ -0,0 +1,120 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Overloading and optional arguments: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo"> +<link rel="prev" href="bindings-return-values.html" title="Multiple return values"> +<link rel="next" href="bindings-streams.html" title="Streams and File I/O"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="language-bindings.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="bindings-return-values.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="bindings-streams.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="sect1"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="bindings-overloading"></a>Overloading and optional arguments</h2></div></div></div> +<p> + Function overloading (having a several variants of a function + with the same name and different arguments) is a language + feature available in many languages but not in C. + </p> +<p> + In general, language binding authors should use restraint in + combining functions in the cairo API via function + overloading. What may seem like an obvious overload now may + turn out to be strange with future additions to cairo. + It might seem logical to make + <a class="link" href="cairo-cairo-t.html#cairo-set-source-rgb" title="cairo_set_source_rgb ()"><code class="function">cairo_set_source_rgb()</code></a> + an overload of <code class="function">cairo_set_source()</code>, but future plans to add + <code class="function">cairo_set_source_rgb_premultiplied()</code>, + which will also take three doubles make this a bad idea. For + this reason, only the following pairs of functions should + be combined via overloading + </p> +<pre class="programlisting"> +void +cairo_set_source (cairo_t *cr, cairo_pattern_t *source); + +void +cairo_set_source_surface (cairo_t *cr, + cairo_surface_t *source, + double surface_x, + double surface_y); + +void +cairo_mask (cairo_t *cr, + cairo_pattern_t *pattern); + +void +cairo_mask_surface (cairo_t *cr, + cairo_surface_t *surface, + double surface_x, + double surface_y); + +cairo_surface_t * +cairo_image_surface_create (cairo_format_t format, + int width, + int height); +cairo_surface_t * +cairo_image_surface_create_for_data (unsigned char *data, + cairo_format_t format, + int width, + int height, + int stride); + +cairo_status_t +cairo_surface_write_to_png (cairo_surface_t *surface, + const char *filename); + +cairo_status_t +cairo_surface_write_to_png_stream (cairo_surface_t *surface, + cairo_write_func_t write_func, + void *closure); + +cairo_surface_t * +cairo_image_surface_create_from_png (const char *filename); + +cairo_surface_t * +cairo_image_surface_create_from_png_stream (cairo_read_func_t read_func, + void *closure); + </pre> +<p> + Note that there are cases where all constructors for a type + aren't overloaded together. For example + <a class="link" href="cairo-PNG-Support.html#cairo-image-surface-create-from-png" title="cairo_image_surface_create_from_png ()"><code class="function">cairo_image_surface_create_from_png()</code></a> + should <span class="emphasis"><em>not</em></span> be overloaded together with + <a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-create" title="cairo_image_surface_create ()"><code class="function">cairo_image_surface_create()</code></a>. + In such cases, the remaining constructors will typically need to + be bound as static methods. In Java, for example, we might have: + </p> +<pre class="programlisting"> +Surface surface1 = ImageSurface(Format.RGB24, 100, 100); +Surface surface2 = ImageSurface.createFromPNG("camera.png");</pre> +<p> + Some other overloads that add combinations not found in C may be + convenient for users for language bindings that provide + <span class="type">cairo_point_t</span> and <span class="type">cairo_rectangle_t</span> + types, for example: + </p> +<pre class="programlisting"> +void +cairo_move_to (cairo_t *cr, + cairo_point_t *point); +void +cairo_rectangle (cairo_t *cr, + cairo_rectangle_t *rectangle); + </pre> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/bindings-path.html b/libs/cairo-1.16.0/doc/public/html/bindings-path.html new file mode 100644 index 0000000..717271b --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/bindings-path.html @@ -0,0 +1,116 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>cairo_path_t: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo"> +<link rel="prev" href="bindings-fonts.html" title="Fonts"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="language-bindings.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="bindings-fonts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><img src="right-insensitive.png" width="16" height="16" border="0"></td> +</tr></table> +<div class="sect1"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="bindings-path"></a>cairo_path_t</h2></div></div></div> +<p> + The <a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="type">cairo_path_t</span></a> type is one + area in which most language bindings will differ significantly + from the C API. The C API for <span class="type">cairo_path_t</span> is + designed for efficiency and to avoid auxiliary objects that + would be have to be manually memory managed by the + application. However, + a language binding should not present <span class="type">cairo_path_t</span> as an + array, but rather as an opaque that can be iterated + over. Different languages have quite different conventions for + how iterators work, so it is impossible to give an exact + specification for how this API should work, but the type names + and methods should be similar to the language's mapping of the following: + </p> +<pre class="programlisting"> +typedef struct cairo_path_iterator cairo_path_iterator_t; +typedef struct cairo_path_element cairo_path_element_t; + +cairo_path_iterator_t * +cairo_path_get_iterator (cairo_path_t *path); + +cairo_bool_t +cairo_path_iterator_has_next (cairo_path_iterator_t *iterator); + +cairo_path_element_t * +cairo_path_iterator_next (cairo_path_iterator_t *iterator); + +cairo_path_element_type_t +cairo_path_element_get_type (cairo_path_element_t *element); + +void +cairo_path_element_get_point (cairo_path_element_t *element, + int index, + double *x, + double *y); + </pre> +<p> + The above is written using the Java conventions for + iterators. To illustrate how the API for PathIterator might + depend on the native iteration conventions of the API, examine + three versions of the loop, first written in a hypothetical Java + binding: + </p> +<pre class="programlisting"> +PathIterator iter = cr.copyPath().iterator(); +while (cr.hasNext()) { + PathElement element = iter.next(); + if (element.getType() == PathElementType.MOVE_TO) { + Point p = element.getPoint(0); + doMoveTo (p.x, p.y); + } +}</pre> +<p> + And then in a hypothetical C++ binding: + </p> +<pre class="programlisting"> +Path path = cr.copyPath(); +for (PathIterator iter = path.begin(); iter != path.end(); iter++) { + PathElement element = *iter; + if (element.getType() == PathElementType.MOVE_TO) { + Point p = element.getPoint(0); + doMoveTo (p.x, p.y); + } +}</pre> +<p> + And then finally in a Python binding: + </p> +<pre class="programlisting"> +for element in cr.copy_path(): + if element.getType == cairo.PATH_ELEMENT_MOVE_TO: + (x, y) = element.getPoint(0) + doMoveTo (x, y);</pre> +<p> + While many of the API elements stay the same in the three + examples, the exact iteration mechanism is quite different, to + match how users of the language would expect to iterate over + a container. + </p> +<p> + You should not present an API for mutating or for creating new + <span class="type">cairo_path_t</span> objects. In the future, these + guidelines may be extended to present an API for creating a + <span class="type">cairo_path_t</span> from scratch for use with + <a class="link" href="cairo-Paths.html#cairo-append-path" title="cairo_append_path ()"><code class="function">cairo_append_path()</code></a> + but the current expectation is that <code class="function">cairo_append_path()</code> will + mostly be used with paths from + <a class="link" href="cairo-Paths.html#cairo-append-path" title="cairo_append_path ()"><code class="function">cairo_copy_path()</code></a>. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/bindings-patterns.html b/libs/cairo-1.16.0/doc/public/html/bindings-patterns.html new file mode 100644 index 0000000..386bc54 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/bindings-patterns.html @@ -0,0 +1,74 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Patterns: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo"> +<link rel="prev" href="bindings-errors.html" title="Error handling"> +<link rel="next" href="bindings-surfaces.html" title="Surfaces"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="language-bindings.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="bindings-errors.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="bindings-surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="sect1"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="bindings-patterns"></a>Patterns</h2></div></div></div> +<p> + The cairo C API allows for creating a number of different types + of patterns. All of these different types of patterns map to + <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> + in C, but in an object oriented language, there should instead + be a hierarchy of types. (The functions that should map to + constructors or static methods for the various types are listed + after the type, methods on that type are listed below. Note that + cairo_pattern_create_rgb() and cairo_pattern_create_rgba() + should not be overloaded with each other as a SolidPattern() + constructor, but should appear as static methods instead. This + is to maintain code clarity by making it clear how the arguments + relate to color components.) + </p> +<pre class="programlisting"> +cairo_pattern_t + <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-matrix" title="cairo_pattern_set_matrix ()"><code class="function">cairo_pattern_set_matrix()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-matrix" title="cairo_pattern_get_matrix ()"><code class="function">cairo_pattern_get_matrix()</code></a> + cairo_solid_pattern_t (<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-rgb" title="cairo_pattern_create_rgb ()"><code class="function">cairo_pattern_create_rgb()</code></a> and <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-rgba" title="cairo_pattern_create_rgba ()"><code class="function">cairo_pattern_create_rgba()</code></a>) + cairo_surface_pattern_t (<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-for-surface" title="cairo_pattern_create_for_surface ()"><code class="function">cairo_pattern_create_for_surface()</code></a>) + <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-extend" title="cairo_pattern_set_extend ()"><code class="function">cairo_pattern_set_extend()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-extend" title="cairo_pattern_get_extend ()"><code class="function">cairo_pattern_get_extend()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-filter" title="cairo_pattern_set_filter ()"><code class="function">cairo_pattern_set_filter()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-filter" title="cairo_pattern_get_filter ()"><code class="function">cairo_pattern_get_filter()</code></a> + cairo_gradient_t + <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgb" title="cairo_pattern_add_color_stop_rgb ()"><code class="function">cairo_pattern_add_color_stop_rgb()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgba" title="cairo_pattern_add_color_stop_rgba ()"><code class="function">cairo_pattern_add_color_stop_rgba()</code></a> + cairo_linear_gradient_t (<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-linear" title="cairo_pattern_create_linear ()"><code class="function">cairo_pattern_create_linear()</code></a>) + cairo_radial_gradient_t (<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-radial" title="cairo_pattern_create_radial ()"><code class="function">cairo_pattern_create_radial()</code></a>) + cairo_mesh_t (<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-mesh" title="cairo_pattern_create_mesh ()"><code class="function">cairo_pattern_create_mesh()</code></a>) + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-begin-patch" title="cairo_mesh_pattern_begin_patch ()"><code class="function">cairo_mesh_pattern_begin_patch()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-end-patch" title="cairo_mesh_pattern_end_patch ()"><code class="function">cairo_mesh_pattern_end_patch()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-move-to" title="cairo_mesh_pattern_move_to ()"><code class="function">cairo_mesh_pattern_move_to()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-line-to" title="cairo_mesh_pattern_line_to ()"><code class="function">cairo_mesh_pattern_line_to()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-curve-to" title="cairo_mesh_pattern_curve_to ()"><code class="function">cairo_mesh_pattern_curve_to()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-control-point" title="cairo_mesh_pattern_set_control_point ()"><code class="function">cairo_mesh_pattern_set_control_point()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb" title="cairo_mesh_pattern_set_corner_color_rgb ()"><code class="function">cairo_mesh_pattern_set_corner_color_rgb()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgba" title="cairo_mesh_pattern_set_corner_color_rgba ()"><code class="function">cairo_mesh_pattern_set_corner_color_rgba()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-patch-count" title="cairo_mesh_pattern_get_patch_count ()"><code class="function">cairo_mesh_pattern_get_patch_count()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-path" title="cairo_mesh_pattern_get_path ()"><code class="function">cairo_mesh_pattern_get_path()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-control-point" title="cairo_mesh_pattern_get_control_point ()"><code class="function">cairo_mesh_pattern_get_control_point()</code></a> + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-corner-color-rgba" title="cairo_mesh_pattern_get_corner_color_rgba ()"><code class="function">cairo_mesh_pattern_get_corner_color_rgba()</code></a> + </pre> +<p> + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/bindings-return-values.html b/libs/cairo-1.16.0/doc/public/html/bindings-return-values.html new file mode 100644 index 0000000..3e281b6 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/bindings-return-values.html @@ -0,0 +1,119 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Multiple return values: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo"> +<link rel="prev" href="bindings-memory.html" title="Memory management"> +<link rel="next" href="bindings-overloading.html" title="Overloading and optional arguments"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="language-bindings.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="bindings-memory.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="bindings-overloading.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="sect1"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="bindings-return-values"></a>Multiple return values</h2></div></div></div> +<p> + There are a number of functions in the cairo API that have + multiple <em class="firstterm">out parameters</em> or + <em class="firstterm">in-out parameters</em>. In some languages + these can be translated into multiple return values. In Python, + what is: + </p> +<pre class="programlisting"> +cairo_user_to_device (cr, &x, &y);</pre> +<p> + can by mapped to: + </p> +<pre class="programlisting"> +(x, y) = cr.user_to_device (cr, x, y);</pre> +<p> + but many languages don't have provisions for multiple return + values, so it is necessary to introduce auxiliary types. + Most of the functions that require the auxiliary types + require a type that would, in C, look like + </p> +<pre class="programlisting"> +typedef struct _cairo_point cairo_point_t; +struct _cairo_point { + double x; + double y; +}</pre> +<p> + The same type should be used both for functions that use a pair + of coordinates as an absolute position, and functions that use + a pair of coordinates as a displacement. While an argument could + be made that having a separate “distance” type is more correct, + it is more likely just to confuse users. + </p> +<pre class="programlisting"> +void +cairo_user_to_device (cairo_t *cr, double *x, double *y); + +void +cairo_user_to_device_distance (cairo_t *cr, double *dx, double *dy); + +void +cairo_device_to_user (cairo_t *cr, double *x, double *y); + +void +cairo_device_to_user_distance (cairo_t *cr, double *dx, double *dy); + +void +cairo_matrix_transform_distance (cairo_matrix_t *matrix, double *dx, double *dy); + +void +cairo_matrix_transform_point (cairo_matrix_t *matrix, double *x, double *y); + +void +cairo_get_current_point (cairo_t *cr, double *x, double *y); + </pre> +<p> + There are also a couple of functions that return four values + representing a rectangle. These should be mapped to a + “rectangle” type that looks like: + </p> +<pre class="programlisting"> +typedef struct _cairo_rectangle cairo_rectangle_t; +struct _cairo_rectangle { + double x; + double y; + double width; + double height; +}</pre> +<p> + The C function returns the rectangle as a set of two points to + facilitate rounding to integral extents, but this isn't worth + adding a “box” type to go along with the more obvious + “rectangle” representation. + </p> +<p class="remark"><em><span class="remark"> + Q: Would it make sense here to define a standard + <code class="function">cairo_rectangle_round()</code> method + that language bindings should map? + </span></em></p> +<pre class="programlisting"> +void +cairo_stroke_extents (cairo_t *cr, + double *x1, double *y1, + double *x2, double *y2); + +void +cairo_fill_extents (cairo_t *cr, + double *x1, double *y1, + double *x2, double *y2); + </pre> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/bindings-streams.html b/libs/cairo-1.16.0/doc/public/html/bindings-streams.html new file mode 100644 index 0000000..ab8d3fc --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/bindings-streams.html @@ -0,0 +1,91 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Streams and File I/O: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo"> +<link rel="prev" href="bindings-overloading.html" title="Overloading and optional arguments"> +<link rel="next" href="bindings-errors.html" title="Error handling"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="language-bindings.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="bindings-overloading.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="bindings-errors.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="sect1"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="bindings-streams"></a>Streams and File I/O</h2></div></div></div> +<p> + Various places in the cairo API deal with reading and writing + data, whether from and to files, or to other sources and + destinations. In these cases, what is typically provided in the + C API is a simple version that just takes a filename, and a + complex version that takes a callback function. + An example is the PNG handling functions: + </p> +<pre class="programlisting"> +cairo_surface_t * +cairo_image_surface_create_from_png (const char *filename); + +cairo_surface_t * +cairo_image_surface_create_from_png_stream (cairo_read_func_t read_func, + void *closure); + +cairo_status_t +cairo_surface_write_to_png (cairo_surface_t *surface, + const char *filename); + +cairo_status_t +cairo_surface_write_to_png_stream (cairo_surface_t *surface, + cairo_write_func_t write_func, + void *closure);</pre> +<p> + The expectation is that the filename version will be mapped + literally in the language binding, but the callback version + will be mapped to a version that takes a language stream + object. For example, in Java, the four functions above + might be mapped to: + </p> +<pre class="programlisting"> +static public ImageSurface createFromPNG (String filename) throws IOException; +static public ImageSurface createFromPNG (InputStream stream) throws IOException; +public void writeToPNG (String filename) throws IOException; +public void writeToPNG (OutputStream stream) throws IOException; +</pre> +<p> + In many cases, it will be better to + implement the filename version internally + using the stream version, rather than building it on top of the + filename version in C. The reason for this is that will + naturally give a more standard handling of file errors for + the language, as seen in the above Java example, where + <code class="methodname">createFromPNG()</code> is marked as raising + an exception. Propagating exceptions from inside the callback + function to the caller will pose a challenge to the language + binding implementor, since an exception must not propagate + through the Cairo code. A technique that will be useful in + some cases is to catch the exception in the callback, + store the exception object inside a structure pointed to by + <em class="parameter"><code>closure</code></em>, and then rethrow it once + the function returns. + </p> +<p class="remark"><em><span class="remark"> + I'm not sure how to handle this for + <a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-create-for-stream" title="cairo_pdf_surface_create_for_stream ()"><code class="function">cairo_pdf_surface_create_for_stream()</code></a>. + Other than keep a “exception to rethrow” thread-specific + variable + that is checked after <span class="emphasis"><em>every</em></span> call to a Cairo + function. + </span></em></p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/bindings-surfaces.html b/libs/cairo-1.16.0/doc/public/html/bindings-surfaces.html new file mode 100644 index 0000000..c0b5701 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/bindings-surfaces.html @@ -0,0 +1,92 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Surfaces: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo"> +<link rel="prev" href="bindings-patterns.html" title="Patterns"> +<link rel="next" href="bindings-fonts.html" title="Fonts"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="language-bindings.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="bindings-patterns.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="bindings-fonts.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="sect1"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="bindings-surfaces"></a>Surfaces</h2></div></div></div> +<p> + Like patterns, surfaces, which use only the + <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> + type in the C API should be broken up into a hierarchy of types + in a language binding. + </p> +<pre class="programlisting"> +cairo_surface_t + cairo_image_surface_t + cairo_atsui_surface_t + cairo_win32_surface_t + cairo_xlib_surface_t + cairo_beos_surface_t + </pre> +<p> + Unlike patterns, the constructors and methods on these types are + clearly named, and can be trivially associated with the + appropriate subtype. Many language bindings will want to avoid + binding the platform-specific subtypes at all, since the + methods on these types are not useful without passing in native + C types. Unless there is a language binding for Xlib available, + there is no way to represent a XLib <span class="type">Display</span> * in + that language. + </p> +<p> + This doesn't mean that platform-specific surface types can't + be used in a language binding that doesn't bind the constructor. + A very common situation is to use a cairo language binding in + combination with a binding for a higher level system like + the <a class="ulink" href="http://www.gtk.org/" target="_top">GTK+</a> widget + toolkit. In such a situation, the higher level toolkit provides + ways to get references to platform specific surfaces. + </p> +<p> + The <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-user-data" title="cairo_surface_set_user_data ()"><code class="function">cairo_surface_set_user_data()</code></a>, + and <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-user-data" title="cairo_surface_get_user_data ()"><code class="function">cairo_surface_get_user_data()</code></a> + methods are provided for use in language bindings, and should + not be directly exposed to applications. One example of the use + of these functions in a language binding is creating a binding for: + </p> +<pre class="programlisting"> +cairo_surface_t * +<a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-create-for-data" title="cairo_image_surface_create_for_data ()"><code class="function">cairo_image_surface_create_for_data</code></a> (unsigned char *data, + cairo_format_t format, + int width, + int height, + int stride); +</pre> +<p> + The memory block passed in for <em class="parameter"><code>data</code></em> must be + kept around until the surface is destroyed, so the language + binding must have some way of determining when that happens. The + way to do this is to use the <em class="parameter"><code>destroy</code></em> + argument to <code class="function">cairo_surface_set_user_data()</code>. + </p> +<p class="remark"><em><span class="remark"> + Some languages may not have a suitable “pointer to a block of + data” type to pass in for <em class="parameter"><code>data</code></em>. And even + where a language does have such a type, the user will be + frequently able to cause the backing store to be reallocated + to a different location or truncated. Should we recommend a + standard type name and binding for a buffer object here? + </span></em></p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Error-handling.html b/libs/cairo-1.16.0/doc/public/html/cairo-Error-handling.html new file mode 100644 index 0000000..5d263dd --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Error-handling.html @@ -0,0 +1,486 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Error handling: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-support.html" title="Utilities"> +<link rel="prev" href="cairo-cairo-matrix-t.html" title="cairo_matrix_t"> +<link rel="next" href="cairo-Version-Information.html" title="Version Information"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Error-handling.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-support.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-cairo-matrix-t.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Version-Information.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Error-handling"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Error-handling.top_of_page"></a>Error handling</span></h2> +<p>Error handling — Decoding cairo's status</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Error-handling.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Error-handling.html#cairo-status-to-string" title="cairo_status_to_string ()">cairo_status_to_string</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Error-handling.html#cairo-debug-reset-static-data" title="cairo_debug_reset_static_data ()">cairo_debug_reset_static_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Error-handling.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody><tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t">cairo_status_t</a></td> +</tr></tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Error-handling.description"></a><h2>Description</h2> +<p>Cairo uses a single status type to represent all kinds of errors. A status +value of <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> represents no error and has an integer value +of zero. All other status values represent an error.</p> +<p>Cairo's error handling is designed to be easy to use and safe. All major +cairo objects <em class="firstterm">retain</em> an error status internally which +can be queried anytime by the users using cairo*_status() calls. In +the mean time, it is safe to call all cairo functions normally even if the +underlying object is in an error status. This means that no error handling +code is required before or after each individual cairo function call.</p> +</div> +<div class="refsect1"> +<a name="cairo-Error-handling.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-status-to-string"></a><h3>cairo_status_to_string ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +cairo_status_to_string (<em class="parameter"><code><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="type">cairo_status_t</span></a> status</code></em>);</pre> +<p>Provides a human-readable description of a <a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="type">cairo_status_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-status-to-string.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>status</p></td> +<td class="parameter_description"><p>a cairo status</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-status-to-string.returns"></a><h4>Returns</h4> +<p> a string representation of the status</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-debug-reset-static-data"></a><h3>cairo_debug_reset_static_data ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_debug_reset_static_data (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Resets all static data within cairo to its original state, +(ie. identical to the state at the time of program invocation). For +example, all caches within cairo will be flushed empty.</p> +<p>This function is intended to be useful when using memory-checking +tools such as valgrind. When valgrind's memcheck analyzes a +cairo-using program without a call to <a class="link" href="cairo-Error-handling.html#cairo-debug-reset-static-data" title="cairo_debug_reset_static_data ()"><code class="function">cairo_debug_reset_static_data()</code></a>, +it will report all data reachable via cairo's static objects as +"still reachable". Calling <a class="link" href="cairo-Error-handling.html#cairo-debug-reset-static-data" title="cairo_debug_reset_static_data ()"><code class="function">cairo_debug_reset_static_data()</code></a> just prior +to program termination will make it easier to get squeaky clean +reports from valgrind.</p> +<p>WARNING: It is only safe to call this function when there are no +active cairo objects remaining, (ie. the appropriate destroy +functions have been called as necessary). If there are active cairo +objects, this call is likely to cause a crash, (eg. an assertion +failure due to a hash table being destroyed when non-empty).</p> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Error-handling.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="cairo-status-t"></a><h3>enum cairo_status_t</h3> +<p><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="type">cairo_status_t</span></a> is used to indicate errors that can occur when +using Cairo. In some cases it is returned directly by functions. +but when using <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>, the last error, if any, is stored in +the context and can be retrieved with <a class="link" href="cairo-cairo-t.html#cairo-status" title="cairo_status ()"><code class="function">cairo_status()</code></a>.</p> +<p>New entries may be added in future versions. Use <a class="link" href="cairo-Error-handling.html#cairo-status-to-string" title="cairo_status_to_string ()"><code class="function">cairo_status_to_string()</code></a> +to get a human-readable representation of an error message.</p> +<div class="refsect3"> +<a name="cairo-status-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-SUCCESS:CAPS"></a>CAIRO_STATUS_SUCCESS</p></td> +<td class="enum_member_description"> +<p>no error has occurred (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-NO-MEMORY:CAPS"></a>CAIRO_STATUS_NO_MEMORY</p></td> +<td class="enum_member_description"> +<p>out of memory (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-RESTORE:CAPS"></a>CAIRO_STATUS_INVALID_RESTORE</p></td> +<td class="enum_member_description"> +<p>cairo_restore() called without matching <a class="link" href="cairo-cairo-t.html#cairo-save" title="cairo_save ()"><code class="function">cairo_save()</code></a> (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-POP-GROUP:CAPS"></a>CAIRO_STATUS_INVALID_POP_GROUP</p></td> +<td class="enum_member_description"> +<p>no saved group to pop, i.e. <a class="link" href="cairo-cairo-t.html#cairo-pop-group" title="cairo_pop_group ()"><code class="function">cairo_pop_group()</code></a> without matching <a class="link" href="cairo-cairo-t.html#cairo-push-group" title="cairo_push_group ()"><code class="function">cairo_push_group()</code></a> (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-NO-CURRENT-POINT:CAPS"></a>CAIRO_STATUS_NO_CURRENT_POINT</p></td> +<td class="enum_member_description"> +<p>no current point defined (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-MATRIX:CAPS"></a>CAIRO_STATUS_INVALID_MATRIX</p></td> +<td class="enum_member_description"> +<p>invalid matrix (not invertible) (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-STATUS:CAPS"></a>CAIRO_STATUS_INVALID_STATUS</p></td> +<td class="enum_member_description"> +<p>invalid value for an input <a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="type">cairo_status_t</span></a> (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-NULL-POINTER:CAPS"></a>CAIRO_STATUS_NULL_POINTER</p></td> +<td class="enum_member_description"> +<p><a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> pointer (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-STRING:CAPS"></a>CAIRO_STATUS_INVALID_STRING</p></td> +<td class="enum_member_description"> +<p>input string not valid UTF-8 (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-PATH-DATA:CAPS"></a>CAIRO_STATUS_INVALID_PATH_DATA</p></td> +<td class="enum_member_description"> +<p>input path data not valid (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-READ-ERROR:CAPS"></a>CAIRO_STATUS_READ_ERROR</p></td> +<td class="enum_member_description"> +<p>error while reading from input stream (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-WRITE-ERROR:CAPS"></a>CAIRO_STATUS_WRITE_ERROR</p></td> +<td class="enum_member_description"> +<p>error while writing to output stream (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-SURFACE-FINISHED:CAPS"></a>CAIRO_STATUS_SURFACE_FINISHED</p></td> +<td class="enum_member_description"> +<p>target surface has been finished (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-SURFACE-TYPE-MISMATCH:CAPS"></a>CAIRO_STATUS_SURFACE_TYPE_MISMATCH</p></td> +<td class="enum_member_description"> +<p>the surface type is not appropriate for the operation (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"></a>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</p></td> +<td class="enum_member_description"> +<p>the pattern type is not appropriate for the operation (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-CONTENT:CAPS"></a>CAIRO_STATUS_INVALID_CONTENT</p></td> +<td class="enum_member_description"> +<p>invalid value for an input <a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a> (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-FORMAT:CAPS"></a>CAIRO_STATUS_INVALID_FORMAT</p></td> +<td class="enum_member_description"> +<p>invalid value for an input <a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-VISUAL:CAPS"></a>CAIRO_STATUS_INVALID_VISUAL</p></td> +<td class="enum_member_description"> +<p>invalid value for an input Visual* (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-FILE-NOT-FOUND:CAPS"></a>CAIRO_STATUS_FILE_NOT_FOUND</p></td> +<td class="enum_member_description"> +<p>file not found (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-DASH:CAPS"></a>CAIRO_STATUS_INVALID_DASH</p></td> +<td class="enum_member_description"> +<p>invalid value for a dash setting (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-DSC-COMMENT:CAPS"></a>CAIRO_STATUS_INVALID_DSC_COMMENT</p></td> +<td class="enum_member_description"> +<p>invalid value for a DSC comment (Since 1.2)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-INDEX:CAPS"></a>CAIRO_STATUS_INVALID_INDEX</p></td> +<td class="enum_member_description"> +<p>invalid index passed to getter (Since 1.4)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-CLIP-NOT-REPRESENTABLE:CAPS"></a>CAIRO_STATUS_CLIP_NOT_REPRESENTABLE</p></td> +<td class="enum_member_description"> +<p>clip region not representable in desired format (Since 1.4)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-TEMP-FILE-ERROR:CAPS"></a>CAIRO_STATUS_TEMP_FILE_ERROR</p></td> +<td class="enum_member_description"> +<p>error creating or writing to a temporary file (Since 1.6)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-STRIDE:CAPS"></a>CAIRO_STATUS_INVALID_STRIDE</p></td> +<td class="enum_member_description"> +<p>invalid value for stride (Since 1.6)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-FONT-TYPE-MISMATCH:CAPS"></a>CAIRO_STATUS_FONT_TYPE_MISMATCH</p></td> +<td class="enum_member_description"> +<p>the font type is not appropriate for the operation (Since 1.8)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-USER-FONT-IMMUTABLE:CAPS"></a>CAIRO_STATUS_USER_FONT_IMMUTABLE</p></td> +<td class="enum_member_description"> +<p>the user-font is immutable (Since 1.8)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-USER-FONT-ERROR:CAPS"></a>CAIRO_STATUS_USER_FONT_ERROR</p></td> +<td class="enum_member_description"> +<p>error occurred in a user-font callback function (Since 1.8)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-NEGATIVE-COUNT:CAPS"></a>CAIRO_STATUS_NEGATIVE_COUNT</p></td> +<td class="enum_member_description"> +<p>negative number used where it is not allowed (Since 1.8)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-CLUSTERS:CAPS"></a>CAIRO_STATUS_INVALID_CLUSTERS</p></td> +<td class="enum_member_description"> +<p>input clusters do not represent the accompanying text and glyph array (Since 1.8)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-SLANT:CAPS"></a>CAIRO_STATUS_INVALID_SLANT</p></td> +<td class="enum_member_description"> +<p>invalid value for an input <a class="link" href="cairo-text.html#cairo-font-slant-t" title="enum cairo_font_slant_t"><span class="type">cairo_font_slant_t</span></a> (Since 1.8)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-WEIGHT:CAPS"></a>CAIRO_STATUS_INVALID_WEIGHT</p></td> +<td class="enum_member_description"> +<p>invalid value for an input <a class="link" href="cairo-text.html#cairo-font-weight-t" title="enum cairo_font_weight_t"><span class="type">cairo_font_weight_t</span></a> (Since 1.8)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-SIZE:CAPS"></a>CAIRO_STATUS_INVALID_SIZE</p></td> +<td class="enum_member_description"> +<p>invalid value (typically too big) for the size of the input (surface, pattern, etc.) (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-USER-FONT-NOT-IMPLEMENTED:CAPS"></a>CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED</p></td> +<td class="enum_member_description"> +<p>user-font method not implemented (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-DEVICE-TYPE-MISMATCH:CAPS"></a>CAIRO_STATUS_DEVICE_TYPE_MISMATCH</p></td> +<td class="enum_member_description"> +<p>the device type is not appropriate for the operation (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-DEVICE-ERROR:CAPS"></a>CAIRO_STATUS_DEVICE_ERROR</p></td> +<td class="enum_member_description"> +<p>an operation to the device caused an unspecified error (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"></a>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</p></td> +<td class="enum_member_description"> +<p>a mesh pattern + construction operation was used outside of a + <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-begin-patch" title="cairo_mesh_pattern_begin_patch ()"><code class="function">cairo_mesh_pattern_begin_patch()</code></a>/<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-end-patch" title="cairo_mesh_pattern_end_patch ()"><code class="function">cairo_mesh_pattern_end_patch()</code></a> + pair (Since 1.12)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-DEVICE-FINISHED:CAPS"></a>CAIRO_STATUS_DEVICE_FINISHED</p></td> +<td class="enum_member_description"> +<p>target device has been finished (Since 1.12)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-JBIG2-GLOBAL-MISSING:CAPS"></a>CAIRO_STATUS_JBIG2_GLOBAL_MISSING</p></td> +<td class="enum_member_description"> +<p><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID"><code class="literal">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</code></a> has been used on at least one image + but no image provided <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL"><code class="literal">CAIRO_MIME_TYPE_JBIG2_GLOBAL</code></a> (Since 1.14)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-PNG-ERROR:CAPS"></a>CAIRO_STATUS_PNG_ERROR</p></td> +<td class="enum_member_description"> +<p>error occurred in libpng while reading from or writing to a PNG file (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-FREETYPE-ERROR:CAPS"></a>CAIRO_STATUS_FREETYPE_ERROR</p></td> +<td class="enum_member_description"> +<p>error occurred in libfreetype (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-WIN32-GDI-ERROR:CAPS"></a>CAIRO_STATUS_WIN32_GDI_ERROR</p></td> +<td class="enum_member_description"> +<p>error occurred in the Windows Graphics Device Interface (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-TAG-ERROR:CAPS"></a>CAIRO_STATUS_TAG_ERROR</p></td> +<td class="enum_member_description"> +<p>invalid tag name, attributes, or nesting (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-STATUS-LAST-STATUS:CAPS"></a>CAIRO_STATUS_LAST_STATUS</p></td> +<td class="enum_member_description"> +<p>this is a special value indicating the number of + status values defined in this enumeration. When using this value, note + that the version of cairo at run-time may have additional status values + defined than the value of this symbol at compile-time. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Error-handling.see-also"></a><h2>See Also</h2> +<p>cairo_status(), <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a>, <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-status" title="cairo_pattern_status ()"><code class="function">cairo_pattern_status()</code></a>, + <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-status" title="cairo_font_face_status ()"><code class="function">cairo_font_face_status()</code></a>, <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-status" title="cairo_scaled_font_status ()"><code class="function">cairo_scaled_font_status()</code></a>, + <a class="link" href="cairo-Regions.html#cairo-region-status" title="cairo_region_status ()"><code class="function">cairo_region_status()</code></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-FreeType-Fonts.html b/libs/cairo-1.16.0/doc/public/html/cairo-FreeType-Fonts.html new file mode 100644 index 0000000..126392f --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-FreeType-Fonts.html @@ -0,0 +1,553 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>FreeType Fonts: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-fonts.html" title="Fonts"> +<link rel="prev" href="cairo-cairo-font-options-t.html" title="cairo_font_options_t"> +<link rel="next" href="cairo-Win32-Fonts.html" title="Win32 Fonts"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-FreeType-Fonts.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-fonts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-cairo-font-options-t.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Win32-Fonts.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-FreeType-Fonts"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-FreeType-Fonts.top_of_page"></a>FreeType Fonts</span></h2> +<p>FreeType Fonts — Font support for FreeType</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-FreeType-Fonts.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-ft-face" title="cairo_ft_font_face_create_for_ft_face ()">cairo_ft_font_face_create_for_ft_face</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-pattern" title="cairo_ft_font_face_create_for_pattern ()">cairo_ft_font_face_create_for_pattern</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-options-substitute" title="cairo_ft_font_options_substitute ()">cairo_ft_font_options_substitute</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">FT_Face</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-lock-face" title="cairo_ft_scaled_font_lock_face ()">cairo_ft_scaled_font_lock_face</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-unlock-face" title="cairo_ft_scaled_font_unlock_face ()">cairo_ft_scaled_font_unlock_face</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-get-synthesize" title="cairo_ft_font_face_get_synthesize ()">cairo_ft_font_face_get_synthesize</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-set-synthesize" title="cairo_ft_font_face_set_synthesize ()">cairo_ft_font_face_set_synthesize</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-unset-synthesize" title="cairo_ft_font_face_unset_synthesize ()">cairo_ft_font_face_unset_synthesize</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-FreeType-Fonts.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-FreeType-Fonts.html#CAIRO-HAS-FT-FONT:CAPS" title="CAIRO_HAS_FT_FONT">CAIRO_HAS_FT_FONT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-FreeType-Fonts.html#CAIRO-HAS-FC-FONT:CAPS" title="CAIRO_HAS_FC_FONT">CAIRO_HAS_FC_FONT</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-synthesize-t" title="enum cairo_ft_synthesize_t">cairo_ft_synthesize_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-FreeType-Fonts.description"></a><h2>Description</h2> +<p>The FreeType font backend is primarily used to render text on GNU/Linux +systems, but can be used on other platforms too.</p> +</div> +<div class="refsect1"> +<a name="cairo-FreeType-Fonts.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-ft-font-face-create-for-ft-face"></a><h3>cairo_ft_font_face_create_for_ft_face ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +cairo_ft_font_face_create_for_ft_face (<em class="parameter"><code><span class="type">FT_Face</span> face</code></em>, + <em class="parameter"><code><span class="type">int</span> load_flags</code></em>);</pre> +<p>Creates a new font face for the FreeType font backend from a +pre-opened FreeType face. This font can then be used with +<a class="link" href="cairo-text.html#cairo-set-font-face" title="cairo_set_font_face ()"><code class="function">cairo_set_font_face()</code></a> or <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>. The +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> returned from <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a> is +also for the FreeType backend and can be used with functions such +as <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-lock-face" title="cairo_ft_scaled_font_lock_face ()"><code class="function">cairo_ft_scaled_font_lock_face()</code></a>. Note that Cairo may keep a reference +to the FT_Face alive in a font-cache and the exact lifetime of the reference +depends highly upon the exact usage pattern and is subject to external +factors. You must not call <code class="function">FT_Done_Face()</code> before the last reference to the +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> has been dropped.</p> +<p>As an example, below is how one might correctly couple the lifetime of +the FreeType face object to the <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>.</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static const</span> cairo_user_data_key_t key<span class="gtkdoc opt">;</span> + +font_face <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-ft-face">cairo_ft_font_face_create_for_ft_face</a></span> <span class="gtkdoc opt">(</span>ft_face<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span> +status <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-cairo-font-face-t.html#cairo-font-face-set-user-data">cairo_font_face_set_user_data</a></span> <span class="gtkdoc opt">(</span>font_face<span class="gtkdoc opt">, &</span>key<span class="gtkdoc opt">,</span> + ft_face<span class="gtkdoc opt">, (</span>cairo_destroy_func_t<span class="gtkdoc opt">)</span> FT_Done_Face<span class="gtkdoc opt">);</span> +<span class="keyword">if</span> <span class="gtkdoc opt">(</span>status<span class="gtkdoc opt">) {</span> + <span class="function"><a href="cairo-cairo-font-face-t.html#cairo-font-face-destroy">cairo_font_face_destroy</a></span> <span class="gtkdoc opt">(</span>font_face<span class="gtkdoc opt">);</span> + <span class="function">FT_Done_Face</span> <span class="gtkdoc opt">(</span>ft_face<span class="gtkdoc opt">);</span> + <span class="keyword">return</span> ERROR<span class="gtkdoc opt">;</span> +<span class="gtkdoc opt">}</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<div class="refsect3"> +<a name="cairo-ft-font-face-create-for-ft-face.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>face</p></td> +<td class="parameter_description"><p>A FreeType face object, already opened. This must +be kept around until the face's ref_count drops to +zero and it is freed. Since the face may be referenced +internally to Cairo, the best way to determine when it +is safe to free the face is to pass a +<a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> to <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-set-user-data" title="cairo_font_face_set_user_data ()"><code class="function">cairo_font_face_set_user_data()</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>load_flags</p></td> +<td class="parameter_description"><p>flags to pass to FT_Load_Glyph when loading +glyphs from the font. These flags are OR'ed together with +the flags derived from the <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> passed +to <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>, so only a few values such +as <code class="literal">FT_LOAD_VERTICAL_LAYOUT</code>, and <code class="literal">FT_LOAD_FORCE_AUTOHINT</code> +are useful. You should not pass any of the flags affecting +the load target, such as <code class="literal">FT_LOAD_TARGET_LIGHT</code>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-ft-font-face-create-for-ft-face.returns"></a><h4>Returns</h4> +<p> a newly created <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>. Free with +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy" title="cairo_font_face_destroy ()"><code class="function">cairo_font_face_destroy()</code></a> when you are done using it.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ft-font-face-create-for-pattern"></a><h3>cairo_ft_font_face_create_for_pattern ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +cairo_ft_font_face_create_for_pattern (<em class="parameter"><code><span class="type">FcPattern</span> *pattern</code></em>);</pre> +<p>Creates a new font face for the FreeType font backend based on a +fontconfig pattern. This font can then be used with +<a class="link" href="cairo-text.html#cairo-set-font-face" title="cairo_set_font_face ()"><code class="function">cairo_set_font_face()</code></a> or <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>. The +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> returned from <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a> is +also for the FreeType backend and can be used with functions such +as <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-lock-face" title="cairo_ft_scaled_font_lock_face ()"><code class="function">cairo_ft_scaled_font_lock_face()</code></a>.</p> +<p>Font rendering options are represented both here and when you +call <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>. Font options that have a representation +in a <span class="type">FcPattern</span> must be passed in here; to modify <span class="type">FcPattern</span> +appropriately to reflect the options in a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a>, call +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-options-substitute" title="cairo_ft_font_options_substitute ()"><code class="function">cairo_ft_font_options_substitute()</code></a>.</p> +<p>The pattern's FC_FT_FACE element is inspected first and if that is set, +that will be the FreeType font face associated with the returned cairo +font face. Otherwise the FC_FILE element is checked. If it's set, +that and the value of the FC_INDEX element (defaults to zero) of <em class="parameter"><code>pattern</code></em> + +are used to load a font face from file.</p> +<p>If both steps from the previous paragraph fails, <em class="parameter"><code>pattern</code></em> + will be passed +to FcConfigSubstitute, FcDefaultSubstitute, and finally FcFontMatch, +and the resulting font pattern is used.</p> +<p>If the FC_FT_FACE element of <em class="parameter"><code>pattern</code></em> + is set, the user is responsible +for making sure that the referenced FT_Face remains valid for the life +time of the returned <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>. See +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-ft-face" title="cairo_ft_font_face_create_for_ft_face ()"><code class="function">cairo_ft_font_face_create_for_ft_face()</code></a> for an example of how to couple +the life time of the FT_Face to that of the cairo font-face.</p> +<div class="refsect3"> +<a name="cairo-ft-font-face-create-for-pattern.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>A fontconfig pattern. Cairo makes a copy of the pattern +if it needs to. You are free to modify or free <em class="parameter"><code>pattern</code></em> +after this call.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-ft-font-face-create-for-pattern.returns"></a><h4>Returns</h4> +<p> a newly created <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>. Free with +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy" title="cairo_font_face_destroy ()"><code class="function">cairo_font_face_destroy()</code></a> when you are done using it.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ft-font-options-substitute"></a><h3>cairo_ft_font_options_substitute ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_ft_font_options_substitute (<em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>, + <em class="parameter"><code><span class="type">FcPattern</span> *pattern</code></em>);</pre> +<p>Add options to a <span class="type">FcPattern</span> based on a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> font +options object. Options that are already in the pattern, are not overridden, +so you should call this function after calling <code class="function">FcConfigSubstitute()</code> (the +user's settings should override options based on the surface type), but +before calling <code class="function">FcDefaultSubstitute()</code>.</p> +<div class="refsect3"> +<a name="cairo-ft-font-options-substitute.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> object</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>an existing <span class="type">FcPattern</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ft-scaled-font-lock-face"></a><h3>cairo_ft_scaled_font_lock_face ()</h3> +<pre class="programlisting"><span class="returnvalue">FT_Face</span> +cairo_ft_scaled_font_lock_face (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre> +<p>cairo_ft_scaled_font_lock_face() gets the <span class="type">FT_Face</span> object from a FreeType +backend font and scales it appropriately for the font and applies OpenType +font variations if applicable. You must +release the face with <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-unlock-face" title="cairo_ft_scaled_font_unlock_face ()"><code class="function">cairo_ft_scaled_font_unlock_face()</code></a> +when you are done using it. Since the <span class="type">FT_Face</span> object can be +shared between multiple <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_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 class="link" href="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-lock-face" title="cairo_ft_scaled_font_lock_face ()"><code class="function">cairo_ft_scaled_font_lock_face()</code></a> is +called. <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-unlock-face" title="cairo_ft_scaled_font_unlock_face ()"><code class="function">cairo_ft_scaled_font_unlock_face()</code></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 freetype's design makes it unsafe to +call freetype functions simultaneously from multiple threads, (even +if using distinct FT_Face objects). Because of this, application +code that acquires an FT_Face object with this call must add its +own locking to protect any use of that object, (and which also must +protect any other calls into cairo as almost any cairo function +might result in a call into the freetype library).</p> +<div class="refsect3"> +<a name="cairo-ft-scaled-font-lock-face.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>A <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> from the FreeType font backend. Such an +object can be created by calling <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a> on a +FreeType backend font face (see <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-pattern" title="cairo_ft_font_face_create_for_pattern ()"><code class="function">cairo_ft_font_face_create_for_pattern()</code></a>, +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-ft-face" title="cairo_ft_font_face_create_for_ft_face ()"><code class="function">cairo_ft_font_face_create_for_ft_face()</code></a>).</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-ft-scaled-font-lock-face.returns"></a><h4>Returns</h4> +<p> The <span class="type">FT_Face</span> object for <em class="parameter"><code>font</code></em> +, scaled appropriately, +or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>scaled_font</code></em> +is in an error state (see +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-status" title="cairo_scaled_font_status ()"><code class="function">cairo_scaled_font_status()</code></a>) or there is insufficient memory.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ft-scaled-font-unlock-face"></a><h3>cairo_ft_scaled_font_unlock_face ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_ft_scaled_font_unlock_face (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre> +<p>Releases a face obtained with <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-lock-face" title="cairo_ft_scaled_font_lock_face ()"><code class="function">cairo_ft_scaled_font_lock_face()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-ft-scaled-font-unlock-face.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>A <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> from the FreeType font backend. Such an +object can be created by calling <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a> on a +FreeType backend font face (see <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-pattern" title="cairo_ft_font_face_create_for_pattern ()"><code class="function">cairo_ft_font_face_create_for_pattern()</code></a>, +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-ft-face" title="cairo_ft_font_face_create_for_ft_face ()"><code class="function">cairo_ft_font_face_create_for_ft_face()</code></a>).</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ft-font-face-get-synthesize"></a><h3>cairo_ft_font_face_get_synthesize ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +cairo_ft_font_face_get_synthesize (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>See <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-synthesize-t" title="enum cairo_ft_synthesize_t"><span class="type">cairo_ft_synthesize_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-ft-font-face-get-synthesize.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>The <span class="type">cairo_ft_font_face_t</span> object to query</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-ft-font-face-get-synthesize.returns"></a><h4>Returns</h4> +<p> the current set of synthesis options.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ft-font-face-set-synthesize"></a><h3>cairo_ft_font_face_set_synthesize ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_ft_font_face_set_synthesize (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> synth_flags</code></em>);</pre> +<p>FreeType provides the ability to synthesize different glyphs from a base +font, which is useful if you lack those glyphs from a true bold or oblique +font. See also <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-synthesize-t" title="enum cairo_ft_synthesize_t"><span class="type">cairo_ft_synthesize_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-ft-font-face-set-synthesize.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>The <span class="type">cairo_ft_font_face_t</span> object to modify</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>synth_flags</p></td> +<td class="parameter_description"><p>the set of synthesis options to enable</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ft-font-face-unset-synthesize"></a><h3>cairo_ft_font_face_unset_synthesize ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_ft_font_face_unset_synthesize (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> synth_flags</code></em>);</pre> +<p>See <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-set-synthesize" title="cairo_ft_font_face_set_synthesize ()"><code class="function">cairo_ft_font_face_set_synthesize()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-ft-font-face-unset-synthesize.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>The <span class="type">cairo_ft_font_face_t</span> object to modify</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>synth_flags</p></td> +<td class="parameter_description"><p>the set of synthesis options to disable</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-FreeType-Fonts.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-FT-FONT:CAPS"></a><h3>CAIRO_HAS_FT_FONT</h3> +<pre class="programlisting">#define CAIRO_HAS_FT_FONT 1 +</pre> +<p>Defined if the FreeType font backend is available. +This macro can be used to conditionally compile backend-specific code.</p> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-HAS-FC-FONT:CAPS"></a><h3>CAIRO_HAS_FC_FONT</h3> +<pre class="programlisting">#define CAIRO_HAS_FC_FONT 1 +</pre> +<p>Defined if the Fontconfig-specific functions of the FreeType font backend +are available. +This macro can be used to conditionally compile backend-specific code.</p> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ft-synthesize-t"></a><h3>enum cairo_ft_synthesize_t</h3> +<p>A set of synthesis options to control how FreeType renders the glyphs +for a particular font face.</p> +<p>Individual synthesis features of a <span class="type">cairo_ft_font_face_t</span> can be set +using <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-set-synthesize" title="cairo_ft_font_face_set_synthesize ()"><code class="function">cairo_ft_font_face_set_synthesize()</code></a>, or disabled using +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-unset-synthesize" title="cairo_ft_font_face_unset_synthesize ()"><code class="function">cairo_ft_font_face_unset_synthesize()</code></a>. The currently enabled set of +synthesis options can be queried with <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-get-synthesize" title="cairo_ft_font_face_get_synthesize ()"><code class="function">cairo_ft_font_face_get_synthesize()</code></a>.</p> +<p>Note: that when synthesizing glyphs, the font metrics returned will only +be estimates.</p> +<div class="refsect3"> +<a name="cairo-ft-synthesize-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FT-SYNTHESIZE-BOLD:CAPS"></a>CAIRO_FT_SYNTHESIZE_BOLD</p></td> +<td class="enum_member_description"> +<p>Embolden the glyphs (redraw with a pixel offset)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FT-SYNTHESIZE-OBLIQUE:CAPS"></a>CAIRO_FT_SYNTHESIZE_OBLIQUE</p></td> +<td class="enum_member_description"> +<p>Slant the glyph outline by 12 degrees to the +right.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-FreeType-Fonts.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Image-Surfaces.html b/libs/cairo-1.16.0/doc/public/html/cairo-Image-Surfaces.html new file mode 100644 index 0000000..c6bbd35 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Image-Surfaces.html @@ -0,0 +1,583 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Image Surfaces: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-cairo-surface-t.html" title="cairo_surface_t"> +<link rel="next" href="cairo-PDF-Surfaces.html" title="PDF Surfaces"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Image-Surfaces.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-cairo-surface-t.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-PDF-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Image-Surfaces"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Image-Surfaces.top_of_page"></a>Image Surfaces</span></h2> +<p>Image Surfaces — Rendering to memory buffers</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Image-Surfaces.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Image-Surfaces.html#cairo-format-stride-for-width" title="cairo_format_stride_for_width ()">cairo_format_stride_for_width</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-create" title="cairo_image_surface_create ()">cairo_image_surface_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-create-for-data" title="cairo_image_surface_create_for_data ()">cairo_image_surface_create_for_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-get-data" title="cairo_image_surface_get_data ()">cairo_image_surface_get_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="returnvalue">cairo_format_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-get-format" title="cairo_image_surface_get_format ()">cairo_image_surface_get_format</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-get-width" title="cairo_image_surface_get_width ()">cairo_image_surface_get_width</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-get-height" title="cairo_image_surface_get_height ()">cairo_image_surface_get_height</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-get-stride" title="cairo_image_surface_get_stride ()">cairo_image_surface_get_stride</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Image-Surfaces.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Image-Surfaces.html#CAIRO-HAS-IMAGE-SURFACE:CAPS" title="CAIRO_HAS_IMAGE_SURFACE">CAIRO_HAS_IMAGE_SURFACE</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t">cairo_format_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Image-Surfaces.description"></a><h2>Description</h2> +<p>Image surfaces provide the ability to render to memory buffers +either allocated by cairo or by the calling code. The supported +image formats are those defined in <a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a>.</p> +</div> +<div class="refsect1"> +<a name="cairo-Image-Surfaces.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-format-stride-for-width"></a><h3>cairo_format_stride_for_width ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_format_stride_for_width (<em class="parameter"><code><a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>);</pre> +<p>This function provides a stride value that will respect all +alignment requirements of the accelerated image-rendering code +within cairo. Typical usage will be of the form:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">int</span> stride<span class="gtkdoc opt">;</span> +<span class="gtkdoc kwb">unsigned char</span> <span class="gtkdoc opt">*</span>data<span class="gtkdoc opt">;</span> +cairo_surface_t <span class="gtkdoc opt">*</span>surface<span class="gtkdoc opt">;</span> + +stride <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-Image-Surfaces.html#cairo-format-stride-for-width">cairo_format_stride_for_width</a></span> <span class="gtkdoc opt">(</span>format<span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">);</span> +data <span class="gtkdoc opt">=</span> <span class="function">malloc</span> <span class="gtkdoc opt">(</span>stride <span class="gtkdoc opt">*</span> height<span class="gtkdoc opt">);</span> +surface <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-Image-Surfaces.html#cairo-image-surface-create-for-data">cairo_image_surface_create_for_data</a></span> <span class="gtkdoc opt">(</span>data<span class="gtkdoc opt">,</span> format<span class="gtkdoc opt">,</span> + width<span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">,</span> + stride<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<div class="refsect3"> +<a name="cairo-format-stride-for-width.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>A <a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> value</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>The desired width of an image surface to be created.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-format-stride-for-width.returns"></a><h4>Returns</h4> +<p> the appropriate stride to use given the desired +format and width, or -1 if either the format is invalid or the width +too large.</p> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-image-surface-create"></a><h3>cairo_image_surface_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_image_surface_create (<em class="parameter"><code><a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Creates an image surface of the specified format and +dimensions. Initially the surface contents are set to 0. +(Specifically, within each pixel, each color or alpha channel +belonging to format will be 0. The contents of bits within a pixel, +but not belonging to the given format are undefined).</p> +<div class="refsect3"> +<a name="cairo-image-surface-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>format of pixels in the surface to create</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>width of the surface, in pixels</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>height of the surface, in pixels</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-image-surface-create.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-image-surface-create-for-data"></a><h3>cairo_image_surface_create_for_data ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_image_surface_create_for_data (<em class="parameter"><code>unsigned <span class="type">char</span> *data</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>, + <em class="parameter"><code><span class="type">int</span> stride</code></em>);</pre> +<p>Creates an image surface for the provided pixel data. The output +buffer must be kept around until the <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> is destroyed +or <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish" title="cairo_surface_finish ()"><code class="function">cairo_surface_finish()</code></a> is called on the surface. The initial +contents of <em class="parameter"><code>data</code></em> + will be used as the initial image contents; you +must explicitly clear the buffer, using, for example, +<a class="link" href="cairo-Paths.html#cairo-rectangle" title="cairo_rectangle ()"><code class="function">cairo_rectangle()</code></a> and <a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a> if you want it cleared.</p> +<p>Note that the stride may be larger than +width*bytes_per_pixel to provide proper alignment for each pixel +and row. This alignment is required to allow high-performance rendering +within cairo. The correct way to obtain a legal stride value is to +call <a class="link" href="cairo-Image-Surfaces.html#cairo-format-stride-for-width" title="cairo_format_stride_for_width ()"><code class="function">cairo_format_stride_for_width()</code></a> with the desired format and +maximum image width value, and then use the resulting stride value +to allocate the data and to create the image surface. See +<a class="link" href="cairo-Image-Surfaces.html#cairo-format-stride-for-width" title="cairo_format_stride_for_width ()"><code class="function">cairo_format_stride_for_width()</code></a> for example code.</p> +<div class="refsect3"> +<a name="cairo-image-surface-create-for-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>a pointer to a buffer supplied by the application in which +to write contents. This pointer must be suitably aligned for any +kind of variable, (for example, a pointer returned by malloc).</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format of pixels in the buffer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the width of the image to be stored in the buffer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the height of the image to be stored in the buffer</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>stride</p></td> +<td class="parameter_description"><p>the number of bytes between the start of rows in the +buffer as allocated. This value should always be computed by +<a class="link" href="cairo-Image-Surfaces.html#cairo-format-stride-for-width" title="cairo_format_stride_for_width ()"><code class="function">cairo_format_stride_for_width()</code></a> before allocating the data +buffer.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-image-surface-create-for-data.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface in the case of an error such as out of +memory or an invalid stride value. In case of invalid stride value +the error status of the returned surface will be +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-STRIDE:CAPS"><code class="literal">CAIRO_STATUS_INVALID_STRIDE</code></a>. You can use +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +<p>See <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-user-data" title="cairo_surface_set_user_data ()"><code class="function">cairo_surface_set_user_data()</code></a> for a means of attaching a +destroy-notification fallback to the surface if necessary.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-image-surface-get-data"></a><h3>cairo_image_surface_get_data ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">char</span> * +cairo_image_surface_get_data (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Get a pointer to the data of the image surface, for direct +inspection or modification.</p> +<p>A call to <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()"><code class="function">cairo_surface_flush()</code></a> is required before accessing the +pixel data to ensure that all pending drawing operations are +finished. A call to <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty" title="cairo_surface_mark_dirty ()"><code class="function">cairo_surface_mark_dirty()</code></a> is required after +the data is modified.</p> +<div class="refsect3"> +<a name="cairo-image-surface-get-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_image_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-image-surface-get-data.returns"></a><h4>Returns</h4> +<p> a pointer to the image data of this surface or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> +if <em class="parameter"><code>surface</code></em> +is not an image surface, or if <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish" title="cairo_surface_finish ()"><code class="function">cairo_surface_finish()</code></a> +has been called.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-image-surface-get-format"></a><h3>cairo_image_surface_get_format ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="returnvalue">cairo_format_t</span></a> +cairo_image_surface_get_format (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Get the format of the surface.</p> +<div class="refsect3"> +<a name="cairo-image-surface-get-format.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_image_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-image-surface-get-format.returns"></a><h4>Returns</h4> +<p> the format of the surface</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-image-surface-get-width"></a><h3>cairo_image_surface_get_width ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_image_surface_get_width (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Get the width of the image surface in pixels.</p> +<div class="refsect3"> +<a name="cairo-image-surface-get-width.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_image_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-image-surface-get-width.returns"></a><h4>Returns</h4> +<p> the width of the surface in pixels.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-image-surface-get-height"></a><h3>cairo_image_surface_get_height ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_image_surface_get_height (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Get the height of the image surface in pixels.</p> +<div class="refsect3"> +<a name="cairo-image-surface-get-height.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_image_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-image-surface-get-height.returns"></a><h4>Returns</h4> +<p> the height of the surface in pixels.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-image-surface-get-stride"></a><h3>cairo_image_surface_get_stride ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_image_surface_get_stride (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Get the stride of the image surface in bytes</p> +<div class="refsect3"> +<a name="cairo-image-surface-get-stride.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_image_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-image-surface-get-stride.returns"></a><h4>Returns</h4> +<p> the stride of the image surface in bytes (or 0 if +<em class="parameter"><code>surface</code></em> +is not an image surface). The stride is the distance in +bytes from the beginning of one row of the image data to the +beginning of the next row.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Image-Surfaces.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-IMAGE-SURFACE:CAPS"></a><h3>CAIRO_HAS_IMAGE_SURFACE</h3> +<pre class="programlisting">#define CAIRO_HAS_IMAGE_SURFACE 1 +</pre> +<p>Defined if the image surface backend is available. +The image surface backend is always built in. +This macro was added for completeness in cairo 1.8.</p> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-format-t"></a><h3>enum cairo_format_t</h3> +<p><a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> is used to identify the memory format of +image data.</p> +<p>New entries may be added in future versions.</p> +<div class="refsect3"> +<a name="cairo-format-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FORMAT-INVALID:CAPS"></a>CAIRO_FORMAT_INVALID</p></td> +<td class="enum_member_description"> +<p>no such format exists or is supported.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FORMAT-ARGB32:CAPS"></a>CAIRO_FORMAT_ARGB32</p></td> +<td class="enum_member_description"> +<p>each pixel is a 32-bit quantity, with + alpha in the upper 8 bits, then red, then green, then blue. + The 32-bit quantities are stored native-endian. Pre-multiplied + alpha is used. (That is, 50% transparent red is 0x80800000, + not 0x80ff0000.) (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FORMAT-RGB24:CAPS"></a>CAIRO_FORMAT_RGB24</p></td> +<td class="enum_member_description"> +<p>each pixel is a 32-bit quantity, with + the upper 8 bits unused. Red, Green, and Blue are stored + in the remaining 24 bits in that order. (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FORMAT-A8:CAPS"></a>CAIRO_FORMAT_A8</p></td> +<td class="enum_member_description"> +<p>each pixel is a 8-bit quantity holding + an alpha value. (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FORMAT-A1:CAPS"></a>CAIRO_FORMAT_A1</p></td> +<td class="enum_member_description"> +<p>each pixel is a 1-bit quantity holding + an alpha value. Pixels are packed together into 32-bit + quantities. The ordering of the bits matches the + endianness of the platform. On a big-endian machine, the + first pixel is in the uppermost bit, on a little-endian + machine the first pixel is in the least-significant bit. (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FORMAT-RGB16-565:CAPS"></a>CAIRO_FORMAT_RGB16_565</p></td> +<td class="enum_member_description"> +<p>each pixel is a 16-bit quantity + with red in the upper 5 bits, then green in the middle + 6 bits, and blue in the lower 5 bits. (Since 1.2)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FORMAT-RGB30:CAPS"></a>CAIRO_FORMAT_RGB30</p></td> +<td class="enum_member_description"> +<p>like RGB24 but with 10bpc. (Since 1.12)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Image-Surfaces.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-PDF-Surfaces.html b/libs/cairo-1.16.0/doc/public/html/cairo-PDF-Surfaces.html new file mode 100644 index 0000000..95463d6 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-PDF-Surfaces.html @@ -0,0 +1,829 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>PDF Surfaces: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-Image-Surfaces.html" title="Image Surfaces"> +<link rel="next" href="cairo-PNG-Support.html" title="PNG Support"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-PDF-Surfaces.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-Image-Surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-PNG-Support.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-PDF-Surfaces"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-PDF-Surfaces.top_of_page"></a>PDF Surfaces</span></h2> +<p>PDF Surfaces — Rendering PDF documents</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-PDF-Surfaces.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-create" title="cairo_pdf_surface_create ()">cairo_pdf_surface_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-create-for-stream" title="cairo_pdf_surface_create_for_stream ()">cairo_pdf_surface_create_for_stream</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-restrict-to-version" title="cairo_pdf_surface_restrict_to_version ()">cairo_pdf_surface_restrict_to_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-get-versions" title="cairo_pdf_get_versions ()">cairo_pdf_get_versions</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-version-to-string" title="cairo_pdf_version_to_string ()">cairo_pdf_version_to_string</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-size" title="cairo_pdf_surface_set_size ()">cairo_pdf_surface_set_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-add-outline" title="cairo_pdf_surface_add_outline ()">cairo_pdf_surface_add_outline</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-metadata" title="cairo_pdf_surface_set_metadata ()">cairo_pdf_surface_set_metadata</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-page-label" title="cairo_pdf_surface_set_page_label ()">cairo_pdf_surface_set_page_label</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-thumbnail-size" title="cairo_pdf_surface_set_thumbnail_size ()">cairo_pdf_surface_set_thumbnail_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-PDF-Surfaces.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-PDF-Surfaces.html#CAIRO-HAS-PDF-SURFACE:CAPS" title="CAIRO_HAS_PDF_SURFACE">CAIRO_HAS_PDF_SURFACE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-PDF-Surfaces.html#CAIRO-PDF-OUTLINE-ROOT:CAPS" title="CAIRO_PDF_OUTLINE_ROOT">CAIRO_PDF_OUTLINE_ROOT</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-outline-flags-t" title="enum cairo_pdf_outline_flags_t">cairo_pdf_outline_flags_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-metadata-t" title="enum cairo_pdf_metadata_t">cairo_pdf_metadata_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-version-t" title="enum cairo_pdf_version_t">cairo_pdf_version_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-PDF-Surfaces.description"></a><h2>Description</h2> +<p>The PDF surface is used to render cairo graphics to Adobe +PDF files and is a multi-page vector surface backend.</p> +<p>The following mime types are supported: <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JPEG:CAPS" title="CAIRO_MIME_TYPE_JPEG"><code class="literal">CAIRO_MIME_TYPE_JPEG</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JP2:CAPS" title="CAIRO_MIME_TYPE_JP2"><code class="literal">CAIRO_MIME_TYPE_JP2</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" title="CAIRO_MIME_TYPE_UNIQUE_ID"><code class="literal">CAIRO_MIME_TYPE_UNIQUE_ID</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2:CAPS" title="CAIRO_MIME_TYPE_JBIG2"><code class="literal">CAIRO_MIME_TYPE_JBIG2</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL"><code class="literal">CAIRO_MIME_TYPE_JBIG2_GLOBAL</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID"><code class="literal">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</code></a>.</p> +<div class="refsect2"> +<a name="id-1.5.5.5.4"></a><h3>JBIG2 Images</h3> +<p>JBIG2 data in PDF must be in the embedded format as described in +ISO/IEC 11544. Image specific JBIG2 data must be in +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2:CAPS" title="CAIRO_MIME_TYPE_JBIG2"><code class="literal">CAIRO_MIME_TYPE_JBIG2</code></a>. Any global segments in the JBIG2 data +(segments with page association field set to 0) must be in +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL"><code class="literal">CAIRO_MIME_TYPE_JBIG2_GLOBAL</code></a>. The global data may be shared by +multiple images. All images sharing the same global data must set +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID"><code class="literal">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</code></a> to a unique identifier. At least +one of the images must provide the global data using +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL"><code class="literal">CAIRO_MIME_TYPE_JBIG2_GLOBAL</code></a>. The global data will only be +embedded once and shared by all JBIG2 images with the same +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID"><code class="literal">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</code></a>.</p> +</div> +<hr> +<div class="refsect2"> +<a name="ccitt"></a><h3>CCITT Fax Images</h3> +<p>The <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX</code></a> mime data requires a number of decoding +parameters These parameters are specified using <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</code></a>.</p> +<p><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</code></a> mime data must contain a string of the form +"param1=value1 param2=value2 ...".</p> +<p><em class="parameter"><code>Columns</code></em> +: [required] An integer specifying the width of the image in pixels.</p> +<p><em class="parameter"><code>Rows</code></em> +: [required] An integer specifying the height of the image in scan lines.</p> +<p><em class="parameter"><code>K</code></em> +: [optional] An integer identifying the encoding scheme used. < 0 +is 2 dimensional Group 4, = 0 is Group3 1 dimensional, > 0 is mixed 1 +and 2 dimensional encoding. Default is 0.</p> +<p><em class="parameter"><code>EndOfLine</code></em> +: [optional] If true end-of-line bit patterns are present. Default is false.</p> +<p><em class="parameter"><code>EncodedByteAlign</code></em> +: [optional] If true the end of line is padded +with 0 bits so the next line begins on a byte boundary. Default is false.</p> +<p><em class="parameter"><code>EndOfBlock</code></em> +: [optional] If true the data contains an end-of-block pattern. Default is true.</p> +<p><em class="parameter"><code>BlackIs1</code></em> +: [optional] If true 1 bits are black pixels. Default is false.</p> +<p><em class="parameter"><code>DamagedRowsBeforeError</code></em> +: [optional] An integer specifying the +number of damages rows tolerated before an error occurs. Default is 0.</p> +<p>Boolean values may be "true" or "false", or 1 or 0.</p> +<p>These parameters are the same as the CCITTFaxDecode parameters in the +<a class="ulink" href="https://www.adobe.com/products/postscript/pdfs/PLRM.pdf" target="_top">PostScript Language Reference</a> +and <a class="ulink" href="https://www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf" target="_top">Portable Document Format (PDF)</a>. +Refer to these documents for further details.</p> +<p>An example <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</code></a> string is:</p> +<pre class="programlisting"> +"Columns=10230 Rows=40000 K=1 EndOfLine=true EncodedByteAlign=1 BlackIs1=false" +</pre> +</div> +</div> +<div class="refsect1"> +<a name="cairo-PDF-Surfaces.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-pdf-surface-create"></a><h3>cairo_pdf_surface_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_pdf_surface_create (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>, + <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>, + <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre> +<p>Creates a PDF surface of the specified size in points to be written +to <em class="parameter"><code>filename</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-pdf-surface-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>filename</p></td> +<td class="parameter_description"><p>a filename for the PDF output (must be writable), <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> may be +used to specify no output. This will generate a PDF surface that +may be queried and used as a source, without generating a +temporary file.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width_in_points</p></td> +<td class="parameter_description"><p>width of the surface, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height_in_points</p></td> +<td class="parameter_description"><p>height of the surface, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pdf-surface-create.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pdf-surface-create-for-stream"></a><h3>cairo_pdf_surface_create_for_stream ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_pdf_surface_create_for_stream (<em class="parameter"><code><a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> write_func</code></em>, + <em class="parameter"><code><span class="type">void</span> *closure</code></em>, + <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>, + <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre> +<p>Creates a PDF surface of the specified size in points to be written +incrementally to the stream represented by <em class="parameter"><code>write_func</code></em> + and <em class="parameter"><code>closure</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-pdf-surface-create-for-stream.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>write_func</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> to accept the output data, may be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> +to indicate a no-op <em class="parameter"><code>write_func</code></em> +. With a no-op <em class="parameter"><code>write_func</code></em> +, +the surface may be queried or used as a source without +generating any temporary files.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>closure</p></td> +<td class="parameter_description"><p>the closure argument for <em class="parameter"><code>write_func</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width_in_points</p></td> +<td class="parameter_description"><p>width of the surface, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height_in_points</p></td> +<td class="parameter_description"><p>height of the surface, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pdf-surface-create-for-stream.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pdf-surface-restrict-to-version"></a><h3>cairo_pdf_surface_restrict_to_version ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pdf_surface_restrict_to_version (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-version-t" title="enum cairo_pdf_version_t"><span class="type">cairo_pdf_version_t</span></a> version</code></em>);</pre> +<p>Restricts the generated PDF file to <em class="parameter"><code>version</code></em> +. See <a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-get-versions" title="cairo_pdf_get_versions ()"><code class="function">cairo_pdf_get_versions()</code></a> +for a list of available version values that can be used here.</p> +<p>This function should only be called before any drawing operations +have been performed on the given surface. The simplest way to do +this is to call this function immediately after creating the +surface.</p> +<div class="refsect3"> +<a name="cairo-pdf-surface-restrict-to-version.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PDF <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>version</p></td> +<td class="parameter_description"><p>PDF version</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pdf-get-versions"></a><h3>cairo_pdf_get_versions ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pdf_get_versions (<em class="parameter"><code><a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-version-t" title="enum cairo_pdf_version_t"><span class="type">cairo_pdf_version_t</span></a> const **versions</code></em>, + <em class="parameter"><code><span class="type">int</span> *num_versions</code></em>);</pre> +<p>Used to retrieve the list of supported versions. See +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-restrict-to-version" title="cairo_pdf_surface_restrict_to_version ()"><code class="function">cairo_pdf_surface_restrict_to_version()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-pdf-get-versions.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>versions</p></td> +<td class="parameter_description"><p>supported version list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_versions</p></td> +<td class="parameter_description"><p>list length</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pdf-version-to-string"></a><h3>cairo_pdf_version_to_string ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +cairo_pdf_version_to_string (<em class="parameter"><code><a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-version-t" title="enum cairo_pdf_version_t"><span class="type">cairo_pdf_version_t</span></a> version</code></em>);</pre> +<p>Get the string representation of the given <em class="parameter"><code>version</code></em> + id. This function +will return <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>version</code></em> + isn't valid. See <a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-get-versions" title="cairo_pdf_get_versions ()"><code class="function">cairo_pdf_get_versions()</code></a> +for a way to get the list of valid version ids.</p> +<div class="refsect3"> +<a name="cairo-pdf-version-to-string.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>version</p></td> +<td class="parameter_description"><p>a version id</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pdf-version-to-string.returns"></a><h4>Returns</h4> +<p> the string associated to given version.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pdf-surface-set-size"></a><h3>cairo_pdf_surface_set_size ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pdf_surface_set_size (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>, + <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre> +<p>Changes the size of a PDF surface for the current (and +subsequent) pages.</p> +<p>This function should only be called before any drawing operations +have been performed on the current page. The simplest way to do +this is to call this function immediately after creating the +surface or immediately after completing a page with either +<a class="link" href="cairo-cairo-t.html#cairo-show-page" title="cairo_show_page ()"><code class="function">cairo_show_page()</code></a> or <a class="link" href="cairo-cairo-t.html#cairo-copy-page" title="cairo_copy_page ()"><code class="function">cairo_copy_page()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-pdf-surface-set-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PDF <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width_in_points</p></td> +<td class="parameter_description"><p>new surface width, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height_in_points</p></td> +<td class="parameter_description"><p>new surface height, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pdf-surface-add-outline"></a><h3>cairo_pdf_surface_add_outline ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_pdf_surface_add_outline (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">int</span> parent_id</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *link_attribs</code></em>, + <em class="parameter"><code><a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-outline-flags-t" title="enum cairo_pdf_outline_flags_t"><span class="type">cairo_pdf_outline_flags_t</span></a> flags</code></em>);</pre> +<p>Add an item to the document outline hierarchy with the name <em class="parameter"><code>utf8</code></em> + +that links to the location specified by <em class="parameter"><code>link_attribs</code></em> +. Link +attributes have the same keys and values as the <a class="link" href="cairo-Tags-and-Links.html#link" title="Link Tags">Link Tag</a>, +excluding the "rect" attribute. The item will be a child of the +item with id <em class="parameter"><code>parent_id</code></em> +. Use <a class="link" href="cairo-PDF-Surfaces.html#CAIRO-PDF-OUTLINE-ROOT:CAPS" title="CAIRO_PDF_OUTLINE_ROOT"><code class="literal">CAIRO_PDF_OUTLINE_ROOT</code></a> as the parent +id of top level items.</p> +<div class="refsect3"> +<a name="cairo-pdf-surface-add-outline.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PDF <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>parent_id</p></td> +<td class="parameter_description"><p>the id of the parent item or <a class="link" href="cairo-PDF-Surfaces.html#CAIRO-PDF-OUTLINE-ROOT:CAPS" title="CAIRO_PDF_OUTLINE_ROOT"><code class="literal">CAIRO_PDF_OUTLINE_ROOT</code></a> if this is a top level item.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8</p></td> +<td class="parameter_description"><p>the name of the outline</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>link_attribs</p></td> +<td class="parameter_description"><p>the link attributes specifying where this outline links to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>flags</p></td> +<td class="parameter_description"><p>outline item flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pdf-surface-add-outline.returns"></a><h4>Returns</h4> +<p> the id for the added item.</p> +</div> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pdf-surface-set-metadata"></a><h3>cairo_pdf_surface_set_metadata ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pdf_surface_set_metadata (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-metadata-t" title="enum cairo_pdf_metadata_t"><span class="type">cairo_pdf_metadata_t</span></a> metadata</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>);</pre> +<p>Set document metadata. The <a class="link" href="cairo-PDF-Surfaces.html#CAIRO-PDF-METADATA-CREATE-DATE:CAPS"><code class="literal">CAIRO_PDF_METADATA_CREATE_DATE</code></a> and +<a class="link" href="cairo-PDF-Surfaces.html#CAIRO-PDF-METADATA-MOD-DATE:CAPS"><code class="literal">CAIRO_PDF_METADATA_MOD_DATE</code></a> values must be in ISO-8601 format: +YYYY-MM-DDThh:mm:ss. An optional timezone of the form "[+/-]hh:mm" +or "Z" for UTC time can be appended. All other metadata values can be any UTF-8 +string.</p> +<p>For example:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="function"><a href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-metadata">cairo_pdf_surface_set_metadata</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> CAIRO_PDF_METADATA_TITLE<span class="gtkdoc opt">,</span> <span class="string">"My Document"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-metadata">cairo_pdf_surface_set_metadata</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> CAIRO_PDF_METADATA_CREATE_DATE<span class="gtkdoc opt">,</span> <span class="string">"2015-12-31T23:59+02:00"</span><span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<div class="refsect3"> +<a name="cairo-pdf-surface-set-metadata.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PDF <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>metadata</p></td> +<td class="parameter_description"><p>The metadata item to set.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8</p></td> +<td class="parameter_description"><p>metadata value</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pdf-surface-set-page-label"></a><h3>cairo_pdf_surface_set_page_label ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pdf_surface_set_page_label (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>);</pre> +<p>Set page label for the current page.</p> +<div class="refsect3"> +<a name="cairo-pdf-surface-set-page-label.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PDF <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8</p></td> +<td class="parameter_description"><p>The page label.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pdf-surface-set-thumbnail-size"></a><h3>cairo_pdf_surface_set_thumbnail_size ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pdf_surface_set_thumbnail_size (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Set the thumbnail image size for the current and all subsequent +pages. Setting a width or height of 0 disables thumbnails for the +current and subsequent pages.</p> +<div class="refsect3"> +<a name="cairo-pdf-surface-set-thumbnail-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PDF <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>Thumbnail width.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>Thumbnail height</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.16</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-PDF-Surfaces.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-PDF-SURFACE:CAPS"></a><h3>CAIRO_HAS_PDF_SURFACE</h3> +<pre class="programlisting">#define CAIRO_HAS_PDF_SURFACE 1 +</pre> +<p>Defined if the PDF surface backend is available. +This macro can be used to conditionally compile backend-specific code.</p> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-PDF-OUTLINE-ROOT:CAPS"></a><h3>CAIRO_PDF_OUTLINE_ROOT</h3> +<pre class="programlisting">#define CAIRO_PDF_OUTLINE_ROOT 0 +</pre> +<p>The root outline item in <a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-add-outline" title="cairo_pdf_surface_add_outline ()"><code class="function">cairo_pdf_surface_add_outline()</code></a>.</p> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pdf-outline-flags-t"></a><h3>enum cairo_pdf_outline_flags_t</h3> +<p><a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-outline-flags-t" title="enum cairo_pdf_outline_flags_t"><span class="type">cairo_pdf_outline_flags_t</span></a> is used by the +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-add-outline" title="cairo_pdf_surface_add_outline ()"><code class="function">cairo_pdf_surface_add_outline()</code></a> function specify the attributes of +an outline item. These flags may be bitwise-or'd to produce any +combination of flags.</p> +<div class="refsect3"> +<a name="cairo-pdf-outline-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PDF-OUTLINE-FLAG-OPEN:CAPS"></a>CAIRO_PDF_OUTLINE_FLAG_OPEN</p></td> +<td class="enum_member_description"> +<p>The outline item defaults to open in the PDF viewer (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PDF-OUTLINE-FLAG-BOLD:CAPS"></a>CAIRO_PDF_OUTLINE_FLAG_BOLD</p></td> +<td class="enum_member_description"> +<p>The outline item is displayed by the viewer in bold text (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PDF-OUTLINE-FLAG-ITALIC:CAPS"></a>CAIRO_PDF_OUTLINE_FLAG_ITALIC</p></td> +<td class="enum_member_description"> +<p>The outline item is displayed by the viewer in italic text (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pdf-metadata-t"></a><h3>enum cairo_pdf_metadata_t</h3> +<p><a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-metadata-t" title="enum cairo_pdf_metadata_t"><span class="type">cairo_pdf_metadata_t</span></a> is used by the +<a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-metadata" title="cairo_pdf_surface_set_metadata ()"><code class="function">cairo_pdf_surface_set_metadata()</code></a> function specify the metadata to set.</p> +<div class="refsect3"> +<a name="cairo-pdf-metadata-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PDF-METADATA-TITLE:CAPS"></a>CAIRO_PDF_METADATA_TITLE</p></td> +<td class="enum_member_description"> +<p>The document title (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PDF-METADATA-AUTHOR:CAPS"></a>CAIRO_PDF_METADATA_AUTHOR</p></td> +<td class="enum_member_description"> +<p>The document author (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PDF-METADATA-SUBJECT:CAPS"></a>CAIRO_PDF_METADATA_SUBJECT</p></td> +<td class="enum_member_description"> +<p>The document subject (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PDF-METADATA-KEYWORDS:CAPS"></a>CAIRO_PDF_METADATA_KEYWORDS</p></td> +<td class="enum_member_description"> +<p>The document keywords (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PDF-METADATA-CREATOR:CAPS"></a>CAIRO_PDF_METADATA_CREATOR</p></td> +<td class="enum_member_description"> +<p>The document creator (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PDF-METADATA-CREATE-DATE:CAPS"></a>CAIRO_PDF_METADATA_CREATE_DATE</p></td> +<td class="enum_member_description"> +<p>The document creation date (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PDF-METADATA-MOD-DATE:CAPS"></a>CAIRO_PDF_METADATA_MOD_DATE</p></td> +<td class="enum_member_description"> +<p>The document modification date (Since 1.16)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pdf-version-t"></a><h3>enum cairo_pdf_version_t</h3> +<p><a class="link" href="cairo-PDF-Surfaces.html#cairo-pdf-version-t" title="enum cairo_pdf_version_t"><span class="type">cairo_pdf_version_t</span></a> is used to describe the version number of the PDF +specification that a generated PDF file will conform to.</p> +<div class="refsect3"> +<a name="cairo-pdf-version-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PDF-VERSION-1-4:CAPS"></a>CAIRO_PDF_VERSION_1_4</p></td> +<td class="enum_member_description"> +<p>The version 1.4 of the PDF specification. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PDF-VERSION-1-5:CAPS"></a>CAIRO_PDF_VERSION_1_5</p></td> +<td class="enum_member_description"> +<p>The version 1.5 of the PDF specification. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-PDF-Surfaces.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-PNG-Support.html b/libs/cairo-1.16.0/doc/public/html/cairo-PNG-Support.html new file mode 100644 index 0000000..fd24b15 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-PNG-Support.html @@ -0,0 +1,413 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>PNG Support: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-PDF-Surfaces.html" title="PDF Surfaces"> +<link rel="next" href="cairo-PostScript-Surfaces.html" title="PostScript Surfaces"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-PNG-Support.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-PDF-Surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-PostScript-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-PNG-Support"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-PNG-Support.top_of_page"></a>PNG Support</span></h2> +<p>PNG Support — Reading and writing PNG images</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-PNG-Support.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-PNG-Support.html#cairo-image-surface-create-from-png" title="cairo_image_surface_create_from_png ()">cairo_image_surface_create_from_png</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="cairo-PNG-Support.html#cairo-read-func-t" title="cairo_read_func_t ()">*cairo_read_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-PNG-Support.html#cairo-image-surface-create-from-png-stream" title="cairo_image_surface_create_from_png_stream ()">cairo_image_surface_create_from_png_stream</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-PNG-Support.html#cairo-surface-write-to-png" title="cairo_surface_write_to_png ()">cairo_surface_write_to_png</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()">*cairo_write_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-PNG-Support.html#cairo-surface-write-to-png-stream" title="cairo_surface_write_to_png_stream ()">cairo_surface_write_to_png_stream</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-PNG-Support.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody><tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-PNG-Support.html#CAIRO-HAS-PNG-FUNCTIONS:CAPS" title="CAIRO_HAS_PNG_FUNCTIONS">CAIRO_HAS_PNG_FUNCTIONS</a></td> +</tr></tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-PNG-Support.description"></a><h2>Description</h2> +<p>The PNG functions allow reading PNG images into image surfaces, and writing +any surface to a PNG file.</p> +<p>It is a toy API. It only offers very simple support for reading and +writing PNG files, which is sufficient for testing and +demonstration purposes. Applications which need more control over +the generated PNG file should access the pixel data directly, using +<a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-get-data" title="cairo_image_surface_get_data ()"><code class="function">cairo_image_surface_get_data()</code></a> or a backend-specific access +function, and process it with another library, e.g. gdk-pixbuf or +libpng.</p> +</div> +<div class="refsect1"> +<a name="cairo-PNG-Support.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-image-surface-create-from-png"></a><h3>cairo_image_surface_create_from_png ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_image_surface_create_from_png (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);</pre> +<p>Creates a new image surface and initializes the contents to the +given PNG file.</p> +<div class="refsect3"> +<a name="cairo-image-surface-create-from-png.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>filename</p></td> +<td class="parameter_description"><p>name of PNG file to load. On Windows this filename +is encoded in UTF-8.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-image-surface-create-from-png.returns"></a><h4>Returns</h4> +<p> a new <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> initialized with the contents +of the PNG file, or a "nil" surface if any error occurred. A nil +surface can be checked for with cairo_surface_status(surface) which +may return one of the following values:</p> +<p><a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-FILE-NOT-FOUND:CAPS"><code class="literal">CAIRO_STATUS_FILE_NOT_FOUND</code></a> +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-READ-ERROR:CAPS"><code class="literal">CAIRO_STATUS_READ_ERROR</code></a> +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PNG-ERROR:CAPS"><code class="literal">CAIRO_STATUS_PNG_ERROR</code></a></p> +<p>Alternatively, you can allow errors to propagate through the drawing +operations and check the status on the context upon completion +using <a class="link" href="cairo-cairo-t.html#cairo-status" title="cairo_status ()"><code class="function">cairo_status()</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-read-func-t"></a><h3>cairo_read_func_t ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +<span class="c_punctuation">(</span>*cairo_read_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *closure</code></em>, + <em class="parameter"><code>unsigned <span class="type">char</span> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> length</code></em>);</pre> +<p><a class="link" href="cairo-PNG-Support.html#cairo-read-func-t" title="cairo_read_func_t ()"><span class="type">cairo_read_func_t</span></a> is the type of function which is called when a +backend needs to read data from an input stream. It is passed the +closure which was specified by the user at the time the read +function was registered, the buffer to read the data into and the +length of the data in bytes. The read function should return +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> if all the data was successfully read, +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-READ-ERROR:CAPS"><code class="literal">CAIRO_STATUS_READ_ERROR</code></a> otherwise.</p> +<div class="refsect3"> +<a name="cairo-read-func-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>closure</p></td> +<td class="parameter_description"><p>the input closure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the buffer into which to read the data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>length</p></td> +<td class="parameter_description"><p>the amount of data to read</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-read-func-t.returns"></a><h4>Returns</h4> +<p> the status code of the read operation</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-image-surface-create-from-png-stream"></a><h3>cairo_image_surface_create_from_png_stream ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_image_surface_create_from_png_stream + (<em class="parameter"><code><a class="link" href="cairo-PNG-Support.html#cairo-read-func-t" title="cairo_read_func_t ()"><span class="type">cairo_read_func_t</span></a> read_func</code></em>, + <em class="parameter"><code><span class="type">void</span> *closure</code></em>);</pre> +<p>Creates a new image surface from PNG data read incrementally +via the <em class="parameter"><code>read_func</code></em> + function.</p> +<div class="refsect3"> +<a name="cairo-image-surface-create-from-png-stream.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>read_func</p></td> +<td class="parameter_description"><p>function called to read the data of the file</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>closure</p></td> +<td class="parameter_description"><p>data to pass to <em class="parameter"><code>read_func</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-image-surface-create-from-png-stream.returns"></a><h4>Returns</h4> +<p> a new <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> initialized with the contents +of the PNG file or a "nil" surface if the data read is not a valid PNG image +or memory could not be allocated for the operation. A nil +surface can be checked for with cairo_surface_status(surface) which +may return one of the following values:</p> +<p><a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-READ-ERROR:CAPS"><code class="literal">CAIRO_STATUS_READ_ERROR</code></a> +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PNG-ERROR:CAPS"><code class="literal">CAIRO_STATUS_PNG_ERROR</code></a></p> +<p>Alternatively, you can allow errors to propagate through the drawing +operations and check the status on the context upon completion +using <a class="link" href="cairo-cairo-t.html#cairo-status" title="cairo_status ()"><code class="function">cairo_status()</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-write-to-png"></a><h3>cairo_surface_write_to_png ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_surface_write_to_png (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);</pre> +<p>Writes the contents of <em class="parameter"><code>surface</code></em> + to a new file <em class="parameter"><code>filename</code></em> + as a PNG +image.</p> +<div class="refsect3"> +<a name="cairo-surface-write-to-png.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> with pixel contents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>filename</p></td> +<td class="parameter_description"><p>the name of a file to write to; on Windows this filename +is encoded in UTF-8.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-write-to-png.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> if the PNG file was written +successfully. Otherwise, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if memory could not +be allocated for the operation or +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SURFACE-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_SURFACE_TYPE_MISMATCH</code></a> if the surface does not have +pixel contents, or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-WRITE-ERROR:CAPS"><code class="literal">CAIRO_STATUS_WRITE_ERROR</code></a> if an I/O error occurs +while attempting to write the file, or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PNG-ERROR:CAPS"><code class="literal">CAIRO_STATUS_PNG_ERROR</code></a> if libpng +returned an error.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-write-func-t"></a><h3>cairo_write_func_t ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +<span class="c_punctuation">(</span>*cairo_write_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *closure</code></em>, + <em class="parameter"><code>const unsigned <span class="type">char</span> *data</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> length</code></em>);</pre> +<p><a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> is the type of function which is called when a +backend needs to write data to an output stream. It is passed the +closure which was specified by the user at the time the write +function was registered, the data to write and the length of the +data in bytes. The write function should return +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> if all the data was successfully written, +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-WRITE-ERROR:CAPS"><code class="literal">CAIRO_STATUS_WRITE_ERROR</code></a> otherwise.</p> +<div class="refsect3"> +<a name="cairo-write-func-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>closure</p></td> +<td class="parameter_description"><p>the output closure</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the buffer containing the data to write</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>length</p></td> +<td class="parameter_description"><p>the amount of data to write</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-write-func-t.returns"></a><h4>Returns</h4> +<p> the status code of the write operation</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-write-to-png-stream"></a><h3>cairo_surface_write_to_png_stream ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_surface_write_to_png_stream (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> write_func</code></em>, + <em class="parameter"><code><span class="type">void</span> *closure</code></em>);</pre> +<p>Writes the image surface to the write function.</p> +<div class="refsect3"> +<a name="cairo-surface-write-to-png-stream.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> with pixel contents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>write_func</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>closure</p></td> +<td class="parameter_description"><p>closure data for the write function</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-write-to-png-stream.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> if the PNG file was written +successfully. Otherwise, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> is returned if +memory could not be allocated for the operation, +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SURFACE-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_SURFACE_TYPE_MISMATCH</code></a> if the surface does not have +pixel contents, or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PNG-ERROR:CAPS"><code class="literal">CAIRO_STATUS_PNG_ERROR</code></a> if libpng +returned an error.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-PNG-Support.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-PNG-FUNCTIONS:CAPS"></a><h3>CAIRO_HAS_PNG_FUNCTIONS</h3> +<pre class="programlisting">#define CAIRO_HAS_PNG_FUNCTIONS 1 +</pre> +<p>Defined if the PNG functions are available. +This macro can be used to conditionally compile code using the cairo +PNG functions.</p> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-PNG-Support.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Paths.html b/libs/cairo-1.16.0/doc/public/html/cairo-Paths.html new file mode 100644 index 0000000..5525a19 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Paths.html @@ -0,0 +1,1550 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Paths: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-drawing.html" title="Drawing"> +<link rel="prev" 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.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Paths.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-drawing.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-cairo-t.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-cairo-pattern-t.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Paths"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Paths.top_of_page"></a>Paths</span></h2> +<p>Paths — Creating paths and manipulating path data</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Paths.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="returnvalue">cairo_path_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-copy-path" title="cairo_copy_path ()">cairo_copy_path</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="returnvalue">cairo_path_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-copy-path-flat" title="cairo_copy_path_flat ()">cairo_copy_path_flat</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-path-destroy" title="cairo_path_destroy ()">cairo_path_destroy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-append-path" title="cairo_append_path ()">cairo_append_path</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-has-current-point" title="cairo_has_current_point ()">cairo_has_current_point</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-get-current-point" title="cairo_get_current_point ()">cairo_get_current_point</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-new-path" title="cairo_new_path ()">cairo_new_path</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-new-sub-path" title="cairo_new_sub_path ()">cairo_new_sub_path</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-close-path" title="cairo_close_path ()">cairo_close_path</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-arc" title="cairo_arc ()">cairo_arc</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-arc-negative" title="cairo_arc_negative ()">cairo_arc_negative</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-curve-to" title="cairo_curve_to ()">cairo_curve_to</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-line-to" title="cairo_line_to ()">cairo_line_to</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-move-to" title="cairo_move_to ()">cairo_move_to</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-rectangle" title="cairo_rectangle ()">cairo_rectangle</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-glyph-path" title="cairo_glyph_path ()">cairo_glyph_path</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-text-path" title="cairo_text_path ()">cairo_text_path</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-rel-curve-to" title="cairo_rel_curve_to ()">cairo_rel_curve_to</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-rel-line-to" title="cairo_rel_line_to ()">cairo_rel_line_to</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-rel-move-to" title="cairo_rel_move_to ()">cairo_rel_move_to</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Paths.html#cairo-path-extents" title="cairo_path_extents ()">cairo_path_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Paths.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t">cairo_path_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">union</td> +<td class="function_name"><a class="link" href="cairo-Paths.html#cairo-path-data-t" title="union cairo_path_data_t">cairo_path_data_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-Paths.html#cairo-path-data-type-t" title="enum cairo_path_data_type_t">cairo_path_data_type_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Paths.description"></a><h2>Description</h2> +<p>Paths are the most basic drawing tools and are primarily used to implicitly +generate simple masks.</p> +</div> +<div class="refsect1"> +<a name="cairo-Paths.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-copy-path"></a><h3>cairo_copy_path ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="returnvalue">cairo_path_t</span></a> * +cairo_copy_path (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Creates a copy of the current path and returns it to the user as a +<a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="type">cairo_path_t</span></a>. See <a class="link" href="cairo-Paths.html#cairo-path-data-t" title="union cairo_path_data_t"><span class="type">cairo_path_data_t</span></a> for hints on how to iterate +over the returned data structure.</p> +<p>This function will always return a valid pointer, but the result +will have no data (<code class="literal">data==<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></code> and +<code class="literal">num_data==0</code>), if either of the following +conditions hold:</p> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem">If there is insufficient memory to copy the path. In this + case <code class="literal">path->status</code> will be set to + <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>.</li> +<li class="listitem">If <em class="parameter"><code>cr</code></em> is already in an error state. In this case + <code class="literal">path->status</code> will contain the same status that + would be returned by <a class="link" href="cairo-cairo-t.html#cairo-status" title="cairo_status ()"><code class="function">cairo_status()</code></a>.</li> +</ol></div> +<div class="refsect3"> +<a name="cairo-copy-path.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-copy-path.returns"></a><h4>Returns</h4> +<p> the copy of the current path. The caller owns the +returned object and should call <a class="link" href="cairo-Paths.html#cairo-path-destroy" title="cairo_path_destroy ()"><code class="function">cairo_path_destroy()</code></a> when finished +with it.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-copy-path-flat"></a><h3>cairo_copy_path_flat ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="returnvalue">cairo_path_t</span></a> * +cairo_copy_path_flat (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets a flattened copy of the current path and returns it to the +user as a <a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="type">cairo_path_t</span></a>. See <a class="link" href="cairo-Paths.html#cairo-path-data-t" title="union cairo_path_data_t"><span class="type">cairo_path_data_t</span></a> for hints on +how to iterate over the returned data structure.</p> +<p>This function is like <a class="link" href="cairo-Paths.html#cairo-copy-path" title="cairo_copy_path ()"><code class="function">cairo_copy_path()</code></a> except that any curves +in the path will be approximated with piecewise-linear +approximations, (accurate to within the current tolerance +value). That is, the result is guaranteed to not have any elements +of type <a class="link" href="cairo-Paths.html#CAIRO-PATH-CURVE-TO:CAPS"><code class="literal">CAIRO_PATH_CURVE_TO</code></a> which will instead be replaced by a +series of <a class="link" href="cairo-Paths.html#CAIRO-PATH-LINE-TO:CAPS"><code class="literal">CAIRO_PATH_LINE_TO</code></a> elements.</p> +<p>This function will always return a valid pointer, but the result +will have no data (<code class="literal">data==<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></code> and +<code class="literal">num_data==0</code>), if either of the following +conditions hold:</p> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem">If there is insufficient memory to copy the path. In this + case <code class="literal">path->status</code> will be set to + <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>.</li> +<li class="listitem">If <em class="parameter"><code>cr</code></em> is already in an error state. In this case + <code class="literal">path->status</code> will contain the same status that + would be returned by <a class="link" href="cairo-cairo-t.html#cairo-status" title="cairo_status ()"><code class="function">cairo_status()</code></a>.</li> +</ol></div> +<div class="refsect3"> +<a name="cairo-copy-path-flat.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-copy-path-flat.returns"></a><h4>Returns</h4> +<p> the copy of the current path. The caller owns the +returned object and should call <a class="link" href="cairo-Paths.html#cairo-path-destroy" title="cairo_path_destroy ()"><code class="function">cairo_path_destroy()</code></a> when finished +with it.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-path-destroy"></a><h3>cairo_path_destroy ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_path_destroy (<em class="parameter"><code><a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="type">cairo_path_t</span></a> *path</code></em>);</pre> +<p>Immediately releases all memory associated with <em class="parameter"><code>path</code></em> +. After a call +to <a class="link" href="cairo-Paths.html#cairo-path-destroy" title="cairo_path_destroy ()"><code class="function">cairo_path_destroy()</code></a> the <em class="parameter"><code>path</code></em> + pointer is no longer valid and +should not be used further.</p> +<p>Note: <a class="link" href="cairo-Paths.html#cairo-path-destroy" title="cairo_path_destroy ()"><code class="function">cairo_path_destroy()</code></a> should only be called with a +pointer to a <a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="type">cairo_path_t</span></a> returned by a cairo function. Any path +that is created manually (ie. outside of cairo) should be destroyed +manually as well.</p> +<div class="refsect3"> +<a name="cairo-path-destroy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>path</p></td> +<td class="parameter_description"><p>a path previously returned by either <a class="link" href="cairo-Paths.html#cairo-copy-path" title="cairo_copy_path ()"><code class="function">cairo_copy_path()</code></a> or +<a class="link" href="cairo-Paths.html#cairo-copy-path-flat" title="cairo_copy_path_flat ()"><code class="function">cairo_copy_path_flat()</code></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-append-path"></a><h3>cairo_append_path ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_append_path (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="type">cairo_path_t</span></a> *path</code></em>);</pre> +<p>Append the <em class="parameter"><code>path</code></em> + onto the current path. The <em class="parameter"><code>path</code></em> + may be either the +return value from one of <a class="link" href="cairo-Paths.html#cairo-copy-path" title="cairo_copy_path ()"><code class="function">cairo_copy_path()</code></a> or +<a class="link" href="cairo-Paths.html#cairo-copy-path-flat" title="cairo_copy_path_flat ()"><code class="function">cairo_copy_path_flat()</code></a> or it may be constructed manually. See +<a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="type">cairo_path_t</span></a> for details on how the path data structure should be +initialized, and note that <code class="literal">path->status</code> must be +initialized to <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>.</p> +<div class="refsect3"> +<a name="cairo-append-path.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>path</p></td> +<td class="parameter_description"><p>path to be appended</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-has-current-point"></a><h3>cairo_has_current_point ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +cairo_has_current_point (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Returns whether a current point is defined on the current path. +See <a class="link" href="cairo-Paths.html#cairo-get-current-point" title="cairo_get_current_point ()"><code class="function">cairo_get_current_point()</code></a> for details on the current point.</p> +<div class="refsect3"> +<a name="cairo-has-current-point.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-has-current-point.returns"></a><h4>Returns</h4> +<p> whether a current point is defined.</p> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-current-point"></a><h3>cairo_get_current_point ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_get_current_point (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> *x</code></em>, + <em class="parameter"><code><span class="type">double</span> *y</code></em>);</pre> +<p>Gets the current point of the current path, which is +conceptually the final point reached by the path so far.</p> +<p>The current point is returned in the user-space coordinate +system. If there is no defined current point or if <em class="parameter"><code>cr</code></em> + is in an +error status, <em class="parameter"><code>x</code></em> + and <em class="parameter"><code>y</code></em> + will both be set to 0.0. It is possible to +check this in advance with <a class="link" href="cairo-Paths.html#cairo-has-current-point" title="cairo_has_current_point ()"><code class="function">cairo_has_current_point()</code></a>.</p> +<p>Most path construction functions alter the current point. See the +following for details on how they affect the current point: +<a class="link" href="cairo-Paths.html#cairo-new-path" title="cairo_new_path ()"><code class="function">cairo_new_path()</code></a>, <a class="link" href="cairo-Paths.html#cairo-new-sub-path" title="cairo_new_sub_path ()"><code class="function">cairo_new_sub_path()</code></a>, +<a class="link" href="cairo-Paths.html#cairo-append-path" title="cairo_append_path ()"><code class="function">cairo_append_path()</code></a>, <a class="link" href="cairo-Paths.html#cairo-close-path" title="cairo_close_path ()"><code class="function">cairo_close_path()</code></a>, +<a class="link" href="cairo-Paths.html#cairo-move-to" title="cairo_move_to ()"><code class="function">cairo_move_to()</code></a>, <a class="link" href="cairo-Paths.html#cairo-line-to" title="cairo_line_to ()"><code class="function">cairo_line_to()</code></a>, <a class="link" href="cairo-Paths.html#cairo-curve-to" title="cairo_curve_to ()"><code class="function">cairo_curve_to()</code></a>, +<a class="link" href="cairo-Paths.html#cairo-rel-move-to" title="cairo_rel_move_to ()"><code class="function">cairo_rel_move_to()</code></a>, <a class="link" href="cairo-Paths.html#cairo-rel-line-to" title="cairo_rel_line_to ()"><code class="function">cairo_rel_line_to()</code></a>, <a class="link" href="cairo-Paths.html#cairo-rel-curve-to" title="cairo_rel_curve_to ()"><code class="function">cairo_rel_curve_to()</code></a>, +<a class="link" href="cairo-Paths.html#cairo-arc" title="cairo_arc ()"><code class="function">cairo_arc()</code></a>, <a class="link" href="cairo-Paths.html#cairo-arc-negative" title="cairo_arc_negative ()"><code class="function">cairo_arc_negative()</code></a>, <a class="link" href="cairo-Paths.html#cairo-rectangle" title="cairo_rectangle ()"><code class="function">cairo_rectangle()</code></a>, +<a class="link" href="cairo-Paths.html#cairo-text-path" title="cairo_text_path ()"><code class="function">cairo_text_path()</code></a>, <a class="link" href="cairo-Paths.html#cairo-glyph-path" title="cairo_glyph_path ()"><code class="function">cairo_glyph_path()</code></a>, <code class="function">cairo_stroke_to_path()</code>.</p> +<p>Some functions use and alter the current point but do not +otherwise change current path: +<a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a>.</p> +<p>Some functions unset the current path and as a result, current point: +<a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-current-point.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>return value for X coordinate of the current point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>return value for Y coordinate of the current point</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-new-path"></a><h3>cairo_new_path ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_new_path (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Clears the current path. After this call there will be no path and +no current point.</p> +<div class="refsect3"> +<a name="cairo-new-path.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-new-sub-path"></a><h3>cairo_new_sub_path ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_new_sub_path (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Begin a new sub-path. Note that the existing path is not +affected. After this call there will be no current point.</p> +<p>In many cases, this call is not needed since new sub-paths are +frequently started with <a class="link" href="cairo-Paths.html#cairo-move-to" title="cairo_move_to ()"><code class="function">cairo_move_to()</code></a>.</p> +<p>A call to <a class="link" href="cairo-Paths.html#cairo-new-sub-path" title="cairo_new_sub_path ()"><code class="function">cairo_new_sub_path()</code></a> is particularly useful when +beginning a new sub-path with one of the <a class="link" href="cairo-Paths.html#cairo-arc" title="cairo_arc ()"><code class="function">cairo_arc()</code></a> calls. This +makes things easier as it is no longer necessary to manually +compute the arc's initial coordinates for a call to +<a class="link" href="cairo-Paths.html#cairo-move-to" title="cairo_move_to ()"><code class="function">cairo_move_to()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-new-sub-path.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-close-path"></a><h3>cairo_close_path ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_close_path (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Adds a line segment to the path from the current point to the +beginning of the current sub-path, (the most recent point passed to +<a class="link" href="cairo-Paths.html#cairo-move-to" title="cairo_move_to ()"><code class="function">cairo_move_to()</code></a>), and closes this sub-path. After this call the +current point will be at the joined endpoint of the sub-path.</p> +<p>The behavior of <a class="link" href="cairo-Paths.html#cairo-close-path" title="cairo_close_path ()"><code class="function">cairo_close_path()</code></a> is distinct from simply calling +<a class="link" href="cairo-Paths.html#cairo-line-to" title="cairo_line_to ()"><code class="function">cairo_line_to()</code></a> with the equivalent coordinate in the case of +stroking. When a closed sub-path is stroked, there are no caps on +the ends of the sub-path. Instead, there is a line join connecting +the final and initial segments of the sub-path.</p> +<p>If there is no current point before the call to <a class="link" href="cairo-Paths.html#cairo-close-path" title="cairo_close_path ()"><code class="function">cairo_close_path()</code></a>, +this function will have no effect.</p> +<p>Note: As of cairo version 1.2.4 any call to <a class="link" href="cairo-Paths.html#cairo-close-path" title="cairo_close_path ()"><code class="function">cairo_close_path()</code></a> will +place an explicit MOVE_TO element into the path immediately after +the CLOSE_PATH element, (which can be seen in <a class="link" href="cairo-Paths.html#cairo-copy-path" title="cairo_copy_path ()"><code class="function">cairo_copy_path()</code></a> for +example). This can simplify path processing in some cases as it may +not be necessary to save the "last move_to point" during processing +as the MOVE_TO immediately after the CLOSE_PATH will provide that +point.</p> +<div class="refsect3"> +<a name="cairo-close-path.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-arc"></a><h3>cairo_arc ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_arc (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> xc</code></em>, + <em class="parameter"><code><span class="type">double</span> yc</code></em>, + <em class="parameter"><code><span class="type">double</span> radius</code></em>, + <em class="parameter"><code><span class="type">double</span> angle1</code></em>, + <em class="parameter"><code><span class="type">double</span> angle2</code></em>);</pre> +<p>Adds a circular arc of the given <em class="parameter"><code>radius</code></em> + to the current path. The +arc is centered at (<em class="parameter"><code>xc</code></em> +, <em class="parameter"><code>yc</code></em> +), begins at <em class="parameter"><code>angle1</code></em> + and proceeds in +the direction of increasing angles to end at <em class="parameter"><code>angle2</code></em> +. If <em class="parameter"><code>angle2</code></em> + is +less than <em class="parameter"><code>angle1</code></em> + it will be progressively increased by +<code class="literal">2*M_PI</code> until it is greater than <em class="parameter"><code>angle1</code></em> +.</p> +<p>If there is a current point, an initial line segment will be added +to the path to connect the current point to the beginning of the +arc. If this initial line is undesired, it can be avoided by +calling <a class="link" href="cairo-Paths.html#cairo-new-sub-path" title="cairo_new_sub_path ()"><code class="function">cairo_new_sub_path()</code></a> before calling <a class="link" href="cairo-Paths.html#cairo-arc" title="cairo_arc ()"><code class="function">cairo_arc()</code></a>.</p> +<p>Angles are measured in radians. An angle of 0.0 is in the direction +of the positive X axis (in user space). An angle of +<code class="literal">M_PI/2.0</code> radians (90 degrees) is in the +direction of the positive Y axis (in user space). Angles increase +in the direction from the positive X axis toward the positive Y +axis. So with the default transformation matrix, angles increase in +a clockwise direction.</p> +<p>(To convert from degrees to radians, use <code class="literal">degrees * (M_PI / +180.)</code>.)</p> +<p>This function gives the arc in the direction of increasing angles; +see <a class="link" href="cairo-Paths.html#cairo-arc-negative" title="cairo_arc_negative ()"><code class="function">cairo_arc_negative()</code></a> to get the arc in the direction of +decreasing angles.</p> +<p>The arc is circular in user space. To achieve an elliptical arc, +you can scale the current transformation matrix by different +amounts in the X and Y directions. For example, to draw an ellipse +in the box given by <em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +, <em class="parameter"><code>width</code></em> +, <em class="parameter"><code>height</code></em> +:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="function"><a href="cairo-cairo-t.html#cairo-save">cairo_save</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Transformations.html#cairo-translate">cairo_translate</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> x <span class="gtkdoc opt">+</span> width <span class="gtkdoc opt">/</span> <span class="number">2</span><span class="gtkdoc opt">.,</span> y <span class="gtkdoc opt">+</span> height <span class="gtkdoc opt">/</span> <span class="number">2</span><span class="gtkdoc opt">.);</span> +<span class="function"><a href="cairo-Transformations.html#cairo-scale">cairo_scale</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> width <span class="gtkdoc opt">/</span> <span class="number">2</span><span class="gtkdoc opt">.,</span> height <span class="gtkdoc opt">/</span> <span class="number">2</span><span class="gtkdoc opt">.);</span> +<span class="function"><a href="cairo-Paths.html#cairo-arc">cairo_arc</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">.,</span> <span class="number">0</span><span class="gtkdoc opt">.,</span> <span class="number">1</span><span class="gtkdoc opt">.,</span> <span class="number">0</span><span class="gtkdoc opt">.,</span> <span class="number">2</span> <span class="gtkdoc opt">*</span> M_PI<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-t.html#cairo-restore">cairo_restore</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<div class="refsect3"> +<a name="cairo-arc.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>xc</p></td> +<td class="parameter_description"><p>X position of the center of the arc</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>yc</p></td> +<td class="parameter_description"><p>Y position of the center of the arc</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>radius</p></td> +<td class="parameter_description"><p>the radius of the arc</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>angle1</p></td> +<td class="parameter_description"><p>the start angle, in radians</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>angle2</p></td> +<td class="parameter_description"><p>the end angle, in radians</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-arc-negative"></a><h3>cairo_arc_negative ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_arc_negative (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> xc</code></em>, + <em class="parameter"><code><span class="type">double</span> yc</code></em>, + <em class="parameter"><code><span class="type">double</span> radius</code></em>, + <em class="parameter"><code><span class="type">double</span> angle1</code></em>, + <em class="parameter"><code><span class="type">double</span> angle2</code></em>);</pre> +<p>Adds a circular arc of the given <em class="parameter"><code>radius</code></em> + to the current path. The +arc is centered at (<em class="parameter"><code>xc</code></em> +, <em class="parameter"><code>yc</code></em> +), begins at <em class="parameter"><code>angle1</code></em> + and proceeds in +the direction of decreasing angles to end at <em class="parameter"><code>angle2</code></em> +. If <em class="parameter"><code>angle2</code></em> + is +greater than <em class="parameter"><code>angle1</code></em> + it will be progressively decreased by +<code class="literal">2*M_PI</code> until it is less than <em class="parameter"><code>angle1</code></em> +.</p> +<p>See <a class="link" href="cairo-Paths.html#cairo-arc" title="cairo_arc ()"><code class="function">cairo_arc()</code></a> for more details. This function differs only in the +direction of the arc between the two angles.</p> +<div class="refsect3"> +<a name="cairo-arc-negative.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>xc</p></td> +<td class="parameter_description"><p>X position of the center of the arc</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>yc</p></td> +<td class="parameter_description"><p>Y position of the center of the arc</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>radius</p></td> +<td class="parameter_description"><p>the radius of the arc</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>angle1</p></td> +<td class="parameter_description"><p>the start angle, in radians</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>angle2</p></td> +<td class="parameter_description"><p>the end angle, in radians</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-curve-to"></a><h3>cairo_curve_to ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_curve_to (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> x1</code></em>, + <em class="parameter"><code><span class="type">double</span> y1</code></em>, + <em class="parameter"><code><span class="type">double</span> x2</code></em>, + <em class="parameter"><code><span class="type">double</span> y2</code></em>, + <em class="parameter"><code><span class="type">double</span> x3</code></em>, + <em class="parameter"><code><span class="type">double</span> y3</code></em>);</pre> +<p>Adds a cubic Bézier spline to the path from the current point to +position (<em class="parameter"><code>x3</code></em> +, <em class="parameter"><code>y3</code></em> +) in user-space coordinates, using (<em class="parameter"><code>x1</code></em> +, <em class="parameter"><code>y1</code></em> +) and +(<em class="parameter"><code>x2</code></em> +, <em class="parameter"><code>y2</code></em> +) as the control points. After this call the current point +will be (<em class="parameter"><code>x3</code></em> +, <em class="parameter"><code>y3</code></em> +).</p> +<p>If there is no current point before the call to <a class="link" href="cairo-Paths.html#cairo-curve-to" title="cairo_curve_to ()"><code class="function">cairo_curve_to()</code></a> +this function will behave as if preceded by a call to +cairo_move_to(<em class="parameter"><code>cr</code></em> +, <em class="parameter"><code>x1</code></em> +, <em class="parameter"><code>y1</code></em> +).</p> +<div class="refsect3"> +<a name="cairo-curve-to.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x1</p></td> +<td class="parameter_description"><p>the X coordinate of the first control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y1</p></td> +<td class="parameter_description"><p>the Y coordinate of the first control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x2</p></td> +<td class="parameter_description"><p>the X coordinate of the second control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y2</p></td> +<td class="parameter_description"><p>the Y coordinate of the second control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x3</p></td> +<td class="parameter_description"><p>the X coordinate of the end of the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y3</p></td> +<td class="parameter_description"><p>the Y coordinate of the end of the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-line-to"></a><h3>cairo_line_to ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_line_to (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> x</code></em>, + <em class="parameter"><code><span class="type">double</span> y</code></em>);</pre> +<p>Adds a line to the path from the current point to position (<em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +) +in user-space coordinates. After this call the current point +will be (<em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +).</p> +<p>If there is no current point before the call to <a class="link" href="cairo-Paths.html#cairo-line-to" title="cairo_line_to ()"><code class="function">cairo_line_to()</code></a> +this function will behave as cairo_move_to(<em class="parameter"><code>cr</code></em> +, <em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +).</p> +<div class="refsect3"> +<a name="cairo-line-to.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>the X coordinate of the end of the new line</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>the Y coordinate of the end of the new line</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-move-to"></a><h3>cairo_move_to ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_move_to (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> x</code></em>, + <em class="parameter"><code><span class="type">double</span> y</code></em>);</pre> +<p>Begin a new sub-path. After this call the current point will be (<em class="parameter"><code>x</code></em> +, +<em class="parameter"><code>y</code></em> +).</p> +<div class="refsect3"> +<a name="cairo-move-to.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>the X coordinate of the new position</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>the Y coordinate of the new position</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-rectangle"></a><h3>cairo_rectangle ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_rectangle (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> x</code></em>, + <em class="parameter"><code><span class="type">double</span> y</code></em>, + <em class="parameter"><code><span class="type">double</span> width</code></em>, + <em class="parameter"><code><span class="type">double</span> height</code></em>);</pre> +<p>Adds a closed sub-path rectangle of the given size to the current +path at position (<em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +) in user-space coordinates.</p> +<p>This function is logically equivalent to:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="function"><a href="cairo-Paths.html#cairo-move-to">cairo_move_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> x<span class="gtkdoc opt">,</span> y<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Paths.html#cairo-rel-line-to">cairo_rel_line_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Paths.html#cairo-rel-line-to">cairo_rel_line_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Paths.html#cairo-rel-line-to">cairo_rel_line_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">, -</span>width<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Paths.html#cairo-close-path">cairo_close_path</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<div class="refsect3"> +<a name="cairo-rectangle.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>the X coordinate of the top left corner of the rectangle</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>the Y coordinate to the top left corner of the rectangle</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the width of the rectangle</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the height of the rectangle</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-glyph-path"></a><h3>cairo_glyph_path ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_glyph_path (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> *glyphs</code></em>, + <em class="parameter"><code><span class="type">int</span> num_glyphs</code></em>);</pre> +<p>Adds closed paths for the glyphs to the current path. The generated +path if filled, achieves an effect similar to that of +<a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-glyph-path.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyphs</p></td> +<td class="parameter_description"><p>array of glyphs to show</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_glyphs</p></td> +<td class="parameter_description"><p>number of glyphs to show</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-text-path"></a><h3>cairo_text_path ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_text_path (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>);</pre> +<p>Adds closed paths for text to the current path. The generated +path if filled, achieves an effect similar to that of +<a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a>.</p> +<p>Text conversion and positioning is done similar to <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a>.</p> +<p>Like <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a>, After this call the current point is +moved to the origin of where the next glyph would be placed in +this same progression. That is, the current point will be at +the origin of the final glyph offset by its advance values. +This allows for chaining multiple calls to to <a class="link" href="cairo-Paths.html#cairo-text-path" title="cairo_text_path ()"><code class="function">cairo_text_path()</code></a> +without having to set current point in between.</p> +<p>Note: The <a class="link" href="cairo-Paths.html#cairo-text-path" title="cairo_text_path ()"><code class="function">cairo_text_path()</code></a> function call is part of what the cairo +designers call the "toy" text API. It is convenient for short demos +and simple programs, but it is not expected to be adequate for +serious text-using applications. See <a class="link" href="cairo-Paths.html#cairo-glyph-path" title="cairo_glyph_path ()"><code class="function">cairo_glyph_path()</code></a> for the +"real" text path API in cairo.</p> +<div class="refsect3"> +<a name="cairo-text-path.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8</p></td> +<td class="parameter_description"><p>a NUL-terminated string of text encoded in UTF-8, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-rel-curve-to"></a><h3>cairo_rel_curve_to ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_rel_curve_to (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> dx1</code></em>, + <em class="parameter"><code><span class="type">double</span> dy1</code></em>, + <em class="parameter"><code><span class="type">double</span> dx2</code></em>, + <em class="parameter"><code><span class="type">double</span> dy2</code></em>, + <em class="parameter"><code><span class="type">double</span> dx3</code></em>, + <em class="parameter"><code><span class="type">double</span> dy3</code></em>);</pre> +<p>Relative-coordinate version of <a class="link" href="cairo-Paths.html#cairo-curve-to" title="cairo_curve_to ()"><code class="function">cairo_curve_to()</code></a>. All offsets are +relative to the current point. Adds a cubic Bézier spline to the +path from the current point to a point offset from the current +point by (<em class="parameter"><code>dx3</code></em> +, <em class="parameter"><code>dy3</code></em> +), using points offset by (<em class="parameter"><code>dx1</code></em> +, <em class="parameter"><code>dy1</code></em> +) and +(<em class="parameter"><code>dx2</code></em> +, <em class="parameter"><code>dy2</code></em> +) as the control points. After this call the current +point will be offset by (<em class="parameter"><code>dx3</code></em> +, <em class="parameter"><code>dy3</code></em> +).</p> +<p>Given a current point of (x, y), cairo_rel_curve_to(<em class="parameter"><code>cr</code></em> +, <em class="parameter"><code>dx1</code></em> +, +<em class="parameter"><code>dy1</code></em> +, <em class="parameter"><code>dx2</code></em> +, <em class="parameter"><code>dy2</code></em> +, <em class="parameter"><code>dx3</code></em> +, <em class="parameter"><code>dy3</code></em> +) is logically equivalent to +cairo_curve_to(<em class="parameter"><code>cr</code></em> +, x+<em class="parameter"><code>dx1</code></em> +, y+<em class="parameter"><code>dy1</code></em> +, x+<em class="parameter"><code>dx2</code></em> +, y+<em class="parameter"><code>dy2</code></em> +, x+<em class="parameter"><code>dx3</code></em> +, y+<em class="parameter"><code>dy3</code></em> +).</p> +<p>It is an error to call this function with no current point. Doing +so will cause <em class="parameter"><code>cr</code></em> + to shutdown with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-CURRENT-POINT:CAPS"><code class="literal">CAIRO_STATUS_NO_CURRENT_POINT</code></a>.</p> +<div class="refsect3"> +<a name="cairo-rel-curve-to.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dx1</p></td> +<td class="parameter_description"><p>the X offset to the first control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dy1</p></td> +<td class="parameter_description"><p>the Y offset to the first control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dx2</p></td> +<td class="parameter_description"><p>the X offset to the second control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dy2</p></td> +<td class="parameter_description"><p>the Y offset to the second control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dx3</p></td> +<td class="parameter_description"><p>the X offset to the end of the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dy3</p></td> +<td class="parameter_description"><p>the Y offset to the end of the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-rel-line-to"></a><h3>cairo_rel_line_to ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_rel_line_to (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> dx</code></em>, + <em class="parameter"><code><span class="type">double</span> dy</code></em>);</pre> +<p>Relative-coordinate version of <a class="link" href="cairo-Paths.html#cairo-line-to" title="cairo_line_to ()"><code class="function">cairo_line_to()</code></a>. Adds a line to the +path from the current point to a point that is offset from the +current point by (<em class="parameter"><code>dx</code></em> +, <em class="parameter"><code>dy</code></em> +) in user space. After this call the +current point will be offset by (<em class="parameter"><code>dx</code></em> +, <em class="parameter"><code>dy</code></em> +).</p> +<p>Given a current point of (x, y), cairo_rel_line_to(<em class="parameter"><code>cr</code></em> +, <em class="parameter"><code>dx</code></em> +, <em class="parameter"><code>dy</code></em> +) +is logically equivalent to cairo_line_to(<em class="parameter"><code>cr</code></em> +, x + <em class="parameter"><code>dx</code></em> +, y + <em class="parameter"><code>dy</code></em> +).</p> +<p>It is an error to call this function with no current point. Doing +so will cause <em class="parameter"><code>cr</code></em> + to shutdown with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-CURRENT-POINT:CAPS"><code class="literal">CAIRO_STATUS_NO_CURRENT_POINT</code></a>.</p> +<div class="refsect3"> +<a name="cairo-rel-line-to.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dx</p></td> +<td class="parameter_description"><p>the X offset to the end of the new line</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dy</p></td> +<td class="parameter_description"><p>the Y offset to the end of the new line</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-rel-move-to"></a><h3>cairo_rel_move_to ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_rel_move_to (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> dx</code></em>, + <em class="parameter"><code><span class="type">double</span> dy</code></em>);</pre> +<p>Begin a new sub-path. After this call the current point will offset +by (<em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +).</p> +<p>Given a current point of (x, y), cairo_rel_move_to(<em class="parameter"><code>cr</code></em> +, <em class="parameter"><code>dx</code></em> +, <em class="parameter"><code>dy</code></em> +) +is logically equivalent to cairo_move_to(<em class="parameter"><code>cr</code></em> +, x + <em class="parameter"><code>dx</code></em> +, y + <em class="parameter"><code>dy</code></em> +).</p> +<p>It is an error to call this function with no current point. Doing +so will cause <em class="parameter"><code>cr</code></em> + to shutdown with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-CURRENT-POINT:CAPS"><code class="literal">CAIRO_STATUS_NO_CURRENT_POINT</code></a>.</p> +<div class="refsect3"> +<a name="cairo-rel-move-to.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dx</p></td> +<td class="parameter_description"><p>the X offset</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dy</p></td> +<td class="parameter_description"><p>the Y offset</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-path-extents"></a><h3>cairo_path_extents ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_path_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> *x1</code></em>, + <em class="parameter"><code><span class="type">double</span> *y1</code></em>, + <em class="parameter"><code><span class="type">double</span> *x2</code></em>, + <em class="parameter"><code><span class="type">double</span> *y2</code></em>);</pre> +<p>Computes a bounding box in user-space coordinates covering the +points on the current path. If the current path is empty, returns +an empty rectangle ((0,0), (0,0)). Stroke parameters, fill rule, +surface dimensions and clipping are not taken into account.</p> +<p>Contrast with <a class="link" href="cairo-cairo-t.html#cairo-fill-extents" title="cairo_fill_extents ()"><code class="function">cairo_fill_extents()</code></a> and <a class="link" href="cairo-cairo-t.html#cairo-stroke-extents" title="cairo_stroke_extents ()"><code class="function">cairo_stroke_extents()</code></a> which +return the extents of only the area that would be "inked" by +the corresponding drawing operations.</p> +<p>The result of <a class="link" href="cairo-Paths.html#cairo-path-extents" title="cairo_path_extents ()"><code class="function">cairo_path_extents()</code></a> is defined as equivalent to the +limit of <a class="link" href="cairo-cairo-t.html#cairo-stroke-extents" title="cairo_stroke_extents ()"><code class="function">cairo_stroke_extents()</code></a> with <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-CAP-ROUND:CAPS"><code class="literal">CAIRO_LINE_CAP_ROUND</code></a> as the +line width approaches 0.0, (but never reaching the empty-rectangle +returned by <a class="link" href="cairo-cairo-t.html#cairo-stroke-extents" title="cairo_stroke_extents ()"><code class="function">cairo_stroke_extents()</code></a> for a line width of 0.0).</p> +<p>Specifically, this means that zero-area sub-paths such as +<a class="link" href="cairo-Paths.html#cairo-move-to" title="cairo_move_to ()"><code class="function">cairo_move_to()</code></a>;<a class="link" href="cairo-Paths.html#cairo-line-to" title="cairo_line_to ()"><code class="function">cairo_line_to()</code></a> segments, (even degenerate cases +where the coordinates to both calls are identical), will be +considered as contributing to the extents. However, a lone +<a class="link" href="cairo-Paths.html#cairo-move-to" title="cairo_move_to ()"><code class="function">cairo_move_to()</code></a> will not contribute to the results of +<a class="link" href="cairo-Paths.html#cairo-path-extents" title="cairo_path_extents ()"><code class="function">cairo_path_extents()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-path-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x1</p></td> +<td class="parameter_description"><p>left of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y1</p></td> +<td class="parameter_description"><p>top of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x2</p></td> +<td class="parameter_description"><p>right of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y2</p></td> +<td class="parameter_description"><p>bottom of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.6</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Paths.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="cairo-path-t"></a><h3>cairo_path_t</h3> +<pre class="programlisting">typedef struct { + cairo_status_t status; + cairo_path_data_t *data; + int num_data; +} cairo_path_t; +</pre> +<p>A data structure for holding a path. This data structure serves as +the return value for <a class="link" href="cairo-Paths.html#cairo-copy-path" title="cairo_copy_path ()"><code class="function">cairo_copy_path()</code></a> and +<a class="link" href="cairo-Paths.html#cairo-copy-path-flat" title="cairo_copy_path_flat ()"><code class="function">cairo_copy_path_flat()</code></a> as well the input value for +<a class="link" href="cairo-Paths.html#cairo-append-path" title="cairo_append_path ()"><code class="function">cairo_append_path()</code></a>.</p> +<p>See <a class="link" href="cairo-Paths.html#cairo-path-data-t" title="union cairo_path_data_t"><span class="type">cairo_path_data_t</span></a> for hints on how to iterate over the +actual data within the path.</p> +<p>The num_data member gives the number of elements in the data +array. This number is larger than the number of independent path +portions (defined in <a class="link" href="cairo-Paths.html#cairo-path-data-type-t" title="enum cairo_path_data_type_t"><span class="type">cairo_path_data_type_t</span></a>), since the data +includes both headers and coordinates for each portion.</p> +<div class="refsect3"> +<a name="cairo-path-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="struct_members_name"> +<col class="struct_members_description"> +<col width="200px" class="struct_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="struct_member_name"><p><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="type">cairo_status_t</span></a> <em class="structfield"><code><a name="cairo-path-t.status"></a>status</code></em>;</p></td> +<td class="struct_member_description"><p>the current error status</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><a class="link" href="cairo-Paths.html#cairo-path-data-t" title="union cairo_path_data_t"><span class="type">cairo_path_data_t</span></a> *<em class="structfield"><code><a name="cairo-path-t.data"></a>data</code></em>;</p></td> +<td class="struct_member_description"><p>the elements in the path</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="cairo-path-t.num-data"></a>num_data</code></em>;</p></td> +<td class="struct_member_description"><p>the number of elements in the data array</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-path-data-t"></a><h3>union cairo_path_data_t</h3> +<p><a class="link" href="cairo-Paths.html#cairo-path-data-t" title="union cairo_path_data_t"><span class="type">cairo_path_data_t</span></a> is used to represent the path data inside a +<a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="type">cairo_path_t</span></a>.</p> +<p>The data structure is designed to try to balance the demands of +efficiency and ease-of-use. A path is represented as an array of +<a class="link" href="cairo-Paths.html#cairo-path-data-t" title="union cairo_path_data_t"><span class="type">cairo_path_data_t</span></a>, which is a union of headers and points.</p> +<p>Each portion of the path is represented by one or more elements in +the array, (one header followed by 0 or more points). The length +value of the header is the number of array elements for the current +portion including the header, (ie. length == 1 + # of points), and +where the number of points for each element type is as follows:</p> +<pre class="programlisting"> + %CAIRO_PATH_MOVE_TO: 1 point + %CAIRO_PATH_LINE_TO: 1 point + %CAIRO_PATH_CURVE_TO: 3 points + %CAIRO_PATH_CLOSE_PATH: 0 points +</pre> +<p>The semantics and ordering of the coordinate values are consistent +with <a class="link" href="cairo-Paths.html#cairo-move-to" title="cairo_move_to ()"><code class="function">cairo_move_to()</code></a>, <a class="link" href="cairo-Paths.html#cairo-line-to" title="cairo_line_to ()"><code class="function">cairo_line_to()</code></a>, <a class="link" href="cairo-Paths.html#cairo-curve-to" title="cairo_curve_to ()"><code class="function">cairo_curve_to()</code></a>, and +<a class="link" href="cairo-Paths.html#cairo-close-path" title="cairo_close_path ()"><code class="function">cairo_close_path()</code></a>.</p> +<p>Here is sample code for iterating through a <a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="type">cairo_path_t</span></a>:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">int</span> i<span class="gtkdoc opt">;</span> +cairo_path_t <span class="gtkdoc opt">*</span>path<span class="gtkdoc opt">;</span> +cairo_path_data_t <span class="gtkdoc opt">*</span>data<span class="gtkdoc opt">;</span> + +path <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-Paths.html#cairo-copy-path">cairo_copy_path</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span> + +<span class="keyword">for</span> <span class="gtkdoc opt">(</span>i<span class="gtkdoc opt">=</span><span class="number">0</span><span class="gtkdoc opt">;</span> i <span class="gtkdoc opt"><</span> path<span class="gtkdoc opt">-></span>num_data<span class="gtkdoc opt">;</span> i <span class="gtkdoc opt">+=</span> path<span class="gtkdoc opt">-></span>data<span class="gtkdoc opt">[</span>i<span class="gtkdoc opt">].</span>header<span class="gtkdoc opt">.</span>length<span class="gtkdoc opt">) {</span> + data <span class="gtkdoc opt">= &</span>path<span class="gtkdoc opt">-></span>data<span class="gtkdoc opt">[</span>i<span class="gtkdoc opt">];</span> + <span class="keyword">switch</span> <span class="gtkdoc opt">(</span>data<span class="gtkdoc opt">-></span>header<span class="gtkdoc opt">.</span>type<span class="gtkdoc opt">) {</span> + <span class="keyword">case</span> CAIRO_PATH_MOVE_TO<span class="gtkdoc opt">:</span> + <span class="function">do_move_to_things</span> <span class="gtkdoc opt">(</span>data<span class="gtkdoc opt">[</span><span class="number">1</span><span class="gtkdoc opt">].</span>point<span class="gtkdoc opt">.</span>x<span class="gtkdoc opt">,</span> data<span class="gtkdoc opt">[</span><span class="number">1</span><span class="gtkdoc opt">].</span>point<span class="gtkdoc opt">.</span>y<span class="gtkdoc opt">);</span> + <span class="keyword">break</span><span class="gtkdoc opt">;</span> + <span class="keyword">case</span> CAIRO_PATH_LINE_TO<span class="gtkdoc opt">:</span> + <span class="function">do_line_to_things</span> <span class="gtkdoc opt">(</span>data<span class="gtkdoc opt">[</span><span class="number">1</span><span class="gtkdoc opt">].</span>point<span class="gtkdoc opt">.</span>x<span class="gtkdoc opt">,</span> data<span class="gtkdoc opt">[</span><span class="number">1</span><span class="gtkdoc opt">].</span>point<span class="gtkdoc opt">.</span>y<span class="gtkdoc opt">);</span> + <span class="keyword">break</span><span class="gtkdoc opt">;</span> + <span class="keyword">case</span> CAIRO_PATH_CURVE_TO<span class="gtkdoc opt">:</span> + <span class="function">do_curve_to_things</span> <span class="gtkdoc opt">(</span>data<span class="gtkdoc opt">[</span><span class="number">1</span><span class="gtkdoc opt">].</span>point<span class="gtkdoc opt">.</span>x<span class="gtkdoc opt">,</span> data<span class="gtkdoc opt">[</span><span class="number">1</span><span class="gtkdoc opt">].</span>point<span class="gtkdoc opt">.</span>y<span class="gtkdoc opt">,</span> + data<span class="gtkdoc opt">[</span><span class="number">2</span><span class="gtkdoc opt">].</span>point<span class="gtkdoc opt">.</span>x<span class="gtkdoc opt">,</span> data<span class="gtkdoc opt">[</span><span class="number">2</span><span class="gtkdoc opt">].</span>point<span class="gtkdoc opt">.</span>y<span class="gtkdoc opt">,</span> + data<span class="gtkdoc opt">[</span><span class="number">3</span><span class="gtkdoc opt">].</span>point<span class="gtkdoc opt">.</span>x<span class="gtkdoc opt">,</span> data<span class="gtkdoc opt">[</span><span class="number">3</span><span class="gtkdoc opt">].</span>point<span class="gtkdoc opt">.</span>y<span class="gtkdoc opt">);</span> + <span class="keyword">break</span><span class="gtkdoc opt">;</span> + <span class="keyword">case</span> CAIRO_PATH_CLOSE_PATH<span class="gtkdoc opt">:</span> + <span class="function">do_close_path_things</span> <span class="gtkdoc opt">();</span> + <span class="keyword">break</span><span class="gtkdoc opt">;</span> + <span class="gtkdoc opt">}</span> +<span class="gtkdoc opt">}</span> +<span class="function"><a href="cairo-Paths.html#cairo-path-destroy">cairo_path_destroy</a></span> <span class="gtkdoc opt">(</span>path<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p>As of cairo 1.4, cairo does not mind if there are more elements in +a portion of the path than needed. Such elements can be used by +users of the cairo API to hold extra values in the path data +structure. For this reason, it is recommended that applications +always use <code class="literal">data->header.length</code> to +iterate over the path data, instead of hardcoding the number of +elements for each element type.</p> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-path-data-type-t"></a><h3>enum cairo_path_data_type_t</h3> +<p><a class="link" href="cairo-Paths.html#cairo-path-data-t" title="union cairo_path_data_t"><span class="type">cairo_path_data_t</span></a> is used to describe the type of one portion +of a path when represented as a <a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="type">cairo_path_t</span></a>. +See <a class="link" href="cairo-Paths.html#cairo-path-data-t" title="union cairo_path_data_t"><span class="type">cairo_path_data_t</span></a> for details.</p> +<div class="refsect3"> +<a name="cairo-path-data-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PATH-MOVE-TO:CAPS"></a>CAIRO_PATH_MOVE_TO</p></td> +<td class="enum_member_description"> +<p>A move-to operation, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PATH-LINE-TO:CAPS"></a>CAIRO_PATH_LINE_TO</p></td> +<td class="enum_member_description"> +<p>A line-to operation, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PATH-CURVE-TO:CAPS"></a>CAIRO_PATH_CURVE_TO</p></td> +<td class="enum_member_description"> +<p>A curve-to operation, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PATH-CLOSE-PATH:CAPS"></a>CAIRO_PATH_CLOSE_PATH</p></td> +<td class="enum_member_description"> +<p>A close-path operation, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-PostScript-Surfaces.html b/libs/cairo-1.16.0/doc/public/html/cairo-PostScript-Surfaces.html new file mode 100644 index 0000000..4773376 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-PostScript-Surfaces.html @@ -0,0 +1,749 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>PostScript Surfaces: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-PNG-Support.html" title="PNG Support"> +<link rel="next" href="cairo-Recording-Surfaces.html" title="Recording Surfaces"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-PostScript-Surfaces.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-PNG-Support.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Recording-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-PostScript-Surfaces"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-PostScript-Surfaces.top_of_page"></a>PostScript Surfaces</span></h2> +<p>PostScript Surfaces — Rendering PostScript documents</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-PostScript-Surfaces.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create" title="cairo_ps_surface_create ()">cairo_ps_surface_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create-for-stream" title="cairo_ps_surface_create_for_stream ()">cairo_ps_surface_create_for_stream</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-restrict-to-level" title="cairo_ps_surface_restrict_to_level ()">cairo_ps_surface_restrict_to_level</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-get-levels" title="cairo_ps_get_levels ()">cairo_ps_get_levels</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-level-to-string" title="cairo_ps_level_to_string ()">cairo_ps_level_to_string</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-eps" title="cairo_ps_surface_set_eps ()">cairo_ps_surface_set_eps</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-get-eps" title="cairo_ps_surface_get_eps ()">cairo_ps_surface_get_eps</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-size" title="cairo_ps_surface_set_size ()">cairo_ps_surface_set_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup" title="cairo_ps_surface_dsc_begin_setup ()">cairo_ps_surface_dsc_begin_setup</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup" title="cairo_ps_surface_dsc_begin_page_setup ()">cairo_ps_surface_dsc_begin_page_setup</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment" title="cairo_ps_surface_dsc_comment ()">cairo_ps_surface_dsc_comment</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-PostScript-Surfaces.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-PostScript-Surfaces.html#CAIRO-HAS-PS-SURFACE:CAPS" title="CAIRO_HAS_PS_SURFACE">CAIRO_HAS_PS_SURFACE</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-level-t" title="enum cairo_ps_level_t">cairo_ps_level_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-PostScript-Surfaces.description"></a><h2>Description</h2> +<p>The PostScript surface is used to render cairo graphics to Adobe +PostScript files and is a multi-page vector surface backend.</p> +<p>The following mime types are supported: <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JPEG:CAPS" title="CAIRO_MIME_TYPE_JPEG"><code class="literal">CAIRO_MIME_TYPE_JPEG</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" title="CAIRO_MIME_TYPE_UNIQUE_ID"><code class="literal">CAIRO_MIME_TYPE_UNIQUE_ID</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS:CAPS" title="CAIRO_MIME_TYPE_EPS"><code class="literal">CAIRO_MIME_TYPE_EPS</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS-PARAMS:CAPS" title="CAIRO_MIME_TYPE_EPS_PARAMS"><code class="literal">CAIRO_MIME_TYPE_EPS_PARAMS</code></a>.</p> +<p>Source surfaces used by the PostScript surface that have a +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" title="CAIRO_MIME_TYPE_UNIQUE_ID"><code class="literal">CAIRO_MIME_TYPE_UNIQUE_ID</code></a> mime type will be stored in PostScript +printer memory for the duration of the print +job. <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" title="CAIRO_MIME_TYPE_UNIQUE_ID"><code class="literal">CAIRO_MIME_TYPE_UNIQUE_ID</code></a> should only be used for small +frequently used sources.</p> +<p>The <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX</code></a> and <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</code></a> mime types +are documented in <a class="link" href="cairo-PDF-Surfaces.html#ccitt" title="CCITT Fax Images">CCITT Fax Images</a>.</p> +<div class="refsect2"> +<a name="eps"></a><h3>Embedding EPS files</h3> +<p>Encapsulated PostScript files can be embedded in the PS output by +setting the CAIRO_MIME_TYPE_EPS mime data on a surface to the EPS +data and painting the surface. The EPS will be scaled and +translated to the extents of the surface the EPS data is attached +to.</p> +<p>The <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS:CAPS" title="CAIRO_MIME_TYPE_EPS"><code class="literal">CAIRO_MIME_TYPE_EPS</code></a> mime type requires the +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS-PARAMS:CAPS" title="CAIRO_MIME_TYPE_EPS_PARAMS"><code class="literal">CAIRO_MIME_TYPE_EPS_PARAMS</code></a> mime data to also be provided in order +to specify the embeddding parameters. <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS-PARAMS:CAPS" title="CAIRO_MIME_TYPE_EPS_PARAMS"><code class="literal">CAIRO_MIME_TYPE_EPS_PARAMS</code></a> +mime data must contain a string of the form "bbox=[llx lly urx +ury]" that specifies the bounding box (in PS coordinates) of the +EPS graphics. The parameters are: lower left x, lower left y, upper +right x, upper right y. Normally the bbox data is identical to the +%%<code class="literal">BoundingBox</code> data in the EPS file.</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-PostScript-Surfaces.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-ps-surface-create"></a><h3>cairo_ps_surface_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_ps_surface_create (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>, + <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>, + <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre> +<p>Creates a PostScript surface of the specified size in points to be +written to <em class="parameter"><code>filename</code></em> +. See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create-for-stream" title="cairo_ps_surface_create_for_stream ()"><code class="function">cairo_ps_surface_create_for_stream()</code></a> for +a more flexible mechanism for handling the PostScript output than +simply writing it to a named file.</p> +<p>Note that the size of individual pages of the PostScript output can +vary. See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-size" title="cairo_ps_surface_set_size ()"><code class="function">cairo_ps_surface_set_size()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-ps-surface-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>filename</p></td> +<td class="parameter_description"><p>a filename for the PS output (must be writable), <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> may be +used to specify no output. This will generate a PS surface that +may be queried and used as a source, without generating a +temporary file.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width_in_points</p></td> +<td class="parameter_description"><p>width of the surface, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height_in_points</p></td> +<td class="parameter_description"><p>height of the surface, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-ps-surface-create.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ps-surface-create-for-stream"></a><h3>cairo_ps_surface_create_for_stream ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_ps_surface_create_for_stream (<em class="parameter"><code><a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> write_func</code></em>, + <em class="parameter"><code><span class="type">void</span> *closure</code></em>, + <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>, + <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre> +<p>Creates a PostScript surface of the specified size in points to be +written incrementally to the stream represented by <em class="parameter"><code>write_func</code></em> + and +<em class="parameter"><code>closure</code></em> +. See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create" title="cairo_ps_surface_create ()"><code class="function">cairo_ps_surface_create()</code></a> for a more convenient way +to simply direct the PostScript output to a named file.</p> +<p>Note that the size of individual pages of the PostScript +output can vary. See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-size" title="cairo_ps_surface_set_size ()"><code class="function">cairo_ps_surface_set_size()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-ps-surface-create-for-stream.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>write_func</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> to accept the output data, may be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> +to indicate a no-op <em class="parameter"><code>write_func</code></em> +. With a no-op <em class="parameter"><code>write_func</code></em> +, +the surface may be queried or used as a source without +generating any temporary files.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>closure</p></td> +<td class="parameter_description"><p>the closure argument for <em class="parameter"><code>write_func</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width_in_points</p></td> +<td class="parameter_description"><p>width of the surface, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height_in_points</p></td> +<td class="parameter_description"><p>height of the surface, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-ps-surface-create-for-stream.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ps-surface-restrict-to-level"></a><h3>cairo_ps_surface_restrict_to_level ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_ps_surface_restrict_to_level (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-level-t" title="enum cairo_ps_level_t"><span class="type">cairo_ps_level_t</span></a> level</code></em>);</pre> +<p>Restricts the generated PostSript file to <em class="parameter"><code>level</code></em> +. See +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-get-levels" title="cairo_ps_get_levels ()"><code class="function">cairo_ps_get_levels()</code></a> for a list of available level values that +can be used here.</p> +<p>This function should only be called before any drawing operations +have been performed on the given surface. The simplest way to do +this is to call this function immediately after creating the +surface.</p> +<div class="refsect3"> +<a name="cairo-ps-surface-restrict-to-level.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>level</p></td> +<td class="parameter_description"><p>PostScript level</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ps-get-levels"></a><h3>cairo_ps_get_levels ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_ps_get_levels (<em class="parameter"><code><a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-level-t" title="enum cairo_ps_level_t"><span class="type">cairo_ps_level_t</span></a> const **levels</code></em>, + <em class="parameter"><code><span class="type">int</span> *num_levels</code></em>);</pre> +<p>Used to retrieve the list of supported levels. See +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-restrict-to-level" title="cairo_ps_surface_restrict_to_level ()"><code class="function">cairo_ps_surface_restrict_to_level()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-ps-get-levels.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>levels</p></td> +<td class="parameter_description"><p>supported level list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_levels</p></td> +<td class="parameter_description"><p>list length</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ps-level-to-string"></a><h3>cairo_ps_level_to_string ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +cairo_ps_level_to_string (<em class="parameter"><code><a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-level-t" title="enum cairo_ps_level_t"><span class="type">cairo_ps_level_t</span></a> level</code></em>);</pre> +<p>Get the string representation of the given <em class="parameter"><code>level</code></em> + id. This function +will return <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>level</code></em> + id isn't valid. See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-get-levels" title="cairo_ps_get_levels ()"><code class="function">cairo_ps_get_levels()</code></a> +for a way to get the list of valid level ids.</p> +<div class="refsect3"> +<a name="cairo-ps-level-to-string.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>level</p></td> +<td class="parameter_description"><p>a level id</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-ps-level-to-string.returns"></a><h4>Returns</h4> +<p> the string associated to given level.</p> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ps-surface-set-eps"></a><h3>cairo_ps_surface_set_eps ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_ps_surface_set_eps (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="type">cairo_bool_t</span></a> eps</code></em>);</pre> +<p>If <em class="parameter"><code>eps</code></em> + is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the PostScript surface will output Encapsulated +PostScript.</p> +<p>This function should only be called before any drawing operations +have been performed on the current page. The simplest way to do +this is to call this function immediately after creating the +surface. An Encapsulated PostScript file should never contain more +than one page.</p> +<div class="refsect3"> +<a name="cairo-ps-surface-set-eps.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>eps</p></td> +<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to output EPS format PostScript</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ps-surface-get-eps"></a><h3>cairo_ps_surface_get_eps ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +cairo_ps_surface_get_eps (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Check whether the PostScript surface will output Encapsulated PostScript.</p> +<div class="refsect3"> +<a name="cairo-ps-surface-get-eps.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-ps-surface-get-eps.returns"></a><h4>Returns</h4> +<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the surface will output Encapsulated PostScript.</p> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ps-surface-set-size"></a><h3>cairo_ps_surface_set_size ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_ps_surface_set_size (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>, + <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre> +<p>Changes the size of a PostScript surface for the current (and +subsequent) pages.</p> +<p>This function should only be called before any drawing operations +have been performed on the current page. The simplest way to do +this is to call this function immediately after creating the +surface or immediately after completing a page with either +<a class="link" href="cairo-cairo-t.html#cairo-show-page" title="cairo_show_page ()"><code class="function">cairo_show_page()</code></a> or <a class="link" href="cairo-cairo-t.html#cairo-copy-page" title="cairo_copy_page ()"><code class="function">cairo_copy_page()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-ps-surface-set-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width_in_points</p></td> +<td class="parameter_description"><p>new surface width, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height_in_points</p></td> +<td class="parameter_description"><p>new surface height, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ps-surface-dsc-begin-setup"></a><h3>cairo_ps_surface_dsc_begin_setup ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_ps_surface_dsc_begin_setup (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>This function indicates that subsequent calls to +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment" title="cairo_ps_surface_dsc_comment ()"><code class="function">cairo_ps_surface_dsc_comment()</code></a> should direct comments to the Setup +section of the PostScript output.</p> +<p>This function should be called at most once per surface, and must +be called before any call to <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup" title="cairo_ps_surface_dsc_begin_page_setup ()"><code class="function">cairo_ps_surface_dsc_begin_page_setup()</code></a> +and before any drawing is performed to the surface.</p> +<p>See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment" title="cairo_ps_surface_dsc_comment ()"><code class="function">cairo_ps_surface_dsc_comment()</code></a> for more details.</p> +<div class="refsect3"> +<a name="cairo-ps-surface-dsc-begin-setup.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ps-surface-dsc-begin-page-setup"></a><h3>cairo_ps_surface_dsc_begin_page_setup ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_ps_surface_dsc_begin_page_setup (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>This function indicates that subsequent calls to +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment" title="cairo_ps_surface_dsc_comment ()"><code class="function">cairo_ps_surface_dsc_comment()</code></a> should direct comments to the +PageSetup section of the PostScript output.</p> +<p>This function call is only needed for the first page of a +surface. It should be called after any call to +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup" title="cairo_ps_surface_dsc_begin_setup ()"><code class="function">cairo_ps_surface_dsc_begin_setup()</code></a> and before any drawing is +performed to the surface.</p> +<p>See <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment" title="cairo_ps_surface_dsc_comment ()"><code class="function">cairo_ps_surface_dsc_comment()</code></a> for more details.</p> +<div class="refsect3"> +<a name="cairo-ps-surface-dsc-begin-page-setup.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ps-surface-dsc-comment"></a><h3>cairo_ps_surface_dsc_comment ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_ps_surface_dsc_comment (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *comment</code></em>);</pre> +<p>Emit a comment into the PostScript output for the given surface.</p> +<p>The comment is expected to conform to the PostScript Language +Document Structuring Conventions (DSC). Please see that manual for +details on the available comments and their meanings. In +particular, the %%IncludeFeature comment allows a +device-independent means of controlling printer device features. So +the PostScript Printer Description Files Specification will also be +a useful reference.</p> +<p>The comment string must begin with a percent character (%) and the +total length of the string (including any initial percent +characters) must not exceed 255 characters. Violating either of +these conditions will place <em class="parameter"><code>surface</code></em> + into an error state. But +beyond these two conditions, this function will not enforce +conformance of the comment with any particular specification.</p> +<p>The comment string should not have a trailing newline.</p> +<p>The DSC specifies different sections in which particular comments +can appear. This function provides for comments to be emitted +within three sections: the header, the Setup section, and the +PageSetup section. Comments appearing in the first two sections +apply to the entire document while comments in the BeginPageSetup +section apply only to a single page.</p> +<p>For comments to appear in the header section, this function should +be called after the surface is created, but before a call to +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup" title="cairo_ps_surface_dsc_begin_setup ()"><code class="function">cairo_ps_surface_dsc_begin_setup()</code></a>.</p> +<p>For comments to appear in the Setup section, this function should +be called after a call to <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup" title="cairo_ps_surface_dsc_begin_setup ()"><code class="function">cairo_ps_surface_dsc_begin_setup()</code></a> but +before a call to <a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup" title="cairo_ps_surface_dsc_begin_page_setup ()"><code class="function">cairo_ps_surface_dsc_begin_page_setup()</code></a>.</p> +<p>For comments to appear in the PageSetup section, this function +should be called after a call to +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup" title="cairo_ps_surface_dsc_begin_page_setup ()"><code class="function">cairo_ps_surface_dsc_begin_page_setup()</code></a>.</p> +<p>Note that it is only necessary to call +<a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup" title="cairo_ps_surface_dsc_begin_page_setup ()"><code class="function">cairo_ps_surface_dsc_begin_page_setup()</code></a> for the first page of any +surface. After a call to <a class="link" href="cairo-cairo-t.html#cairo-show-page" title="cairo_show_page ()"><code class="function">cairo_show_page()</code></a> or <a class="link" href="cairo-cairo-t.html#cairo-copy-page" title="cairo_copy_page ()"><code class="function">cairo_copy_page()</code></a> +comments are unambiguously directed to the PageSetup section of the +current page. But it doesn't hurt to call this function at the +beginning of every page as that consistency may make the calling +code simpler.</p> +<p>As a final note, cairo automatically generates several comments on +its own. As such, applications must not manually generate any of +the following comments:</p> +<p>Header section: %!PS-Adobe-3.0, %%Creator, %%CreationDate, %%Pages, +%%BoundingBox, %%DocumentData, %%LanguageLevel, %%EndComments.</p> +<p>Setup section: %%BeginSetup, %%EndSetup</p> +<p>PageSetup section: %%BeginPageSetup, %%PageBoundingBox, %%EndPageSetup.</p> +<p>Other sections: %%BeginProlog, %%EndProlog, %%Page, %%Trailer, %%EOF</p> +<p>Here is an example sequence showing how this function might be used:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18</pre></td> + <td class="listing_code"><pre class="programlisting">cairo_surface_t <span class="gtkdoc opt">*</span>surface <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create">cairo_ps_surface_create</a></span> <span class="gtkdoc opt">(</span>filename<span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">);</span> +<span class="gtkdoc opt">...</span> +<span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">"%%Title: My excellent document"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">"%%Copyright: Copyright (C) 2006 Cairo Lover"</span><span class="gtkdoc opt">)</span> +<span class="gtkdoc opt">...</span> +<span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup">cairo_ps_surface_dsc_begin_setup</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">"%%IncludeFeature: *MediaColor White"</span><span class="gtkdoc opt">);</span> +<span class="gtkdoc opt">...</span> +<span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup">cairo_ps_surface_dsc_begin_page_setup</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">"%%IncludeFeature: *PageSize A3"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">"%%IncludeFeature: *InputSlot LargeCapacity"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">"%%IncludeFeature: *MediaType Glossy"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">"%%IncludeFeature: *MediaColor Blue"</span><span class="gtkdoc opt">);</span> +<span class="gtkdoc opt">...</span> draw to first page here <span class="gtkdoc opt">..</span> +<span class="function"><a href="cairo-cairo-t.html#cairo-show-page">cairo_show_page</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span> +<span class="gtkdoc opt">...</span> +<span class="function"><a href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">,</span> <span class="string">"%%IncludeFeature: *PageSize A5"</span><span class="gtkdoc opt">);</span> +<span class="gtkdoc opt">...</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<div class="refsect3"> +<a name="cairo-ps-surface-dsc-comment.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a PostScript <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>comment</p></td> +<td class="parameter_description"><p>a comment string to be emitted into the PostScript output</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-PostScript-Surfaces.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-PS-SURFACE:CAPS"></a><h3>CAIRO_HAS_PS_SURFACE</h3> +<pre class="programlisting">#define CAIRO_HAS_PS_SURFACE 1 +</pre> +<p>Defined if the PostScript surface backend is available. +This macro can be used to conditionally compile backend-specific code.</p> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-ps-level-t"></a><h3>enum cairo_ps_level_t</h3> +<p><a class="link" href="cairo-PostScript-Surfaces.html#cairo-ps-level-t" title="enum cairo_ps_level_t"><span class="type">cairo_ps_level_t</span></a> is used to describe the language level of the +PostScript Language Reference that a generated PostScript file will +conform to.</p> +<div class="refsect3"> +<a name="cairo-ps-level-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PS-LEVEL-2:CAPS"></a>CAIRO_PS_LEVEL_2</p></td> +<td class="enum_member_description"> +<p>The language level 2 of the PostScript specification. (Since 1.6)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PS-LEVEL-3:CAPS"></a>CAIRO_PS_LEVEL_3</p></td> +<td class="enum_member_description"> +<p>The language level 3 of the PostScript specification. (Since 1.6)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.6</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-PostScript-Surfaces.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Quartz-(CGFont)-Fonts.html b/libs/cairo-1.16.0/doc/public/html/cairo-Quartz-(CGFont)-Fonts.html new file mode 100644 index 0000000..8b2754f --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Quartz-(CGFont)-Fonts.html @@ -0,0 +1,163 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Quartz (CGFont) Fonts: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-fonts.html" title="Fonts"> +<link rel="prev" href="cairo-Win32-Fonts.html" title="Win32 Fonts"> +<link rel="next" href="cairo-User-Fonts.html" title="User Fonts"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Quartz-(CGFont)-Fonts.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-fonts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-Win32-Fonts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-User-Fonts.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Quartz-(CGFont)-Fonts"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Quartz-(CGFont)-Fonts.top_of_page"></a>Quartz (CGFont) Fonts</span></h2> +<p>Quartz (CGFont) Fonts — Font support via CGFont on OS X</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Quartz-(CGFont)-Fonts.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Quartz-(CGFont)-Fonts.html#cairo-quartz-font-face-create-for-cgfont" title="cairo_quartz_font_face_create_for_cgfont ()">cairo_quartz_font_face_create_for_cgfont</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Quartz-(CGFont)-Fonts.html#cairo-quartz-font-face-create-for-atsu-font-id" title="cairo_quartz_font_face_create_for_atsu_font_id ()">cairo_quartz_font_face_create_for_atsu_font_id</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Quartz-(CGFont)-Fonts.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody><tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Quartz-(CGFont)-Fonts.html#CAIRO-HAS-QUARTZ-FONT:CAPS" title="CAIRO_HAS_QUARTZ_FONT">CAIRO_HAS_QUARTZ_FONT</a></td> +</tr></tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Quartz-(CGFont)-Fonts.description"></a><h2>Description</h2> +<p>The Quartz font backend is primarily used to render text on Apple +MacOS X systems. The CGFont API is used for the internal +implementation of the font backend methods.</p> +</div> +<div class="refsect1"> +<a name="cairo-Quartz-(CGFont)-Fonts.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-quartz-font-face-create-for-cgfont"></a><h3>cairo_quartz_font_face_create_for_cgfont ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +cairo_quartz_font_face_create_for_cgfont + (<em class="parameter"><code><span class="type">CGFontRef</span> font</code></em>);</pre> +<p>Creates a new font for the Quartz font backend based on a +<span class="type">CGFontRef</span>. This font can then be used with +<a class="link" href="cairo-text.html#cairo-set-font-face" title="cairo_set_font_face ()"><code class="function">cairo_set_font_face()</code></a> or <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-quartz-font-face-create-for-cgfont.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font</p></td> +<td class="parameter_description"><p>a <span class="type">CGFontRef</span> obtained through a method external to cairo.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-quartz-font-face-create-for-cgfont.returns"></a><h4>Returns</h4> +<p> a newly created <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>. Free with +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy" title="cairo_font_face_destroy ()"><code class="function">cairo_font_face_destroy()</code></a> when you are done using it.</p> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-quartz-font-face-create-for-atsu-font-id"></a><h3>cairo_quartz_font_face_create_for_atsu_font_id ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +cairo_quartz_font_face_create_for_atsu_font_id + (<em class="parameter"><code><span class="type">ATSUFontID</span> font_id</code></em>);</pre> +<p>Creates a new font for the Quartz font backend based on an +<span class="type">ATSUFontID</span>. This font can then be used with +<a class="link" href="cairo-text.html#cairo-set-font-face" title="cairo_set_font_face ()"><code class="function">cairo_set_font_face()</code></a> or <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-quartz-font-face-create-for-atsu-font-id.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_id</p></td> +<td class="parameter_description"><p>an ATSUFontID for the font.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-quartz-font-face-create-for-atsu-font-id.returns"></a><h4>Returns</h4> +<p> a newly created <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>. Free with +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy" title="cairo_font_face_destroy ()"><code class="function">cairo_font_face_destroy()</code></a> when you are done using it.</p> +</div> +<p class="since">Since: 1.6</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Quartz-(CGFont)-Fonts.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-QUARTZ-FONT:CAPS"></a><h3>CAIRO_HAS_QUARTZ_FONT</h3> +<pre class="programlisting">#define CAIRO_HAS_QUARTZ_FONT 1 +</pre> +<p>Defined if the Quartz font backend is available. +This macro can be used to conditionally compile backend-specific code.</p> +<p class="since">Since: 1.6</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Quartz-(CGFont)-Fonts.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Quartz-Surfaces.html b/libs/cairo-1.16.0/doc/public/html/cairo-Quartz-Surfaces.html new file mode 100644 index 0000000..a1bc7e4 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Quartz-Surfaces.html @@ -0,0 +1,249 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Quartz Surfaces: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-SVG-Surfaces.html" title="SVG Surfaces"> +<link rel="next" href="cairo-XCB-Surfaces.html" title="XCB Surfaces"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Quartz-Surfaces.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-SVG-Surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-XCB-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Quartz-Surfaces"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Quartz-Surfaces.top_of_page"></a>Quartz Surfaces</span></h2> +<p>Quartz Surfaces — Rendering to Quartz surfaces</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Quartz-Surfaces.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Quartz-Surfaces.html#cairo-quartz-surface-create" title="cairo_quartz_surface_create ()">cairo_quartz_surface_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Quartz-Surfaces.html#cairo-quartz-surface-create-for-cg-context" title="cairo_quartz_surface_create_for_cg_context ()">cairo_quartz_surface_create_for_cg_context</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">CGContextRef</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Quartz-Surfaces.html#cairo-quartz-surface-get-cg-context" title="cairo_quartz_surface_get_cg_context ()">cairo_quartz_surface_get_cg_context</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Quartz-Surfaces.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody><tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Quartz-Surfaces.html#CAIRO-HAS-QUARTZ-SURFACE:CAPS" title="CAIRO_HAS_QUARTZ_SURFACE">CAIRO_HAS_QUARTZ_SURFACE</a></td> +</tr></tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Quartz-Surfaces.description"></a><h2>Description</h2> +<p>The Quartz surface is used to render cairo graphics targeting the +Apple OS X Quartz rendering system.</p> +</div> +<div class="refsect1"> +<a name="cairo-Quartz-Surfaces.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-quartz-surface-create"></a><h3>cairo_quartz_surface_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_quartz_surface_create (<em class="parameter"><code><a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> format</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> width</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> height</code></em>);</pre> +<p>Creates a Quartz surface backed by a CGBitmap. The surface is +created using the Device RGB (or Device Gray, for A8) color space. +All Cairo operations, including those that require software +rendering, will succeed on this surface.</p> +<div class="refsect3"> +<a name="cairo-quartz-surface-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>format of pixels in the surface to create</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>width of the surface, in pixels</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>height of the surface, in pixels</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-quartz-surface-create.returns"></a><h4>Returns</h4> +<p> the newly created surface.</p> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-quartz-surface-create-for-cg-context"></a><h3>cairo_quartz_surface_create_for_cg_context ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_quartz_surface_create_for_cg_context + (<em class="parameter"><code><span class="type">CGContextRef</span> cgContext</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> width</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> height</code></em>);</pre> +<p>Creates a Quartz surface that wraps the given CGContext. The +CGContext is assumed to be in the standard Cairo coordinate space +(that is, with the origin at the upper left and the Y axis +increasing downward). If the CGContext is in the Quartz coordinate +space (with the origin at the bottom left), then it should be +flipped before this function is called. The flip can be accomplished +using a translate and a scale; for example:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="function">CGContextTranslateCTM</span> <span class="gtkdoc opt">(</span>cgContext<span class="gtkdoc opt">,</span> <span class="number">0.0</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">);</span> +<span class="function">CGContextScaleCTM</span> <span class="gtkdoc opt">(</span>cgContext<span class="gtkdoc opt">,</span> <span class="number">1.0</span><span class="gtkdoc opt">, -</span><span class="number">1.0</span><span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p>All Cairo operations are implemented in terms of Quartz operations, +as long as Quartz-compatible elements are used (such as Quartz fonts).</p> +<div class="refsect3"> +<a name="cairo-quartz-surface-create-for-cg-context.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cgContext</p></td> +<td class="parameter_description"><p>the existing CGContext for which to create the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>width of the surface, in pixels</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>height of the surface, in pixels</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-quartz-surface-create-for-cg-context.returns"></a><h4>Returns</h4> +<p> the newly created Cairo surface.</p> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-quartz-surface-get-cg-context"></a><h3>cairo_quartz_surface_get_cg_context ()</h3> +<pre class="programlisting"><span class="returnvalue">CGContextRef</span> +cairo_quartz_surface_get_cg_context (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Returns the CGContextRef that the given Quartz surface is backed +by.</p> +<p>A call to <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()"><code class="function">cairo_surface_flush()</code></a> is required before using the +CGContextRef to ensure that all pending drawing operations are +finished and to restore any temporary modification cairo has made +to its state. A call to <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty" title="cairo_surface_mark_dirty ()"><code class="function">cairo_surface_mark_dirty()</code></a> is required +after the state or the content of the CGContextRef has been +modified.</p> +<div class="refsect3"> +<a name="cairo-quartz-surface-get-cg-context.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>the Cairo Quartz surface</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-quartz-surface-get-cg-context.returns"></a><h4>Returns</h4> +<p> the CGContextRef for the given surface.</p> +</div> +<p class="since">Since: 1.6</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Quartz-Surfaces.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-QUARTZ-SURFACE:CAPS"></a><h3>CAIRO_HAS_QUARTZ_SURFACE</h3> +<pre class="programlisting">#define CAIRO_HAS_QUARTZ_SURFACE 1 +</pre> +<p>Defined if the Quartz surface backend is available. +This macro can be used to conditionally compile backend-specific code.</p> +<p class="since">Since: 1.6</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Quartz-Surfaces.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Raster-Sources.html b/libs/cairo-1.16.0/doc/public/html/cairo-Raster-Sources.html new file mode 100644 index 0000000..499dc96 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Raster-Sources.html @@ -0,0 +1,794 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Raster Sources: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-drawing.html" title="Drawing"> +<link rel="prev" href="cairo-text.html" title="text"> +<link rel="next" href="cairo-Tags-and-Links.html" title="Tags and Links"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Raster-Sources.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-drawing.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-text.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Tags-and-Links.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Raster-Sources"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Raster-Sources.top_of_page"></a>Raster Sources</span></h2> +<p>Raster Sources — Supplying arbitrary image data</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Raster-Sources.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Raster-Sources.html#cairo-pattern-create-raster-source" title="cairo_pattern_create_raster_source ()">cairo_pattern_create_raster_source</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-callback-data" title="cairo_raster_source_pattern_set_callback_data ()">cairo_raster_source_pattern_set_callback_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-callback-data" title="cairo_raster_source_pattern_get_callback_data ()">cairo_raster_source_pattern_get_callback_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-acquire" title="cairo_raster_source_pattern_set_acquire ()">cairo_raster_source_pattern_set_acquire</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-acquire" title="cairo_raster_source_pattern_get_acquire ()">cairo_raster_source_pattern_get_acquire</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-snapshot" title="cairo_raster_source_pattern_set_snapshot ()">cairo_raster_source_pattern_set_snapshot</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-snapshot-func-t" title="cairo_raster_source_snapshot_func_t ()"><span class="returnvalue">cairo_raster_source_snapshot_func_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-snapshot" title="cairo_raster_source_pattern_get_snapshot ()">cairo_raster_source_pattern_get_snapshot</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-copy" title="cairo_raster_source_pattern_set_copy ()">cairo_raster_source_pattern_set_copy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-copy-func-t" title="cairo_raster_source_copy_func_t ()"><span class="returnvalue">cairo_raster_source_copy_func_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-copy" title="cairo_raster_source_pattern_get_copy ()">cairo_raster_source_pattern_get_copy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-finish" title="cairo_raster_source_pattern_set_finish ()">cairo_raster_source_pattern_set_finish</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-finish-func-t" title="cairo_raster_source_finish_func_t ()"><span class="returnvalue">cairo_raster_source_finish_func_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-finish" title="cairo_raster_source_pattern_get_finish ()">cairo_raster_source_pattern_get_finish</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-acquire-func-t" title="cairo_raster_source_acquire_func_t ()">*cairo_raster_source_acquire_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-release-func-t" title="cairo_raster_source_release_func_t ()">*cairo_raster_source_release_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-snapshot-func-t" title="cairo_raster_source_snapshot_func_t ()">*cairo_raster_source_snapshot_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-copy-func-t" title="cairo_raster_source_copy_func_t ()">*cairo_raster_source_copy_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-finish-func-t" title="cairo_raster_source_finish_func_t ()">*cairo_raster_source_finish_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Raster-Sources.description"></a><h2>Description</h2> +<p>The raster source provides the ability to supply arbitrary pixel data +whilst rendering. The pixels are queried at the time of rasterisation +by means of user callback functions, allowing for the ultimate +flexibility. For example, in handling compressed image sources, you +may keep a MRU cache of decompressed images and decompress sources on the +fly and discard old ones to conserve memory.</p> +<p>For the raster source to be effective, you must at least specify +the acquire and release callbacks which are used to retrieve the pixel +data for the region of interest and demark when it can be freed afterwards. +Other callbacks are provided for when the pattern is copied temporarily +during rasterisation, or more permanently as a snapshot in order to keep +the pixel data available for printing.</p> +</div> +<div class="refsect1"> +<a name="cairo-Raster-Sources.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-pattern-create-raster-source"></a><h3>cairo_pattern_create_raster_source ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +cairo_pattern_create_raster_source (<em class="parameter"><code><span class="type">void</span> *user_data</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a> content</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Creates a new user pattern for providing pixel data.</p> +<p>Use the setter functions to associate callbacks with the returned +pattern. The only mandatory callback is acquire.</p> +<div class="refsect3"> +<a name="cairo-pattern-create-raster-source.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>user_data</p></td> +<td class="parameter_description"><p>the user data to be passed to all callbacks</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>content</p></td> +<td class="parameter_description"><p>content type for the pixel data that will be returned. Knowing +the content type ahead of time is used for analysing the operation and +picking the appropriate rendering path.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>maximum size of the sample area</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>maximum size of the sample area</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-create-raster-source.returns"></a><h4>Returns</h4> +<p> a newly created <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a>. Free with +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-destroy" title="cairo_pattern_destroy ()"><code class="function">cairo_pattern_destroy()</code></a> when you are done using it.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-pattern-set-callback-data"></a><h3>cairo_raster_source_pattern_set_callback_data ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_raster_source_pattern_set_callback_data + (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">void</span> *data</code></em>);</pre> +<p>Updates the user data that is provided to all callbacks.</p> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-set-callback-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern to update</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the user data to be passed to all callbacks</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-pattern-get-callback-data"></a><h3>cairo_raster_source_pattern_get_callback_data ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +cairo_raster_source_pattern_get_callback_data + (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Queries the current user data.</p> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-get-callback-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern to update</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-get-callback-data.returns"></a><h4>Returns</h4> +<p> the current user-data passed to each callback</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-pattern-set-acquire"></a><h3>cairo_raster_source_pattern_set_acquire ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_raster_source_pattern_set_acquire + (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-acquire-func-t" title="cairo_raster_source_acquire_func_t ()"><span class="type">cairo_raster_source_acquire_func_t</span></a> acquire</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-release-func-t" title="cairo_raster_source_release_func_t ()"><span class="type">cairo_raster_source_release_func_t</span></a> release</code></em>);</pre> +<p>Specifies the callbacks used to generate the image surface for a rendering +operation (acquire) and the function used to cleanup that surface afterwards.</p> +<p>The <em class="parameter"><code>acquire</code></em> + callback should create a surface (preferably an image +surface created to match the target using +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar-image" title="cairo_surface_create_similar_image ()"><code class="function">cairo_surface_create_similar_image()</code></a>) that defines at least the region +of interest specified by extents. The surface is allowed to be the entire +sample area, but if it does contain a subsection of the sample area, +the surface extents should be provided by setting the device offset (along +with its width and height) using <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-device-offset" title="cairo_surface_set_device_offset ()"><code class="function">cairo_surface_set_device_offset()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-set-acquire.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern to update</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>acquire</p></td> +<td class="parameter_description"><p>acquire callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>release</p></td> +<td class="parameter_description"><p>release callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-pattern-get-acquire"></a><h3>cairo_raster_source_pattern_get_acquire ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_raster_source_pattern_get_acquire + (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-acquire-func-t" title="cairo_raster_source_acquire_func_t ()"><span class="type">cairo_raster_source_acquire_func_t</span></a> *acquire</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-release-func-t" title="cairo_raster_source_release_func_t ()"><span class="type">cairo_raster_source_release_func_t</span></a> *release</code></em>);</pre> +<p>Queries the current acquire and release callbacks.</p> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-get-acquire.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern to query</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>acquire</p></td> +<td class="parameter_description"><p>return value for the current acquire callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>release</p></td> +<td class="parameter_description"><p>return value for the current release callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-pattern-set-snapshot"></a><h3>cairo_raster_source_pattern_set_snapshot ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_raster_source_pattern_set_snapshot + (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-snapshot-func-t" title="cairo_raster_source_snapshot_func_t ()"><span class="type">cairo_raster_source_snapshot_func_t</span></a> snapshot</code></em>);</pre> +<p>Sets the callback that will be used whenever a snapshot is taken of the +pattern, that is whenever the current contents of the pattern should be +preserved for later use. This is typically invoked whilst printing.</p> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-set-snapshot.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern to update</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>snapshot</p></td> +<td class="parameter_description"><p>snapshot callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-pattern-get-snapshot"></a><h3>cairo_raster_source_pattern_get_snapshot ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-snapshot-func-t" title="cairo_raster_source_snapshot_func_t ()"><span class="returnvalue">cairo_raster_source_snapshot_func_t</span></a> +cairo_raster_source_pattern_get_snapshot + (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Queries the current snapshot callback.</p> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-get-snapshot.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern to query</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-get-snapshot.returns"></a><h4>Returns</h4> +<p> the current snapshot callback</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-pattern-set-copy"></a><h3>cairo_raster_source_pattern_set_copy ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_raster_source_pattern_set_copy (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-copy-func-t" title="cairo_raster_source_copy_func_t ()"><span class="type">cairo_raster_source_copy_func_t</span></a> copy</code></em>);</pre> +<p>Updates the copy callback which is used whenever a temporary copy of the +pattern is taken.</p> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-set-copy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern to update</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>copy</p></td> +<td class="parameter_description"><p>the copy callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-pattern-get-copy"></a><h3>cairo_raster_source_pattern_get_copy ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-copy-func-t" title="cairo_raster_source_copy_func_t ()"><span class="returnvalue">cairo_raster_source_copy_func_t</span></a> +cairo_raster_source_pattern_get_copy (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Queries the current copy callback.</p> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-get-copy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern to query</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-get-copy.returns"></a><h4>Returns</h4> +<p> the current copy callback</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-pattern-set-finish"></a><h3>cairo_raster_source_pattern_set_finish ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_raster_source_pattern_set_finish + (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-finish-func-t" title="cairo_raster_source_finish_func_t ()"><span class="type">cairo_raster_source_finish_func_t</span></a> finish</code></em>);</pre> +<p>Updates the finish callback which is used whenever a pattern (or a copy +thereof) will no longer be used.</p> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-set-finish.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern to update</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>finish</p></td> +<td class="parameter_description"><p>the finish callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-pattern-get-finish"></a><h3>cairo_raster_source_pattern_get_finish ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-finish-func-t" title="cairo_raster_source_finish_func_t ()"><span class="returnvalue">cairo_raster_source_finish_func_t</span></a> +cairo_raster_source_pattern_get_finish + (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Queries the current finish callback.</p> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-get-finish.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern to query</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-raster-source-pattern-get-finish.returns"></a><h4>Returns</h4> +<p> the current finish callback</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-acquire-func-t"></a><h3>cairo_raster_source_acquire_func_t ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> +<span class="c_punctuation">(</span>*cairo_raster_source_acquire_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">void</span> *callback_data</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *target</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a> *extents</code></em>);</pre> +<p><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-acquire-func-t" title="cairo_raster_source_acquire_func_t ()"><span class="type">cairo_raster_source_acquire_func_t</span></a> is the type of function which is +called when a pattern is being rendered from. It should create a surface +that provides the pixel data for the region of interest as defined by +extents, though the surface itself does not have to be limited to that +area. For convenience the surface should probably be of image type, +created with <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar-image" title="cairo_surface_create_similar_image ()"><code class="function">cairo_surface_create_similar_image()</code></a> for the target (which +enables the number of copies to be reduced during transfer to the +device). Another option, might be to return a similar surface to the +target for explicit handling by the application of a set of cached sources +on the device. The region of sample data provided should be defined using +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-device-offset" title="cairo_surface_set_device_offset ()"><code class="function">cairo_surface_set_device_offset()</code></a> to specify the top-left corner of the +sample data (along with width and height of the surface).</p> +<div class="refsect3"> +<a name="cairo-raster-source-acquire-func-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern being rendered from</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>callback_data</p></td> +<td class="parameter_description"><p>the user data supplied during creation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>target</p></td> +<td class="parameter_description"><p>the rendering target surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>rectangular region of interest in pixels in sample space</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-raster-source-acquire-func-t.returns"></a><h4>Returns</h4> +<p> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-release-func-t"></a><h3>cairo_raster_source_release_func_t ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +<span class="c_punctuation">(</span>*cairo_raster_source_release_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">void</span> *callback_data</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-release-func-t" title="cairo_raster_source_release_func_t ()"><span class="type">cairo_raster_source_release_func_t</span></a> is the type of function which is +called when the pixel data is no longer being access by the pattern +for the rendering operation. Typically this function will simply +destroy the surface created during acquire.</p> +<div class="refsect3"> +<a name="cairo-raster-source-release-func-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern being rendered from</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>callback_data</p></td> +<td class="parameter_description"><p>the user data supplied during creation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>the surface created during acquire</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-snapshot-func-t"></a><h3>cairo_raster_source_snapshot_func_t ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +<span class="c_punctuation">(</span>*cairo_raster_source_snapshot_func_t<span class="c_punctuation">)</span> + (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">void</span> *callback_data</code></em>);</pre> +<p><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-snapshot-func-t" title="cairo_raster_source_snapshot_func_t ()"><span class="type">cairo_raster_source_snapshot_func_t</span></a> is the type of function which is +called when the pixel data needs to be preserved for later use +during printing. This pattern will be accessed again later, and it +is expected to provide the pixel data that was current at the time +of snapshotting.</p> +<div class="refsect3"> +<a name="cairo-raster-source-snapshot-func-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern being rendered from</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>callback_data</p></td> +<td class="parameter_description"><p>the user data supplied during creation</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-raster-source-snapshot-func-t.returns"></a><h4>Returns</h4> +<p> CAIRO_STATUS_SUCCESS on success, or one of the +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="type">cairo_status_t</span></a> error codes for failure.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-copy-func-t"></a><h3>cairo_raster_source_copy_func_t ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +<span class="c_punctuation">(</span>*cairo_raster_source_copy_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">void</span> *callback_data</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *other</code></em>);</pre> +<p><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-copy-func-t" title="cairo_raster_source_copy_func_t ()"><span class="type">cairo_raster_source_copy_func_t</span></a> is the type of function which is +called when the pattern gets copied as a normal part of rendering.</p> +<div class="refsect3"> +<a name="cairo-raster-source-copy-func-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> that was copied to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>callback_data</p></td> +<td class="parameter_description"><p>the user data supplied during creation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>other</p></td> +<td class="parameter_description"><p>the <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> being used as the source for the copy</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-raster-source-copy-func-t.returns"></a><h4>Returns</h4> +<p> CAIRO_STATUS_SUCCESS on success, or one of the +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="type">cairo_status_t</span></a> error codes for failure.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-raster-source-finish-func-t"></a><h3>cairo_raster_source_finish_func_t ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +<span class="c_punctuation">(</span>*cairo_raster_source_finish_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">void</span> *callback_data</code></em>);</pre> +<p><a class="link" href="cairo-Raster-Sources.html#cairo-raster-source-finish-func-t" title="cairo_raster_source_finish_func_t ()"><span class="type">cairo_raster_source_finish_func_t</span></a> is the type of function which is +called when the pattern (or a copy thereof) is no longer required.</p> +<div class="refsect3"> +<a name="cairo-raster-source-finish-func-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>the pattern being rendered from</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>callback_data</p></td> +<td class="parameter_description"><p>the user data supplied during creation</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Raster-Sources.other_details"></a><h2>Types and Values</h2> +</div> +<div class="refsect1"> +<a name="cairo-Raster-Sources.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Recording-Surfaces.html b/libs/cairo-1.16.0/doc/public/html/cairo-Recording-Surfaces.html new file mode 100644 index 0000000..eea22ec --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Recording-Surfaces.html @@ -0,0 +1,279 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Recording Surfaces: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-PostScript-Surfaces.html" title="PostScript Surfaces"> +<link rel="next" href="cairo-Win32-Surfaces.html" title="Win32 Surfaces"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Recording-Surfaces.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-PostScript-Surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Win32-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Recording-Surfaces"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Recording-Surfaces.top_of_page"></a>Recording Surfaces</span></h2> +<p>Recording Surfaces — Records all drawing operations</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Recording-Surfaces.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Recording-Surfaces.html#cairo-recording-surface-create" title="cairo_recording_surface_create ()">cairo_recording_surface_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Recording-Surfaces.html#cairo-recording-surface-ink-extents" title="cairo_recording_surface_ink_extents ()">cairo_recording_surface_ink_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Recording-Surfaces.html#cairo-recording-surface-get-extents" title="cairo_recording_surface_get_extents ()">cairo_recording_surface_get_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Recording-Surfaces.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody><tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Recording-Surfaces.html#CAIRO-HAS-RECORDING-SURFACE:CAPS" title="CAIRO_HAS_RECORDING_SURFACE">CAIRO_HAS_RECORDING_SURFACE</a></td> +</tr></tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Recording-Surfaces.description"></a><h2>Description</h2> +<p>A recording surface is a surface that records all drawing operations at +the highest level of the surface backend interface, (that is, the +level of paint, mask, stroke, fill, and show_text_glyphs). The recording +surface can then be "replayed" against any target surface by using it +as a source surface.</p> +<p>If you want to replay a surface so that the results in target will be +identical to the results that would have been obtained if the original +operations applied to the recording surface had instead been applied to the +target surface, you can use code like this:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6</pre></td> + <td class="listing_code"><pre class="programlisting">cairo_t <span class="gtkdoc opt">*</span>cr<span class="gtkdoc opt">;</span> + +cr <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-cairo-t.html#cairo-create">cairo_create</a></span> <span class="gtkdoc opt">(</span>target<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-t.html#cairo-set-source-surface">cairo_set_source_surface</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> recording_surface<span class="gtkdoc opt">,</span> <span class="number">0.0</span><span class="gtkdoc opt">,</span> <span class="number">0.0</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-t.html#cairo-paint">cairo_paint</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-t.html#cairo-destroy">cairo_destroy</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p>A recording surface is logically unbounded, i.e. it has no implicit constraint +on the size of the drawing surface. However, in practice this is rarely +useful as you wish to replay against a particular target surface with +known bounds. For this case, it is more efficient to specify the target +extents to the recording surface upon creation.</p> +<p>The recording phase of the recording surface is careful to snapshot all +necessary objects (paths, patterns, etc.), in order to achieve +accurate replay. The efficiency of the recording surface could be +improved by improving the implementation of snapshot for the +various objects. For example, it would be nice to have a +copy-on-write implementation for _cairo_surface_snapshot.</p> +</div> +<div class="refsect1"> +<a name="cairo-Recording-Surfaces.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-recording-surface-create"></a><h3>cairo_recording_surface_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_recording_surface_create (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a> content</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-t.html#cairo-rectangle-t" title="cairo_rectangle_t"><span class="type">cairo_rectangle_t</span></a> *extents</code></em>);</pre> +<p>Creates a recording-surface which can be used to record all drawing operations +at the highest level (that is, the level of paint, mask, stroke, fill +and show_text_glyphs). The recording surface can then be "replayed" against +any target surface by using it as a source to drawing operations.</p> +<p>The recording phase of the recording surface is careful to snapshot all +necessary objects (paths, patterns, etc.), in order to achieve +accurate replay.</p> +<div class="refsect3"> +<a name="cairo-recording-surface-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>content</p></td> +<td class="parameter_description"><p>the content of the recording surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>the extents to record in pixels, can be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to record +unbounded operations.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-recording-surface-create.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-recording-surface-ink-extents"></a><h3>cairo_recording_surface_ink_extents ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_recording_surface_ink_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">double</span> *x0</code></em>, + <em class="parameter"><code><span class="type">double</span> *y0</code></em>, + <em class="parameter"><code><span class="type">double</span> *width</code></em>, + <em class="parameter"><code><span class="type">double</span> *height</code></em>);</pre> +<p>Measures the extents of the operations stored within the recording-surface. +This is useful to compute the required size of an image surface (or +equivalent) into which to replay the full sequence of drawing operations.</p> +<div class="refsect3"> +<a name="cairo-recording-surface-ink-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_recording_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x0</p></td> +<td class="parameter_description"><p>the x-coordinate of the top-left of the ink bounding box</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y0</p></td> +<td class="parameter_description"><p>the y-coordinate of the top-left of the ink bounding box</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the width of the ink bounding box</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the height of the ink bounding box</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-recording-surface-get-extents"></a><h3>cairo_recording_surface_get_extents ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +cairo_recording_surface_get_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-rectangle-t" title="cairo_rectangle_t"><span class="type">cairo_rectangle_t</span></a> *extents</code></em>);</pre> +<p>Get the extents of the recording-surface.</p> +<div class="refsect3"> +<a name="cairo-recording-surface-get-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_recording_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>the <a class="link" href="cairo-cairo-t.html#cairo-rectangle-t" title="cairo_rectangle_t"><span class="type">cairo_rectangle_t</span></a> to be assigned the extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-recording-surface-get-extents.returns"></a><h4>Returns</h4> +<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the surface is bounded, of recording type, and +not in an error state, otherwise <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p> +</div> +<p class="since">Since: 1.12</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Recording-Surfaces.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-RECORDING-SURFACE:CAPS"></a><h3>CAIRO_HAS_RECORDING_SURFACE</h3> +<pre class="programlisting">#define CAIRO_HAS_RECORDING_SURFACE 1 +</pre> +<p>Defined if the recording surface backend is available. +The recording surface backend is always built in. +This macro was added for completeness in cairo 1.10.</p> +<p class="since">Since: 1.10</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Recording-Surfaces.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Regions.html b/libs/cairo-1.16.0/doc/public/html/cairo-Regions.html new file mode 100644 index 0000000..7115789 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Regions.html @@ -0,0 +1,1133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Regions: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-drawing.html" title="Drawing"> +<link rel="prev" href="cairo-cairo-pattern-t.html" title="cairo_pattern_t"> +<link rel="next" href="cairo-Transformations.html" title="Transformations"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Regions.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-drawing.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-cairo-pattern-t.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Transformations.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Regions"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Regions.top_of_page"></a>Regions</span></h2> +<p>Regions — Representing a pixel-aligned area</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Regions.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="returnvalue">cairo_region_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-create" title="cairo_region_create ()">cairo_region_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="returnvalue">cairo_region_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-create-rectangle" title="cairo_region_create_rectangle ()">cairo_region_create_rectangle</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="returnvalue">cairo_region_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-create-rectangles" title="cairo_region_create_rectangles ()">cairo_region_create_rectangles</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="returnvalue">cairo_region_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-copy" title="cairo_region_copy ()">cairo_region_copy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="returnvalue">cairo_region_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-reference" title="cairo_region_reference ()">cairo_region_reference</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-destroy" title="cairo_region_destroy ()">cairo_region_destroy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-status" title="cairo_region_status ()">cairo_region_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-get-extents" title="cairo_region_get_extents ()">cairo_region_get_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-num-rectangles" title="cairo_region_num_rectangles ()">cairo_region_num_rectangles</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-get-rectangle" title="cairo_region_get_rectangle ()">cairo_region_get_rectangle</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-is-empty" title="cairo_region_is_empty ()">cairo_region_is_empty</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-contains-point" title="cairo_region_contains_point ()">cairo_region_contains_point</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Regions.html#cairo-region-overlap-t" title="enum cairo_region_overlap_t"><span class="returnvalue">cairo_region_overlap_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-contains-rectangle" title="cairo_region_contains_rectangle ()">cairo_region_contains_rectangle</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-equal" title="cairo_region_equal ()">cairo_region_equal</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-translate" title="cairo_region_translate ()">cairo_region_translate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-intersect" title="cairo_region_intersect ()">cairo_region_intersect</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-intersect-rectangle" title="cairo_region_intersect_rectangle ()">cairo_region_intersect_rectangle</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-subtract" title="cairo_region_subtract ()">cairo_region_subtract</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-subtract-rectangle" title="cairo_region_subtract_rectangle ()">cairo_region_subtract_rectangle</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-union" title="cairo_region_union ()">cairo_region_union</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-union-rectangle" title="cairo_region_union_rectangle ()">cairo_region_union_rectangle</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-xor" title="cairo_region_xor ()">cairo_region_xor</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Regions.html#cairo-region-xor-rectangle" title="cairo_region_xor_rectangle ()">cairo_region_xor_rectangle</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Regions.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t">cairo_region_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-Regions.html#cairo-region-overlap-t" title="enum cairo_region_overlap_t">cairo_region_overlap_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Regions.description"></a><h2>Description</h2> +<p>Regions are a simple graphical data type representing an area of +integer-aligned rectangles. They are often used on raster surfaces +to track areas of interest, such as change or clip areas.</p> +</div> +<div class="refsect1"> +<a name="cairo-Regions.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-region-create"></a><h3>cairo_region_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="returnvalue">cairo_region_t</span></a> * +cairo_region_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Allocates a new empty region object.</p> +<div class="refsect3"> +<a name="cairo-region-create.returns"></a><h4>Returns</h4> +<p> A newly allocated <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a>. Free with +<a class="link" href="cairo-Regions.html#cairo-region-destroy" title="cairo_region_destroy ()"><code class="function">cairo_region_destroy()</code></a>. This function always returns a +valid pointer; if memory cannot be allocated, then a special +error object is returned where all operations on the object do nothing. +You can check for this with <a class="link" href="cairo-Regions.html#cairo-region-status" title="cairo_region_status ()"><code class="function">cairo_region_status()</code></a>.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-create-rectangle"></a><h3>cairo_region_create_rectangle ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="returnvalue">cairo_region_t</span></a> * +cairo_region_create_rectangle (<em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a> *rectangle</code></em>);</pre> +<p>Allocates a new region object containing <em class="parameter"><code>rectangle</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-region-create-rectangle.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>rectangle</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-create-rectangle.returns"></a><h4>Returns</h4> +<p> A newly allocated <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a>. Free with +<a class="link" href="cairo-Regions.html#cairo-region-destroy" title="cairo_region_destroy ()"><code class="function">cairo_region_destroy()</code></a>. This function always returns a +valid pointer; if memory cannot be allocated, then a special +error object is returned where all operations on the object do nothing. +You can check for this with <a class="link" href="cairo-Regions.html#cairo-region-status" title="cairo_region_status ()"><code class="function">cairo_region_status()</code></a>.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-create-rectangles"></a><h3>cairo_region_create_rectangles ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="returnvalue">cairo_region_t</span></a> * +cairo_region_create_rectangles (<em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a> *rects</code></em>, + <em class="parameter"><code><span class="type">int</span> count</code></em>);</pre> +<p>Allocates a new region object containing the union of all given <em class="parameter"><code>rects</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-region-create-rectangles.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>rects</p></td> +<td class="parameter_description"><p>an array of <em class="parameter"><code>count</code></em> +rectangles</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>count</p></td> +<td class="parameter_description"><p>number of rectangles</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-create-rectangles.returns"></a><h4>Returns</h4> +<p> A newly allocated <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a>. Free with +<a class="link" href="cairo-Regions.html#cairo-region-destroy" title="cairo_region_destroy ()"><code class="function">cairo_region_destroy()</code></a>. This function always returns a +valid pointer; if memory cannot be allocated, then a special +error object is returned where all operations on the object do nothing. +You can check for this with <a class="link" href="cairo-Regions.html#cairo-region-status" title="cairo_region_status ()"><code class="function">cairo_region_status()</code></a>.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-copy"></a><h3>cairo_region_copy ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="returnvalue">cairo_region_t</span></a> * +cairo_region_copy (<em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *original</code></em>);</pre> +<p>Allocates a new region object copying the area from <em class="parameter"><code>original</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-region-copy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>original</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-copy.returns"></a><h4>Returns</h4> +<p> A newly allocated <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a>. Free with +<a class="link" href="cairo-Regions.html#cairo-region-destroy" title="cairo_region_destroy ()"><code class="function">cairo_region_destroy()</code></a>. This function always returns a +valid pointer; if memory cannot be allocated, then a special +error object is returned where all operations on the object do nothing. +You can check for this with <a class="link" href="cairo-Regions.html#cairo-region-status" title="cairo_region_status ()"><code class="function">cairo_region_status()</code></a>.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-reference"></a><h3>cairo_region_reference ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="returnvalue">cairo_region_t</span></a> * +cairo_region_reference (<em class="parameter"><code><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *region</code></em>);</pre> +<p>Increases the reference count on <em class="parameter"><code>region</code></em> + by one. This prevents +<em class="parameter"><code>region</code></em> + from being destroyed until a matching call to +<a class="link" href="cairo-Regions.html#cairo-region-destroy" title="cairo_region_destroy ()"><code class="function">cairo_region_destroy()</code></a> is made.</p> +<div class="refsect3"> +<a name="cairo-region-reference.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>region</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-reference.returns"></a><h4>Returns</h4> +<p> the referenced <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a>.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-destroy"></a><h3>cairo_region_destroy ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_region_destroy (<em class="parameter"><code><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *region</code></em>);</pre> +<p>Destroys a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> object created with +<a class="link" href="cairo-Regions.html#cairo-region-create" title="cairo_region_create ()"><code class="function">cairo_region_create()</code></a>, <a class="link" href="cairo-Regions.html#cairo-region-copy" title="cairo_region_copy ()"><code class="function">cairo_region_copy()</code></a>, or +or <a class="link" href="cairo-Regions.html#cairo-region-create-rectangle" title="cairo_region_create_rectangle ()"><code class="function">cairo_region_create_rectangle()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-region-destroy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>region</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-status"></a><h3>cairo_region_status ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_region_status (<em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *region</code></em>);</pre> +<p>Checks whether an error has previous occurred for this +region object.</p> +<div class="refsect3"> +<a name="cairo-region-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>region</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-status.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a></p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-get-extents"></a><h3>cairo_region_get_extents ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_region_get_extents (<em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *region</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a> *extents</code></em>);</pre> +<p>Gets the bounding rectangle of <em class="parameter"><code>region</code></em> + as a <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a></p> +<div class="refsect3"> +<a name="cairo-region-get-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>region</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>rectangle into which to store the extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-num-rectangles"></a><h3>cairo_region_num_rectangles ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_region_num_rectangles (<em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *region</code></em>);</pre> +<p>Returns the number of rectangles contained in <em class="parameter"><code>region</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-region-num-rectangles.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>region</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-num-rectangles.returns"></a><h4>Returns</h4> +<p> The number of rectangles contained in <em class="parameter"><code>region</code></em> +.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-get-rectangle"></a><h3>cairo_region_get_rectangle ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_region_get_rectangle (<em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *region</code></em>, + <em class="parameter"><code><span class="type">int</span> nth</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a> *rectangle</code></em>);</pre> +<p>Stores the <em class="parameter"><code>nth</code></em> + rectangle from the region in <em class="parameter"><code>rectangle</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-region-get-rectangle.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>region</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>nth</p></td> +<td class="parameter_description"><p>a number indicating which rectangle should be returned</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>rectangle</p></td> +<td class="parameter_description"><p>return location for a <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-is-empty"></a><h3>cairo_region_is_empty ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +cairo_region_is_empty (<em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *region</code></em>);</pre> +<p>Checks whether <em class="parameter"><code>region</code></em> + is empty.</p> +<div class="refsect3"> +<a name="cairo-region-is-empty.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>region</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-is-empty.returns"></a><h4>Returns</h4> +<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>region</code></em> +is empty, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it isn't.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-contains-point"></a><h3>cairo_region_contains_point ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +cairo_region_contains_point (<em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *region</code></em>, + <em class="parameter"><code><span class="type">int</span> x</code></em>, + <em class="parameter"><code><span class="type">int</span> y</code></em>);</pre> +<p>Checks whether (<em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +) is contained in <em class="parameter"><code>region</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-region-contains-point.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>region</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>the x coordinate of a point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>the y coordinate of a point</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-contains-point.returns"></a><h4>Returns</h4> +<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if (<em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +) is contained in <em class="parameter"><code>region</code></em> +, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it is not.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-contains-rectangle"></a><h3>cairo_region_contains_rectangle ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Regions.html#cairo-region-overlap-t" title="enum cairo_region_overlap_t"><span class="returnvalue">cairo_region_overlap_t</span></a> +cairo_region_contains_rectangle (<em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *region</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a> *rectangle</code></em>);</pre> +<p>Checks whether <em class="parameter"><code>rectangle</code></em> + is inside, outside or partially contained +in <em class="parameter"><code>region</code></em> +</p> +<div class="refsect3"> +<a name="cairo-region-contains-rectangle.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>region</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>rectangle</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-contains-rectangle.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Regions.html#CAIRO-REGION-OVERLAP-IN:CAPS"><code class="literal">CAIRO_REGION_OVERLAP_IN</code></a> if <em class="parameter"><code>rectangle</code></em> +is entirely inside <em class="parameter"><code>region</code></em> +, +<a class="link" href="cairo-Regions.html#CAIRO-REGION-OVERLAP-OUT:CAPS"><code class="literal">CAIRO_REGION_OVERLAP_OUT</code></a> if <em class="parameter"><code>rectangle</code></em> +is entirely outside <em class="parameter"><code>region</code></em> +, or +<a class="link" href="cairo-Regions.html#CAIRO-REGION-OVERLAP-PART:CAPS"><code class="literal">CAIRO_REGION_OVERLAP_PART</code></a> if <em class="parameter"><code>rectangle</code></em> +is partially inside and partially outside <em class="parameter"><code>region</code></em> +.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-equal"></a><h3>cairo_region_equal ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +cairo_region_equal (<em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *a</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *b</code></em>);</pre> +<p>Compares whether region_a is equivalent to region_b. <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> as an argument +is equal to itself, but not to any non-<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> region.</p> +<div class="refsect3"> +<a name="cairo-region-equal.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>a</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>b</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-equal.returns"></a><h4>Returns</h4> +<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if both regions contained the same coverage, +<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it is not or any region is in an error status.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-translate"></a><h3>cairo_region_translate ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_region_translate (<em class="parameter"><code><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *region</code></em>, + <em class="parameter"><code><span class="type">int</span> dx</code></em>, + <em class="parameter"><code><span class="type">int</span> dy</code></em>);</pre> +<p>Translates <em class="parameter"><code>region</code></em> + by (<em class="parameter"><code>dx</code></em> +, <em class="parameter"><code>dy</code></em> +).</p> +<div class="refsect3"> +<a name="cairo-region-translate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>region</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dx</p></td> +<td class="parameter_description"><p>Amount to translate in the x direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dy</p></td> +<td class="parameter_description"><p>Amount to translate in the y direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-intersect"></a><h3>cairo_region_intersect ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_region_intersect (<em class="parameter"><code><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *dst</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *other</code></em>);</pre> +<p>Computes the intersection of <em class="parameter"><code>dst</code></em> + with <em class="parameter"><code>other</code></em> + and places the result in <em class="parameter"><code>dst</code></em> +</p> +<div class="refsect3"> +<a name="cairo-region-intersect.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dst</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>other</p></td> +<td class="parameter_description"><p>another <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-intersect.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a></p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-intersect-rectangle"></a><h3>cairo_region_intersect_rectangle ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_region_intersect_rectangle (<em class="parameter"><code><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *dst</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a> *rectangle</code></em>);</pre> +<p>Computes the intersection of <em class="parameter"><code>dst</code></em> + with <em class="parameter"><code>rectangle</code></em> + and places the +result in <em class="parameter"><code>dst</code></em> +</p> +<div class="refsect3"> +<a name="cairo-region-intersect-rectangle.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dst</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>rectangle</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-intersect-rectangle.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a></p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-subtract"></a><h3>cairo_region_subtract ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_region_subtract (<em class="parameter"><code><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *dst</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *other</code></em>);</pre> +<p>Subtracts <em class="parameter"><code>other</code></em> + from <em class="parameter"><code>dst</code></em> + and places the result in <em class="parameter"><code>dst</code></em> +</p> +<div class="refsect3"> +<a name="cairo-region-subtract.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dst</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>other</p></td> +<td class="parameter_description"><p>another <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-subtract.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a></p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-subtract-rectangle"></a><h3>cairo_region_subtract_rectangle ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_region_subtract_rectangle (<em class="parameter"><code><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *dst</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a> *rectangle</code></em>);</pre> +<p>Subtracts <em class="parameter"><code>rectangle</code></em> + from <em class="parameter"><code>dst</code></em> + and places the result in <em class="parameter"><code>dst</code></em> +</p> +<div class="refsect3"> +<a name="cairo-region-subtract-rectangle.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dst</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>rectangle</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-subtract-rectangle.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a></p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-union"></a><h3>cairo_region_union ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_region_union (<em class="parameter"><code><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *dst</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *other</code></em>);</pre> +<p>Computes the union of <em class="parameter"><code>dst</code></em> + with <em class="parameter"><code>other</code></em> + and places the result in <em class="parameter"><code>dst</code></em> +</p> +<div class="refsect3"> +<a name="cairo-region-union.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dst</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>other</p></td> +<td class="parameter_description"><p>another <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-union.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a></p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-union-rectangle"></a><h3>cairo_region_union_rectangle ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_region_union_rectangle (<em class="parameter"><code><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *dst</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a> *rectangle</code></em>);</pre> +<p>Computes the union of <em class="parameter"><code>dst</code></em> + with <em class="parameter"><code>rectangle</code></em> + and places the result in <em class="parameter"><code>dst</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-region-union-rectangle.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dst</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>rectangle</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-union-rectangle.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a></p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-xor"></a><h3>cairo_region_xor ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_region_xor (<em class="parameter"><code><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *dst</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *other</code></em>);</pre> +<p>Computes the exclusive difference of <em class="parameter"><code>dst</code></em> + with <em class="parameter"><code>other</code></em> + and places the +result in <em class="parameter"><code>dst</code></em> +. That is, <em class="parameter"><code>dst</code></em> + will be set to contain all areas that +are either in <em class="parameter"><code>dst</code></em> + or in <em class="parameter"><code>other</code></em> +, but not in both.</p> +<div class="refsect3"> +<a name="cairo-region-xor.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dst</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>other</p></td> +<td class="parameter_description"><p>another <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-xor.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a></p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-xor-rectangle"></a><h3>cairo_region_xor_rectangle ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_region_xor_rectangle (<em class="parameter"><code><a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> *dst</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a> *rectangle</code></em>);</pre> +<p>Computes the exclusive difference of <em class="parameter"><code>dst</code></em> + with <em class="parameter"><code>rectangle</code></em> + and places the +result in <em class="parameter"><code>dst</code></em> +. That is, <em class="parameter"><code>dst</code></em> + will be set to contain all areas that are +either in <em class="parameter"><code>dst</code></em> + or in <em class="parameter"><code>rectangle</code></em> +, but not in both.</p> +<div class="refsect3"> +<a name="cairo-region-xor-rectangle.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dst</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>rectangle</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-region-xor-rectangle.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a></p> +</div> +<p class="since">Since: 1.10</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Regions.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="cairo-region-t"></a><h3>cairo_region_t</h3> +<pre class="programlisting">typedef struct _cairo_region cairo_region_t; +</pre> +<p>A <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> represents a set of integer-aligned rectangles.</p> +<p>It allows set-theoretical operations like <a class="link" href="cairo-Regions.html#cairo-region-union" title="cairo_region_union ()"><code class="function">cairo_region_union()</code></a> and +<a class="link" href="cairo-Regions.html#cairo-region-intersect" title="cairo_region_intersect ()"><code class="function">cairo_region_intersect()</code></a> to be performed on them.</p> +<p>Memory management of <a class="link" href="cairo-Regions.html#cairo-region-t" title="cairo_region_t"><span class="type">cairo_region_t</span></a> is done with +<a class="link" href="cairo-Regions.html#cairo-region-reference" title="cairo_region_reference ()"><code class="function">cairo_region_reference()</code></a> and <a class="link" href="cairo-Regions.html#cairo-region-destroy" title="cairo_region_destroy ()"><code class="function">cairo_region_destroy()</code></a>.</p> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-region-overlap-t"></a><h3>enum cairo_region_overlap_t</h3> +<p>Used as the return value for <a class="link" href="cairo-Regions.html#cairo-region-contains-rectangle" title="cairo_region_contains_rectangle ()"><code class="function">cairo_region_contains_rectangle()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-region-overlap-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-REGION-OVERLAP-IN:CAPS"></a>CAIRO_REGION_OVERLAP_IN</p></td> +<td class="enum_member_description"> +<p>The contents are entirely inside the region. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-REGION-OVERLAP-OUT:CAPS"></a>CAIRO_REGION_OVERLAP_OUT</p></td> +<td class="enum_member_description"> +<p>The contents are entirely outside the region. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-REGION-OVERLAP-PART:CAPS"></a>CAIRO_REGION_OVERLAP_PART</p></td> +<td class="enum_member_description"> +<p>The contents are partially inside and + partially outside the region. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-SVG-Surfaces.html b/libs/cairo-1.16.0/doc/public/html/cairo-SVG-Surfaces.html new file mode 100644 index 0000000..7b17bb9 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-SVG-Surfaces.html @@ -0,0 +1,576 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>SVG Surfaces: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-Win32-Surfaces.html" title="Win32 Surfaces"> +<link rel="next" href="cairo-Quartz-Surfaces.html" title="Quartz Surfaces"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-SVG-Surfaces.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-Win32-Surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Quartz-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-SVG-Surfaces"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-SVG-Surfaces.top_of_page"></a>SVG Surfaces</span></h2> +<p>SVG Surfaces — Rendering SVG documents</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-SVG-Surfaces.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-surface-create" title="cairo_svg_surface_create ()">cairo_svg_surface_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-surface-create-for-stream" title="cairo_svg_surface_create_for_stream ()">cairo_svg_surface_create_for_stream</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t" title="enum cairo_svg_unit_t"><span class="returnvalue">cairo_svg_unit_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-surface-get-document-unit" title="cairo_svg_surface_get_document_unit ()">cairo_svg_surface_get_document_unit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-surface-set-document-unit" title="cairo_svg_surface_set_document_unit ()">cairo_svg_surface_set_document_unit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-surface-restrict-to-version" title="cairo_svg_surface_restrict_to_version ()">cairo_svg_surface_restrict_to_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-get-versions" title="cairo_svg_get_versions ()">cairo_svg_get_versions</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-version-to-string" title="cairo_svg_version_to_string ()">cairo_svg_version_to_string</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-SVG-Surfaces.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-SVG-Surfaces.html#CAIRO-HAS-SVG-SURFACE:CAPS" title="CAIRO_HAS_SVG_SURFACE">CAIRO_HAS_SVG_SURFACE</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-version-t" title="enum cairo_svg_version_t">cairo_svg_version_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t" title="enum cairo_svg_unit_t">cairo_svg_unit_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-SVG-Surfaces.description"></a><h2>Description</h2> +<p>The SVG surface is used to render cairo graphics to +SVG files and is a multi-page vector surface backend.</p> +</div> +<div class="refsect1"> +<a name="cairo-SVG-Surfaces.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-svg-surface-create"></a><h3>cairo_svg_surface_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_svg_surface_create (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>, + <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>, + <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre> +<p>Creates a SVG surface of the specified size in points to be written +to <em class="parameter"><code>filename</code></em> +.</p> +<p>The SVG surface backend recognizes the following MIME types for the +data attached to a surface (see <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-mime-data" title="cairo_surface_set_mime_data ()"><code class="function">cairo_surface_set_mime_data()</code></a>) when +it is used as a source pattern for drawing on this surface: +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JPEG:CAPS" title="CAIRO_MIME_TYPE_JPEG"><code class="literal">CAIRO_MIME_TYPE_JPEG</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-PNG:CAPS" title="CAIRO_MIME_TYPE_PNG"><code class="literal">CAIRO_MIME_TYPE_PNG</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-URI:CAPS" title="CAIRO_MIME_TYPE_URI"><code class="literal">CAIRO_MIME_TYPE_URI</code></a>. If any of them is specified, the SVG backend +emits a href with the content of MIME data instead of a surface +snapshot (PNG, Base64-encoded) in the corresponding image tag.</p> +<p>The unofficial MIME type <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-URI:CAPS" title="CAIRO_MIME_TYPE_URI"><code class="literal">CAIRO_MIME_TYPE_URI</code></a> is examined +first. If present, the URI is emitted as is: assuring the +correctness of URI is left to the client code.</p> +<p>If <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-URI:CAPS" title="CAIRO_MIME_TYPE_URI"><code class="literal">CAIRO_MIME_TYPE_URI</code></a> is not present, but <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JPEG:CAPS" title="CAIRO_MIME_TYPE_JPEG"><code class="literal">CAIRO_MIME_TYPE_JPEG</code></a> +or <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-PNG:CAPS" title="CAIRO_MIME_TYPE_PNG"><code class="literal">CAIRO_MIME_TYPE_PNG</code></a> is specified, the corresponding data is +Base64-encoded and emitted.</p> +<p>If <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" title="CAIRO_MIME_TYPE_UNIQUE_ID"><code class="literal">CAIRO_MIME_TYPE_UNIQUE_ID</code></a> is present, all surfaces with the same +unique identifier will only be embedded once.</p> +<div class="refsect3"> +<a name="cairo-svg-surface-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>filename</p></td> +<td class="parameter_description"><p>a filename for the SVG output (must be writable), <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> may be +used to specify no output. This will generate a SVG surface that +may be queried and used as a source, without generating a +temporary file.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width_in_points</p></td> +<td class="parameter_description"><p>width of the surface, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height_in_points</p></td> +<td class="parameter_description"><p>height of the surface, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-svg-surface-create.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-svg-surface-create-for-stream"></a><h3>cairo_svg_surface_create_for_stream ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_svg_surface_create_for_stream (<em class="parameter"><code><a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> write_func</code></em>, + <em class="parameter"><code><span class="type">void</span> *closure</code></em>, + <em class="parameter"><code><span class="type">double</span> width_in_points</code></em>, + <em class="parameter"><code><span class="type">double</span> height_in_points</code></em>);</pre> +<p>Creates a SVG surface of the specified size in points to be written +incrementally to the stream represented by <em class="parameter"><code>write_func</code></em> + and <em class="parameter"><code>closure</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-svg-surface-create-for-stream.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>write_func</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> to accept the output data, may be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> +to indicate a no-op <em class="parameter"><code>write_func</code></em> +. With a no-op <em class="parameter"><code>write_func</code></em> +, +the surface may be queried or used as a source without +generating any temporary files.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>closure</p></td> +<td class="parameter_description"><p>the closure argument for <em class="parameter"><code>write_func</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width_in_points</p></td> +<td class="parameter_description"><p>width of the surface, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height_in_points</p></td> +<td class="parameter_description"><p>height of the surface, in points (1 point == 1/72.0 inch)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-svg-surface-create-for-stream.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-svg-surface-get-document-unit"></a><h3>cairo_svg_surface_get_document_unit ()</h3> +<pre class="programlisting"><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t" title="enum cairo_svg_unit_t"><span class="returnvalue">cairo_svg_unit_t</span></a> +cairo_svg_surface_get_document_unit (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Get the unit of the SVG surface.</p> +<p>If the surface passed as an argument is not a SVG surface, the function +sets the error status to CAIRO_STATUS_SURFACE_TYPE_MISMATCH and returns +CAIRO_SVG_UNIT_USER.</p> +<div class="refsect3"> +<a name="cairo-svg-surface-get-document-unit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a SVG <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-svg-surface-get-document-unit.returns"></a><h4>Returns</h4> +<p> the SVG unit of the SVG surface.</p> +</div> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-svg-surface-set-document-unit"></a><h3>cairo_svg_surface_set_document_unit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_svg_surface_set_document_unit (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t" title="enum cairo_svg_unit_t"><span class="type">cairo_svg_unit_t</span></a> unit</code></em>);</pre> +<p>Use the specified unit for the width and height of the generated SVG file. +See <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t" title="enum cairo_svg_unit_t"><span class="type">cairo_svg_unit_t</span></a> for a list of available unit values that can be used +here.</p> +<p>This function can be called at any time before generating the SVG file.</p> +<p>However to minimize the risk of ambiguities it's recommended to call it +before any drawing operations have been performed on the given surface, to +make it clearer what the unit used in the drawing operations is.</p> +<p>The simplest way to do this is to call this function immediately after +creating the SVG surface.</p> +<p>Note if this function is never called, the default unit for SVG documents +generated by cairo will be "pt". This is for historical reasons.</p> +<div class="refsect3"> +<a name="cairo-svg-surface-set-document-unit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a SVG <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>unit</p></td> +<td class="parameter_description"><p>SVG unit</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-svg-surface-restrict-to-version"></a><h3>cairo_svg_surface_restrict_to_version ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_svg_surface_restrict_to_version (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-version-t" title="enum cairo_svg_version_t"><span class="type">cairo_svg_version_t</span></a> version</code></em>);</pre> +<p>Restricts the generated SVG file to <em class="parameter"><code>version</code></em> +. See <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-get-versions" title="cairo_svg_get_versions ()"><code class="function">cairo_svg_get_versions()</code></a> +for a list of available version values that can be used here.</p> +<p>This function should only be called before any drawing operations +have been performed on the given surface. The simplest way to do +this is to call this function immediately after creating the +surface.</p> +<div class="refsect3"> +<a name="cairo-svg-surface-restrict-to-version.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a SVG <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>version</p></td> +<td class="parameter_description"><p>SVG version</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-svg-get-versions"></a><h3>cairo_svg_get_versions ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_svg_get_versions (<em class="parameter"><code><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-version-t" title="enum cairo_svg_version_t"><span class="type">cairo_svg_version_t</span></a> const **versions</code></em>, + <em class="parameter"><code><span class="type">int</span> *num_versions</code></em>);</pre> +<p>Used to retrieve the list of supported versions. See +<a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-surface-restrict-to-version" title="cairo_svg_surface_restrict_to_version ()"><code class="function">cairo_svg_surface_restrict_to_version()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-svg-get-versions.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>versions</p></td> +<td class="parameter_description"><p>supported version list</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_versions</p></td> +<td class="parameter_description"><p>list length</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-svg-version-to-string"></a><h3>cairo_svg_version_to_string ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +cairo_svg_version_to_string (<em class="parameter"><code><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-version-t" title="enum cairo_svg_version_t"><span class="type">cairo_svg_version_t</span></a> version</code></em>);</pre> +<p>Get the string representation of the given <em class="parameter"><code>version</code></em> + id. This function +will return <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>version</code></em> + isn't valid. See <a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-get-versions" title="cairo_svg_get_versions ()"><code class="function">cairo_svg_get_versions()</code></a> +for a way to get the list of valid version ids.</p> +<div class="refsect3"> +<a name="cairo-svg-version-to-string.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>version</p></td> +<td class="parameter_description"><p>a version id</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-svg-version-to-string.returns"></a><h4>Returns</h4> +<p> the string associated to given version.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-SVG-Surfaces.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-SVG-SURFACE:CAPS"></a><h3>CAIRO_HAS_SVG_SURFACE</h3> +<pre class="programlisting">#define CAIRO_HAS_SVG_SURFACE 1 +</pre> +<p>Defined if the SVG surface backend is available. +This macro can be used to conditionally compile backend-specific code.</p> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-svg-version-t"></a><h3>enum cairo_svg_version_t</h3> +<p><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-version-t" title="enum cairo_svg_version_t"><span class="type">cairo_svg_version_t</span></a> is used to describe the version number of the SVG +specification that a generated SVG file will conform to.</p> +<div class="refsect3"> +<a name="cairo-svg-version-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SVG-VERSION-1-1:CAPS"></a>CAIRO_SVG_VERSION_1_1</p></td> +<td class="enum_member_description"> +<p>The version 1.1 of the SVG specification. (Since 1.2)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SVG-VERSION-1-2:CAPS"></a>CAIRO_SVG_VERSION_1_2</p></td> +<td class="enum_member_description"> +<p>The version 1.2 of the SVG specification. (Since 1.2)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-svg-unit-t"></a><h3>enum cairo_svg_unit_t</h3> +<p><em class="parameter"><code>CAIRO_SVG_UNIT_USER</code></em> +: User unit, a value in the current coordinate system. + If used in the root element for the initial coordinate systems it + corresponds to pixels. (Since 1.16) +<em class="parameter"><code>CAIRO_SVG_UNIT_EM</code></em> +: The size of the element's font. (Since 1.16) +<em class="parameter"><code>CAIRO_SVG_UNIT_EX</code></em> +: The x-height of the element’s font. (Since 1.16) +<em class="parameter"><code>CAIRO_SVG_UNIT_PX</code></em> +: Pixels (1px = 1/96th of 1in). (Since 1.16) +<em class="parameter"><code>CAIRO_SVG_UNIT_IN</code></em> +: Inches (1in = 2.54cm = 96px). (Since 1.16) +<em class="parameter"><code>CAIRO_SVG_UNIT_CM</code></em> +: Centimeters (1cm = 96px/2.54). (Since 1.16) +<em class="parameter"><code>CAIRO_SVG_UNIT_MM</code></em> +: Millimeters (1mm = 1/10th of 1cm). (Since 1.16) +<em class="parameter"><code>CAIRO_SVG_UNIT_PT</code></em> +: Points (1pt = 1/72th of 1in). (Since 1.16) +<em class="parameter"><code>CAIRO_SVG_UNIT_PC</code></em> +: Picas (1pc = 1/6th of 1in). (Since 1.16) +<em class="parameter"><code>CAIRO_SVG_UNIT_PERCENT</code></em> +: Percent, a value that is some fraction of another + reference value. (Since 1.16)</p> +<p><a class="link" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t" title="enum cairo_svg_unit_t"><span class="type">cairo_svg_unit_t</span></a> is used to describe the units valid for coordinates and +lengths in the SVG specification.</p> +<p>See also: +https://www.w3.org/TR/SVG/coords.html<span class="type">Units</span> +https://www.w3.org/TR/SVG/types.html<span class="type">DataTypeLength</span> +https://www.w3.org/TR/css-values-3/<span class="type">lengths</span></p> +<div class="refsect3"> +<a name="cairo-svg-unit-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-USER:CAPS"></a>CAIRO_SVG_UNIT_USER</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-EM:CAPS"></a>CAIRO_SVG_UNIT_EM</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-EX:CAPS"></a>CAIRO_SVG_UNIT_EX</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-PX:CAPS"></a>CAIRO_SVG_UNIT_PX</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-IN:CAPS"></a>CAIRO_SVG_UNIT_IN</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-CM:CAPS"></a>CAIRO_SVG_UNIT_CM</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-MM:CAPS"></a>CAIRO_SVG_UNIT_MM</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-PT:CAPS"></a>CAIRO_SVG_UNIT_PT</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-PC:CAPS"></a>CAIRO_SVG_UNIT_PC</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SVG-UNIT-PERCENT:CAPS"></a>CAIRO_SVG_UNIT_PERCENT</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.16</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-SVG-Surfaces.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Script-Surfaces.html b/libs/cairo-1.16.0/doc/public/html/cairo-Script-Surfaces.html new file mode 100644 index 0000000..797bbc2 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Script-Surfaces.html @@ -0,0 +1,490 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Script Surfaces: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-XLib-XRender-Backend.html" title="XLib-XRender Backend"> +<link rel="next" href="cairo-support.html" title="Utilities"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Script-Surfaces.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-XLib-XRender-Backend.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-support.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Script-Surfaces"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Script-Surfaces.top_of_page"></a>Script Surfaces</span></h2> +<p>Script Surfaces — Rendering to replayable scripts</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Script-Surfaces.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="returnvalue">cairo_device_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Script-Surfaces.html#cairo-script-create" title="cairo_script_create ()">cairo_script_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="returnvalue">cairo_device_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Script-Surfaces.html#cairo-script-create-for-stream" title="cairo_script_create_for_stream ()">cairo_script_create_for_stream</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Script-Surfaces.html#cairo-script-from-recording-surface" title="cairo_script_from_recording_surface ()">cairo_script_from_recording_surface</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Script-Surfaces.html#cairo-script-mode-t" title="enum cairo_script_mode_t"><span class="returnvalue">cairo_script_mode_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Script-Surfaces.html#cairo-script-get-mode" title="cairo_script_get_mode ()">cairo_script_get_mode</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Script-Surfaces.html#cairo-script-set-mode" title="cairo_script_set_mode ()">cairo_script_set_mode</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Script-Surfaces.html#cairo-script-surface-create" title="cairo_script_surface_create ()">cairo_script_surface_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Script-Surfaces.html#cairo-script-surface-create-for-target" title="cairo_script_surface_create_for_target ()">cairo_script_surface_create_for_target</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Script-Surfaces.html#cairo-script-write-comment" title="cairo_script_write_comment ()">cairo_script_write_comment</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Script-Surfaces.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Script-Surfaces.html#CAIRO-HAS-SCRIPT-SURFACE:CAPS" title="CAIRO_HAS_SCRIPT_SURFACE">CAIRO_HAS_SCRIPT_SURFACE</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-Script-Surfaces.html#cairo-script-mode-t" title="enum cairo_script_mode_t">cairo_script_mode_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Script-Surfaces.description"></a><h2>Description</h2> +<p>The script surface provides the ability to render to a native +script that matches the cairo drawing model. The scripts can +be replayed using tools under the util/cairo-script directory, +or with cairo-perf-trace.</p> +</div> +<div class="refsect1"> +<a name="cairo-Script-Surfaces.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-script-create"></a><h3>cairo_script_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="returnvalue">cairo_device_t</span></a> * +cairo_script_create (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);</pre> +<p>Creates a output device for emitting the script, used when +creating the individual surfaces.</p> +<div class="refsect3"> +<a name="cairo-script-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>filename</p></td> +<td class="parameter_description"><p>the name (path) of the file to write the script to</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-script-create.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created device. The caller +owns the surface and should call <a class="link" href="cairo-cairo-device-t.html#cairo-device-destroy" title="cairo_device_destroy ()"><code class="function">cairo_device_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" device if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-device-t.html#cairo-device-status" title="cairo_device_status ()"><code class="function">cairo_device_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-script-create-for-stream"></a><h3>cairo_script_create_for_stream ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="returnvalue">cairo_device_t</span></a> * +cairo_script_create_for_stream (<em class="parameter"><code><a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> write_func</code></em>, + <em class="parameter"><code><span class="type">void</span> *closure</code></em>);</pre> +<p>Creates a output device for emitting the script, used when +creating the individual surfaces.</p> +<div class="refsect3"> +<a name="cairo-script-create-for-stream.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>write_func</p></td> +<td class="parameter_description"><p>callback function passed the bytes written to the script</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>closure</p></td> +<td class="parameter_description"><p>user data to be passed to the callback</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-script-create-for-stream.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created device. The caller +owns the surface and should call <a class="link" href="cairo-cairo-device-t.html#cairo-device-destroy" title="cairo_device_destroy ()"><code class="function">cairo_device_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" device if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-device-t.html#cairo-device-status" title="cairo_device_status ()"><code class="function">cairo_device_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-script-from-recording-surface"></a><h3>cairo_script_from_recording_surface ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_script_from_recording_surface (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *script</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *recording_surface</code></em>);</pre> +<p>Converts the record operations in <em class="parameter"><code>recording_surface</code></em> + into a script.</p> +<div class="refsect3"> +<a name="cairo-script-from-recording-surface.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>script</p></td> +<td class="parameter_description"><p>the script (output device)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>recording_surface</p></td> +<td class="parameter_description"><p>the recording surface to replay</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-script-from-recording-surface.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><span class="type">CAIRO_STATUS_SUCCESS</span></a> on successful completion or an error code.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-script-get-mode"></a><h3>cairo_script_get_mode ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Script-Surfaces.html#cairo-script-mode-t" title="enum cairo_script_mode_t"><span class="returnvalue">cairo_script_mode_t</span></a> +cairo_script_get_mode (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *script</code></em>);</pre> +<p>Queries the script for its current output mode.</p> +<div class="refsect3"> +<a name="cairo-script-get-mode.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>script</p></td> +<td class="parameter_description"><p>The script (output device) to query</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-script-get-mode.returns"></a><h4>Returns</h4> +<p> the current output mode of the script</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-script-set-mode"></a><h3>cairo_script_set_mode ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_script_set_mode (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *script</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Script-Surfaces.html#cairo-script-mode-t" title="enum cairo_script_mode_t"><span class="type">cairo_script_mode_t</span></a> mode</code></em>);</pre> +<p>Change the output mode of the script</p> +<div class="refsect3"> +<a name="cairo-script-set-mode.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>script</p></td> +<td class="parameter_description"><p>The script (output device)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mode</p></td> +<td class="parameter_description"><p>the new mode</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-script-surface-create"></a><h3>cairo_script_surface_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_script_surface_create (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *script</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a> content</code></em>, + <em class="parameter"><code><span class="type">double</span> width</code></em>, + <em class="parameter"><code><span class="type">double</span> height</code></em>);</pre> +<p>Create a new surface that will emit its rendering through <em class="parameter"><code>script</code></em> +</p> +<div class="refsect3"> +<a name="cairo-script-surface-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>script</p></td> +<td class="parameter_description"><p>the script (output device)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>content</p></td> +<td class="parameter_description"><p>the content of the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>width in pixels</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>height in pixels</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-script-surface-create.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-script-surface-create-for-target"></a><h3>cairo_script_surface_create_for_target ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_script_surface_create_for_target + (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *script</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *target</code></em>);</pre> +<p>Create a pxoy surface that will render to <em class="parameter"><code>target</code></em> + and record +the operations to <em class="parameter"><code>device</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-script-surface-create-for-target.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>script</p></td> +<td class="parameter_description"><p>the script (output device)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>target</p></td> +<td class="parameter_description"><p>a target surface to wrap</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-script-surface-create-for-target.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-script-write-comment"></a><h3>cairo_script_write_comment ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_script_write_comment (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *script</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *comment</code></em>, + <em class="parameter"><code><span class="type">int</span> len</code></em>);</pre> +<p>Emit a string verbatim into the script.</p> +<div class="refsect3"> +<a name="cairo-script-write-comment.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>script</p></td> +<td class="parameter_description"><p>the script (output device)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>comment</p></td> +<td class="parameter_description"><p>the string to emit</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>len</p></td> +<td class="parameter_description"><p>the length of the sting to write, or -1 to use <code class="function">strlen()</code></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Script-Surfaces.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-SCRIPT-SURFACE:CAPS"></a><h3>CAIRO_HAS_SCRIPT_SURFACE</h3> +<pre class="programlisting">#define CAIRO_HAS_SCRIPT_SURFACE 1 +</pre> +<p>Defined if the script surface backend is available. +The script surface backend is always built in since 1.12.</p> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-script-mode-t"></a><h3>enum cairo_script_mode_t</h3> +<p>A set of script output variants.</p> +<div class="refsect3"> +<a name="cairo-script-mode-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SCRIPT-MODE-ASCII:CAPS"></a>CAIRO_SCRIPT_MODE_ASCII</p></td> +<td class="enum_member_description"> +<p>the output will be in readable text (default). (Since 1.12)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SCRIPT-MODE-BINARY:CAPS"></a>CAIRO_SCRIPT_MODE_BINARY</p></td> +<td class="enum_member_description"> +<p>the output will use byte codes. (Since 1.12)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Script-Surfaces.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Tags-and-Links.html b/libs/cairo-1.16.0/doc/public/html/cairo-Tags-and-Links.html new file mode 100644 index 0000000..2d8819e --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Tags-and-Links.html @@ -0,0 +1,505 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Tags and Links: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-drawing.html" title="Drawing"> +<link rel="prev" href="cairo-Raster-Sources.html" title="Raster Sources"> +<link rel="next" href="cairo-fonts.html" title="Fonts"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Tags-and-Links.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-drawing.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-Raster-Sources.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-fonts.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Tags-and-Links"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Tags-and-Links.top_of_page"></a>Tags and Links</span></h2> +<p>Tags and Links — Hyperlinks and document structure</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Tags-and-Links.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Tags-and-Links.html#cairo-tag-begin" title="cairo_tag_begin ()">cairo_tag_begin</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Tags-and-Links.html#cairo-tag-end" title="cairo_tag_end ()">cairo_tag_end</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Tags-and-Links.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Tags-and-Links.html#CAIRO-TAG-DEST:CAPS" title="CAIRO_TAG_DEST">CAIRO_TAG_DEST</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Tags-and-Links.html#CAIRO-TAG-LINK:CAPS" title="CAIRO_TAG_LINK">CAIRO_TAG_LINK</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Tags-and-Links.description"></a><h2>Description</h2> +<p>The tag functions provide the ability to specify hyperlinks and +document logical structure on supported backends. The following tags are supported:</p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p><a class="link" href="cairo-Tags-and-Links.html#link" title="Link Tags">Link</a> - Create a hyperlink</p></li> +<li class="listitem"><p><a class="link" href="cairo-Tags-and-Links.html#dest" title="Destination Tags">Destinations</a> - Create a hyperlink destination</p></li> +<li class="listitem"><p><a class="link" href="cairo-Tags-and-Links.html#doc-struct" title="Document Structure (PDF)">Document Structure Tags</a> - Create PDF Document Structure</p></li> +</ul></div> +<div class="refsect2"> +<a name="link"></a><h3>Link Tags</h3> +<p>A hyperlink is specified by enclosing the hyperlink text with the <a class="link" href="cairo-Tags-and-Links.html#CAIRO-TAG-LINK:CAPS" title="CAIRO_TAG_LINK"><code class="literal">CAIRO_TAG_LINK</code></a> tag.</p> +<p>For example:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> CAIRO_TAG_LINK<span class="gtkdoc opt">,</span> <span class="string">"uri='https://cairographics.org'"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Paths.html#cairo-move-to">cairo_move_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">50</span><span class="gtkdoc opt">,</span> <span class="number">50</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-text.html#cairo-show-text">cairo_show_text</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"This is a link to the cairo website."</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> CAIRO_TAG_LINK<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p>The PDF backend uses one or more rectangles to define the clickable +area of the link. By default cairo will use the extents of the +drawing operations enclosed by the begin/end link tags to define the +clickable area. In some cases, such as a link split across two +lines, the default rectangle is undesirable.</p> +<p><em class="parameter"><code>rect</code></em> +: [optional] The "rect" attribute allows the application to +specify one or more rectangles that form the clickable region. The +value of this attribute is an array of floats. Each rectangle is +specified by four elements in the array: x, y, width, height. The +array size must be a multiple of four.</p> +<p>An example of creating a link with user specified clickable region:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30</pre></td> + <td class="listing_code"><pre class="programlisting">cairo_font_extents_t font_extents<span class="gtkdoc opt">;</span> +cairo_text_extents_t text1_extents<span class="gtkdoc opt">;</span> +cairo_text_extents_t text2_extents<span class="gtkdoc opt">;</span> +<span class="gtkdoc kwb">char</span> attribs<span class="gtkdoc opt">[</span><span class="number">100</span><span class="gtkdoc opt">];</span> +<span class="gtkdoc kwb">const char</span> <span class="gtkdoc opt">*</span>text1 <span class="gtkdoc opt">=</span> <span class="string">"This link is split"</span><span class="gtkdoc opt">;</span> +<span class="gtkdoc kwb">const char</span> <span class="gtkdoc opt">*</span>text2 <span class="gtkdoc opt">=</span> <span class="string">"across two lines"</span><span class="gtkdoc opt">;</span> + +<span class="function"><a href="cairo-text.html#cairo-font-extents">cairo_font_extents</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">, &</span>font_extents<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Paths.html#cairo-move-to">cairo_move_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">450</span><span class="gtkdoc opt">,</span> <span class="number">50</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-text.html#cairo-text-extents">cairo_text_extents</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> text1<span class="gtkdoc opt">, &</span>text1_extents<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Paths.html#cairo-move-to">cairo_move_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">50</span><span class="gtkdoc opt">,</span> <span class="number">70</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-text.html#cairo-text-extents">cairo_text_extents</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> text2<span class="gtkdoc opt">, &</span>text2_extents<span class="gtkdoc opt">);</span> +<span class="function">sprintf</span> <span class="gtkdoc opt">(</span>attribs<span class="gtkdoc opt">,</span> + <span class="string">"rect=[%f %f %f %f %f %f %f %f] uri='https://cairographics.org'"</span><span class="gtkdoc opt">,</span> + text1_extents<span class="gtkdoc opt">.</span>x_bearing<span class="gtkdoc opt">,</span> + text1_extents<span class="gtkdoc opt">.</span>y_bearing<span class="gtkdoc opt">,</span> + text1_extents<span class="gtkdoc opt">.</span>width<span class="gtkdoc opt">,</span> + text1_extents<span class="gtkdoc opt">.</span>height<span class="gtkdoc opt">,</span> + text2_extents<span class="gtkdoc opt">.</span>x_bearing<span class="gtkdoc opt">,</span> + text2_extents<span class="gtkdoc opt">.</span>y_bearing<span class="gtkdoc opt">,</span> + text2_extents<span class="gtkdoc opt">.</span>width<span class="gtkdoc opt">,</span> + text2_extents<span class="gtkdoc opt">.</span>height<span class="gtkdoc opt">);</span> + +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> CAIRO_TAG_LINK<span class="gtkdoc opt">,</span> attribs<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-text.html#cairo-show-text">cairo_show_text</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"This is a link to the cairo website"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Paths.html#cairo-move-to">cairo_move_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">450</span><span class="gtkdoc opt">,</span> <span class="number">50</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-text.html#cairo-show-text">cairo_show_text</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> text1<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Paths.html#cairo-move-to">cairo_move_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">50</span><span class="gtkdoc opt">,</span> <span class="number">70</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-text.html#cairo-show-text">cairo_show_text</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> text2<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> CAIRO_TAG_LINK<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p>There are three types of links. Each type has its own attributes as detailed below.</p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p><a class="link" href="cairo-Tags-and-Links.html#internal-link" title="Internal Links">Internal Links</a> - A link to a location in the same document</p></li> +<li class="listitem"><p><a class="link" href="cairo-Tags-and-Links.html#uri-link" title="URI Links">URI Links</a> - A link to a Uniform resource identifier</p></li> +<li class="listitem"><p><a class="link" href="cairo-Tags-and-Links.html#file-link" title="File Links">File Links</a> - A link to a location in another document</p></li> +</ul></div> +<div class="refsect3"> +<a name="internal-link"></a><h4>Internal Links</h4> +<p>An internal link is a link to a location in the same document. The destination +is specified with either:</p> +<p><em class="parameter"><code>dest</code></em> +: a UTF-8 string specifying the destination in the PDF file to link +to. Destinations are created with the <a class="link" href="cairo-Tags-and-Links.html#CAIRO-TAG-DEST:CAPS" title="CAIRO_TAG_DEST"><code class="literal">CAIRO_TAG_DEST</code></a> tag.</p> +<p>or the two attributes:</p> +<p><em class="parameter"><code>page</code></em> +: An integer specifying the page number in the PDF file to link to.</p> +<p><em class="parameter"><code>pos</code></em> +: [optional] An array of two floats specifying the x,y position +on the page.</p> +<p>An example of the link attributes to link to a page and x,y position:</p> +<pre class="programlisting"> +"page=3 pos=[3.1 6.2]" +</pre> +</div> +<div class="refsect3"> +<a name="uri-link"></a><h4>URI Links</h4> +<p>A URI link is a link to a Uniform Resource Identifier (<a class="ulink" href="http://tools.ietf.org/html/rfc2396" target="_top">RFC 2396</a>).</p> +<p>A URI is specified with the following attribute:</p> +<p><em class="parameter"><code>uri</code></em> +: An ASCII string specifying the URI.</p> +<p>An example of the link attributes to the cairo website:</p> +<pre class="programlisting"> +"uri='https://cairographics.org'" +</pre> +</div> +<div class="refsect3"> +<a name="file-link"></a><h4>File Links</h4> +<p>A file link is a link a location in another PDF file.</p> +<p>The file attribute (required) specifies the name of the PDF file:</p> +<p><em class="parameter"><code>file</code></em> +: File name of PDF file to link to.</p> +<p>The position is specified by either:</p> +<p> <em class="parameter"><code>dest</code></em> +: a UTF-8 string specifying the named destination in the PDF file.</p> +<p>or</p> +<p> <em class="parameter"><code>page</code></em> +: An integer specifying the page number in the PDF file.</p> +<p> <em class="parameter"><code>pos</code></em> +: [optional] An array of two floats specifying the x,y + position on the page. Position coordinates in external files are in PDF + coordinates (0,0 at bottom left).</p> +<p>An example of the link attributes to PDF file:</p> +<pre class="programlisting"> +"file='document.pdf' page=16 pos=[25 40]" +</pre> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="dest"></a><h3>Destination Tags</h3> +<p>A destination is specified by enclosing the destination drawing +operations with the <a class="link" href="cairo-Tags-and-Links.html#CAIRO-TAG-DEST:CAPS" title="CAIRO_TAG_DEST"><code class="literal">CAIRO_TAG_DEST</code></a> tag.</p> +<p><em class="parameter"><code>name</code></em> +: [required] A UTF-8 string specifying the name of this destination.</p> +<p><em class="parameter"><code>x</code></em> +: [optional] A float specifying the x coordinate of destination + position on this page. If not specified the default + x coordinate is the left side of the extents of the + operations enclosed by the <a class="link" href="cairo-Tags-and-Links.html#CAIRO-TAG-DEST:CAPS" title="CAIRO_TAG_DEST"><code class="literal">CAIRO_TAG_DEST</code></a> begin/end tags. If + no operations are enclosed, the x coordidate is 0.</p> +<p><em class="parameter"><code>y</code></em> +: [optional] A float specifying the y coordinate of destination + position on this page. If not specified the default + y coordinate is the top of the extents of the + operations enclosed by the <a class="link" href="cairo-Tags-and-Links.html#CAIRO-TAG-DEST:CAPS" title="CAIRO_TAG_DEST"><code class="literal">CAIRO_TAG_DEST</code></a> begin/end tags. If + no operations are enclosed, the y coordidate is 0.</p> +<p><em class="parameter"><code>internal</code></em> +: A boolean that if true, the destination name may be + omitted from PDF where possible. In this case, links + refer directly to the page and position instead of via + the named destination table. Note that if this + destination is referenced by another PDF (see <a class="link" href="cairo-Tags-and-Links.html#file-link" title="File Links">File Links</a>), + this attribute must be false. Default is false.</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="comment">/* Create a hyperlink */</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> CAIRO_TAG_LINK<span class="gtkdoc opt">,</span> <span class="string">"dest='mydest' internal"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Paths.html#cairo-move-to">cairo_move_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">50</span><span class="gtkdoc opt">,</span> <span class="number">50</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-text.html#cairo-show-text">cairo_show_text</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"This is a hyperlink."</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> CAIRO_TAG_LINK<span class="gtkdoc opt">);</span> + +<span class="comment">/* Create a destination */</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> CAIRO_TAG_DEST<span class="gtkdoc opt">,</span> <span class="string">"name='mydest'"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Paths.html#cairo-move-to">cairo_move_to</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="number">50</span><span class="gtkdoc opt">,</span> <span class="number">250</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-text.html#cairo-show-text">cairo_show_text</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"This paragraph is the destination of the above link."</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> CAIRO_TAG_DEST<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +</div> +<hr> +<div class="refsect2"> +<a name="doc-struct"></a><h3>Document Structure (PDF)</h3> +<p>The document structure tags provide a means of specifying structural information +such as headers, paragraphs, tables, and figures. The inclusion of structural information facilitates:</p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p>Extraction of text and graphics for copy and paste</p></li> +<li class="listitem"><p>Reflow of text and graphics in the viewer</p></li> +<li class="listitem"><p>Processing text eg searching and indexing</p></li> +<li class="listitem"><p>Conversion to other formats</p></li> +<li class="listitem"><p>Accessability support</p></li> +</ul></div> +<p>The list of structure types is specified in section 14.8.4 of the +<a class="ulink" href="http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf" target="_top">PDF Reference</a>.</p> +<p>Note the PDF "Link" structure tag is the same as the cairo <a class="link" href="cairo-Tags-and-Links.html#CAIRO-TAG-LINK:CAPS" title="CAIRO_TAG_LINK"><code class="literal">CAIRO_TAG_LINK</code></a> tag.</p> +<p>The following example creates a document structure for a document containing two section, each with +a header and a paragraph.</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"Document"</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span> + +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"Sect"</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"H1"</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-text.html#cairo-show-text">cairo_show_text</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"Heading 1"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"H1"</span><span class="gtkdoc opt">);</span> + +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"P"</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-text.html#cairo-show-text">cairo_show_text</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"Paragraph 1"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"P"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"Sect"</span><span class="gtkdoc opt">);</span> + +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"Sect"</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"H1"</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-text.html#cairo-show-text">cairo_show_text</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"Heading 2"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"H1"</span><span class="gtkdoc opt">);</span> + +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"P"</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-text.html#cairo-show-text">cairo_show_text</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"Paragraph 2"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"P"</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"Sect"</span><span class="gtkdoc opt">);</span> + +<span class="function"><a href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> <span class="string">"Document"</span><span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +</div> +</div> +<div class="refsect1"> +<a name="cairo-Tags-and-Links.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-tag-begin"></a><h3>cairo_tag_begin ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_tag_begin (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *tag_name</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *attributes</code></em>);</pre> +<p>Marks the beginning of the <em class="parameter"><code>tag_name</code></em> + structure. Call +<a class="link" href="cairo-Tags-and-Links.html#cairo-tag-end" title="cairo_tag_end ()"><code class="function">cairo_tag_end()</code></a> with the same <em class="parameter"><code>tag_name</code></em> + to mark the end of the +structure.</p> +<p>The attributes string is of the form "key1=value2 key2=value2 ...". +Values may be boolean (true/false or 1/0), integer, float, string, +or an array.</p> +<p>String values are enclosed in single quotes +('). Single quotes and backslashes inside the string should be +escaped with a backslash.</p> +<p>Boolean values may be set to true by only +specifying the key. eg the attribute string "key" is the equivalent +to "key=true".</p> +<p>Arrays are enclosed in '[]'. eg "rect=[1.2 4.3 2.0 3.0]".</p> +<p>If no attributes are required, <em class="parameter"><code>attributes</code></em> + can be an empty string or NULL.</p> +<p>See <a class="link" href="cairo-Tags-and-Links.html#cairo-Tags-and-Links.description" title="Description">Tags and Links Description</a> +for the list of tags and attributes.</p> +<p>Invalid nesting of tags or invalid attributes will cause <em class="parameter"><code>cr</code></em> + to +shutdown with a status of <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-TAG-ERROR:CAPS"><code class="literal">CAIRO_STATUS_TAG_ERROR</code></a>.</p> +<p>See <a class="link" href="cairo-Tags-and-Links.html#cairo-tag-end" title="cairo_tag_end ()"><code class="function">cairo_tag_end()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-tag-begin.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tag_name</p></td> +<td class="parameter_description"><p>tag name</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>attributes</p></td> +<td class="parameter_description"><p>tag attributes</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-tag-end"></a><h3>cairo_tag_end ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_tag_end (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *tag_name</code></em>);</pre> +<p>Marks the end of the <em class="parameter"><code>tag_name</code></em> + structure.</p> +<p>Invalid nesting of tags will cause <em class="parameter"><code>cr</code></em> + to shutdown with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-TAG-ERROR:CAPS"><code class="literal">CAIRO_STATUS_TAG_ERROR</code></a>.</p> +<p>See <a class="link" href="cairo-Tags-and-Links.html#cairo-tag-begin" title="cairo_tag_begin ()"><code class="function">cairo_tag_begin()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-tag-end.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tag_name</p></td> +<td class="parameter_description"><p>tag name</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.16</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Tags-and-Links.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-TAG-DEST:CAPS"></a><h3>CAIRO_TAG_DEST</h3> +<pre class="programlisting">#define CAIRO_TAG_DEST "cairo.dest" +</pre> +<p>Create a destination for a hyperlink. Destination tag attributes +are detailed at Destinations.</p> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-TAG-LINK:CAPS"></a><h3>CAIRO_TAG_LINK</h3> +<pre class="programlisting">#define CAIRO_TAG_LINK "Link" +</pre> +<p>Create hyperlink. Link tag attributes are detailed at +Links.</p> +<p class="since">Since: 1.16</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Tags-and-Links.see-also"></a><h2>See Also</h2> +<p><span class="type">cairo_pdf_surface_t</span></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Transformations.html b/libs/cairo-1.16.0/doc/public/html/cairo-Transformations.html new file mode 100644 index 0000000..23154df --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Transformations.html @@ -0,0 +1,563 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Transformations: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-drawing.html" title="Drawing"> +<link rel="prev" href="cairo-Regions.html" title="Regions"> +<link rel="next" href="cairo-text.html" title="text"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Transformations.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-drawing.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-Regions.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-text.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Transformations"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Transformations.top_of_page"></a>Transformations</span></h2> +<p>Transformations — Manipulating the current transformation matrix</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Transformations.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Transformations.html#cairo-translate" title="cairo_translate ()">cairo_translate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Transformations.html#cairo-scale" title="cairo_scale ()">cairo_scale</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Transformations.html#cairo-rotate" title="cairo_rotate ()">cairo_rotate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Transformations.html#cairo-transform" title="cairo_transform ()">cairo_transform</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Transformations.html#cairo-set-matrix" title="cairo_set_matrix ()">cairo_set_matrix</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Transformations.html#cairo-get-matrix" title="cairo_get_matrix ()">cairo_get_matrix</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Transformations.html#cairo-identity-matrix" title="cairo_identity_matrix ()">cairo_identity_matrix</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Transformations.html#cairo-user-to-device" title="cairo_user_to_device ()">cairo_user_to_device</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Transformations.html#cairo-user-to-device-distance" title="cairo_user_to_device_distance ()">cairo_user_to_device_distance</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Transformations.html#cairo-device-to-user" title="cairo_device_to_user ()">cairo_device_to_user</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Transformations.html#cairo-device-to-user-distance" title="cairo_device_to_user_distance ()">cairo_device_to_user_distance</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Transformations.description"></a><h2>Description</h2> +<p>The current transformation matrix, <em class="firstterm">ctm</em>, is a +two-dimensional affine transformation that maps all coordinates and other +drawing instruments from the <em class="firstterm">user space</em> into the +surface's canonical coordinate system, also known as the <em class="firstterm">device +space</em>.</p> +</div> +<div class="refsect1"> +<a name="cairo-Transformations.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-translate"></a><h3>cairo_translate ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_translate (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> tx</code></em>, + <em class="parameter"><code><span class="type">double</span> ty</code></em>);</pre> +<p>Modifies the current transformation matrix (CTM) by translating the +user-space origin by (<em class="parameter"><code>tx</code></em> +, <em class="parameter"><code>ty</code></em> +). This offset is interpreted as a +user-space coordinate according to the CTM in place before the new +call to <a class="link" href="cairo-Transformations.html#cairo-translate" title="cairo_translate ()"><code class="function">cairo_translate()</code></a>. In other words, the translation of the +user-space origin takes place after any existing transformation.</p> +<div class="refsect3"> +<a name="cairo-translate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tx</p></td> +<td class="parameter_description"><p>amount to translate in the X direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ty</p></td> +<td class="parameter_description"><p>amount to translate in the Y direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scale"></a><h3>cairo_scale ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_scale (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> sx</code></em>, + <em class="parameter"><code><span class="type">double</span> sy</code></em>);</pre> +<p>Modifies the current transformation matrix (CTM) by scaling the X +and Y user-space axes by <em class="parameter"><code>sx</code></em> + and <em class="parameter"><code>sy</code></em> + respectively. The scaling of +the axes takes place after any existing transformation of user +space.</p> +<div class="refsect3"> +<a name="cairo-scale.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sx</p></td> +<td class="parameter_description"><p>scale factor for the X dimension</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sy</p></td> +<td class="parameter_description"><p>scale factor for the Y dimension</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-rotate"></a><h3>cairo_rotate ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_rotate (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> angle</code></em>);</pre> +<p>Modifies the current transformation matrix (CTM) by rotating the +user-space axes by <em class="parameter"><code>angle</code></em> + radians. The rotation of the axes takes +places after any existing transformation of user space. The +rotation direction for positive angles is from the positive X axis +toward the positive Y axis.</p> +<div class="refsect3"> +<a name="cairo-rotate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>angle</p></td> +<td class="parameter_description"><p>angle (in radians) by which the user-space axes will be +rotated</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-transform"></a><h3>cairo_transform ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_transform (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);</pre> +<p>Modifies the current transformation matrix (CTM) by applying +<em class="parameter"><code>matrix</code></em> + as an additional transformation. The new transformation of +user space takes place after any existing transformation.</p> +<div class="refsect3"> +<a name="cairo-transform.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a transformation to be applied to the user-space axes</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-matrix"></a><h3>cairo_set_matrix ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);</pre> +<p>Modifies the current transformation matrix (CTM) by setting it +equal to <em class="parameter"><code>matrix</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-set-matrix.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a transformation matrix from user space to device space</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-matrix"></a><h3>cairo_get_matrix ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_get_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);</pre> +<p>Stores the current transformation matrix (CTM) into <em class="parameter"><code>matrix</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-get-matrix.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>return value for the matrix</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-identity-matrix"></a><h3>cairo_identity_matrix ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_identity_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Resets the current transformation matrix (CTM) by setting it equal +to the identity matrix. That is, the user-space and device-space +axes will be aligned and one user-space unit will transform to one +device-space unit.</p> +<div class="refsect3"> +<a name="cairo-identity-matrix.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-to-device"></a><h3>cairo_user_to_device ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_user_to_device (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> *x</code></em>, + <em class="parameter"><code><span class="type">double</span> *y</code></em>);</pre> +<p>Transform a coordinate from user space to device space by +multiplying the given point by the current transformation matrix +(CTM).</p> +<div class="refsect3"> +<a name="cairo-user-to-device.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>X value of coordinate (in/out parameter)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>Y value of coordinate (in/out parameter)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-to-device-distance"></a><h3>cairo_user_to_device_distance ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_user_to_device_distance (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> *dx</code></em>, + <em class="parameter"><code><span class="type">double</span> *dy</code></em>);</pre> +<p>Transform a distance vector from user space to device space. This +function is similar to <a class="link" href="cairo-Transformations.html#cairo-user-to-device" title="cairo_user_to_device ()"><code class="function">cairo_user_to_device()</code></a> except that the +translation components of the CTM will be ignored when transforming +(<em class="parameter"><code>dx</code></em> +,<em class="parameter"><code>dy</code></em> +).</p> +<div class="refsect3"> +<a name="cairo-user-to-device-distance.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dx</p></td> +<td class="parameter_description"><p>X component of a distance vector (in/out parameter)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dy</p></td> +<td class="parameter_description"><p>Y component of a distance vector (in/out parameter)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-to-user"></a><h3>cairo_device_to_user ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_device_to_user (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> *x</code></em>, + <em class="parameter"><code><span class="type">double</span> *y</code></em>);</pre> +<p>Transform a coordinate from device space to user space by +multiplying the given point by the inverse of the current +transformation matrix (CTM).</p> +<div class="refsect3"> +<a name="cairo-device-to-user.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>X value of coordinate (in/out parameter)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>Y value of coordinate (in/out parameter)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-to-user-distance"></a><h3>cairo_device_to_user_distance ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_device_to_user_distance (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> *dx</code></em>, + <em class="parameter"><code><span class="type">double</span> *dy</code></em>);</pre> +<p>Transform a distance vector from device space to user space. This +function is similar to <a class="link" href="cairo-Transformations.html#cairo-device-to-user" title="cairo_device_to_user ()"><code class="function">cairo_device_to_user()</code></a> except that the +translation components of the inverse CTM will be ignored when +transforming (<em class="parameter"><code>dx</code></em> +,<em class="parameter"><code>dy</code></em> +).</p> +<div class="refsect3"> +<a name="cairo-device-to-user-distance.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dx</p></td> +<td class="parameter_description"><p>X component of a distance vector (in/out parameter)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dy</p></td> +<td class="parameter_description"><p>Y component of a distance vector (in/out parameter)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Transformations.other_details"></a><h2>Types and Values</h2> +</div> +<div class="refsect1"> +<a name="cairo-Transformations.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Types.html b/libs/cairo-1.16.0/doc/public/html/cairo-Types.html new file mode 100644 index 0000000..cf7eb47 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Types.html @@ -0,0 +1,209 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Types: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-support.html" title="Utilities"> +<link rel="prev" href="cairo-Version-Information.html" title="Version Information"> +<link rel="next" href="index-all.html" title="Index"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Types.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-support.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-Version-Information.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="index-all.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Types"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Types.top_of_page"></a>Types</span></h2> +<p>Types — Generic data types</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Types.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody><tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()">*cairo_destroy_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr></tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Types.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t">cairo_bool_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t">cairo_user_data_key_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t">cairo_rectangle_int_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Types.description"></a><h2>Description</h2> +<p>This section lists generic data types used in the cairo API.</p> +</div> +<div class="refsect1"> +<a name="cairo-Types.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-destroy-func-t"></a><h3>cairo_destroy_func_t ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +<span class="c_punctuation">(</span>*cairo_destroy_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *data</code></em>);</pre> +<p><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> the type of function which is called when a +data element is destroyed. It is passed the pointer to the data +element and should free any memory and resources allocated for it.</p> +<div class="refsect3"> +<a name="cairo-destroy-func-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>The data element being destroyed.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Types.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="cairo-bool-t"></a><h3>cairo_bool_t</h3> +<pre class="programlisting">typedef int cairo_bool_t; +</pre> +<p><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="type">cairo_bool_t</span></a> is used for boolean values. Returns of type +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="type">cairo_bool_t</span></a> will always be either 0 or 1, but testing against +these values explicitly is not encouraged; just use the +value as a boolean condition.</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function"><a href="cairo-cairo-t.html#cairo-in-stroke">cairo_in_stroke</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> x<span class="gtkdoc opt">,</span> y<span class="gtkdoc opt">)) {</span> + <span class="comment">/* do something */</span> +<span class="gtkdoc opt">}</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-data-key-t"></a><h3>cairo_user_data_key_t</h3> +<pre class="programlisting">typedef struct { + int unused; +} cairo_user_data_key_t; +</pre> +<p><a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> is used for attaching user data to cairo +data structures. The actual contents of the struct is never used, +and there is no need to initialize the object; only the unique +address of a <span class="type">cairo_data_key_t</span> object is used. Typically, you +would just use the address of a static <span class="type">cairo_data_key_t</span> object.</p> +<div class="refsect3"> +<a name="cairo-user-data-key-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="struct_members_name"> +<col class="struct_members_description"> +<col width="200px" class="struct_members_annotations"> +</colgroup> +<tbody><tr> +<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="cairo-user-data-key-t.unused"></a>unused</code></em>;</p></td> +<td class="struct_member_description"><p>not used; ignore.</p></td> +<td class="struct_member_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-rectangle-int-t"></a><h3>cairo_rectangle_int_t</h3> +<pre class="programlisting">typedef struct { + int x, y; + int width, height; +} cairo_rectangle_int_t; +</pre> +<p>A data structure for holding a rectangle with integer coordinates.</p> +<div class="refsect3"> +<a name="cairo-rectangle-int-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="struct_members_name"> +<col class="struct_members_description"> +<col width="200px" class="struct_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="cairo-rectangle-int-t.x"></a>x</code></em>;</p></td> +<td class="struct_member_description"><p>X coordinate of the left side of the rectangle</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="cairo-rectangle-int-t.y"></a>y</code></em>;</p></td> +<td class="struct_member_description"><p>Y coordinate of the the top side of the rectangle</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="cairo-rectangle-int-t.width"></a>width</code></em>;</p></td> +<td class="struct_member_description"><p>width of the rectangle</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="cairo-rectangle-int-t.height"></a>height</code></em>;</p></td> +<td class="struct_member_description"><p>height of the rectangle</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-User-Fonts.html b/libs/cairo-1.16.0/doc/public/html/cairo-User-Fonts.html new file mode 100644 index 0000000..3ed735c --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-User-Fonts.html @@ -0,0 +1,827 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>User Fonts: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-fonts.html" title="Fonts"> +<link rel="prev" href="cairo-Quartz-(CGFont)-Fonts.html" title="Quartz (CGFont) Fonts"> +<link rel="next" href="cairo-surfaces.html" title="Surfaces"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-User-Fonts.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-fonts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-Quartz-(CGFont)-Fonts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-User-Fonts"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-User-Fonts.top_of_page"></a>User Fonts</span></h2> +<p>User Fonts — Font support with font data provided by the user</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-User-Fonts.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-init-func-t" title="cairo_user_scaled_font_init_func_t ()">*cairo_user_scaled_font_init_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-render-glyph-func-t" title="cairo_user_scaled_font_render_glyph_func_t ()">*cairo_user_scaled_font_render_glyph_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-text-to-glyphs-func-t" title="cairo_user_scaled_font_text_to_glyphs_func_t ()">*cairo_user_scaled_font_text_to_glyphs_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-unicode-to-glyph-func-t" title="cairo_user_scaled_font_unicode_to_glyph_func_t ()">*cairo_user_scaled_font_unicode_to_glyph_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-font-face-create" title="cairo_user_font_face_create ()">cairo_user_font_face_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-font-face-set-init-func" title="cairo_user_font_face_set_init_func ()">cairo_user_font_face_set_init_func</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-init-func-t" title="cairo_user_scaled_font_init_func_t ()"><span class="returnvalue">cairo_user_scaled_font_init_func_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-font-face-get-init-func" title="cairo_user_font_face_get_init_func ()">cairo_user_font_face_get_init_func</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-font-face-set-render-glyph-func" title="cairo_user_font_face_set_render_glyph_func ()">cairo_user_font_face_set_render_glyph_func</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-render-glyph-func-t" title="cairo_user_scaled_font_render_glyph_func_t ()"><span class="returnvalue">cairo_user_scaled_font_render_glyph_func_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-font-face-get-render-glyph-func" title="cairo_user_font_face_get_render_glyph_func ()">cairo_user_font_face_get_render_glyph_func</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-font-face-set-unicode-to-glyph-func" title="cairo_user_font_face_set_unicode_to_glyph_func ()">cairo_user_font_face_set_unicode_to_glyph_func</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-unicode-to-glyph-func-t" title="cairo_user_scaled_font_unicode_to_glyph_func_t ()"><span class="returnvalue">cairo_user_scaled_font_unicode_to_glyph_func_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-font-face-get-unicode-to-glyph-func" title="cairo_user_font_face_get_unicode_to_glyph_func ()">cairo_user_font_face_get_unicode_to_glyph_func</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-font-face-set-text-to-glyphs-func" title="cairo_user_font_face_set_text_to_glyphs_func ()">cairo_user_font_face_set_text_to_glyphs_func</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-text-to-glyphs-func-t" title="cairo_user_scaled_font_text_to_glyphs_func_t ()"><span class="returnvalue">cairo_user_scaled_font_text_to_glyphs_func_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-User-Fonts.html#cairo-user-font-face-get-text-to-glyphs-func" title="cairo_user_font_face_get_text_to_glyphs_func ()">cairo_user_font_face_get_text_to_glyphs_func</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-User-Fonts.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody><tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-User-Fonts.html#CAIRO-HAS-USER-FONT:CAPS" title="CAIRO_HAS_USER_FONT">CAIRO_HAS_USER_FONT</a></td> +</tr></tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-User-Fonts.description"></a><h2>Description</h2> +<p>The user-font feature allows the cairo user to provide drawings for glyphs +in a font. This is most useful in implementing fonts in non-standard +formats, like SVG fonts and Flash fonts, but can also be used by games and +other application to draw "funky" fonts.</p> +</div> +<div class="refsect1"> +<a name="cairo-User-Fonts.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-user-scaled-font-init-func-t"></a><h3>cairo_user_scaled_font_init_func_t ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +<span class="c_punctuation">(</span>*cairo_user_scaled_font_init_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> *extents</code></em>);</pre> +<p><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-init-func-t" title="cairo_user_scaled_font_init_func_t ()"><span class="type">cairo_user_scaled_font_init_func_t</span></a> is the type of function which is +called when a scaled-font needs to be created for a user font-face.</p> +<p>The cairo context <em class="parameter"><code>cr</code></em> + is not used by the caller, but is prepared in font +space, similar to what the cairo contexts passed to the render_glyph +method will look like. The callback can use this context for extents +computation for example. After the callback is called, <em class="parameter"><code>cr</code></em> + is checked +for any error status.</p> +<p>The <em class="parameter"><code>extents</code></em> + argument is where the user font sets the font extents for +<em class="parameter"><code>scaled_font</code></em> +. It is in font space, which means that for most cases its +ascent and descent members should add to 1.0. <em class="parameter"><code>extents</code></em> + is preset to +hold a value of 1.0 for ascent, height, and max_x_advance, and 0.0 for +descent and max_y_advance members.</p> +<p>The callback is optional. If not set, default font extents as described +in the previous paragraph will be used.</p> +<p>Note that <em class="parameter"><code>scaled_font</code></em> + is not fully initialized at this +point and trying to use it for text operations in the callback will result +in deadlock.</p> +<div class="refsect3"> +<a name="cairo-user-scaled-font-init-func-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>the scaled-font being created</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context, in font space</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>font extents to fill in, in font space</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-user-scaled-font-init-func-t.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> upon success, or an error status on error.</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-scaled-font-render-glyph-func-t"></a><h3>cairo_user_scaled_font_render_glyph_func_t ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +<span class="c_punctuation">(</span>*cairo_user_scaled_font_render_glyph_func_t<span class="c_punctuation">)</span> + (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code><span class="type">unsigned long </span> glyph</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> *extents</code></em>);</pre> +<p><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-render-glyph-func-t" title="cairo_user_scaled_font_render_glyph_func_t ()"><span class="type">cairo_user_scaled_font_render_glyph_func_t</span></a> is the type of function which +is called when a user scaled-font needs to render a glyph.</p> +<p>The callback is mandatory, and expected to draw the glyph with code <em class="parameter"><code>glyph</code></em> + to +the cairo context <em class="parameter"><code>cr</code></em> +. <em class="parameter"><code>cr</code></em> + is prepared such that the glyph drawing is done in +font space. That is, the matrix set on <em class="parameter"><code>cr</code></em> + is the scale matrix of <em class="parameter"><code>scaled_font</code></em> +, +The <em class="parameter"><code>extents</code></em> + argument is where the user font sets the font extents for +<em class="parameter"><code>scaled_font</code></em> +. However, if user prefers to draw in user space, they can +achieve that by changing the matrix on <em class="parameter"><code>cr</code></em> +. All cairo rendering operations +to <em class="parameter"><code>cr</code></em> + are permitted, however, the result is undefined if any source other +than the default source on <em class="parameter"><code>cr</code></em> + is used. That means, glyph bitmaps should +be rendered using <a class="link" href="cairo-cairo-t.html#cairo-mask" title="cairo_mask ()"><code class="function">cairo_mask()</code></a> instead of <a class="link" href="cairo-cairo-t.html#cairo-paint" title="cairo_paint ()"><code class="function">cairo_paint()</code></a>.</p> +<p>Other non-default settings on <em class="parameter"><code>cr</code></em> + include a font size of 1.0 (given that +it is set up to be in font space), and font options corresponding to +<em class="parameter"><code>scaled_font</code></em> +.</p> +<p>The <em class="parameter"><code>extents</code></em> + argument is preset to have <code class="literal">x_bearing</code>, +<code class="literal">width</code>, and <code class="literal">y_advance</code> of zero, +<code class="literal">y_bearing</code> set to <code class="literal">-font_extents.ascent</code>, +<code class="literal">height</code> to <code class="literal">font_extents.ascent+font_extents.descent</code>, +and <code class="literal">x_advance</code> to <code class="literal">font_extents.max_x_advance</code>. +The only field user needs to set in majority of cases is +<code class="literal">x_advance</code>. +If the <code class="literal">width</code> field is zero upon the callback returning +(which is its preset value), the glyph extents are automatically computed +based on the drawings done to <em class="parameter"><code>cr</code></em> +. This is in most cases exactly what the +desired behavior is. However, if for any reason the callback sets the +extents, it must be ink extents, and include the extents of all drawing +done to <em class="parameter"><code>cr</code></em> + in the callback.</p> +<div class="refsect3"> +<a name="cairo-user-scaled-font-render-glyph-func-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>user scaled-font</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyph</p></td> +<td class="parameter_description"><p>glyph code to render</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>cairo context to draw to, in font space</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>glyph extents to fill in, in font space</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-user-scaled-font-render-glyph-func-t.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> upon success, or +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-ERROR:CAPS"><code class="literal">CAIRO_STATUS_USER_FONT_ERROR</code></a> or any other error status on error.</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-scaled-font-text-to-glyphs-func-t"></a><h3>cairo_user_scaled_font_text_to_glyphs_func_t ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +<span class="c_punctuation">(</span>*cairo_user_scaled_font_text_to_glyphs_func_t<span class="c_punctuation">)</span> + (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>, + <em class="parameter"><code><span class="type">int</span> utf8_len</code></em>, + <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> **glyphs</code></em>, + <em class="parameter"><code><span class="type">int</span> *num_glyphs</code></em>, + <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t"><span class="type">cairo_text_cluster_t</span></a> **clusters</code></em>, + <em class="parameter"><code><span class="type">int</span> *num_clusters</code></em>, + <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-text-cluster-flags-t" title="enum cairo_text_cluster_flags_t"><span class="type">cairo_text_cluster_flags_t</span></a> *cluster_flags</code></em>);</pre> +<p><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-text-to-glyphs-func-t" title="cairo_user_scaled_font_text_to_glyphs_func_t ()"><span class="type">cairo_user_scaled_font_text_to_glyphs_func_t</span></a> is the type of function which +is called to convert input text to an array of glyphs. This is used by the +<a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a> operation.</p> +<p>Using this callback the user-font has full control on glyphs and their +positions. That means, it allows for features like ligatures and kerning, +as well as complex <em class="firstterm">shaping</em> required for scripts like +Arabic and Indic.</p> +<p>The <em class="parameter"><code>num_glyphs</code></em> + argument is preset to the number of glyph entries available +in the <em class="parameter"><code>glyphs</code></em> + buffer. If the <em class="parameter"><code>glyphs</code></em> + buffer is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the value of +<em class="parameter"><code>num_glyphs</code></em> + will be zero. If the provided glyph array is too short for +the conversion (or for convenience), a new glyph array may be allocated +using <a class="link" href="cairo-text.html#cairo-glyph-allocate" title="cairo_glyph_allocate ()"><code class="function">cairo_glyph_allocate()</code></a> and placed in <em class="parameter"><code>glyphs</code></em> +. Upon return, +<em class="parameter"><code>num_glyphs</code></em> + should contain the number of generated glyphs. If the value +<em class="parameter"><code>glyphs</code></em> + points at has changed after the call, the caller will free the +allocated glyph array using <a class="link" href="cairo-text.html#cairo-glyph-free" title="cairo_glyph_free ()"><code class="function">cairo_glyph_free()</code></a>. The caller will also free +the original value of <em class="parameter"><code>glyphs</code></em> +, so the callback shouldn't do so. +The callback should populate the glyph indices and positions (in font space) +assuming that the text is to be shown at the origin.</p> +<p>If <em class="parameter"><code>clusters</code></em> + is not <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, <em class="parameter"><code>num_clusters</code></em> + and <em class="parameter"><code>cluster_flags</code></em> + are also +non-<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, and cluster mapping should be computed. The semantics of how +cluster array allocation works is similar to the glyph array. That is, +if <em class="parameter"><code>clusters</code></em> + initially points to a non-<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> value, that array may be used +as a cluster buffer, and <em class="parameter"><code>num_clusters</code></em> + points to the number of cluster +entries available there. If the provided cluster array is too short for +the conversion (or for convenience), a new cluster array may be allocated +using <a class="link" href="cairo-text.html#cairo-text-cluster-allocate" title="cairo_text_cluster_allocate ()"><code class="function">cairo_text_cluster_allocate()</code></a> and placed in <em class="parameter"><code>clusters</code></em> +. In this case, +the original value of <em class="parameter"><code>clusters</code></em> + will still be freed by the caller. Upon +return, <em class="parameter"><code>num_clusters</code></em> + should contain the number of generated clusters. +If the value <em class="parameter"><code>clusters</code></em> + points at has changed after the call, the caller +will free the allocated cluster array using <a class="link" href="cairo-text.html#cairo-text-cluster-free" title="cairo_text_cluster_free ()"><code class="function">cairo_text_cluster_free()</code></a>.</p> +<p>The callback is optional. If <em class="parameter"><code>num_glyphs</code></em> + is negative upon +the callback returning or if the return value +is <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-NOT-IMPLEMENTED:CAPS"><code class="literal">CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED</code></a>, the unicode_to_glyph callback +is tried. See <a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-unicode-to-glyph-func-t" title="cairo_user_scaled_font_unicode_to_glyph_func_t ()"><span class="type">cairo_user_scaled_font_unicode_to_glyph_func_t</span></a>.</p> +<p>Note: While cairo does not impose any limitation on glyph indices, +some applications may assume that a glyph index fits in a 16-bit +unsigned integer. As such, it is advised that user-fonts keep their +glyphs in the 0 to 65535 range. Furthermore, some applications may +assume that glyph 0 is a special glyph-not-found glyph. User-fonts +are advised to use glyph 0 for such purposes and do not use that +glyph value for other purposes.</p> +<div class="refsect3"> +<a name="cairo-user-scaled-font-text-to-glyphs-func-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>the scaled-font being created</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8</p></td> +<td class="parameter_description"><p>a string of text encoded in UTF-8</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8_len</p></td> +<td class="parameter_description"><p>length of <em class="parameter"><code>utf8</code></em> +in bytes</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyphs</p></td> +<td class="parameter_description"><p>pointer to array of glyphs to fill, in font space</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_glyphs</p></td> +<td class="parameter_description"><p>pointer to number of glyphs</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>clusters</p></td> +<td class="parameter_description"><p>pointer to array of cluster mapping information to fill, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_clusters</p></td> +<td class="parameter_description"><p>pointer to number of clusters</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cluster_flags</p></td> +<td class="parameter_description"><p>pointer to location to store cluster flags corresponding to the +output <em class="parameter"><code>clusters</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-user-scaled-font-text-to-glyphs-func-t.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> upon success, +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-NOT-IMPLEMENTED:CAPS"><code class="literal">CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED</code></a> if fallback options should be tried, +or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-ERROR:CAPS"><code class="literal">CAIRO_STATUS_USER_FONT_ERROR</code></a> or any other error status on error.</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-scaled-font-unicode-to-glyph-func-t"></a><h3>cairo_user_scaled_font_unicode_to_glyph_func_t ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +<span class="c_punctuation">(</span>*cairo_user_scaled_font_unicode_to_glyph_func_t<span class="c_punctuation">)</span> + (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code><span class="type">unsigned long </span> unicode</code></em>, + <em class="parameter"><code>unsigned <span class="type">long</span> *glyph_index</code></em>);</pre> +<p><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-unicode-to-glyph-func-t" title="cairo_user_scaled_font_unicode_to_glyph_func_t ()"><span class="type">cairo_user_scaled_font_unicode_to_glyph_func_t</span></a> is the type of function which +is called to convert an input Unicode character to a single glyph. +This is used by the <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a> operation.</p> +<p>This callback is used to provide the same functionality as the +text_to_glyphs callback does (see <a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-text-to-glyphs-func-t" title="cairo_user_scaled_font_text_to_glyphs_func_t ()"><span class="type">cairo_user_scaled_font_text_to_glyphs_func_t</span></a>) +but has much less control on the output, +in exchange for increased ease of use. The inherent assumption to using +this callback is that each character maps to one glyph, and that the +mapping is context independent. It also assumes that glyphs are positioned +according to their advance width. These mean no ligatures, kerning, or +complex scripts can be implemented using this callback.</p> +<p>The callback is optional, and only used if text_to_glyphs callback is not +set or fails to return glyphs. If this callback is not set or if it returns +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-NOT-IMPLEMENTED:CAPS"><code class="literal">CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED</code></a>, an identity mapping from Unicode +code-points to glyph indices is assumed.</p> +<p>Note: While cairo does not impose any limitation on glyph indices, +some applications may assume that a glyph index fits in a 16-bit +unsigned integer. As such, it is advised that user-fonts keep their +glyphs in the 0 to 65535 range. Furthermore, some applications may +assume that glyph 0 is a special glyph-not-found glyph. User-fonts +are advised to use glyph 0 for such purposes and do not use that +glyph value for other purposes.</p> +<div class="refsect3"> +<a name="cairo-user-scaled-font-unicode-to-glyph-func-t.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>the scaled-font being created</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>unicode</p></td> +<td class="parameter_description"><p>input unicode character code-point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyph_index</p></td> +<td class="parameter_description"><p>output glyph index</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-user-scaled-font-unicode-to-glyph-func-t.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> upon success, +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-NOT-IMPLEMENTED:CAPS"><code class="literal">CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED</code></a> if fallback options should be tried, +or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-ERROR:CAPS"><code class="literal">CAIRO_STATUS_USER_FONT_ERROR</code></a> or any other error status on error.</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-font-face-create"></a><h3>cairo_user_font_face_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +cairo_user_font_face_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Creates a new user font-face.</p> +<p>Use the setter functions to associate callbacks with the returned +user font. The only mandatory callback is render_glyph.</p> +<p>After the font-face is created, the user can attach arbitrary data +(the actual font data) to it using <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-set-user-data" title="cairo_font_face_set_user_data ()"><code class="function">cairo_font_face_set_user_data()</code></a> +and access it from the user-font callbacks by using +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-face" title="cairo_scaled_font_get_font_face ()"><code class="function">cairo_scaled_font_get_font_face()</code></a> followed by +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-user-data" title="cairo_font_face_get_user_data ()"><code class="function">cairo_font_face_get_user_data()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-user-font-face-create.returns"></a><h4>Returns</h4> +<p> a newly created <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>. Free with +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy" title="cairo_font_face_destroy ()"><code class="function">cairo_font_face_destroy()</code></a> when you are done using it.</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-font-face-set-init-func"></a><h3>cairo_user_font_face_set_init_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_user_font_face_set_init_func (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>, + <em class="parameter"><code><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-init-func-t" title="cairo_user_scaled_font_init_func_t ()"><span class="type">cairo_user_scaled_font_init_func_t</span></a> init_func</code></em>);</pre> +<p>Sets the scaled-font initialization function of a user-font. +See <a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-init-func-t" title="cairo_user_scaled_font_init_func_t ()"><span class="type">cairo_user_scaled_font_init_func_t</span></a> for details of how the callback +works.</p> +<p>The font-face should not be immutable or a <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-IMMUTABLE:CAPS"><code class="literal">CAIRO_STATUS_USER_FONT_IMMUTABLE</code></a> +error will occur. A user font-face is immutable as soon as a scaled-font +is created from it.</p> +<div class="refsect3"> +<a name="cairo-user-font-face-set-init-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>A user font face</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>init_func</p></td> +<td class="parameter_description"><p>The init callback, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-font-face-get-init-func"></a><h3>cairo_user_font_face_get_init_func ()</h3> +<pre class="programlisting"><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-init-func-t" title="cairo_user_scaled_font_init_func_t ()"><span class="returnvalue">cairo_user_scaled_font_init_func_t</span></a> +cairo_user_font_face_get_init_func (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>Gets the scaled-font initialization function of a user-font.</p> +<div class="refsect3"> +<a name="cairo-user-font-face-get-init-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>A user font face</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-user-font-face-get-init-func.returns"></a><h4>Returns</h4> +<p> The init callback of <em class="parameter"><code>font_face</code></em> +or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none set or an error has occurred.</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-font-face-set-render-glyph-func"></a><h3>cairo_user_font_face_set_render_glyph_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_user_font_face_set_render_glyph_func + (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>, + <em class="parameter"><code><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-render-glyph-func-t" title="cairo_user_scaled_font_render_glyph_func_t ()"><span class="type">cairo_user_scaled_font_render_glyph_func_t</span></a> render_glyph_func</code></em>);</pre> +<p>Sets the glyph rendering function of a user-font. +See <a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-render-glyph-func-t" title="cairo_user_scaled_font_render_glyph_func_t ()"><span class="type">cairo_user_scaled_font_render_glyph_func_t</span></a> for details of how the callback +works.</p> +<p>The font-face should not be immutable or a <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-IMMUTABLE:CAPS"><code class="literal">CAIRO_STATUS_USER_FONT_IMMUTABLE</code></a> +error will occur. A user font-face is immutable as soon as a scaled-font +is created from it.</p> +<p>The render_glyph callback is the only mandatory callback of a user-font. +If the callback is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> and a glyph is tried to be rendered using +<em class="parameter"><code>font_face</code></em> +, a <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-ERROR:CAPS"><code class="literal">CAIRO_STATUS_USER_FONT_ERROR</code></a> will occur.</p> +<div class="refsect3"> +<a name="cairo-user-font-face-set-render-glyph-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>A user font face</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>render_glyph_func</p></td> +<td class="parameter_description"><p>The render_glyph callback, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-font-face-get-render-glyph-func"></a><h3>cairo_user_font_face_get_render_glyph_func ()</h3> +<pre class="programlisting"><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-render-glyph-func-t" title="cairo_user_scaled_font_render_glyph_func_t ()"><span class="returnvalue">cairo_user_scaled_font_render_glyph_func_t</span></a> +cairo_user_font_face_get_render_glyph_func + (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>Gets the glyph rendering function of a user-font.</p> +<div class="refsect3"> +<a name="cairo-user-font-face-get-render-glyph-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>A user font face</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-user-font-face-get-render-glyph-func.returns"></a><h4>Returns</h4> +<p> The render_glyph callback of <em class="parameter"><code>font_face</code></em> +or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none set or an error has occurred.</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-font-face-set-unicode-to-glyph-func"></a><h3>cairo_user_font_face_set_unicode_to_glyph_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_user_font_face_set_unicode_to_glyph_func + (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>, + <em class="parameter"><code><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-unicode-to-glyph-func-t" title="cairo_user_scaled_font_unicode_to_glyph_func_t ()"><span class="type">cairo_user_scaled_font_unicode_to_glyph_func_t</span></a> unicode_to_glyph_func</code></em>);</pre> +<p>Sets the unicode-to-glyph conversion function of a user-font. +See <a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-unicode-to-glyph-func-t" title="cairo_user_scaled_font_unicode_to_glyph_func_t ()"><span class="type">cairo_user_scaled_font_unicode_to_glyph_func_t</span></a> for details of how the callback +works.</p> +<p>The font-face should not be immutable or a <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-IMMUTABLE:CAPS"><code class="literal">CAIRO_STATUS_USER_FONT_IMMUTABLE</code></a> +error will occur. A user font-face is immutable as soon as a scaled-font +is created from it.</p> +<div class="refsect3"> +<a name="cairo-user-font-face-set-unicode-to-glyph-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>A user font face</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>unicode_to_glyph_func</p></td> +<td class="parameter_description"><p>The unicode_to_glyph callback, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-font-face-get-unicode-to-glyph-func"></a><h3>cairo_user_font_face_get_unicode_to_glyph_func ()</h3> +<pre class="programlisting"><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-unicode-to-glyph-func-t" title="cairo_user_scaled_font_unicode_to_glyph_func_t ()"><span class="returnvalue">cairo_user_scaled_font_unicode_to_glyph_func_t</span></a> +cairo_user_font_face_get_unicode_to_glyph_func + (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>Gets the unicode-to-glyph conversion function of a user-font.</p> +<div class="refsect3"> +<a name="cairo-user-font-face-get-unicode-to-glyph-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>A user font face</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-user-font-face-get-unicode-to-glyph-func.returns"></a><h4>Returns</h4> +<p> The unicode_to_glyph callback of <em class="parameter"><code>font_face</code></em> +or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none set or an error occurred.</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-font-face-set-text-to-glyphs-func"></a><h3>cairo_user_font_face_set_text_to_glyphs_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_user_font_face_set_text_to_glyphs_func + (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>, + <em class="parameter"><code><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-text-to-glyphs-func-t" title="cairo_user_scaled_font_text_to_glyphs_func_t ()"><span class="type">cairo_user_scaled_font_text_to_glyphs_func_t</span></a> text_to_glyphs_func</code></em>);</pre> +<p>Sets th text-to-glyphs conversion function of a user-font. +See <a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-text-to-glyphs-func-t" title="cairo_user_scaled_font_text_to_glyphs_func_t ()"><span class="type">cairo_user_scaled_font_text_to_glyphs_func_t</span></a> for details of how the callback +works.</p> +<p>The font-face should not be immutable or a <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-IMMUTABLE:CAPS"><code class="literal">CAIRO_STATUS_USER_FONT_IMMUTABLE</code></a> +error will occur. A user font-face is immutable as soon as a scaled-font +is created from it.</p> +<div class="refsect3"> +<a name="cairo-user-font-face-set-text-to-glyphs-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>A user font face</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>text_to_glyphs_func</p></td> +<td class="parameter_description"><p>The text_to_glyphs callback, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-user-font-face-get-text-to-glyphs-func"></a><h3>cairo_user_font_face_get_text_to_glyphs_func ()</h3> +<pre class="programlisting"><a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-text-to-glyphs-func-t" title="cairo_user_scaled_font_text_to_glyphs_func_t ()"><span class="returnvalue">cairo_user_scaled_font_text_to_glyphs_func_t</span></a> +cairo_user_font_face_get_text_to_glyphs_func + (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>Gets the text-to-glyphs conversion function of a user-font.</p> +<div class="refsect3"> +<a name="cairo-user-font-face-get-text-to-glyphs-func.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>A user font face</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-user-font-face-get-text-to-glyphs-func.returns"></a><h4>Returns</h4> +<p> The text_to_glyphs callback of <em class="parameter"><code>font_face</code></em> +or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none set or an error occurred.</p> +</div> +<p class="since">Since: 1.8</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-User-Fonts.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-USER-FONT:CAPS"></a><h3>CAIRO_HAS_USER_FONT</h3> +<pre class="programlisting">#define CAIRO_HAS_USER_FONT 1 +</pre> +<p>Defined if the user font backend is available. +This macro can be used to conditionally compile backend-specific code. +The user font backend is always built in versions of cairo that support +this feature (1.8 and later).</p> +<p class="since">Since: 1.8</p> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Version-Information.html b/libs/cairo-1.16.0/doc/public/html/cairo-Version-Information.html new file mode 100644 index 0000000..f2d831d --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Version-Information.html @@ -0,0 +1,377 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Version Information: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-support.html" title="Utilities"> +<link rel="prev" href="cairo-Error-handling.html" title="Error handling"> +<link rel="next" href="cairo-Types.html" title="Types"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Version-Information.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-support.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-Error-handling.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Types.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Version-Information"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Version-Information.top_of_page"></a>Version Information</span></h2> +<p>Version Information — Compile-time and run-time version checks.</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Version-Information.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-ENCODE:CAPS" title="CAIRO_VERSION_ENCODE()">CAIRO_VERSION_ENCODE</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"> +<a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-STRINGIZE:CAPS" title="CAIRO_VERSION_STRINGIZE()">CAIRO_VERSION_STRINGIZE</a><span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Version-Information.html#cairo-version" title="cairo_version ()">cairo_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Version-Information.html#cairo-version-string" title="cairo_version_string ()">cairo_version_string</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Version-Information.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Version-Information.html#CAIRO-VERSION:CAPS" title="CAIRO_VERSION">CAIRO_VERSION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-MAJOR:CAPS" title="CAIRO_VERSION_MAJOR">CAIRO_VERSION_MAJOR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-MINOR:CAPS" title="CAIRO_VERSION_MINOR">CAIRO_VERSION_MINOR</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-MICRO:CAPS" title="CAIRO_VERSION_MICRO">CAIRO_VERSION_MICRO</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-STRING:CAPS" title="CAIRO_VERSION_STRING">CAIRO_VERSION_STRING</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Version-Information.description"></a><h2>Description</h2> +<p>Cairo has a three-part version number scheme. In this scheme, we use +even vs. odd numbers to distinguish fixed points in the software +vs. in-progress development, (such as from git instead of a tar file, +or as a "snapshot" tar file as opposed to a "release" tar file).</p> +<div class="informalexample"><pre class="screen"> + _____ Major. Always 1, until we invent a new scheme. +/ ___ Minor. Even/Odd = Release/Snapshot (tar files) or Branch/Head (git) +| / _ Micro. Even/Odd = Tar-file/git +| | / +1.0.0 +</pre></div> +<p>Here are a few examples of versions that one might see.</p> +<div class="informalexample"><pre class="screen"> +Releases +-------- +1.0.0 - A major release +1.0.2 - A subsequent maintenance release +1.2.0 - Another major release + +Snapshots +--------- +1.1.2 - A snapshot (working toward the 1.2.0 release) + +In-progress development (eg. from git) +-------------------------------------- +1.0.1 - Development on a maintenance branch (toward 1.0.2 release) +1.1.1 - Development on head (toward 1.1.2 snapshot and 1.2.0 release) +</pre></div> +<div class="refsect2"> +<a name="id-1.6.4.5.6"></a><h3>Compatibility</h3> + +The API/ABI compatibility guarantees for various versions are as +follows. First, let's assume some cairo-using application code that is +successfully using the API/ABI "from" one version of cairo. Then let's +ask the question whether this same code can be moved "to" the API/ABI +of another version of cairo. + +Moving from a release to any later version (release, snapshot, +development) is always guaranteed to provide compatibility. + +Moving from a snapshot to any later version is not guaranteed to +provide compatibility, since snapshots may introduce new API that ends +up being removed before the next release. + +Moving from an in-development version (odd micro component) to any +later version is not guaranteed to provide compatibility. In fact, +there's not even a guarantee that the code will even continue to work +with the same in-development version number. This is because these +numbers don't correspond to any fixed state of the software, but +rather the many states between snapshots and releases. + +</div> +<hr> +<div class="refsect2"> +<a name="id-1.6.4.5.7"></a><h3>Examining the version</h3> + +Cairo provides the ability to examine the version at either +compile-time or run-time and in both a human-readable form as well as +an encoded form suitable for direct comparison. Cairo also provides the +macro <a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-ENCODE:CAPS" title="CAIRO_VERSION_ENCODE()"><code class="function">CAIRO_VERSION_ENCODE()</code></a> to perform the encoding. + +<div class="informalexample"><pre class="screen"> +Compile-time +------------ +<a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-STRING:CAPS" title="CAIRO_VERSION_STRING"><span class="type">CAIRO_VERSION_STRING</span></a> Human-readable +<a class="link" href="cairo-Version-Information.html#CAIRO-VERSION:CAPS" title="CAIRO_VERSION"><span class="type">CAIRO_VERSION</span></a> Encoded, suitable for comparison + +Run-time +-------- +<a class="link" href="cairo-Version-Information.html#cairo-version-string" title="cairo_version_string ()"><code class="function">cairo_version_string()</code></a> Human-readable +<a class="link" href="cairo-Version-Information.html#cairo-version" title="cairo_version ()"><code class="function">cairo_version()</code></a> Encoded, suitable for comparison +</pre></div> + +For example, checking that the cairo version is greater than or equal +to 1.0.0 could be achieved at compile-time or run-time as follows: + +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="gtkdoc ppc">##if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 0, 0)</span> +<span class="function">printf</span> <span class="gtkdoc opt">(</span><span class="string">"Compiling with suitable cairo version: %s</span><span class="gtkdoc esc">\n</span><span class="string">"</span><span class="gtkdoc opt">, %</span>CAIRO_VERSION_STRING<span class="gtkdoc opt">);</span> +<span class="gtkdoc ppc">##endif</span> + +<span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function"><a href="cairo-Version-Information.html#cairo-version">cairo_version</a></span><span class="gtkdoc opt">() >=</span> <span class="function"><a href="cairo-Version-Information.html#CAIRO-VERSION-ENCODE:CAPS">CAIRO_VERSION_ENCODE</a></span><span class="gtkdoc opt">(</span><span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">))</span> + <span class="function">printf</span> <span class="gtkdoc opt">(</span><span class="string">"Running with suitable cairo version: %s</span><span class="gtkdoc esc">\n</span><span class="string">"</span><span class="gtkdoc opt">,</span> <span class="function"><a href="cairo-Version-Information.html#cairo-version-string">cairo_version_string</a></span> <span class="gtkdoc opt">());</span></pre></td> + </tr> + </tbody> + </table> +</div> + +</div> +</div> +<div class="refsect1"> +<a name="cairo-Version-Information.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="CAIRO-VERSION-ENCODE:CAPS"></a><h3>CAIRO_VERSION_ENCODE()</h3> +<pre class="programlisting">#define CAIRO_VERSION_ENCODE(major, minor, micro)</pre> +<p>This macro encodes the given cairo version into an integer. The numbers +returned by <a class="link" href="cairo-Version-Information.html#CAIRO-VERSION:CAPS" title="CAIRO_VERSION"><code class="literal">CAIRO_VERSION</code></a> and <a class="link" href="cairo-Version-Information.html#cairo-version" title="cairo_version ()"><code class="function">cairo_version()</code></a> are encoded using this macro. +Two encoded version numbers can be compared as integers. The encoding ensures +that later versions compare greater than earlier versions.</p> +<div class="refsect3"> +<a name="CAIRO-VERSION-ENCODE.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>major</p></td> +<td class="parameter_description"><p>the major component of the version number</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>minor</p></td> +<td class="parameter_description"><p>the minor component of the version number</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>micro</p></td> +<td class="parameter_description"><p>the micro component of the version number</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="CAIRO-VERSION-ENCODE.returns"></a><h4>Returns</h4> +<p> the encoded version.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-VERSION-STRINGIZE:CAPS"></a><h3>CAIRO_VERSION_STRINGIZE()</h3> +<pre class="programlisting">#define CAIRO_VERSION_STRINGIZE(major, minor, micro)</pre> +<p>This macro encodes the given cairo version into an string. The numbers +returned by <a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-STRING:CAPS" title="CAIRO_VERSION_STRING"><code class="literal">CAIRO_VERSION_STRING</code></a> and <a class="link" href="cairo-Version-Information.html#cairo-version-string" title="cairo_version_string ()"><code class="function">cairo_version_string()</code></a> are encoded using this macro. +The parameters to this macro must expand to numerical literals.</p> +<div class="refsect3"> +<a name="CAIRO-VERSION-STRINGIZE.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>major</p></td> +<td class="parameter_description"><p>the major component of the version number</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>minor</p></td> +<td class="parameter_description"><p>the minor component of the version number</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>micro</p></td> +<td class="parameter_description"><p>the micro component of the version number</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="CAIRO-VERSION-STRINGIZE.returns"></a><h4>Returns</h4> +<p> a string literal containing the version.</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-version"></a><h3>cairo_version ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_version (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Returns the version of the cairo library encoded in a single +integer as per <a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-ENCODE:CAPS" title="CAIRO_VERSION_ENCODE()"><code class="literal">CAIRO_VERSION_ENCODE</code></a>. The encoding ensures that +later versions compare greater than earlier versions.</p> +<p>A run-time comparison to check that cairo's version is greater than +or equal to version X.Y.Z could be performed as follows:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function"><a href="cairo-Version-Information.html#cairo-version">cairo_version</a></span><span class="gtkdoc opt">() >=</span> <span class="function"><a href="cairo-Version-Information.html#CAIRO-VERSION-ENCODE:CAPS">CAIRO_VERSION_ENCODE</a></span><span class="gtkdoc opt">(</span>X<span class="gtkdoc opt">,</span>Y<span class="gtkdoc opt">,</span>Z<span class="gtkdoc opt">)) {...}</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p>See also <a class="link" href="cairo-Version-Information.html#cairo-version-string" title="cairo_version_string ()"><code class="function">cairo_version_string()</code></a> as well as the compile-time +equivalents <a class="link" href="cairo-Version-Information.html#CAIRO-VERSION:CAPS" title="CAIRO_VERSION"><code class="literal">CAIRO_VERSION</code></a> and <a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-STRING:CAPS" title="CAIRO_VERSION_STRING"><code class="literal">CAIRO_VERSION_STRING</code></a>.</p> +<div class="refsect3"> +<a name="cairo-version.returns"></a><h4>Returns</h4> +<p> the encoded version.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-version-string"></a><h3>cairo_version_string ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +cairo_version_string (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Returns the version of the cairo library as a human-readable string +of the form "X.Y.Z".</p> +<p>See also <a class="link" href="cairo-Version-Information.html#cairo-version" title="cairo_version ()"><code class="function">cairo_version()</code></a> as well as the compile-time equivalents +<a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-STRING:CAPS" title="CAIRO_VERSION_STRING"><code class="literal">CAIRO_VERSION_STRING</code></a> and <a class="link" href="cairo-Version-Information.html#CAIRO-VERSION:CAPS" title="CAIRO_VERSION"><code class="literal">CAIRO_VERSION</code></a>.</p> +<div class="refsect3"> +<a name="cairo-version-string.returns"></a><h4>Returns</h4> +<p> a string containing the version.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Version-Information.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-VERSION:CAPS"></a><h3>CAIRO_VERSION</h3> +<pre class="programlisting">#define CAIRO_VERSION</pre> +<p>The version of cairo available at compile-time, encoded using +<a class="link" href="cairo-Version-Information.html#CAIRO-VERSION-ENCODE:CAPS" title="CAIRO_VERSION_ENCODE()"><code class="function">CAIRO_VERSION_ENCODE()</code></a>.</p> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-VERSION-MAJOR:CAPS"></a><h3>CAIRO_VERSION_MAJOR</h3> +<pre class="programlisting">#define CAIRO_VERSION_MAJOR USE_cairo_version_OR_cairo_version_string_INSTEAD +</pre> +<p>The major component of the version of cairo available at compile-time.</p> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-VERSION-MINOR:CAPS"></a><h3>CAIRO_VERSION_MINOR</h3> +<pre class="programlisting">#define CAIRO_VERSION_MINOR USE_cairo_version_OR_cairo_version_string_INSTEAD +</pre> +<p>The minor component of the version of cairo available at compile-time.</p> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-VERSION-MICRO:CAPS"></a><h3>CAIRO_VERSION_MICRO</h3> +<pre class="programlisting">#define CAIRO_VERSION_MICRO USE_cairo_version_OR_cairo_version_string_INSTEAD +</pre> +<p>The micro component of the version of cairo available at compile-time.</p> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-VERSION-STRING:CAPS"></a><h3>CAIRO_VERSION_STRING</h3> +<pre class="programlisting">#define CAIRO_VERSION_STRING</pre> +<p>A human-readable string literal containing the version of cairo available +at compile-time, in the form of "X.Y.Z".</p> +<p class="since">Since: 1.8</p> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Win32-Fonts.html b/libs/cairo-1.16.0/doc/public/html/cairo-Win32-Fonts.html new file mode 100644 index 0000000..af91c12 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Win32-Fonts.html @@ -0,0 +1,436 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Win32 Fonts: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-fonts.html" title="Fonts"> +<link rel="prev" href="cairo-FreeType-Fonts.html" title="FreeType Fonts"> +<link rel="next" href="cairo-Quartz-(CGFont)-Fonts.html" title="Quartz (CGFont) Fonts"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Win32-Fonts.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-fonts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-FreeType-Fonts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Quartz-(CGFont)-Fonts.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Win32-Fonts"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Win32-Fonts.top_of_page"></a>Win32 Fonts</span></h2> +<p>Win32 Fonts — Font support for Microsoft Windows</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Win32-Fonts.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Fonts.html#cairo-win32-font-face-create-for-logfontw" title="cairo_win32_font_face_create_for_logfontw ()">cairo_win32_font_face_create_for_logfontw</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Fonts.html#cairo-win32-font-face-create-for-hfont" title="cairo_win32_font_face_create_for_hfont ()">cairo_win32_font_face_create_for_hfont</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Fonts.html#cairo-win32-font-face-create-for-logfontw-hfont" title="cairo_win32_font_face_create_for_logfontw_hfont ()">cairo_win32_font_face_create_for_logfontw_hfont</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-select-font" title="cairo_win32_scaled_font_select_font ()">cairo_win32_scaled_font_select_font</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-done-font" title="cairo_win32_scaled_font_done_font ()">cairo_win32_scaled_font_done_font</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">double</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-get-metrics-factor" title="cairo_win32_scaled_font_get_metrics_factor ()">cairo_win32_scaled_font_get_metrics_factor</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-get-logical-to-device" title="cairo_win32_scaled_font_get_logical_to_device ()">cairo_win32_scaled_font_get_logical_to_device</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-get-device-to-logical" title="cairo_win32_scaled_font_get_device_to_logical ()">cairo_win32_scaled_font_get_device_to_logical</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Win32-Fonts.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody><tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Win32-Fonts.html#CAIRO-HAS-WIN32-FONT:CAPS" title="CAIRO_HAS_WIN32_FONT">CAIRO_HAS_WIN32_FONT</a></td> +</tr></tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Win32-Fonts.description"></a><h2>Description</h2> +<p>The Microsoft Windows font backend is primarily used to render text on +Microsoft Windows systems.</p> +</div> +<div class="refsect1"> +<a name="cairo-Win32-Fonts.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-win32-font-face-create-for-logfontw"></a><h3>cairo_win32_font_face_create_for_logfontw ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +cairo_win32_font_face_create_for_logfontw + (<em class="parameter"><code><span class="type">LOGFONTW</span> *logfont</code></em>);</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 class="link" href="cairo-text.html#cairo-set-font-face" title="cairo_set_font_face ()"><code class="function">cairo_set_font_face()</code></a> or <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>. +The <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> +returned from <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a> is also for the Win32 backend +and can be used with functions such as <a class="link" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-select-font" title="cairo_win32_scaled_font_select_font ()"><code class="function">cairo_win32_scaled_font_select_font()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-win32-font-face-create-for-logfontw.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>logfont</p></td> +<td class="parameter_description"><p>A <span class="type">LOGFONTW</span> structure specifying the font to use. +The lfHeight, lfWidth, lfOrientation and lfEscapement +fields of this structure are ignored.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-win32-font-face-create-for-logfontw.returns"></a><h4>Returns</h4> +<p> a newly created <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>. Free with +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy" title="cairo_font_face_destroy ()"><code class="function">cairo_font_face_destroy()</code></a> when you are done using it.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-font-face-create-for-hfont"></a><h3>cairo_win32_font_face_create_for_hfont ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +cairo_win32_font_face_create_for_hfont + (<em class="parameter"><code><span class="type">HFONT</span> font</code></em>);</pre> +<p>Creates a new font for the Win32 font backend based on a +<span class="type">HFONT</span>. This font can then be used with +<a class="link" href="cairo-text.html#cairo-set-font-face" title="cairo_set_font_face ()"><code class="function">cairo_set_font_face()</code></a> or <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>. +The <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> +returned from <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a> is also for the Win32 backend +and can be used with functions such as <a class="link" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-select-font" title="cairo_win32_scaled_font_select_font ()"><code class="function">cairo_win32_scaled_font_select_font()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-win32-font-face-create-for-hfont.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font</p></td> +<td class="parameter_description"><p>An <span class="type">HFONT</span> structure specifying the font to use.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-win32-font-face-create-for-hfont.returns"></a><h4>Returns</h4> +<p> a newly created <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>. Free with +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy" title="cairo_font_face_destroy ()"><code class="function">cairo_font_face_destroy()</code></a> when you are done using it.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-font-face-create-for-logfontw-hfont"></a><h3>cairo_win32_font_face_create_for_logfontw_hfont ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +cairo_win32_font_face_create_for_logfontw_hfont + (<em class="parameter"><code><span class="type">LOGFONTW</span> *logfont</code></em>, + <em class="parameter"><code><span class="type">HFONT</span> font</code></em>);</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 class="link" href="cairo-text.html#cairo-set-font-face" title="cairo_set_font_face ()"><code class="function">cairo_set_font_face()</code></a> or <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>. +The <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> +returned from <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a> is also for the Win32 backend +and can be used with functions such as <a class="link" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-select-font" title="cairo_win32_scaled_font_select_font ()"><code class="function">cairo_win32_scaled_font_select_font()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-win32-font-face-create-for-logfontw-hfont.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>logfont</p></td> +<td class="parameter_description"><p>A <span class="type">LOGFONTW</span> structure specifying the font to use. +If <em class="parameter"><code>font</code></em> +is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then the lfHeight, lfWidth, lfOrientation and lfEscapement +fields of this structure are ignored. Otherwise lfWidth, lfOrientation and +lfEscapement must be zero.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>font</p></td> +<td class="parameter_description"><p>An <span class="type">HFONT</span> that can be used when the font matrix is a scale by +-lfHeight and the CTM is identity.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-win32-font-face-create-for-logfontw-hfont.returns"></a><h4>Returns</h4> +<p> a newly created <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>. Free with +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy" title="cairo_font_face_destroy ()"><code class="function">cairo_font_face_destroy()</code></a> when you are done using it.</p> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-scaled-font-select-font"></a><h3>cairo_win32_scaled_font_select_font ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_win32_scaled_font_select_font (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code><span class="type">HDC</span> hdc</code></em>);</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 class="link" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-done-font" title="cairo_win32_scaled_font_done_font ()"><code class="function">cairo_win32_scaled_font_done_font()</code></a> to release any resources allocated +by this function.</p> +<p>See <a class="link" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-get-metrics-factor" title="cairo_win32_scaled_font_get_metrics_factor ()"><code class="function">cairo_win32_scaled_font_get_metrics_factor()</code></a> for converting logical +coordinates from the device context to font space.</p> +<p>Normally, calls to <code class="function">SaveDC()</code> and <code class="function">RestoreDC()</code> would be made around +the use of this function to preserve the original graphics state.</p> +<div class="refsect3"> +<a name="cairo-win32-scaled-font-select-font.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>A <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> from the Win32 font backend. Such an +object can be created with <a class="link" href="cairo-Win32-Fonts.html#cairo-win32-font-face-create-for-logfontw" title="cairo_win32_font_face_create_for_logfontw ()"><code class="function">cairo_win32_font_face_create_for_logfontw()</code></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hdc</p></td> +<td class="parameter_description"><p>a device context</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-win32-scaled-font-select-font.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> if the operation succeeded. +otherwise an error such as <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> and +the device context is unchanged.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-scaled-font-done-font"></a><h3>cairo_win32_scaled_font_done_font ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_win32_scaled_font_done_font (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre> +<p>Releases any resources allocated by <a class="link" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-select-font" title="cairo_win32_scaled_font_select_font ()"><code class="function">cairo_win32_scaled_font_select_font()</code></a></p> +<div class="refsect3"> +<a name="cairo-win32-scaled-font-done-font.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>A scaled font from the Win32 font backend.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-scaled-font-get-metrics-factor"></a><h3>cairo_win32_scaled_font_get_metrics_factor ()</h3> +<pre class="programlisting"><span class="returnvalue">double</span> +cairo_win32_scaled_font_get_metrics_factor + (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre> +<p>Gets a scale factor between logical coordinates in the coordinate +space used by <a class="link" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-select-font" title="cairo_win32_scaled_font_select_font ()"><code class="function">cairo_win32_scaled_font_select_font()</code></a> (that is, the +coordinate system used by the Windows functions to return metrics) and +font space coordinates.</p> +<div class="refsect3"> +<a name="cairo-win32-scaled-font-get-metrics-factor.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a scaled font from the Win32 font backend</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-win32-scaled-font-get-metrics-factor.returns"></a><h4>Returns</h4> +<p> factor to multiply logical units by to get font space +coordinates.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-scaled-font-get-logical-to-device"></a><h3>cairo_win32_scaled_font_get_logical_to_device ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_win32_scaled_font_get_logical_to_device + (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *logical_to_device</code></em>);</pre> +<p>Gets the transformation mapping the logical space used by <em class="parameter"><code>scaled_font</code></em> + +to device space.</p> +<div class="refsect3"> +<a name="cairo-win32-scaled-font-get-logical-to-device.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a scaled font from the Win32 font backend</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>logical_to_device</p></td> +<td class="parameter_description"><p>matrix to return</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-scaled-font-get-device-to-logical"></a><h3>cairo_win32_scaled_font_get_device_to_logical ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_win32_scaled_font_get_device_to_logical + (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *device_to_logical</code></em>);</pre> +<p>Gets the transformation mapping device space to the logical space +used by <em class="parameter"><code>scaled_font</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-win32-scaled-font-get-device-to-logical.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a scaled font from the Win32 font backend</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>device_to_logical</p></td> +<td class="parameter_description"><p>matrix to return</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.4</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Win32-Fonts.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-WIN32-FONT:CAPS"></a><h3>CAIRO_HAS_WIN32_FONT</h3> +<pre class="programlisting">#define CAIRO_HAS_WIN32_FONT 1 +</pre> +<p>Defined if the Microsoft Windows font backend is available. +This macro can be used to conditionally compile backend-specific code.</p> +<p class="since">Since: 1.8</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Win32-Fonts.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-Win32-Surfaces.html b/libs/cairo-1.16.0/doc/public/html/cairo-Win32-Surfaces.html new file mode 100644 index 0000000..21893dc --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-Win32-Surfaces.html @@ -0,0 +1,413 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Win32 Surfaces: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-Recording-Surfaces.html" title="Recording Surfaces"> +<link rel="next" href="cairo-SVG-Surfaces.html" title="SVG Surfaces"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-Win32-Surfaces.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-Recording-Surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-SVG-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-Win32-Surfaces"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-Win32-Surfaces.top_of_page"></a>Win32 Surfaces</span></h2> +<p>Win32 Surfaces — Microsoft Windows surface support</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-Win32-Surfaces.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create" title="cairo_win32_surface_create ()">cairo_win32_surface_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-dib" title="cairo_win32_surface_create_with_dib ()">cairo_win32_surface_create_with_dib</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-ddb" title="cairo_win32_surface_create_with_ddb ()">cairo_win32_surface_create_with_ddb</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-format" title="cairo_win32_surface_create_with_format ()">cairo_win32_surface_create_with_format</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Surfaces.html#cairo-win32-printing-surface-create" title="cairo_win32_printing_surface_create ()">cairo_win32_printing_surface_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">HDC</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Surfaces.html#cairo-win32-surface-get-dc" title="cairo_win32_surface_get_dc ()">cairo_win32_surface_get_dc</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-Win32-Surfaces.html#cairo-win32-surface-get-image" title="cairo_win32_surface_get_image ()">cairo_win32_surface_get_image</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Win32-Surfaces.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody><tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-Win32-Surfaces.html#CAIRO-HAS-WIN32-SURFACE:CAPS" title="CAIRO_HAS_WIN32_SURFACE">CAIRO_HAS_WIN32_SURFACE</a></td> +</tr></tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-Win32-Surfaces.description"></a><h2>Description</h2> +<p>The Microsoft Windows surface is used to render cairo graphics to +Microsoft Windows windows, bitmaps, and printing device contexts.</p> +<p>The surface returned by <a class="link" href="cairo-Win32-Surfaces.html#cairo-win32-printing-surface-create" title="cairo_win32_printing_surface_create ()"><code class="function">cairo_win32_printing_surface_create()</code></a> is of surface +type <a class="link" href="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-WIN32-PRINTING:CAPS"><code class="literal">CAIRO_SURFACE_TYPE_WIN32_PRINTING</code></a> and is a multi-page vector surface +type.</p> +<p>The surface returned by the other win32 constructors is of surface type +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-WIN32:CAPS"><code class="literal">CAIRO_SURFACE_TYPE_WIN32</code></a> and is a raster surface type.</p> +</div> +<div class="refsect1"> +<a name="cairo-Win32-Surfaces.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-win32-surface-create"></a><h3>cairo_win32_surface_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_win32_surface_create (<em class="parameter"><code><span class="type">HDC</span> hdc</code></em>);</pre> +<p>Creates a cairo surface that targets the given DC. The DC will be +queried for its initial clip extents, and this will be used as the +size of the cairo surface. The resulting surface will always be of +format <a class="link" href="cairo-Image-Surfaces.html#CAIRO-FORMAT-RGB24:CAPS"><code class="literal">CAIRO_FORMAT_RGB24</code></a>; should you need another surface format, +you will need to create one through +<a class="link" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-format" title="cairo_win32_surface_create_with_format ()"><code class="function">cairo_win32_surface_create_with_format()</code></a> or +<a class="link" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-dib" title="cairo_win32_surface_create_with_dib ()"><code class="function">cairo_win32_surface_create_with_dib()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-win32-surface-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>hdc</p></td> +<td class="parameter_description"><p>the DC to create a surface for</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-win32-surface-create.returns"></a><h4>Returns</h4> +<p> the newly created surface, NULL on failure</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-surface-create-with-dib"></a><h3>cairo_win32_surface_create_with_dib ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_win32_surface_create_with_dib (<em class="parameter"><code><a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Creates a device-independent-bitmap surface not associated with +any particular existing surface or device context. The created +bitmap will be uninitialized.</p> +<div class="refsect3"> +<a name="cairo-win32-surface-create-with-dib.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>format of pixels in the surface to create</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>width of the surface, in pixels</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>height of the surface, in pixels</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-win32-surface-create-with-dib.returns"></a><h4>Returns</h4> +<p> the newly created surface</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-surface-create-with-ddb"></a><h3>cairo_win32_surface_create_with_ddb ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_win32_surface_create_with_ddb (<em class="parameter"><code><span class="type">HDC</span> hdc</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Creates a device-dependent-bitmap surface not associated with +any particular existing surface or device context. The created +bitmap will be uninitialized.</p> +<div class="refsect3"> +<a name="cairo-win32-surface-create-with-ddb.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>hdc</p></td> +<td class="parameter_description"><p>a DC compatible with the surface to create</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>format of pixels in the surface to create</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>width of the surface, in pixels</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>height of the surface, in pixels</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-win32-surface-create-with-ddb.returns"></a><h4>Returns</h4> +<p> the newly created surface</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-surface-create-with-format"></a><h3>cairo_win32_surface_create_with_format ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_win32_surface_create_with_format + (<em class="parameter"><code><span class="type">HDC</span> hdc</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> format</code></em>);</pre> +<p>Creates a cairo surface that targets the given DC. The DC will be +queried for its initial clip extents, and this will be used as the +size of the cairo surface.</p> +<p>Supported formats are: +<a class="link" href="cairo-Image-Surfaces.html#CAIRO-FORMAT-ARGB32:CAPS"><code class="literal">CAIRO_FORMAT_ARGB32</code></a> +<a class="link" href="cairo-Image-Surfaces.html#CAIRO-FORMAT-RGB24:CAPS"><code class="literal">CAIRO_FORMAT_RGB24</code></a></p> +<p>Note: <em class="parameter"><code>format</code></em> + only tells cairo how to draw on the surface, not what +the format of the surface is. Namely, cairo does not (and cannot) +check that <em class="parameter"><code>hdc</code></em> + actually supports alpha-transparency.</p> +<div class="refsect3"> +<a name="cairo-win32-surface-create-with-format.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>hdc</p></td> +<td class="parameter_description"><p>the DC to create a surface for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>format of pixels in the surface to create</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-win32-surface-create-with-format.returns"></a><h4>Returns</h4> +<p> the newly created surface, NULL on failure</p> +</div> +<p class="since">Since: 1.14</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-printing-surface-create"></a><h3>cairo_win32_printing_surface_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_win32_printing_surface_create (<em class="parameter"><code><span class="type">HDC</span> hdc</code></em>);</pre> +<p>Creates a cairo surface that targets the given DC. The DC will be +queried for its initial clip extents, and this will be used as the +size of the cairo surface. The DC should be a printing DC; +antialiasing will be ignored, and GDI will be used as much as +possible to draw to the surface.</p> +<p>The returned surface will be wrapped using the paginated surface to +provide correct complex rendering behaviour; <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-show-page" title="cairo_surface_show_page ()"><code class="function">cairo_surface_show_page()</code></a> and +associated methods must be used for correct output.</p> +<div class="refsect3"> +<a name="cairo-win32-printing-surface-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>hdc</p></td> +<td class="parameter_description"><p>the DC to create a surface for</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-win32-printing-surface-create.returns"></a><h4>Returns</h4> +<p> the newly created surface</p> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-surface-get-dc"></a><h3>cairo_win32_surface_get_dc ()</h3> +<pre class="programlisting"><span class="returnvalue">HDC</span> +cairo_win32_surface_get_dc (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Returns the HDC associated with this surface, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none. +Also returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the surface is not a win32 surface.</p> +<p>A call to <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()"><code class="function">cairo_surface_flush()</code></a> is required before using the HDC to +ensure that all pending drawing operations are finished and to +restore any temporary modification cairo has made to its state. A +call to <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty" title="cairo_surface_mark_dirty ()"><code class="function">cairo_surface_mark_dirty()</code></a> is required after the state or +the content of the HDC has been modified.</p> +<div class="refsect3"> +<a name="cairo-win32-surface-get-dc.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-win32-surface-get-dc.returns"></a><h4>Returns</h4> +<p> HDC or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no HDC available.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-win32-surface-get-image"></a><h3>cairo_win32_surface_get_image ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_win32_surface_get_image (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Returns a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> image surface that refers to the same bits +as the DIB of the Win32 surface. If the passed-in win32 surface +is not a DIB surface, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned.</p> +<div class="refsect3"> +<a name="cairo-win32-surface-get-image.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-win32-surface-get-image.returns"></a><h4>Returns</h4> +<p> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> (owned by the win32 <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a>), +or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the win32 surface is not a DIB.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Win32-Surfaces.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-WIN32-SURFACE:CAPS"></a><h3>CAIRO_HAS_WIN32_SURFACE</h3> +<pre class="programlisting">#define CAIRO_HAS_WIN32_SURFACE 1 +</pre> +<p>Defined if the Microsoft Windows surface backend is available. +This macro can be used to conditionally compile backend-specific code.</p> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-Win32-Surfaces.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-XCB-Surfaces.html b/libs/cairo-1.16.0/doc/public/html/cairo-XCB-Surfaces.html new file mode 100644 index 0000000..35ad7c7 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-XCB-Surfaces.html @@ -0,0 +1,658 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>XCB Surfaces: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-Quartz-Surfaces.html" title="Quartz Surfaces"> +<link rel="next" href="cairo-XLib-Surfaces.html" title="XLib Surfaces"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-XCB-Surfaces.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-Quartz-Surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-XLib-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-XCB-Surfaces"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-XCB-Surfaces.top_of_page"></a>XCB Surfaces</span></h2> +<p>XCB Surfaces — X Window System rendering using the XCB library</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-XCB-Surfaces.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-create" title="cairo_xcb_surface_create ()">cairo_xcb_surface_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-create-for-bitmap" title="cairo_xcb_surface_create_for_bitmap ()">cairo_xcb_surface_create_for_bitmap</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-create-with-xrender-format" title="cairo_xcb_surface_create_with_xrender_format ()">cairo_xcb_surface_create_with_xrender_format</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-size" title="cairo_xcb_surface_set_size ()">cairo_xcb_surface_set_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-drawable" title="cairo_xcb_surface_set_drawable ()">cairo_xcb_surface_set_drawable</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">xcb_connection_t</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-device-get-connection" title="cairo_xcb_device_get_connection ()">cairo_xcb_device_get_connection</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-cap-xrender-version" title="cairo_xcb_device_debug_cap_xrender_version ()">cairo_xcb_device_debug_cap_xrender_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-cap-xshm-version" title="cairo_xcb_device_debug_cap_xshm_version ()">cairo_xcb_device_debug_cap_xshm_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-get-precision" title="cairo_xcb_device_debug_get_precision ()">cairo_xcb_device_debug_get_precision</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-set-precision" title="cairo_xcb_device_debug_set_precision ()">cairo_xcb_device_debug_set_precision</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-XCB-Surfaces.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-XCB-Surfaces.html#CAIRO-HAS-XCB-SURFACE:CAPS" title="CAIRO_HAS_XCB_SURFACE">CAIRO_HAS_XCB_SURFACE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-XCB-Surfaces.html#CAIRO-HAS-XCB-SHM-FUNCTIONS:CAPS" title="CAIRO_HAS_XCB_SHM_FUNCTIONS">CAIRO_HAS_XCB_SHM_FUNCTIONS</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-XCB-Surfaces.description"></a><h2>Description</h2> +<p>The XCB surface is used to render cairo graphics to X Window System +windows and pixmaps using the XCB library.</p> +<p>Note that the XCB surface automatically takes advantage of the X render +extension if it is available.</p> +</div> +<div class="refsect1"> +<a name="cairo-XCB-Surfaces.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-xcb-surface-create"></a><h3>cairo_xcb_surface_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_xcb_surface_create (<em class="parameter"><code><span class="type">xcb_connection_t</span> *connection</code></em>, + <em class="parameter"><code><span class="type">xcb_drawable_t</span> drawable</code></em>, + <em class="parameter"><code><span class="type">xcb_visualtype_t</span> *visual</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Creates an XCB surface that draws to the given drawable. +The way that colors are represented in the drawable is specified +by the provided visual.</p> +<p>Note: If <em class="parameter"><code>drawable</code></em> + is a Window, then the function +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-size" title="cairo_xcb_surface_set_size ()"><code class="function">cairo_xcb_surface_set_size()</code></a> must be called whenever the size of the +window changes.</p> +<p>When <em class="parameter"><code>drawable</code></em> + is a Window containing child windows then drawing to +the created surface will be clipped by those child windows. When +the created surface is used as a source, the contents of the +children will be included.</p> +<div class="refsect3"> +<a name="cairo-xcb-surface-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>connection</p></td> +<td class="parameter_description"><p>an XCB connection</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>drawable</p></td> +<td class="parameter_description"><p>an XCB drawable</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>visual</p></td> +<td class="parameter_description"><p>the visual to use for drawing to <em class="parameter"><code>drawable</code></em> +. The depth +of the visual must match the depth of the drawable. +Currently, only TrueColor visuals are fully supported.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the current width of <em class="parameter"><code>drawable</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the current height of <em class="parameter"><code>drawable</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xcb-surface-create.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xcb-surface-create-for-bitmap"></a><h3>cairo_xcb_surface_create_for_bitmap ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_xcb_surface_create_for_bitmap (<em class="parameter"><code><span class="type">xcb_connection_t</span> *connection</code></em>, + <em class="parameter"><code><span class="type">xcb_screen_t</span> *screen</code></em>, + <em class="parameter"><code><span class="type">xcb_pixmap_t</span> bitmap</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Creates an XCB surface that draws to the given bitmap. +This will be drawn to as a <a class="link" href="cairo-Image-Surfaces.html#CAIRO-FORMAT-A1:CAPS"><code class="literal">CAIRO_FORMAT_A1</code></a> object.</p> +<div class="refsect3"> +<a name="cairo-xcb-surface-create-for-bitmap.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>connection</p></td> +<td class="parameter_description"><p>an XCB connection</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>screen</p></td> +<td class="parameter_description"><p>the XCB screen associated with <em class="parameter"><code>bitmap</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bitmap</p></td> +<td class="parameter_description"><p>an XCB drawable (a Pixmap with depth 1)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the current width of <em class="parameter"><code>bitmap</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the current height of <em class="parameter"><code>bitmap</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xcb-surface-create-for-bitmap.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xcb-surface-create-with-xrender-format"></a><h3>cairo_xcb_surface_create_with_xrender_format ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_xcb_surface_create_with_xrender_format + (<em class="parameter"><code><span class="type">xcb_connection_t</span> *connection</code></em>, + <em class="parameter"><code><span class="type">xcb_screen_t</span> *screen</code></em>, + <em class="parameter"><code><span class="type">xcb_drawable_t</span> drawable</code></em>, + <em class="parameter"><code><span class="type">xcb_render_pictforminfo_t</span> *format</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Creates an XCB surface that draws to the given drawable. +The way that colors are represented in the drawable is specified +by the provided picture format.</p> +<p>Note: If <em class="parameter"><code>drawable</code></em> + is a Window, then the function +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-size" title="cairo_xcb_surface_set_size ()"><code class="function">cairo_xcb_surface_set_size()</code></a> must be called whenever the size of the +window changes.</p> +<p>When <em class="parameter"><code>drawable</code></em> + is a Window containing child windows then drawing to +the created surface will be clipped by those child windows. When +the created surface is used as a source, the contents of the +children will be included.</p> +<div class="refsect3"> +<a name="cairo-xcb-surface-create-with-xrender-format.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>connection</p></td> +<td class="parameter_description"><p>an XCB connection</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>drawable</p></td> +<td class="parameter_description"><p>an XCB drawable</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>screen</p></td> +<td class="parameter_description"><p>the XCB screen associated with <em class="parameter"><code>drawable</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the picture format to use for drawing to <em class="parameter"><code>drawable</code></em> +. The +depth of <em class="parameter"><code>format</code></em> +mush match the depth of the drawable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the current width of <em class="parameter"><code>drawable</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the current height of <em class="parameter"><code>drawable</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xcb-surface-create-with-xrender-format.returns"></a><h4>Returns</h4> +<p> a pointer to the newly created surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> to check for this.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xcb-surface-set-size"></a><h3>cairo_xcb_surface_set_size ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_xcb_surface_set_size (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Informs cairo of the new size of the XCB drawable underlying the +surface. For a surface created for a window (rather than a pixmap), +this function must be called each time the size of the window +changes. (For a subwindow, you are normally resizing the window +yourself, but for a toplevel window, it is necessary to listen for +ConfigureNotify events.)</p> +<p>A pixmap can never change size, so it is never necessary to call +this function on a surface created for a pixmap.</p> +<p>If <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()"><code class="function">cairo_surface_flush()</code></a> wasn't called, some pending operations +might be discarded.</p> +<div class="refsect3"> +<a name="cairo-xcb-surface-set-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> for the XCB backend</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the new width of the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the new height of the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xcb-surface-set-drawable"></a><h3>cairo_xcb_surface_set_drawable ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_xcb_surface_set_drawable (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">xcb_drawable_t</span> drawable</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Informs cairo of the new drawable and size of the XCB drawable underlying the +surface.</p> +<p>If <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()"><code class="function">cairo_surface_flush()</code></a> wasn't called, some pending operations +might be discarded.</p> +<div class="refsect3"> +<a name="cairo-xcb-surface-set-drawable.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> for the XCB backend</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>drawable</p></td> +<td class="parameter_description"><p>the new drawable of the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the new width of the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the new height of the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xcb-device-get-connection"></a><h3>cairo_xcb_device_get_connection ()</h3> +<pre class="programlisting"><span class="returnvalue">xcb_connection_t</span> * +cairo_xcb_device_get_connection (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +<p>Get the connection for the XCB device.</p> +<div class="refsect3"> +<a name="cairo-xcb-device-get-connection.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the XCB backend</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xcb-device-get-connection.returns"></a><h4>Returns</h4> +<p> the <span class="type">xcb_connection_t</span> for the connection</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xcb-device-debug-cap-xrender-version"></a><h3>cairo_xcb_device_debug_cap_xrender_version ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_xcb_device_debug_cap_xrender_version + (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>, + <em class="parameter"><code><span class="type">int</span> major_version</code></em>, + <em class="parameter"><code><span class="type">int</span> minor_version</code></em>);</pre> +<p>Restricts all future XCB surfaces for this devices to the specified version +of the RENDER extension. This function exists solely for debugging purpose. +It let's you find out how cairo would behave with an older version of +the RENDER extension.</p> +<p>Use the special values -1 and -1 for disabling the RENDER extension.</p> +<div class="refsect3"> +<a name="cairo-xcb-device-debug-cap-xrender-version.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the XCB backend</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>major_version</p></td> +<td class="parameter_description"><p>major version to restrict to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>minor_version</p></td> +<td class="parameter_description"><p>minor version to restrict to</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xcb-device-debug-cap-xshm-version"></a><h3>cairo_xcb_device_debug_cap_xshm_version ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_xcb_device_debug_cap_xshm_version + (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>, + <em class="parameter"><code><span class="type">int</span> major_version</code></em>, + <em class="parameter"><code><span class="type">int</span> minor_version</code></em>);</pre> +<p>Restricts all future XCB surfaces for this devices to the specified version +of the SHM extension. This function exists solely for debugging purpose. +It let's you find out how cairo would behave with an older version of +the SHM extension.</p> +<p>Use the special values -1 and -1 for disabling the SHM extension.</p> +<div class="refsect3"> +<a name="cairo-xcb-device-debug-cap-xshm-version.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the XCB backend</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>major_version</p></td> +<td class="parameter_description"><p>major version to restrict to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>minor_version</p></td> +<td class="parameter_description"><p>minor version to restrict to</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xcb-device-debug-get-precision"></a><h3>cairo_xcb_device_debug_get_precision ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_xcb_device_debug_get_precision (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +<p>Get the Xrender precision mode.</p> +<div class="refsect3"> +<a name="cairo-xcb-device-debug-get-precision.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the XCB backend</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xcb-device-debug-get-precision.returns"></a><h4>Returns</h4> +<p> the render precision mode</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xcb-device-debug-set-precision"></a><h3>cairo_xcb_device_debug_set_precision ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_xcb_device_debug_set_precision (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>, + <em class="parameter"><code><span class="type">int</span> precision</code></em>);</pre> +<p>Render supports two modes of precision when rendering trapezoids. Set +the precision to the desired mode.</p> +<div class="refsect3"> +<a name="cairo-xcb-device-debug-set-precision.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the XCB backend</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>precision</p></td> +<td class="parameter_description"><p>the precision to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-XCB-Surfaces.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-XCB-SURFACE:CAPS"></a><h3>CAIRO_HAS_XCB_SURFACE</h3> +<pre class="programlisting">#define CAIRO_HAS_XCB_SURFACE 1 +</pre> +<p>Defined if the xcb surface backend is available. +This macro can be used to conditionally compile backend-specific code.</p> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-HAS-XCB-SHM-FUNCTIONS:CAPS"></a><h3>CAIRO_HAS_XCB_SHM_FUNCTIONS</h3> +<pre class="programlisting">#define CAIRO_HAS_XCB_SHM_FUNCTIONS 1 +</pre> +</div> +</div> +<div class="refsect1"> +<a name="cairo-XCB-Surfaces.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-XLib-Surfaces.html b/libs/cairo-1.16.0/doc/public/html/cairo-XLib-Surfaces.html new file mode 100644 index 0000000..4d97cb1 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-XLib-Surfaces.html @@ -0,0 +1,713 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>XLib Surfaces: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-XCB-Surfaces.html" title="XCB Surfaces"> +<link rel="next" href="cairo-XLib-XRender-Backend.html" title="XLib-XRender Backend"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-XLib-Surfaces.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-XCB-Surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-XLib-XRender-Backend.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-XLib-Surfaces"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-XLib-Surfaces.top_of_page"></a>XLib Surfaces</span></h2> +<p>XLib Surfaces — X Window System rendering using XLib</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-XLib-Surfaces.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-create" title="cairo_xlib_surface_create ()">cairo_xlib_surface_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-create-for-bitmap" title="cairo_xlib_surface_create_for_bitmap ()">cairo_xlib_surface_create_for_bitmap</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-set-size" title="cairo_xlib_surface_set_size ()">cairo_xlib_surface_set_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">Display</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-display" title="cairo_xlib_surface_get_display ()">cairo_xlib_surface_get_display</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">Screen</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-screen" title="cairo_xlib_surface_get_screen ()">cairo_xlib_surface_get_screen</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-set-drawable" title="cairo_xlib_surface_set_drawable ()">cairo_xlib_surface_set_drawable</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">Drawable</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-drawable" title="cairo_xlib_surface_get_drawable ()">cairo_xlib_surface_get_drawable</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">Visual</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-visual" title="cairo_xlib_surface_get_visual ()">cairo_xlib_surface_get_visual</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-width" title="cairo_xlib_surface_get_width ()">cairo_xlib_surface_get_width</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-height" title="cairo_xlib_surface_get_height ()">cairo_xlib_surface_get_height</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-depth" title="cairo_xlib_surface_get_depth ()">cairo_xlib_surface_get_depth</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-device-debug-cap-xrender-version" title="cairo_xlib_device_debug_cap_xrender_version ()">cairo_xlib_device_debug_cap_xrender_version</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-device-debug-get-precision" title="cairo_xlib_device_debug_get_precision ()">cairo_xlib_device_debug_get_precision</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-device-debug-set-precision" title="cairo_xlib_device_debug_set_precision ()">cairo_xlib_device_debug_set_precision</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-XLib-Surfaces.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody><tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-XLib-Surfaces.html#CAIRO-HAS-XLIB-SURFACE:CAPS" title="CAIRO_HAS_XLIB_SURFACE">CAIRO_HAS_XLIB_SURFACE</a></td> +</tr></tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-XLib-Surfaces.description"></a><h2>Description</h2> +<p>The XLib surface is used to render cairo graphics to X Window System +windows and pixmaps using the XLib library.</p> +<p>Note that the XLib surface automatically takes advantage of X render extension +if it is available.</p> +</div> +<div class="refsect1"> +<a name="cairo-XLib-Surfaces.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-xlib-surface-create"></a><h3>cairo_xlib_surface_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_xlib_surface_create (<em class="parameter"><code><span class="type">Display</span> *dpy</code></em>, + <em class="parameter"><code><span class="type">Drawable</span> drawable</code></em>, + <em class="parameter"><code><span class="type">Visual</span> *visual</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Creates an Xlib surface that draws to the given drawable. +The way that colors are represented in the drawable is specified +by the provided visual.</p> +<p>Note: If <em class="parameter"><code>drawable</code></em> + is a Window, then the function +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-set-size" title="cairo_xlib_surface_set_size ()"><code class="function">cairo_xlib_surface_set_size()</code></a> must be called whenever the size of the +window changes.</p> +<p>When <em class="parameter"><code>drawable</code></em> + is a Window containing child windows then drawing to +the created surface will be clipped by those child windows. When +the created surface is used as a source, the contents of the +children will be included.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dpy</p></td> +<td class="parameter_description"><p>an X Display</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>drawable</p></td> +<td class="parameter_description"><p>an X Drawable, (a Pixmap or a Window)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>visual</p></td> +<td class="parameter_description"><p>the visual to use for drawing to <em class="parameter"><code>drawable</code></em> +. The depth +of the visual must match the depth of the drawable. +Currently, only TrueColor visuals are fully supported.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the current width of <em class="parameter"><code>drawable</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the current height of <em class="parameter"><code>drawable</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xlib-surface-create.returns"></a><h4>Returns</h4> +<p> the newly created surface</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-surface-create-for-bitmap"></a><h3>cairo_xlib_surface_create_for_bitmap ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_xlib_surface_create_for_bitmap (<em class="parameter"><code><span class="type">Display</span> *dpy</code></em>, + <em class="parameter"><code><span class="type">Pixmap</span> bitmap</code></em>, + <em class="parameter"><code><span class="type">Screen</span> *screen</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Creates an Xlib surface that draws to the given bitmap. +This will be drawn to as a <a class="link" href="cairo-Image-Surfaces.html#CAIRO-FORMAT-A1:CAPS"><code class="literal">CAIRO_FORMAT_A1</code></a> object.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-create-for-bitmap.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dpy</p></td> +<td class="parameter_description"><p>an X Display</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>bitmap</p></td> +<td class="parameter_description"><p>an X Drawable, (a depth-1 Pixmap)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>screen</p></td> +<td class="parameter_description"><p>the X Screen associated with <em class="parameter"><code>bitmap</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the current width of <em class="parameter"><code>bitmap</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the current height of <em class="parameter"><code>bitmap</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xlib-surface-create-for-bitmap.returns"></a><h4>Returns</h4> +<p> the newly created surface</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-surface-set-size"></a><h3>cairo_xlib_surface_set_size ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_xlib_surface_set_size (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Informs cairo of the new size of the X Drawable underlying the +surface. For a surface created for a Window (rather than a Pixmap), +this function must be called each time the size of the window +changes. (For a subwindow, you are normally resizing the window +yourself, but for a toplevel window, it is necessary to listen for +ConfigureNotify events.)</p> +<p>A Pixmap can never change size, so it is never necessary to call +this function on a surface created for a Pixmap.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-set-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> for the XLib backend</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the new width of the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the new height of the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-surface-get-display"></a><h3>cairo_xlib_surface_get_display ()</h3> +<pre class="programlisting"><span class="returnvalue">Display</span> * +cairo_xlib_surface_get_display (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Get the X Display for the underlying X Drawable.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-display.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_xlib_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-display.returns"></a><h4>Returns</h4> +<p> the display.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-surface-get-screen"></a><h3>cairo_xlib_surface_get_screen ()</h3> +<pre class="programlisting"><span class="returnvalue">Screen</span> * +cairo_xlib_surface_get_screen (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Get the X Screen for the underlying X Drawable.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-screen.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_xlib_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-screen.returns"></a><h4>Returns</h4> +<p> the screen.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-surface-set-drawable"></a><h3>cairo_xlib_surface_set_drawable ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_xlib_surface_set_drawable (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">Drawable</span> drawable</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Informs cairo of a new X Drawable underlying the +surface. The drawable must match the display, screen +and format of the existing drawable or the application +will get X protocol errors and will probably terminate. +No checks are done by this function to ensure this +compatibility.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-set-drawable.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> for the XLib backend</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>drawable</p></td> +<td class="parameter_description"><p>the new drawable for the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the width of the new drawable</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the height of the new drawable</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-surface-get-drawable"></a><h3>cairo_xlib_surface_get_drawable ()</h3> +<pre class="programlisting"><span class="returnvalue">Drawable</span> +cairo_xlib_surface_get_drawable (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Get the underlying X Drawable used for the surface.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-drawable.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_xlib_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-drawable.returns"></a><h4>Returns</h4> +<p> the drawable.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-surface-get-visual"></a><h3>cairo_xlib_surface_get_visual ()</h3> +<pre class="programlisting"><span class="returnvalue">Visual</span> * +cairo_xlib_surface_get_visual (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Gets the X Visual associated with <em class="parameter"><code>surface</code></em> +, suitable for use with the +underlying X Drawable. If <em class="parameter"><code>surface</code></em> + was created by +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-create" title="cairo_xlib_surface_create ()"><code class="function">cairo_xlib_surface_create()</code></a>, the return value is the Visual passed to that +constructor.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-visual.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_xlib_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-visual.returns"></a><h4>Returns</h4> +<p> the Visual or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is no appropriate Visual for +<em class="parameter"><code>surface</code></em> +.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-surface-get-width"></a><h3>cairo_xlib_surface_get_width ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_xlib_surface_get_width (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Get the width of the X Drawable underlying the surface in pixels.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-width.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_xlib_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-width.returns"></a><h4>Returns</h4> +<p> the width of the surface in pixels.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-surface-get-height"></a><h3>cairo_xlib_surface_get_height ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_xlib_surface_get_height (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Get the height of the X Drawable underlying the surface in pixels.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-height.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_xlib_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-height.returns"></a><h4>Returns</h4> +<p> the height of the surface in pixels.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-surface-get-depth"></a><h3>cairo_xlib_surface_get_depth ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_xlib_surface_get_depth (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Get the number of bits used to represent each pixel value.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-depth.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_xlib_surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-depth.returns"></a><h4>Returns</h4> +<p> the depth of the surface in bits.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-device-debug-cap-xrender-version"></a><h3>cairo_xlib_device_debug_cap_xrender_version ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_xlib_device_debug_cap_xrender_version + (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>, + <em class="parameter"><code><span class="type">int</span> major_version</code></em>, + <em class="parameter"><code><span class="type">int</span> minor_version</code></em>);</pre> +<p>Restricts all future Xlib surfaces for this devices to the specified version +of the RENDER extension. This function exists solely for debugging purpose. +It lets you find out how cairo would behave with an older version of +the RENDER extension.</p> +<p>Use the special values -1 and -1 for disabling the RENDER extension.</p> +<div class="refsect3"> +<a name="cairo-xlib-device-debug-cap-xrender-version.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the Xlib backend</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>major_version</p></td> +<td class="parameter_description"><p>major version to restrict to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>minor_version</p></td> +<td class="parameter_description"><p>minor version to restrict to</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-device-debug-get-precision"></a><h3>cairo_xlib_device_debug_get_precision ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_xlib_device_debug_get_precision (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +<p>Get the Xrender precision mode.</p> +<div class="refsect3"> +<a name="cairo-xlib-device-debug-get-precision.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the Xlib backend</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xlib-device-debug-get-precision.returns"></a><h4>Returns</h4> +<p> the render precision mode</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-device-debug-set-precision"></a><h3>cairo_xlib_device_debug_set_precision ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_xlib_device_debug_set_precision (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>, + <em class="parameter"><code><span class="type">int</span> precision</code></em>);</pre> +<p>Render supports two modes of precision when rendering trapezoids. Set +the precision to the desired mode.</p> +<div class="refsect3"> +<a name="cairo-xlib-device-debug-set-precision.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for the Xlib backend</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>precision</p></td> +<td class="parameter_description"><p>the precision to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-XLib-Surfaces.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-XLIB-SURFACE:CAPS"></a><h3>CAIRO_HAS_XLIB_SURFACE</h3> +<pre class="programlisting">#define CAIRO_HAS_XLIB_SURFACE 1 +</pre> +<p>Defined if the Xlib surface backend is available. +This macro can be used to conditionally compile backend-specific code.</p> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-XLib-Surfaces.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-XLib-XRender-Backend.html b/libs/cairo-1.16.0/doc/public/html/cairo-XLib-XRender-Backend.html new file mode 100644 index 0000000..f80b87b --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-XLib-XRender-Backend.html @@ -0,0 +1,208 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>XLib-XRender Backend: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-XLib-Surfaces.html" title="XLib Surfaces"> +<link rel="next" href="cairo-Script-Surfaces.html" title="Script Surfaces"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-XLib-XRender-Backend.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-XLib-Surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Script-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-XLib-XRender-Backend"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-XLib-XRender-Backend.top_of_page"></a>XLib-XRender Backend</span></h2> +<p>XLib-XRender Backend — X Window System rendering using XLib and the X Render extension</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-XLib-XRender-Backend.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-XRender-Backend.html#cairo-xlib-surface-create-with-xrender-format" title="cairo_xlib_surface_create_with_xrender_format ()">cairo_xlib_surface_create_with_xrender_format</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">XRenderPictFormat</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-XLib-XRender-Backend.html#cairo-xlib-surface-get-xrender-format" title="cairo_xlib_surface_get_xrender_format ()">cairo_xlib_surface_get_xrender_format</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-XLib-XRender-Backend.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody><tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-XLib-XRender-Backend.html#CAIRO-HAS-XLIB-XRENDER-SURFACE:CAPS" title="CAIRO_HAS_XLIB_XRENDER_SURFACE">CAIRO_HAS_XLIB_XRENDER_SURFACE</a></td> +</tr></tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-XLib-XRender-Backend.description"></a><h2>Description</h2> +<p>The XLib surface is used to render cairo graphics to X Window System +windows and pixmaps using the XLib and Xrender libraries.</p> +<p>Note that the XLib surface automatically takes advantage of X Render extension +if it is available.</p> +</div> +<div class="refsect1"> +<a name="cairo-XLib-XRender-Backend.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-xlib-surface-create-with-xrender-format"></a><h3>cairo_xlib_surface_create_with_xrender_format ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_xlib_surface_create_with_xrender_format + (<em class="parameter"><code><span class="type">Display</span> *dpy</code></em>, + <em class="parameter"><code><span class="type">Drawable</span> drawable</code></em>, + <em class="parameter"><code><span class="type">Screen</span> *screen</code></em>, + <em class="parameter"><code><span class="type">XRenderPictFormat</span> *format</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Creates an Xlib surface that draws to the given drawable. +The way that colors are represented in the drawable is specified +by the provided picture format.</p> +<p>Note: If <em class="parameter"><code>drawable</code></em> + is a Window, then the function +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-set-size" title="cairo_xlib_surface_set_size ()"><code class="function">cairo_xlib_surface_set_size()</code></a> must be called whenever the size of the +window changes.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-create-with-xrender-format.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>dpy</p></td> +<td class="parameter_description"><p>an X Display</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>drawable</p></td> +<td class="parameter_description"><p>an X Drawable, (a Pixmap or a Window)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>screen</p></td> +<td class="parameter_description"><p>the X Screen associated with <em class="parameter"><code>drawable</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the picture format to use for drawing to <em class="parameter"><code>drawable</code></em> +. The depth +of <em class="parameter"><code>format</code></em> +must match the depth of the drawable.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>the current width of <em class="parameter"><code>drawable</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>the current height of <em class="parameter"><code>drawable</code></em> +.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xlib-surface-create-with-xrender-format.returns"></a><h4>Returns</h4> +<p> the newly created surface</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-xlib-surface-get-xrender-format"></a><h3>cairo_xlib_surface_get_xrender_format ()</h3> +<pre class="programlisting"><span class="returnvalue">XRenderPictFormat</span> * +cairo_xlib_surface_get_xrender_format (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Gets the X Render picture format that <em class="parameter"><code>surface</code></em> + uses for rendering with the +X Render extension. If the surface was created by +<a class="link" href="cairo-XLib-XRender-Backend.html#cairo-xlib-surface-create-with-xrender-format" title="cairo_xlib_surface_create_with_xrender_format ()"><code class="function">cairo_xlib_surface_create_with_xrender_format()</code></a> originally, the return +value is the format passed to that constructor.</p> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-xrender-format.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>an xlib surface</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-xlib-surface-get-xrender-format.returns"></a><h4>Returns</h4> +<p> the XRenderPictFormat* associated with <em class="parameter"><code>surface</code></em> +, +or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the surface is not an xlib surface +or if the X Render extension is not available.</p> +</div> +<p class="since">Since: 1.6</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-XLib-XRender-Backend.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-XLIB-XRENDER-SURFACE:CAPS"></a><h3>CAIRO_HAS_XLIB_XRENDER_SURFACE</h3> +<pre class="programlisting">#define CAIRO_HAS_XLIB_XRENDER_SURFACE 1 +</pre> +<p>Defined if the XLib/XRender surface functions are available. +This macro can be used to conditionally compile backend-specific code.</p> +<p class="since">Since: 1.6</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-XLib-XRender-Backend.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-cairo-device-t.html b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-device-t.html new file mode 100644 index 0000000..4435fb6 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-device-t.html @@ -0,0 +1,821 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>cairo_device_t: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-surfaces.html" title="Surfaces"> +<link rel="next" href="cairo-cairo-surface-t.html" title="cairo_surface_t"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-cairo-device-t.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-cairo-surface-t.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-cairo-device-t"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-cairo-device-t.top_of_page"></a>cairo_device_t</span></h2> +<p>cairo_device_t — interface to underlying rendering system</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-cairo-device-t.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="returnvalue">cairo_device_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-reference" title="cairo_device_reference ()">cairo_device_reference</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-destroy" title="cairo_device_destroy ()">cairo_device_destroy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-status" title="cairo_device_status ()">cairo_device_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-finish" title="cairo_device_finish ()">cairo_device_finish</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-flush" title="cairo_device_flush ()">cairo_device_flush</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-type-t" title="enum cairo_device_type_t"><span class="returnvalue">cairo_device_type_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-get-type" title="cairo_device_get_type ()">cairo_device_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-get-reference-count" title="cairo_device_get_reference_count ()">cairo_device_get_reference_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-set-user-data" title="cairo_device_set_user_data ()">cairo_device_set_user_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-get-user-data" title="cairo_device_get_user_data ()">cairo_device_get_user_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-acquire" title="cairo_device_acquire ()">cairo_device_acquire</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-release" title="cairo_device_release ()">cairo_device_release</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">double</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-observer-elapsed" title="cairo_device_observer_elapsed ()">cairo_device_observer_elapsed</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">double</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-observer-fill-elapsed" title="cairo_device_observer_fill_elapsed ()">cairo_device_observer_fill_elapsed</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">double</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-observer-glyphs-elapsed" title="cairo_device_observer_glyphs_elapsed ()">cairo_device_observer_glyphs_elapsed</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">double</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-observer-mask-elapsed" title="cairo_device_observer_mask_elapsed ()">cairo_device_observer_mask_elapsed</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">double</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-observer-paint-elapsed" title="cairo_device_observer_paint_elapsed ()">cairo_device_observer_paint_elapsed</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-observer-print" title="cairo_device_observer_print ()">cairo_device_observer_print</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">double</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-observer-stroke-elapsed" title="cairo_device_observer_stroke_elapsed ()">cairo_device_observer_stroke_elapsed</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-device-t.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t">cairo_device_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-device-t.html#cairo-device-type-t" title="enum cairo_device_type_t">cairo_device_type_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-device-t.description"></a><h2>Description</h2> +<p>Devices are the abstraction Cairo employs for the rendering system +used by a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a>. You can get the device of a surface using +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-device" title="cairo_surface_get_device ()"><code class="function">cairo_surface_get_device()</code></a>.</p> +<p>Devices are created using custom functions specific to the rendering +system you want to use. See the documentation for the surface types +for those functions.</p> +<p>An important function that devices fulfill is sharing access to the +rendering system between Cairo and your application. If you want to +access a device directly that you used to draw to with Cairo, you must +first call <a class="link" href="cairo-cairo-device-t.html#cairo-device-flush" title="cairo_device_flush ()"><code class="function">cairo_device_flush()</code></a> to ensure that Cairo finishes all +operations on the device and resets it to a clean state.</p> +<p>Cairo also provides the functions <a class="link" href="cairo-cairo-device-t.html#cairo-device-acquire" title="cairo_device_acquire ()"><code class="function">cairo_device_acquire()</code></a> and +<a class="link" href="cairo-cairo-device-t.html#cairo-device-release" title="cairo_device_release ()"><code class="function">cairo_device_release()</code></a> to synchronize access to the rendering system +in a multithreaded environment. This is done internally, but can also +be used by applications.</p> +<p>Putting this all together, a function that works with devices should +look something like this:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">void</span> +<span class="function">my_device_modifying_function</span> <span class="gtkdoc opt">(</span>cairo_device_t <span class="gtkdoc opt">*</span>device<span class="gtkdoc opt">)</span> +<span class="gtkdoc opt">{</span> + cairo_status_t status<span class="gtkdoc opt">;</span> + + <span class="gtkdoc slc">// Ensure the device is properly reset</span> + <span class="function"><a href="cairo-cairo-device-t.html#cairo-device-flush">cairo_device_flush</a></span> <span class="gtkdoc opt">(</span>device<span class="gtkdoc opt">);</span> + <span class="gtkdoc slc">// Try to acquire the device</span> + status <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-cairo-device-t.html#cairo-device-acquire">cairo_device_acquire</a></span> <span class="gtkdoc opt">(</span>device<span class="gtkdoc opt">);</span> + <span class="keyword">if</span> <span class="gtkdoc opt">(</span>status <span class="gtkdoc opt">!=</span> CAIRO_STATUS_SUCCESS<span class="gtkdoc opt">) {</span> + <span class="function">printf</span> <span class="gtkdoc opt">(</span><span class="string">"Failed to acquire the device: %s</span><span class="gtkdoc esc">\n</span><span class="string">"</span><span class="gtkdoc opt">,</span> <span class="function"><a href="cairo-Error-handling.html#cairo-status-to-string">cairo_status_to_string</a></span> <span class="gtkdoc opt">(</span>status<span class="gtkdoc opt">));</span> + <span class="keyword">return</span><span class="gtkdoc opt">;</span> + <span class="gtkdoc opt">}</span> + + <span class="gtkdoc slc">// Do the custom operations on the device here.</span> + <span class="gtkdoc slc">// But do not call any Cairo functions that might acquire devices.</span> + + <span class="gtkdoc slc">// Release the device when done.</span> + <span class="function"><a href="cairo-cairo-device-t.html#cairo-device-release">cairo_device_release</a></span> <span class="gtkdoc opt">(</span>device<span class="gtkdoc opt">);</span> +<span class="gtkdoc opt">}</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<div class="note"><p>Please refer to the documentation of each backend for +additional usage requirements, guarantees provided, and +interactions with existing surface API of the device functions for +surfaces of that type. +</p></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-device-t.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-device-reference"></a><h3>cairo_device_reference ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="returnvalue">cairo_device_t</span></a> * +cairo_device_reference (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +<p>Increases the reference count on <em class="parameter"><code>device</code></em> + by one. This prevents +<em class="parameter"><code>device</code></em> + from being destroyed until a matching call to +<a class="link" href="cairo-cairo-device-t.html#cairo-device-destroy" title="cairo_device_destroy ()"><code class="function">cairo_device_destroy()</code></a> is made.</p> +<p>Use <a class="link" href="cairo-cairo-device-t.html#cairo-device-get-reference-count" title="cairo_device_get_reference_count ()"><code class="function">cairo_device_get_reference_count()</code></a> to get the number of references +to a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-device-reference.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-device-reference.returns"></a><h4>Returns</h4> +<p> the referenced <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a>.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-destroy"></a><h3>cairo_device_destroy ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_device_destroy (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +<p>Decreases the reference count on <em class="parameter"><code>device</code></em> + by one. If the result is +zero, then <em class="parameter"><code>device</code></em> + and all associated resources are freed. See +<a class="link" href="cairo-cairo-device-t.html#cairo-device-reference" title="cairo_device_reference ()"><code class="function">cairo_device_reference()</code></a>.</p> +<p>This function may acquire devices if the last reference was dropped.</p> +<div class="refsect3"> +<a name="cairo-device-destroy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-status"></a><h3>cairo_device_status ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_device_status (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +<p>Checks whether an error has previously occurred for this +device.</p> +<div class="refsect3"> +<a name="cairo-device-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-device-status.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> on success or an error code if +the device is in an error state.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-finish"></a><h3>cairo_device_finish ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_device_finish (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +<p>This function finishes the device and drops all references to +external resources. All surfaces, fonts and other objects created +for this <em class="parameter"><code>device</code></em> + will be finished, too. +Further operations on the <em class="parameter"><code>device</code></em> + will not affect the <em class="parameter"><code>device</code></em> + but +will instead trigger a <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-DEVICE-FINISHED:CAPS"><code class="literal">CAIRO_STATUS_DEVICE_FINISHED</code></a> error.</p> +<p>When the last call to <a class="link" href="cairo-cairo-device-t.html#cairo-device-destroy" title="cairo_device_destroy ()"><code class="function">cairo_device_destroy()</code></a> decreases the +reference count to zero, cairo will call <a class="link" href="cairo-cairo-device-t.html#cairo-device-finish" title="cairo_device_finish ()"><code class="function">cairo_device_finish()</code></a> if +it hasn't been called already, before freeing the resources +associated with the device.</p> +<p>This function may acquire devices.</p> +<div class="refsect3"> +<a name="cairo-device-finish.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>the <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> to finish</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-flush"></a><h3>cairo_device_flush ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_device_flush (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +<p>Finish any pending operations for the device and also restore any +temporary modifications cairo has made to the device's state. +This function must be called before switching from using the +device with Cairo to operating on it directly with native APIs. +If the device doesn't support direct access, then this function +does nothing.</p> +<p>This function may acquire devices.</p> +<div class="refsect3"> +<a name="cairo-device-flush.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-get-type"></a><h3>cairo_device_get_type ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-device-t.html#cairo-device-type-t" title="enum cairo_device_type_t"><span class="returnvalue">cairo_device_type_t</span></a> +cairo_device_get_type (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +<p>This function returns the type of the device. See <a class="link" href="cairo-cairo-device-t.html#cairo-device-type-t" title="enum cairo_device_type_t"><span class="type">cairo_device_type_t</span></a> +for available types.</p> +<div class="refsect3"> +<a name="cairo-device-get-type.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-device-get-type.returns"></a><h4>Returns</h4> +<p> The type of <em class="parameter"><code>device</code></em> +.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-get-reference-count"></a><h3>cairo_device_get_reference_count ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +cairo_device_get_reference_count (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +<p>Returns the current reference count of <em class="parameter"><code>device</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-device-get-reference-count.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-device-get-reference-count.returns"></a><h4>Returns</h4> +<p> the current reference count of <em class="parameter"><code>device</code></em> +. If the +object is a nil object, 0 will be returned.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-set-user-data"></a><h3>cairo_device_set_user_data ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_device_set_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>, + <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>);</pre> +<p>Attach user data to <em class="parameter"><code>device</code></em> +. To remove user data from a surface, +call this function with the key that was used to set it and <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> +for <em class="parameter"><code>data</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-device-set-user-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the address of a <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> to attach the user data to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>user_data</p></td> +<td class="parameter_description"><p>the user data to attach to the <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>destroy</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> which will be called when the +<a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> is destroyed or when new user data is attached using the +same key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-device-set-user-data.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a +slot could not be allocated for the user data.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-get-user-data"></a><h3>cairo_device_get_user_data ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +cairo_device_get_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>);</pre> +<p>Return user data previously attached to <em class="parameter"><code>device</code></em> + using the +specified key. If no user data has been attached with the given +key this function returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +<div class="refsect3"> +<a name="cairo-device-get-user-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the address of the <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> the user data was +attached to</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-device-get-user-data.returns"></a><h4>Returns</h4> +<p> the user data previously attached or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-acquire"></a><h3>cairo_device_acquire ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_device_acquire (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +<p>Acquires the <em class="parameter"><code>device</code></em> + for the current thread. This function will block +until no other thread has acquired the device.</p> +<p>If the return value is <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, you successfully acquired the +device. From now on your thread owns the device and no other thread will be +able to acquire it until a matching call to <a class="link" href="cairo-cairo-device-t.html#cairo-device-release" title="cairo_device_release ()"><code class="function">cairo_device_release()</code></a>. It is +allowed to recursively acquire the device multiple times from the same +thread.</p> +<div class="note"><p>You must never acquire two different devices at the same time +unless this is explicitly allowed. Otherwise the possibility of deadlocks +exist. + +As various Cairo functions can acquire devices when called, these functions +may also cause deadlocks when you call them with an acquired device. So you +must not have a device acquired when calling them. These functions are +marked in the documentation. +</p></div> +<div class="refsect3"> +<a name="cairo-device-acquire.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-device-acquire.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> on success or an error code if +the device is in an error state and could not be +acquired. After a successful call to <a class="link" href="cairo-cairo-device-t.html#cairo-device-acquire" title="cairo_device_acquire ()"><code class="function">cairo_device_acquire()</code></a>, +a matching call to <a class="link" href="cairo-cairo-device-t.html#cairo-device-release" title="cairo_device_release ()"><code class="function">cairo_device_release()</code></a> is required.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-release"></a><h3>cairo_device_release ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_device_release (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +<p>Releases a <em class="parameter"><code>device</code></em> + previously acquired using <a class="link" href="cairo-cairo-device-t.html#cairo-device-acquire" title="cairo_device_acquire ()"><code class="function">cairo_device_acquire()</code></a>. See +that function for details.</p> +<div class="refsect3"> +<a name="cairo-device-release.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>device</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-observer-elapsed"></a><h3>cairo_device_observer_elapsed ()</h3> +<pre class="programlisting"><span class="returnvalue">double</span> +cairo_device_observer_elapsed (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-observer-fill-elapsed"></a><h3>cairo_device_observer_fill_elapsed ()</h3> +<pre class="programlisting"><span class="returnvalue">double</span> +cairo_device_observer_fill_elapsed (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-observer-glyphs-elapsed"></a><h3>cairo_device_observer_glyphs_elapsed ()</h3> +<pre class="programlisting"><span class="returnvalue">double</span> +cairo_device_observer_glyphs_elapsed (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-observer-mask-elapsed"></a><h3>cairo_device_observer_mask_elapsed ()</h3> +<pre class="programlisting"><span class="returnvalue">double</span> +cairo_device_observer_mask_elapsed (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-observer-paint-elapsed"></a><h3>cairo_device_observer_paint_elapsed ()</h3> +<pre class="programlisting"><span class="returnvalue">double</span> +cairo_device_observer_paint_elapsed (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-observer-print"></a><h3>cairo_device_observer_print ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_device_observer_print (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>, + <em class="parameter"><code><a class="link" href="cairo-PNG-Support.html#cairo-write-func-t" title="cairo_write_func_t ()"><span class="type">cairo_write_func_t</span></a> write_func</code></em>, + <em class="parameter"><code><span class="type">void</span> *closure</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-observer-stroke-elapsed"></a><h3>cairo_device_observer_stroke_elapsed ()</h3> +<pre class="programlisting"><span class="returnvalue">double</span> +cairo_device_observer_stroke_elapsed (<em class="parameter"><code><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> *device</code></em>);</pre> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-device-t.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="cairo-device-t"></a><h3>cairo_device_t</h3> +<pre class="programlisting">typedef struct _cairo_device cairo_device_t; +</pre> +<p>A <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> represents the driver interface for drawing +operations to a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a>. There are different subtypes of +<a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> for different drawing backends; for example, +<code class="function">cairo_egl_device_create()</code> creates a device that wraps an EGL display and +context.</p> +<p>The type of a device can be queried with <a class="link" href="cairo-cairo-device-t.html#cairo-device-get-type" title="cairo_device_get_type ()"><code class="function">cairo_device_get_type()</code></a>.</p> +<p>Memory management of <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> is done with +<a class="link" href="cairo-cairo-device-t.html#cairo-device-reference" title="cairo_device_reference ()"><code class="function">cairo_device_reference()</code></a> and <a class="link" href="cairo-cairo-device-t.html#cairo-device-destroy" title="cairo_device_destroy ()"><code class="function">cairo_device_destroy()</code></a>.</p> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-device-type-t"></a><h3>enum cairo_device_type_t</h3> +<p><a class="link" href="cairo-cairo-device-t.html#cairo-device-type-t" title="enum cairo_device_type_t"><span class="type">cairo_device_type_t</span></a> is used to describe the type of a given +device. The devices types are also known as "backends" within cairo.</p> +<p>The device type can be queried with <a class="link" href="cairo-cairo-device-t.html#cairo-device-get-type" title="cairo_device_get_type ()"><code class="function">cairo_device_get_type()</code></a></p> +<p>The various <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a> functions can be used with devices of +any type, but some backends also provide type-specific functions +that must only be called with a device of the appropriate +type. These functions have names that begin with +<code class="literal">cairo_<span class="emphasis"><em>type</em></span>_device</code> such as +<a class="link" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-cap-xrender-version" title="cairo_xcb_device_debug_cap_xrender_version ()"><code class="function">cairo_xcb_device_debug_cap_xrender_version()</code></a>.</p> +<p>The behavior of calling a type-specific function with a device of +the wrong type is undefined.</p> +<p>New entries may be added in future versions.</p> +<div class="refsect3"> +<a name="cairo-device-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-DEVICE-TYPE-DRM:CAPS"></a>CAIRO_DEVICE_TYPE_DRM</p></td> +<td class="enum_member_description"> +<p>The device is of type Direct Render Manager, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-DEVICE-TYPE-GL:CAPS"></a>CAIRO_DEVICE_TYPE_GL</p></td> +<td class="enum_member_description"> +<p>The device is of type OpenGL, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-DEVICE-TYPE-SCRIPT:CAPS"></a>CAIRO_DEVICE_TYPE_SCRIPT</p></td> +<td class="enum_member_description"> +<p>The device is of type script, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-DEVICE-TYPE-XCB:CAPS"></a>CAIRO_DEVICE_TYPE_XCB</p></td> +<td class="enum_member_description"> +<p>The device is of type xcb, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-DEVICE-TYPE-XLIB:CAPS"></a>CAIRO_DEVICE_TYPE_XLIB</p></td> +<td class="enum_member_description"> +<p>The device is of type xlib, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-DEVICE-TYPE-XML:CAPS"></a>CAIRO_DEVICE_TYPE_XML</p></td> +<td class="enum_member_description"> +<p>The device is of type XML, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-DEVICE-TYPE-COGL:CAPS"></a>CAIRO_DEVICE_TYPE_COGL</p></td> +<td class="enum_member_description"> +<p>The device is of type cogl, since 1.12</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-DEVICE-TYPE-WIN32:CAPS"></a>CAIRO_DEVICE_TYPE_WIN32</p></td> +<td class="enum_member_description"> +<p>The device is of type win32, since 1.12</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-DEVICE-TYPE-INVALID:CAPS"></a>CAIRO_DEVICE_TYPE_INVALID</p></td> +<td class="enum_member_description"> +<p>The device is invalid, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-device-t.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-cairo-font-face-t.html b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-font-face-t.html new file mode 100644 index 0000000..3cf4074 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-font-face-t.html @@ -0,0 +1,476 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>cairo_font_face_t: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-fonts.html" title="Fonts"> +<link rel="prev" href="cairo-fonts.html" title="Fonts"> +<link rel="next" href="cairo-cairo-scaled-font-t.html" title="cairo_scaled_font_t"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-cairo-font-face-t.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-fonts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-fonts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-cairo-scaled-font-t.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-cairo-font-face-t"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-cairo-font-face-t.top_of_page"></a>cairo_font_face_t</span></h2> +<p>cairo_font_face_t — Base class for font faces</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-cairo-font-face-t.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-reference" title="cairo_font_face_reference ()">cairo_font_face_reference</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy" title="cairo_font_face_destroy ()">cairo_font_face_destroy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-status" title="cairo_font_face_status ()">cairo_font_face_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t"><span class="returnvalue">cairo_font_type_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-type" title="cairo_font_face_get_type ()">cairo_font_face_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-reference-count" title="cairo_font_face_get_reference_count ()">cairo_font_face_get_reference_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-set-user-data" title="cairo_font_face_set_user_data ()">cairo_font_face_set_user_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-user-data" title="cairo_font_face_get_user_data ()">cairo_font_face_get_user_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-font-face-t.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t">cairo_font_face_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t">cairo_font_type_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-font-face-t.description"></a><h2>Description</h2> +<p><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> represents a particular font at a particular weight, +slant, and other characteristic but no size, transformation, or size.</p> +<p>Font faces are created using <em class="firstterm">font-backend</em>-specific +constructors, typically of the form +<code class="function">cairo_<span class="emphasis"><em>backend</em></span>_font_face_create()</code>, +or implicitly using the <em class="firstterm">toy</em> text API by way of +<a class="link" href="cairo-text.html#cairo-select-font-face" title="cairo_select_font_face ()"><code class="function">cairo_select_font_face()</code></a>. The resulting face can be accessed using +<a class="link" href="cairo-text.html#cairo-get-font-face" title="cairo_get_font_face ()"><code class="function">cairo_get_font_face()</code></a>.</p> +</div> +<div class="refsect1"> +<a name="cairo-cairo-font-face-t.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-font-face-reference"></a><h3>cairo_font_face_reference ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +cairo_font_face_reference (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>Increases the reference count on <em class="parameter"><code>font_face</code></em> + by one. This prevents +<em class="parameter"><code>font_face</code></em> + from being destroyed until a matching call to +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy" title="cairo_font_face_destroy ()"><code class="function">cairo_font_face_destroy()</code></a> is made.</p> +<p>Use <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-reference-count" title="cairo_font_face_get_reference_count ()"><code class="function">cairo_font_face_get_reference_count()</code></a> to get the number of +references to a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-font-face-reference.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>, (may be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in which case this +function does nothing).</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-face-reference.returns"></a><h4>Returns</h4> +<p> the referenced <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-face-destroy"></a><h3>cairo_font_face_destroy ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_font_face_destroy (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>Decreases the reference count on <em class="parameter"><code>font_face</code></em> + by one. If the result +is zero, then <em class="parameter"><code>font_face</code></em> + and all associated resources are freed. +See <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-reference" title="cairo_font_face_reference ()"><code class="function">cairo_font_face_reference()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-font-face-destroy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-face-status"></a><h3>cairo_font_face_status ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_font_face_status (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>Checks whether an error has previously occurred for this +font face</p> +<div class="refsect3"> +<a name="cairo-font-face-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-face-status.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or another error such as +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-face-get-type"></a><h3>cairo_font_face_get_type ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t"><span class="returnvalue">cairo_font_type_t</span></a> +cairo_font_face_get_type (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>This function returns the type of the backend used to create +a font face. See <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t"><span class="type">cairo_font_type_t</span></a> for available types.</p> +<div class="refsect3"> +<a name="cairo-font-face-get-type.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>a font face</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-face-get-type.returns"></a><h4>Returns</h4> +<p> The type of <em class="parameter"><code>font_face</code></em> +.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-face-get-reference-count"></a><h3>cairo_font_face_get_reference_count ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +cairo_font_face_get_reference_count (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>Returns the current reference count of <em class="parameter"><code>font_face</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-font-face-get-reference-count.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-face-get-reference-count.returns"></a><h4>Returns</h4> +<p> the current reference count of <em class="parameter"><code>font_face</code></em> +. If the +object is a nil object, 0 will be returned.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-face-set-user-data"></a><h3>cairo_font_face_set_user_data ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_font_face_set_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>, + <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>);</pre> +<p>Attach user data to <em class="parameter"><code>font_face</code></em> +. To remove user data from a font face, +call this function with the key that was used to set it and <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> +for <em class="parameter"><code>data</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-font-face-set-user-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the address of a <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> to attach the user data to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>user_data</p></td> +<td class="parameter_description"><p>the user data to attach to the font face</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>destroy</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> which will be called when the +font face is destroyed or when new user data is attached using the +same key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-face-set-user-data.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a +slot could not be allocated for the user data.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-face-get-user-data"></a><h3>cairo_font_face_get_user_data ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +cairo_font_face_get_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>);</pre> +<p>Return user data previously attached to <em class="parameter"><code>font_face</code></em> + using the specified +key. If no user data has been attached with the given key this +function returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +<div class="refsect3"> +<a name="cairo-font-face-get-user-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the address of the <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> the user data was +attached to</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-face-get-user-data.returns"></a><h4>Returns</h4> +<p> the user data previously attached or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-font-face-t.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="cairo-font-face-t"></a><h3>cairo_font_face_t</h3> +<pre class="programlisting">typedef struct _cairo_font_face cairo_font_face_t; +</pre> +<p>A <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> specifies all aspects of a font other +than the size or font matrix (a font matrix is used to distort +a font by shearing it or scaling it unequally in the two +directions) . A font face can be set on a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> by using +<a class="link" href="cairo-text.html#cairo-set-font-face" title="cairo_set_font_face ()"><code class="function">cairo_set_font_face()</code></a>; the size and font matrix are set with +<a class="link" href="cairo-text.html#cairo-set-font-size" title="cairo_set_font_size ()"><code class="function">cairo_set_font_size()</code></a> and <a class="link" href="cairo-text.html#cairo-set-font-matrix" title="cairo_set_font_matrix ()"><code class="function">cairo_set_font_matrix()</code></a>.</p> +<p>There are various types of font faces, depending on the +<em class="firstterm">font backend</em> they use. The type of a +font face can be queried using <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-type" title="cairo_font_face_get_type ()"><code class="function">cairo_font_face_get_type()</code></a>.</p> +<p>Memory management of <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> is done with +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-reference" title="cairo_font_face_reference ()"><code class="function">cairo_font_face_reference()</code></a> and <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy" title="cairo_font_face_destroy ()"><code class="function">cairo_font_face_destroy()</code></a>.</p> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-type-t"></a><h3>enum cairo_font_type_t</h3> +<p><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t"><span class="type">cairo_font_type_t</span></a> is used to describe the type of a given font +face or scaled font. The font types are also known as "font +backends" within cairo.</p> +<p>The type of a font face is determined by the function used to +create it, which will generally be of the form +<code class="function">cairo_<span class="emphasis"><em>type</em></span>_font_face_create()</code>. +The font face type can be queried with <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-type" title="cairo_font_face_get_type ()"><code class="function">cairo_font_face_get_type()</code></a></p> +<p>The various <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> functions can be used with a font face +of any type.</p> +<p>The type of a scaled font is determined by the type of the font +face passed to <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>. The scaled font type can +be queried with <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-type" title="cairo_scaled_font_get_type ()"><code class="function">cairo_scaled_font_get_type()</code></a></p> +<p>The various <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> functions can be used with scaled +fonts of any type, but some font backends also provide +type-specific functions that must only be called with a scaled font +of the appropriate type. These functions have names that begin with +<code class="function">cairo_<span class="emphasis"><em>type</em></span>_scaled_font()</code> +such as <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-lock-face" title="cairo_ft_scaled_font_lock_face ()"><code class="function">cairo_ft_scaled_font_lock_face()</code></a>.</p> +<p>The behavior of calling a type-specific function with a scaled font +of the wrong type is undefined.</p> +<p>New entries may be added in future versions.</p> +<div class="refsect3"> +<a name="cairo-font-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FONT-TYPE-TOY:CAPS"></a>CAIRO_FONT_TYPE_TOY</p></td> +<td class="enum_member_description"> +<p>The font was created using cairo's toy font api (Since: 1.2)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FONT-TYPE-FT:CAPS"></a>CAIRO_FONT_TYPE_FT</p></td> +<td class="enum_member_description"> +<p>The font is of type FreeType (Since: 1.2)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FONT-TYPE-WIN32:CAPS"></a>CAIRO_FONT_TYPE_WIN32</p></td> +<td class="enum_member_description"> +<p>The font is of type Win32 (Since: 1.2)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FONT-TYPE-QUARTZ:CAPS"></a>CAIRO_FONT_TYPE_QUARTZ</p></td> +<td class="enum_member_description"> +<p>The font is of type Quartz (Since: 1.6, in 1.2 and +1.4 it was named CAIRO_FONT_TYPE_ATSUI)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FONT-TYPE-USER:CAPS"></a>CAIRO_FONT_TYPE_USER</p></td> +<td class="enum_member_description"> +<p>The font was create using cairo's user font api (Since: 1.8)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-font-face-t.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-cairo-font-options-t.html b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-font-options-t.html new file mode 100644 index 0000000..061e790 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-font-options-t.html @@ -0,0 +1,941 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>cairo_font_options_t: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-fonts.html" title="Fonts"> +<link rel="prev" href="cairo-cairo-scaled-font-t.html" title="cairo_scaled_font_t"> +<link rel="next" href="cairo-FreeType-Fonts.html" title="FreeType Fonts"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-cairo-font-options-t.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-fonts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-cairo-scaled-font-t.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-FreeType-Fonts.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-cairo-font-options-t"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-cairo-font-options-t.top_of_page"></a>cairo_font_options_t</span></h2> +<p>cairo_font_options_t — How a font should be rendered</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-cairo-font-options-t.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="returnvalue">cairo_font_options_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-create" title="cairo_font_options_create ()">cairo_font_options_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="returnvalue">cairo_font_options_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-copy" title="cairo_font_options_copy ()">cairo_font_options_copy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-destroy" title="cairo_font_options_destroy ()">cairo_font_options_destroy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-status" title="cairo_font_options_status ()">cairo_font_options_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-merge" title="cairo_font_options_merge ()">cairo_font_options_merge</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">long</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-hash" title="cairo_font_options_hash ()">cairo_font_options_hash</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-equal" title="cairo_font_options_equal ()">cairo_font_options_equal</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-set-antialias" title="cairo_font_options_set_antialias ()">cairo_font_options_set_antialias</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-t.html#cairo-antialias-t" title="enum cairo_antialias_t"><span class="returnvalue">cairo_antialias_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-get-antialias" title="cairo_font_options_get_antialias ()">cairo_font_options_get_antialias</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-set-subpixel-order" title="cairo_font_options_set_subpixel_order ()">cairo_font_options_set_subpixel_order</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-subpixel-order-t" title="enum cairo_subpixel_order_t"><span class="returnvalue">cairo_subpixel_order_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-get-subpixel-order" title="cairo_font_options_get_subpixel_order ()">cairo_font_options_get_subpixel_order</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-set-hint-style" title="cairo_font_options_set_hint_style ()">cairo_font_options_set_hint_style</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-hint-style-t" title="enum cairo_hint_style_t"><span class="returnvalue">cairo_hint_style_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-get-hint-style" title="cairo_font_options_get_hint_style ()">cairo_font_options_get_hint_style</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-set-hint-metrics" title="cairo_font_options_set_hint_metrics ()">cairo_font_options_set_hint_metrics</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-hint-metrics-t" title="enum cairo_hint_metrics_t"><span class="returnvalue">cairo_hint_metrics_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-get-hint-metrics" title="cairo_font_options_get_hint_metrics ()">cairo_font_options_get_hint_metrics</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-get-variations" title="cairo_font_options_get_variations ()">cairo_font_options_get_variations</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-set-variations" title="cairo_font_options_set_variations ()">cairo_font_options_set_variations</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-font-options-t.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t">cairo_font_options_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-font-options-t.html#cairo-subpixel-order-t" title="enum cairo_subpixel_order_t">cairo_subpixel_order_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-font-options-t.html#cairo-hint-style-t" title="enum cairo_hint_style_t">cairo_hint_style_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-font-options-t.html#cairo-hint-metrics-t" title="enum cairo_hint_metrics_t">cairo_hint_metrics_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-font-options-t.description"></a><h2>Description</h2> +<p>The font options specify how fonts should be rendered. Most of the +time the font options implied by a surface are just right and do not +need any changes, but for pixel-based targets tweaking font options +may result in superior output on a particular display.</p> +</div> +<div class="refsect1"> +<a name="cairo-cairo-font-options-t.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-font-options-create"></a><h3>cairo_font_options_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="returnvalue">cairo_font_options_t</span></a> * +cairo_font_options_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Allocates a new font options object with all options initialized + to default values.</p> +<div class="refsect3"> +<a name="cairo-font-options-create.returns"></a><h4>Returns</h4> +<p> a newly allocated <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a>. Free with +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-destroy" title="cairo_font_options_destroy ()"><code class="function">cairo_font_options_destroy()</code></a>. This function always returns a +valid pointer; if memory cannot be allocated, then a special +error object is returned where all operations on the object do nothing. +You can check for this with <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-status" title="cairo_font_options_status ()"><code class="function">cairo_font_options_status()</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-copy"></a><h3>cairo_font_options_copy ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="returnvalue">cairo_font_options_t</span></a> * +cairo_font_options_copy (<em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *original</code></em>);</pre> +<p>Allocates a new font options object copying the option values from + <em class="parameter"><code>original</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-font-options-copy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>original</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-options-copy.returns"></a><h4>Returns</h4> +<p> a newly allocated <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a>. Free with +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-destroy" title="cairo_font_options_destroy ()"><code class="function">cairo_font_options_destroy()</code></a>. This function always returns a +valid pointer; if memory cannot be allocated, then a special +error object is returned where all operations on the object do nothing. +You can check for this with <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-status" title="cairo_font_options_status ()"><code class="function">cairo_font_options_status()</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-destroy"></a><h3>cairo_font_options_destroy ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_font_options_destroy (<em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Destroys a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> object created with +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-create" title="cairo_font_options_create ()"><code class="function">cairo_font_options_create()</code></a> or <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-copy" title="cairo_font_options_copy ()"><code class="function">cairo_font_options_copy()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-font-options-destroy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-status"></a><h3>cairo_font_options_status ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_font_options_status (<em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Checks whether an error has previously occurred for this +font options object</p> +<div class="refsect3"> +<a name="cairo-font-options-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-options-status.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a></p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-merge"></a><h3>cairo_font_options_merge ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_font_options_merge (<em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *other</code></em>);</pre> +<p>Merges non-default options from <em class="parameter"><code>other</code></em> + into <em class="parameter"><code>options</code></em> +, replacing +existing values. This operation can be thought of as somewhat +similar to compositing <em class="parameter"><code>other</code></em> + onto <em class="parameter"><code>options</code></em> + with the operation +of <a class="link" href="cairo-cairo-t.html#CAIRO-OPERATOR-OVER:CAPS"><code class="literal">CAIRO_OPERATOR_OVER</code></a>.</p> +<div class="refsect3"> +<a name="cairo-font-options-merge.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>other</p></td> +<td class="parameter_description"><p>another <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-hash"></a><h3>cairo_font_options_hash ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">long</span> +cairo_font_options_hash (<em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Compute a hash for the font options object; this value will +be useful when storing an object containing a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> +in a hash table.</p> +<div class="refsect3"> +<a name="cairo-font-options-hash.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-options-hash.returns"></a><h4>Returns</h4> +<p> the hash value for the font options object. +The return value can be cast to a 32-bit type if a +32-bit hash value is needed.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-equal"></a><h3>cairo_font_options_equal ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +cairo_font_options_equal (<em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *other</code></em>);</pre> +<p>Compares two font options objects for equality.</p> +<div class="refsect3"> +<a name="cairo-font-options-equal.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>other</p></td> +<td class="parameter_description"><p>another <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-options-equal.returns"></a><h4>Returns</h4> +<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if all fields of the two font options objects match. +Note that this function will return <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if either object is in +error.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-set-antialias"></a><h3>cairo_font_options_set_antialias ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_font_options_set_antialias (<em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-antialias-t" title="enum cairo_antialias_t"><span class="type">cairo_antialias_t</span></a> antialias</code></em>);</pre> +<p>Sets the antialiasing mode for the font options object. This +specifies the type of antialiasing to do when rendering text.</p> +<div class="refsect3"> +<a name="cairo-font-options-set-antialias.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>antialias</p></td> +<td class="parameter_description"><p>the new antialiasing mode</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-get-antialias"></a><h3>cairo_font_options_get_antialias ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-t.html#cairo-antialias-t" title="enum cairo_antialias_t"><span class="returnvalue">cairo_antialias_t</span></a> +cairo_font_options_get_antialias (<em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Gets the antialiasing mode for the font options object.</p> +<div class="refsect3"> +<a name="cairo-font-options-get-antialias.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-options-get-antialias.returns"></a><h4>Returns</h4> +<p> the antialiasing mode</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-set-subpixel-order"></a><h3>cairo_font_options_set_subpixel_order ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_font_options_set_subpixel_order (<em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-subpixel-order-t" title="enum cairo_subpixel_order_t"><span class="type">cairo_subpixel_order_t</span></a> subpixel_order</code></em>);</pre> +<p>Sets the subpixel order for the font options object. The subpixel +order specifies the order of color elements within each pixel on +the display device when rendering with an antialiasing mode of +<a class="link" href="cairo-cairo-t.html#CAIRO-ANTIALIAS-SUBPIXEL:CAPS"><code class="literal">CAIRO_ANTIALIAS_SUBPIXEL</code></a>. See the documentation for +<a class="link" href="cairo-cairo-font-options-t.html#cairo-subpixel-order-t" title="enum cairo_subpixel_order_t"><span class="type">cairo_subpixel_order_t</span></a> for full details.</p> +<div class="refsect3"> +<a name="cairo-font-options-set-subpixel-order.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>subpixel_order</p></td> +<td class="parameter_description"><p>the new subpixel order</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-get-subpixel-order"></a><h3>cairo_font_options_get_subpixel_order ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-options-t.html#cairo-subpixel-order-t" title="enum cairo_subpixel_order_t"><span class="returnvalue">cairo_subpixel_order_t</span></a> +cairo_font_options_get_subpixel_order (<em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Gets the subpixel order for the font options object. +See the documentation for <a class="link" href="cairo-cairo-font-options-t.html#cairo-subpixel-order-t" title="enum cairo_subpixel_order_t"><span class="type">cairo_subpixel_order_t</span></a> for full details.</p> +<div class="refsect3"> +<a name="cairo-font-options-get-subpixel-order.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-options-get-subpixel-order.returns"></a><h4>Returns</h4> +<p> the subpixel order for the font options object</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-set-hint-style"></a><h3>cairo_font_options_set_hint_style ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_font_options_set_hint_style (<em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-hint-style-t" title="enum cairo_hint_style_t"><span class="type">cairo_hint_style_t</span></a> hint_style</code></em>);</pre> +<p>Sets the hint style for font outlines for the font options object. +This controls whether to fit font outlines to the pixel grid, +and if so, whether to optimize for fidelity or contrast. +See the documentation for <a class="link" href="cairo-cairo-font-options-t.html#cairo-hint-style-t" title="enum cairo_hint_style_t"><span class="type">cairo_hint_style_t</span></a> for full details.</p> +<div class="refsect3"> +<a name="cairo-font-options-set-hint-style.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hint_style</p></td> +<td class="parameter_description"><p>the new hint style</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-get-hint-style"></a><h3>cairo_font_options_get_hint_style ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-options-t.html#cairo-hint-style-t" title="enum cairo_hint_style_t"><span class="returnvalue">cairo_hint_style_t</span></a> +cairo_font_options_get_hint_style (<em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Gets the hint style for font outlines for the font options object. +See the documentation for <a class="link" href="cairo-cairo-font-options-t.html#cairo-hint-style-t" title="enum cairo_hint_style_t"><span class="type">cairo_hint_style_t</span></a> for full details.</p> +<div class="refsect3"> +<a name="cairo-font-options-get-hint-style.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-options-get-hint-style.returns"></a><h4>Returns</h4> +<p> the hint style for the font options object</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-set-hint-metrics"></a><h3>cairo_font_options_set_hint_metrics ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_font_options_set_hint_metrics (<em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-hint-metrics-t" title="enum cairo_hint_metrics_t"><span class="type">cairo_hint_metrics_t</span></a> hint_metrics</code></em>);</pre> +<p>Sets the metrics hinting mode for the font options object. This +controls whether metrics are quantized to integer values in +device units. +See the documentation for <a class="link" href="cairo-cairo-font-options-t.html#cairo-hint-metrics-t" title="enum cairo_hint_metrics_t"><span class="type">cairo_hint_metrics_t</span></a> for full details.</p> +<div class="refsect3"> +<a name="cairo-font-options-set-hint-metrics.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>hint_metrics</p></td> +<td class="parameter_description"><p>the new metrics hinting mode</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-get-hint-metrics"></a><h3>cairo_font_options_get_hint_metrics ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-options-t.html#cairo-hint-metrics-t" title="enum cairo_hint_metrics_t"><span class="returnvalue">cairo_hint_metrics_t</span></a> +cairo_font_options_get_hint_metrics (<em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Gets the metrics hinting mode for the font options object. +See the documentation for <a class="link" href="cairo-cairo-font-options-t.html#cairo-hint-metrics-t" title="enum cairo_hint_metrics_t"><span class="type">cairo_hint_metrics_t</span></a> for full details.</p> +<div class="refsect3"> +<a name="cairo-font-options-get-hint-metrics.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-options-get-hint-metrics.returns"></a><h4>Returns</h4> +<p> the metrics hinting mode for the font options object</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-get-variations"></a><h3>cairo_font_options_get_variations ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +cairo_font_options_get_variations (<em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Gets the OpenType font variations for the font options object. +See <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-set-variations" title="cairo_font_options_set_variations ()"><code class="function">cairo_font_options_set_variations()</code></a> for details about the +string format.</p> +<div class="refsect3"> +<a name="cairo-font-options-get-variations.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-font-options-get-variations.returns"></a><h4>Returns</h4> +<p> the font variations for the font options object. The +returned string belongs to the <em class="parameter"><code>options</code></em> +and must not be modified. +It is valid until either the font options object is destroyed or +the font variations in this object is modified with +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-set-variations" title="cairo_font_options_set_variations ()"><code class="function">cairo_font_options_set_variations()</code></a>.</p> +</div> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-options-set-variations"></a><h3>cairo_font_options_set_variations ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_font_options_set_variations (<em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *variations</code></em>);</pre> +<p>Sets the OpenType font variations for the font options object. +Font variations are specified as a string with a format that +is similar to the CSS font-variation-settings. The string contains +a comma-separated list of axis assignments, which each assignment +consists of a 4-character axis name and a value, separated by +whitespace and optional equals sign.</p> +<p>Examples:</p> +<p>wght=200,wdth=140.5</p> +<p>wght 200 , wdth 140.5</p> +<div class="refsect3"> +<a name="cairo-font-options-set-variations.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>variations</p></td> +<td class="parameter_description"><p>the new font variations, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.16</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-font-options-t.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="cairo-font-options-t"></a><h3>cairo_font_options_t</h3> +<pre class="programlisting">typedef struct _cairo_font_options cairo_font_options_t; +</pre> +<p>An opaque structure holding all options that are used when +rendering fonts.</p> +<p>Individual features of a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> can be set or +accessed using functions named +<code class="function">cairo_font_options_set_<span class="emphasis"><em>feature_name</em></span>()</code> and +<code class="function">cairo_font_options_get_<span class="emphasis"><em>feature_name</em></span>()</code>, like +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-set-antialias" title="cairo_font_options_set_antialias ()"><code class="function">cairo_font_options_set_antialias()</code></a> and +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-get-antialias" title="cairo_font_options_get_antialias ()"><code class="function">cairo_font_options_get_antialias()</code></a>.</p> +<p>New features may be added to a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> in the +future. For this reason, <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-copy" title="cairo_font_options_copy ()"><code class="function">cairo_font_options_copy()</code></a>, +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-equal" title="cairo_font_options_equal ()"><code class="function">cairo_font_options_equal()</code></a>, <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-merge" title="cairo_font_options_merge ()"><code class="function">cairo_font_options_merge()</code></a>, and +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-hash" title="cairo_font_options_hash ()"><code class="function">cairo_font_options_hash()</code></a> should be used to copy, check +for equality, merge, or compute a hash value of +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> objects.</p> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-subpixel-order-t"></a><h3>enum cairo_subpixel_order_t</h3> +<p>The subpixel order specifies the order of color elements within +each pixel on the display device when rendering with an +antialiasing mode of <a class="link" href="cairo-cairo-t.html#CAIRO-ANTIALIAS-SUBPIXEL:CAPS"><code class="literal">CAIRO_ANTIALIAS_SUBPIXEL</code></a>.</p> +<div class="refsect3"> +<a name="cairo-subpixel-order-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SUBPIXEL-ORDER-DEFAULT:CAPS"></a>CAIRO_SUBPIXEL_ORDER_DEFAULT</p></td> +<td class="enum_member_description"> +<p>Use the default subpixel order for + for the target device, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SUBPIXEL-ORDER-RGB:CAPS"></a>CAIRO_SUBPIXEL_ORDER_RGB</p></td> +<td class="enum_member_description"> +<p>Subpixel elements are arranged horizontally + with red at the left, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SUBPIXEL-ORDER-BGR:CAPS"></a>CAIRO_SUBPIXEL_ORDER_BGR</p></td> +<td class="enum_member_description"> +<p>Subpixel elements are arranged horizontally + with blue at the left, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SUBPIXEL-ORDER-VRGB:CAPS"></a>CAIRO_SUBPIXEL_ORDER_VRGB</p></td> +<td class="enum_member_description"> +<p>Subpixel elements are arranged vertically + with red at the top, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SUBPIXEL-ORDER-VBGR:CAPS"></a>CAIRO_SUBPIXEL_ORDER_VBGR</p></td> +<td class="enum_member_description"> +<p>Subpixel elements are arranged vertically + with blue at the top, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-hint-style-t"></a><h3>enum cairo_hint_style_t</h3> +<p>Specifies the type of hinting to do on font outlines. Hinting +is the process of fitting outlines to the pixel grid in order +to improve the appearance of the result. Since hinting outlines +involves distorting them, it also reduces the faithfulness +to the original outline shapes. Not all of the outline hinting +styles are supported by all font backends.</p> +<p>New entries may be added in future versions.</p> +<div class="refsect3"> +<a name="cairo-hint-style-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-HINT-STYLE-DEFAULT:CAPS"></a>CAIRO_HINT_STYLE_DEFAULT</p></td> +<td class="enum_member_description"> +<p>Use the default hint style for + font backend and target device, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-HINT-STYLE-NONE:CAPS"></a>CAIRO_HINT_STYLE_NONE</p></td> +<td class="enum_member_description"> +<p>Do not hint outlines, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-HINT-STYLE-SLIGHT:CAPS"></a>CAIRO_HINT_STYLE_SLIGHT</p></td> +<td class="enum_member_description"> +<p>Hint outlines slightly to improve + contrast while retaining good fidelity to the original + shapes, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-HINT-STYLE-MEDIUM:CAPS"></a>CAIRO_HINT_STYLE_MEDIUM</p></td> +<td class="enum_member_description"> +<p>Hint outlines with medium strength + giving a compromise between fidelity to the original shapes + and contrast, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-HINT-STYLE-FULL:CAPS"></a>CAIRO_HINT_STYLE_FULL</p></td> +<td class="enum_member_description"> +<p>Hint outlines to maximize contrast, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-hint-metrics-t"></a><h3>enum cairo_hint_metrics_t</h3> +<p>Specifies whether to hint font metrics; hinting font metrics +means quantizing them so that they are integer values in +device space. Doing this improves the consistency of +letter and line spacing, however it also means that text +will be laid out differently at different zoom factors.</p> +<div class="refsect3"> +<a name="cairo-hint-metrics-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-HINT-METRICS-DEFAULT:CAPS"></a>CAIRO_HINT_METRICS_DEFAULT</p></td> +<td class="enum_member_description"> +<p>Hint metrics in the default + manner for the font backend and target device, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-HINT-METRICS-OFF:CAPS"></a>CAIRO_HINT_METRICS_OFF</p></td> +<td class="enum_member_description"> +<p>Do not hint font metrics, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-HINT-METRICS-ON:CAPS"></a>CAIRO_HINT_METRICS_ON</p></td> +<td class="enum_member_description"> +<p>Hint font metrics, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-font-options-t.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-cairo-matrix-t.html b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-matrix-t.html new file mode 100644 index 0000000..5c2fec5 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-matrix-t.html @@ -0,0 +1,779 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>cairo_matrix_t: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-support.html" title="Utilities"> +<link rel="prev" href="cairo-support.html" title="Utilities"> +<link rel="next" href="cairo-Error-handling.html" title="Error handling"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-cairo-matrix-t.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-support.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-support.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Error-handling.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-cairo-matrix-t"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-cairo-matrix-t.top_of_page"></a>cairo_matrix_t</span></h2> +<p>cairo_matrix_t — Generic matrix operations</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-cairo-matrix-t.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init" title="cairo_matrix_init ()">cairo_matrix_init</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-identity" title="cairo_matrix_init_identity ()">cairo_matrix_init_identity</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-translate" title="cairo_matrix_init_translate ()">cairo_matrix_init_translate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-scale" title="cairo_matrix_init_scale ()">cairo_matrix_init_scale</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-rotate" title="cairo_matrix_init_rotate ()">cairo_matrix_init_rotate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-translate" title="cairo_matrix_translate ()">cairo_matrix_translate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-scale" title="cairo_matrix_scale ()">cairo_matrix_scale</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-rotate" title="cairo_matrix_rotate ()">cairo_matrix_rotate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-invert" title="cairo_matrix_invert ()">cairo_matrix_invert</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-multiply" title="cairo_matrix_multiply ()">cairo_matrix_multiply</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-distance" title="cairo_matrix_transform_distance ()">cairo_matrix_transform_distance</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-point" title="cairo_matrix_transform_point ()">cairo_matrix_transform_point</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-matrix-t.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody><tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a></td> +</tr></tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-matrix-t.description"></a><h2>Description</h2> +<p><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> is used throughout cairo to convert between different +coordinate spaces. A <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> holds an affine transformation, +such as a scale, rotation, shear, or a combination of these. +The transformation of a point (<code class="literal">x</code>,<code class="literal">y</code>) +is given by:</p> +<pre class="programlisting"> +x_new = xx * x + xy * y + x0; +y_new = yx * x + yy * y + y0; +</pre> +<p>The current transformation matrix of a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>, represented as a +<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>, defines the transformation from user-space +coordinates to device-space coordinates. See <a class="link" href="cairo-Transformations.html#cairo-get-matrix" title="cairo_get_matrix ()"><code class="function">cairo_get_matrix()</code></a> and +<a class="link" href="cairo-Transformations.html#cairo-set-matrix" title="cairo_set_matrix ()"><code class="function">cairo_set_matrix()</code></a>.</p> +</div> +<div class="refsect1"> +<a name="cairo-cairo-matrix-t.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-matrix-init"></a><h3>cairo_matrix_init ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_matrix_init (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>, + <em class="parameter"><code><span class="type">double</span> xx</code></em>, + <em class="parameter"><code><span class="type">double</span> yx</code></em>, + <em class="parameter"><code><span class="type">double</span> xy</code></em>, + <em class="parameter"><code><span class="type">double</span> yy</code></em>, + <em class="parameter"><code><span class="type">double</span> x0</code></em>, + <em class="parameter"><code><span class="type">double</span> y0</code></em>);</pre> +<p>Sets <em class="parameter"><code>matrix</code></em> + to be the affine transformation given by +<em class="parameter"><code>xx</code></em> +, <em class="parameter"><code>yx</code></em> +, <em class="parameter"><code>xy</code></em> +, <em class="parameter"><code>yy</code></em> +, <em class="parameter"><code>x0</code></em> +, <em class="parameter"><code>y0</code></em> +. The transformation is given +by:</p> +<pre class="programlisting"> + x_new = xx * x + xy * y + x0; + y_new = yx * x + yy * y + y0; +</pre> +<div class="refsect3"> +<a name="cairo-matrix-init.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>xx</p></td> +<td class="parameter_description"><p>xx component of the affine transformation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>yx</p></td> +<td class="parameter_description"><p>yx component of the affine transformation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>xy</p></td> +<td class="parameter_description"><p>xy component of the affine transformation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>yy</p></td> +<td class="parameter_description"><p>yy component of the affine transformation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x0</p></td> +<td class="parameter_description"><p>X translation component of the affine transformation</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y0</p></td> +<td class="parameter_description"><p>Y translation component of the affine transformation</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-matrix-init-identity"></a><h3>cairo_matrix_init_identity ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_matrix_init_identity (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);</pre> +<p>Modifies <em class="parameter"><code>matrix</code></em> + to be an identity transformation.</p> +<div class="refsect3"> +<a name="cairo-matrix-init-identity.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-matrix-init-translate"></a><h3>cairo_matrix_init_translate ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_matrix_init_translate (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>, + <em class="parameter"><code><span class="type">double</span> tx</code></em>, + <em class="parameter"><code><span class="type">double</span> ty</code></em>);</pre> +<p>Initializes <em class="parameter"><code>matrix</code></em> + to a transformation that translates by <em class="parameter"><code>tx</code></em> + and +<em class="parameter"><code>ty</code></em> + in the X and Y dimensions, respectively.</p> +<div class="refsect3"> +<a name="cairo-matrix-init-translate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tx</p></td> +<td class="parameter_description"><p>amount to translate in the X direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ty</p></td> +<td class="parameter_description"><p>amount to translate in the Y direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-matrix-init-scale"></a><h3>cairo_matrix_init_scale ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_matrix_init_scale (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>, + <em class="parameter"><code><span class="type">double</span> sx</code></em>, + <em class="parameter"><code><span class="type">double</span> sy</code></em>);</pre> +<p>Initializes <em class="parameter"><code>matrix</code></em> + to a transformation that scales by <em class="parameter"><code>sx</code></em> + and <em class="parameter"><code>sy</code></em> + +in the X and Y dimensions, respectively.</p> +<div class="refsect3"> +<a name="cairo-matrix-init-scale.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sx</p></td> +<td class="parameter_description"><p>scale factor in the X direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sy</p></td> +<td class="parameter_description"><p>scale factor in the Y direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-matrix-init-rotate"></a><h3>cairo_matrix_init_rotate ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_matrix_init_rotate (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>, + <em class="parameter"><code><span class="type">double</span> radians</code></em>);</pre> +<p>Initialized <em class="parameter"><code>matrix</code></em> + to a transformation that rotates by <em class="parameter"><code>radians</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-matrix-init-rotate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>radians</p></td> +<td class="parameter_description"><p>angle of rotation, in radians. The direction of rotation +is defined such that positive angles rotate in the direction from +the positive X axis toward the positive Y axis. With the default +axis orientation of cairo, positive angles rotate in a clockwise +direction.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-matrix-translate"></a><h3>cairo_matrix_translate ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_matrix_translate (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>, + <em class="parameter"><code><span class="type">double</span> tx</code></em>, + <em class="parameter"><code><span class="type">double</span> ty</code></em>);</pre> +<p>Applies a translation by <em class="parameter"><code>tx</code></em> +, <em class="parameter"><code>ty</code></em> + to the transformation in +<em class="parameter"><code>matrix</code></em> +. The effect of the new transformation is to first translate +the coordinates by <em class="parameter"><code>tx</code></em> + and <em class="parameter"><code>ty</code></em> +, then apply the original transformation +to the coordinates.</p> +<div class="refsect3"> +<a name="cairo-matrix-translate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tx</p></td> +<td class="parameter_description"><p>amount to translate in the X direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ty</p></td> +<td class="parameter_description"><p>amount to translate in the Y direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-matrix-scale"></a><h3>cairo_matrix_scale ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_matrix_scale (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>, + <em class="parameter"><code><span class="type">double</span> sx</code></em>, + <em class="parameter"><code><span class="type">double</span> sy</code></em>);</pre> +<p>Applies scaling by <em class="parameter"><code>sx</code></em> +, <em class="parameter"><code>sy</code></em> + to the transformation in <em class="parameter"><code>matrix</code></em> +. The +effect of the new transformation is to first scale the coordinates +by <em class="parameter"><code>sx</code></em> + and <em class="parameter"><code>sy</code></em> +, then apply the original transformation to the coordinates.</p> +<div class="refsect3"> +<a name="cairo-matrix-scale.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sx</p></td> +<td class="parameter_description"><p>scale factor in the X direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>sy</p></td> +<td class="parameter_description"><p>scale factor in the Y direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-matrix-rotate"></a><h3>cairo_matrix_rotate ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_matrix_rotate (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>, + <em class="parameter"><code><span class="type">double</span> radians</code></em>);</pre> +<p>Applies rotation by <em class="parameter"><code>radians</code></em> + to the transformation in +<em class="parameter"><code>matrix</code></em> +. The effect of the new transformation is to first rotate the +coordinates by <em class="parameter"><code>radians</code></em> +, then apply the original transformation +to the coordinates.</p> +<div class="refsect3"> +<a name="cairo-matrix-rotate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>radians</p></td> +<td class="parameter_description"><p>angle of rotation, in radians. The direction of rotation +is defined such that positive angles rotate in the direction from +the positive X axis toward the positive Y axis. With the default +axis orientation of cairo, positive angles rotate in a clockwise +direction.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-matrix-invert"></a><h3>cairo_matrix_invert ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_matrix_invert (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);</pre> +<p>Changes <em class="parameter"><code>matrix</code></em> + to be the inverse of its original value. Not +all transformation matrices have inverses; if the matrix +collapses points together (it is <em class="firstterm">degenerate</em>), +then it has no inverse and this function will fail.</p> +<div class="refsect3"> +<a name="cairo-matrix-invert.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-matrix-invert.returns"></a><h4>Returns</h4> +<p> If <em class="parameter"><code>matrix</code></em> +has an inverse, modifies <em class="parameter"><code>matrix</code></em> +to +be the inverse matrix and returns <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>. Otherwise, +returns <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MATRIX:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MATRIX</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-matrix-multiply"></a><h3>cairo_matrix_multiply ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_matrix_multiply (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *result</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *a</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *b</code></em>);</pre> +<p>Multiplies the affine transformations in <em class="parameter"><code>a</code></em> + and <em class="parameter"><code>b</code></em> + together +and stores the result in <em class="parameter"><code>result</code></em> +. The effect of the resulting +transformation is to first apply the transformation in <em class="parameter"><code>a</code></em> + to the +coordinates and then apply the transformation in <em class="parameter"><code>b</code></em> + to the +coordinates.</p> +<p>It is allowable for <em class="parameter"><code>result</code></em> + to be identical to either <em class="parameter"><code>a</code></em> + or <em class="parameter"><code>b</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-matrix-multiply.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>result</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> in which to store the result</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>a</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>b</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-matrix-transform-distance"></a><h3>cairo_matrix_transform_distance ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_matrix_transform_distance (<em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>, + <em class="parameter"><code><span class="type">double</span> *dx</code></em>, + <em class="parameter"><code><span class="type">double</span> *dy</code></em>);</pre> +<p>Transforms the distance vector (<em class="parameter"><code>dx</code></em> +,<em class="parameter"><code>dy</code></em> +) by <em class="parameter"><code>matrix</code></em> +. This is +similar to <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-point" title="cairo_matrix_transform_point ()"><code class="function">cairo_matrix_transform_point()</code></a> except that the translation +components of the transformation are ignored. The calculation of +the returned vector is as follows:</p> +<pre class="programlisting"> +dx2 = dx1 * a + dy1 * c; +dy2 = dx1 * b + dy1 * d; +</pre> +<p>Affine transformations are position invariant, so the same vector +always transforms to the same vector. If (<em class="parameter"><code>x1</code></em> +,<em class="parameter"><code>y1</code></em> +) transforms +to (<em class="parameter"><code>x2</code></em> +,<em class="parameter"><code>y2</code></em> +) then (<em class="parameter"><code>x1</code></em> ++<em class="parameter"><code>dx1</code></em> +,<em class="parameter"><code>y1</code></em> ++<em class="parameter"><code>dy1</code></em> +) will transform to +(<em class="parameter"><code>x1</code></em> ++<em class="parameter"><code>dx2</code></em> +,<em class="parameter"><code>y1</code></em> ++<em class="parameter"><code>dy2</code></em> +) for all values of <em class="parameter"><code>x1</code></em> + and <em class="parameter"><code>x2</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-matrix-transform-distance.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dx</p></td> +<td class="parameter_description"><p>X component of a distance vector. An in/out parameter</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dy</p></td> +<td class="parameter_description"><p>Y component of a distance vector. An in/out parameter</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-matrix-transform-point"></a><h3>cairo_matrix_transform_point ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_matrix_transform_point (<em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>, + <em class="parameter"><code><span class="type">double</span> *x</code></em>, + <em class="parameter"><code><span class="type">double</span> *y</code></em>);</pre> +<p>Transforms the point (<em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +) by <em class="parameter"><code>matrix</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-matrix-transform-point.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>X position. An in/out parameter</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>Y position. An in/out parameter</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-matrix-t.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="cairo-matrix-t"></a><h3>cairo_matrix_t</h3> +<pre class="programlisting">typedef struct { + double xx; double yx; + double xy; double yy; + double x0; double y0; +} cairo_matrix_t; +</pre> +<p>A <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> holds an affine transformation, such as a scale, +rotation, shear, or a combination of those. The transformation of +a point (x, y) is given by:</p> +<pre class="programlisting"> + x_new = xx * x + xy * y + x0; + y_new = yx * x + yy * y + y0; +</pre> +<div class="refsect3"> +<a name="cairo-matrix-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="struct_members_name"> +<col class="struct_members_description"> +<col width="200px" class="struct_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.xx"></a>xx</code></em>;</p></td> +<td class="struct_member_description"><p>xx component of the affine transformation</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.yx"></a>yx</code></em>;</p></td> +<td class="struct_member_description"><p>yx component of the affine transformation</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.xy"></a>xy</code></em>;</p></td> +<td class="struct_member_description"><p>xy component of the affine transformation</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.yy"></a>yy</code></em>;</p></td> +<td class="struct_member_description"><p>yy component of the affine transformation</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.x0"></a>x0</code></em>;</p></td> +<td class="struct_member_description"><p>X translation component of the affine transformation</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.y0"></a>y0</code></em>;</p></td> +<td class="struct_member_description"><p>Y translation component of the affine transformation</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-matrix-t.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-cairo-pattern-t.html b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-pattern-t.html new file mode 100644 index 0000000..6d31e9a --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-pattern-t.html @@ -0,0 +1,2710 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>cairo_pattern_t: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-drawing.html" title="Drawing"> +<link rel="prev" href="cairo-Paths.html" title="Paths"> +<link rel="next" href="cairo-Regions.html" title="Regions"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-cairo-pattern-t.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-drawing.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-Paths.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Regions.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-cairo-pattern-t"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-cairo-pattern-t.top_of_page"></a>cairo_pattern_t</span></h2> +<p>cairo_pattern_t — Sources for drawing</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-cairo-pattern-t.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgb" title="cairo_pattern_add_color_stop_rgb ()">cairo_pattern_add_color_stop_rgb</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgba" title="cairo_pattern_add_color_stop_rgba ()">cairo_pattern_add_color_stop_rgba</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-color-stop-count" title="cairo_pattern_get_color_stop_count ()">cairo_pattern_get_color_stop_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-color-stop-rgba" title="cairo_pattern_get_color_stop_rgba ()">cairo_pattern_get_color_stop_rgba</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-rgb" title="cairo_pattern_create_rgb ()">cairo_pattern_create_rgb</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-rgba" title="cairo_pattern_create_rgba ()">cairo_pattern_create_rgba</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-rgba" title="cairo_pattern_get_rgba ()">cairo_pattern_get_rgba</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-for-surface" title="cairo_pattern_create_for_surface ()">cairo_pattern_create_for_surface</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-surface" title="cairo_pattern_get_surface ()">cairo_pattern_get_surface</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-linear" title="cairo_pattern_create_linear ()">cairo_pattern_create_linear</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-linear-points" title="cairo_pattern_get_linear_points ()">cairo_pattern_get_linear_points</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-radial" title="cairo_pattern_create_radial ()">cairo_pattern_create_radial</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-radial-circles" title="cairo_pattern_get_radial_circles ()">cairo_pattern_get_radial_circles</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-mesh" title="cairo_pattern_create_mesh ()">cairo_pattern_create_mesh</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-begin-patch" title="cairo_mesh_pattern_begin_patch ()">cairo_mesh_pattern_begin_patch</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-end-patch" title="cairo_mesh_pattern_end_patch ()">cairo_mesh_pattern_end_patch</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-move-to" title="cairo_mesh_pattern_move_to ()">cairo_mesh_pattern_move_to</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-line-to" title="cairo_mesh_pattern_line_to ()">cairo_mesh_pattern_line_to</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-curve-to" title="cairo_mesh_pattern_curve_to ()">cairo_mesh_pattern_curve_to</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-control-point" title="cairo_mesh_pattern_set_control_point ()">cairo_mesh_pattern_set_control_point</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb" title="cairo_mesh_pattern_set_corner_color_rgb ()">cairo_mesh_pattern_set_corner_color_rgb</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgba" title="cairo_mesh_pattern_set_corner_color_rgba ()">cairo_mesh_pattern_set_corner_color_rgba</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-patch-count" title="cairo_mesh_pattern_get_patch_count ()">cairo_mesh_pattern_get_patch_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="returnvalue">cairo_path_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-path" title="cairo_mesh_pattern_get_path ()">cairo_mesh_pattern_get_path</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-control-point" title="cairo_mesh_pattern_get_control_point ()">cairo_mesh_pattern_get_control_point</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-corner-color-rgba" title="cairo_mesh_pattern_get_corner_color_rgba ()">cairo_mesh_pattern_get_corner_color_rgba</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-reference" title="cairo_pattern_reference ()">cairo_pattern_reference</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-destroy" title="cairo_pattern_destroy ()">cairo_pattern_destroy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-status" title="cairo_pattern_status ()">cairo_pattern_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-extend" title="cairo_pattern_set_extend ()">cairo_pattern_set_extend</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-extend-t" title="enum cairo_extend_t"><span class="returnvalue">cairo_extend_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-extend" title="cairo_pattern_get_extend ()">cairo_pattern_get_extend</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-filter" title="cairo_pattern_set_filter ()">cairo_pattern_set_filter</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-filter-t" title="enum cairo_filter_t"><span class="returnvalue">cairo_filter_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-filter" title="cairo_pattern_get_filter ()">cairo_pattern_get_filter</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-matrix" title="cairo_pattern_set_matrix ()">cairo_pattern_set_matrix</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-matrix" title="cairo_pattern_get_matrix ()">cairo_pattern_get_matrix</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-type-t" title="enum cairo_pattern_type_t"><span class="returnvalue">cairo_pattern_type_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-type" title="cairo_pattern_get_type ()">cairo_pattern_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-reference-count" title="cairo_pattern_get_reference_count ()">cairo_pattern_get_reference_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-user-data" title="cairo_pattern_set_user_data ()">cairo_pattern_set_user_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-user-data" title="cairo_pattern_get_user_data ()">cairo_pattern_get_user_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-pattern-t.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t">cairo_pattern_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-pattern-t.html#cairo-extend-t" title="enum cairo_extend_t">cairo_extend_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-pattern-t.html#cairo-filter-t" title="enum cairo_filter_t">cairo_filter_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-type-t" title="enum cairo_pattern_type_t">cairo_pattern_type_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-pattern-t.description"></a><h2>Description</h2> +<p><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> is the paint with which cairo draws. +The primary use of patterns is as the source for all cairo drawing +operations, although they can also be used as masks, that is, as the +brush too.</p> +<p>A cairo pattern is created by using one of the many constructors, +of the form +<code class="function">cairo_pattern_create_<span class="emphasis"><em>type</em></span>()</code> +or implicitly through +<code class="function">cairo_set_source_<span class="emphasis"><em>type</em></span>()</code> +functions.</p> +</div> +<div class="refsect1"> +<a name="cairo-cairo-pattern-t.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-pattern-add-color-stop-rgb"></a><h3>cairo_pattern_add_color_stop_rgb ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pattern_add_color_stop_rgb (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">double</span> offset</code></em>, + <em class="parameter"><code><span class="type">double</span> red</code></em>, + <em class="parameter"><code><span class="type">double</span> green</code></em>, + <em class="parameter"><code><span class="type">double</span> blue</code></em>);</pre> +<p>Adds an opaque color stop to a gradient pattern. The offset +specifies the location along the gradient's control vector. For +example, a linear gradient's control vector is from (x0,y0) to +(x1,y1) while a radial gradient's control vector is from any point +on the start circle to the corresponding point on the end circle.</p> +<p>The color is specified in the same way as in <a class="link" href="cairo-cairo-t.html#cairo-set-source-rgb" title="cairo_set_source_rgb ()"><code class="function">cairo_set_source_rgb()</code></a>.</p> +<p>If two (or more) stops are specified with identical offset values, +they will be sorted according to the order in which the stops are +added, (stops added earlier will compare less than stops added +later). This can be useful for reliably making sharp color +transitions instead of the typical blend.</p> +<p>Note: If the pattern is not a gradient pattern, (eg. a linear or +radial pattern), then the pattern will be put into an error status +with a status of <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a>.</p> +<div class="refsect3"> +<a name="cairo-pattern-add-color-stop-rgb.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>offset</p></td> +<td class="parameter_description"><p>an offset in the range [0.0 .. 1.0]</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>red</p></td> +<td class="parameter_description"><p>red component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>green</p></td> +<td class="parameter_description"><p>green component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>blue</p></td> +<td class="parameter_description"><p>blue component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-add-color-stop-rgba"></a><h3>cairo_pattern_add_color_stop_rgba ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pattern_add_color_stop_rgba (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">double</span> offset</code></em>, + <em class="parameter"><code><span class="type">double</span> red</code></em>, + <em class="parameter"><code><span class="type">double</span> green</code></em>, + <em class="parameter"><code><span class="type">double</span> blue</code></em>, + <em class="parameter"><code><span class="type">double</span> alpha</code></em>);</pre> +<p>Adds a translucent color stop to a gradient pattern. The offset +specifies the location along the gradient's control vector. For +example, a linear gradient's control vector is from (x0,y0) to +(x1,y1) while a radial gradient's control vector is from any point +on the start circle to the corresponding point on the end circle.</p> +<p>The color is specified in the same way as in <a class="link" href="cairo-cairo-t.html#cairo-set-source-rgba" title="cairo_set_source_rgba ()"><code class="function">cairo_set_source_rgba()</code></a>.</p> +<p>If two (or more) stops are specified with identical offset values, +they will be sorted according to the order in which the stops are +added, (stops added earlier will compare less than stops added +later). This can be useful for reliably making sharp color +transitions instead of the typical blend.</p> +<p>Note: If the pattern is not a gradient pattern, (eg. a linear or +radial pattern), then the pattern will be put into an error status +with a status of <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a>.</p> +<div class="refsect3"> +<a name="cairo-pattern-add-color-stop-rgba.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>offset</p></td> +<td class="parameter_description"><p>an offset in the range [0.0 .. 1.0]</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>red</p></td> +<td class="parameter_description"><p>red component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>green</p></td> +<td class="parameter_description"><p>green component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>blue</p></td> +<td class="parameter_description"><p>blue component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alpha</p></td> +<td class="parameter_description"><p>alpha component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-get-color-stop-count"></a><h3>cairo_pattern_get_color_stop_count ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_pattern_get_color_stop_count (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">int</span> *count</code></em>);</pre> +<p>Gets the number of color stops specified in the given gradient +pattern.</p> +<div class="refsect3"> +<a name="cairo-pattern-get-color-stop-count.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>count</p></td> +<td class="parameter_description"><p>return value for the number of color stops, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-get-color-stop-count.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, or +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a> if <em class="parameter"><code>pattern</code></em> +is not a gradient +pattern.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-get-color-stop-rgba"></a><h3>cairo_pattern_get_color_stop_rgba ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_pattern_get_color_stop_rgba (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">int</span> index</code></em>, + <em class="parameter"><code><span class="type">double</span> *offset</code></em>, + <em class="parameter"><code><span class="type">double</span> *red</code></em>, + <em class="parameter"><code><span class="type">double</span> *green</code></em>, + <em class="parameter"><code><span class="type">double</span> *blue</code></em>, + <em class="parameter"><code><span class="type">double</span> *alpha</code></em>);</pre> +<p>Gets the color and offset information at the given <em class="parameter"><code>index</code></em> + for a +gradient pattern. Values of <em class="parameter"><code>index</code></em> + range from 0 to n-1 +where n is the number returned +by <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-color-stop-count" title="cairo_pattern_get_color_stop_count ()"><code class="function">cairo_pattern_get_color_stop_count()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-pattern-get-color-stop-rgba.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>index</p></td> +<td class="parameter_description"><p>index of the stop to return data for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>offset</p></td> +<td class="parameter_description"><p>return value for the offset of the stop, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>red</p></td> +<td class="parameter_description"><p>return value for red component of color, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>green</p></td> +<td class="parameter_description"><p>return value for green component of color, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>blue</p></td> +<td class="parameter_description"><p>return value for blue component of color, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alpha</p></td> +<td class="parameter_description"><p>return value for alpha component of color, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-get-color-stop-rgba.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-INDEX:CAPS"><code class="literal">CAIRO_STATUS_INVALID_INDEX</code></a> +if <em class="parameter"><code>index</code></em> +is not valid for the given pattern. If the pattern is +not a gradient pattern, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a> is +returned.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-create-rgb"></a><h3>cairo_pattern_create_rgb ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +cairo_pattern_create_rgb (<em class="parameter"><code><span class="type">double</span> red</code></em>, + <em class="parameter"><code><span class="type">double</span> green</code></em>, + <em class="parameter"><code><span class="type">double</span> blue</code></em>);</pre> +<p>Creates a new <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> corresponding to an opaque color. The +color components are floating point numbers in the range 0 to 1. +If the values passed in are outside that range, they will be +clamped.</p> +<div class="refsect3"> +<a name="cairo-pattern-create-rgb.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>red</p></td> +<td class="parameter_description"><p>red component of the color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>green</p></td> +<td class="parameter_description"><p>green component of the color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>blue</p></td> +<td class="parameter_description"><p>blue component of the color</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-create-rgb.returns"></a><h4>Returns</h4> +<p> the newly created <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> if successful, or +an error pattern in case of no memory. The caller owns the +returned object and should call <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-destroy" title="cairo_pattern_destroy ()"><code class="function">cairo_pattern_destroy()</code></a> when +finished with it.</p> +<p>This function will always return a valid pointer, but if an error +occurred the pattern status will be set to an error. To inspect +the status of a pattern use <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-status" title="cairo_pattern_status ()"><code class="function">cairo_pattern_status()</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-create-rgba"></a><h3>cairo_pattern_create_rgba ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +cairo_pattern_create_rgba (<em class="parameter"><code><span class="type">double</span> red</code></em>, + <em class="parameter"><code><span class="type">double</span> green</code></em>, + <em class="parameter"><code><span class="type">double</span> blue</code></em>, + <em class="parameter"><code><span class="type">double</span> alpha</code></em>);</pre> +<p>Creates a new <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> corresponding to a translucent color. +The color components are floating point numbers in the range 0 to</p> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>If the values passed in are outside that range, they will be +clamped.</p></li></ol></div> +<div class="refsect3"> +<a name="cairo-pattern-create-rgba.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>red</p></td> +<td class="parameter_description"><p>red component of the color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>green</p></td> +<td class="parameter_description"><p>green component of the color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>blue</p></td> +<td class="parameter_description"><p>blue component of the color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alpha</p></td> +<td class="parameter_description"><p>alpha component of the color</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-create-rgba.returns"></a><h4>Returns</h4> +<p> the newly created <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> if successful, or +an error pattern in case of no memory. The caller owns the +returned object and should call <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-destroy" title="cairo_pattern_destroy ()"><code class="function">cairo_pattern_destroy()</code></a> when +finished with it.</p> +<p>This function will always return a valid pointer, but if an error +occurred the pattern status will be set to an error. To inspect +the status of a pattern use <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-status" title="cairo_pattern_status ()"><code class="function">cairo_pattern_status()</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-get-rgba"></a><h3>cairo_pattern_get_rgba ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_pattern_get_rgba (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">double</span> *red</code></em>, + <em class="parameter"><code><span class="type">double</span> *green</code></em>, + <em class="parameter"><code><span class="type">double</span> *blue</code></em>, + <em class="parameter"><code><span class="type">double</span> *alpha</code></em>);</pre> +<p>Gets the solid color for a solid color pattern.</p> +<div class="refsect3"> +<a name="cairo-pattern-get-rgba.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>red</p></td> +<td class="parameter_description"><p>return value for red component of color, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>green</p></td> +<td class="parameter_description"><p>return value for green component of color, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>blue</p></td> +<td class="parameter_description"><p>return value for blue component of color, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alpha</p></td> +<td class="parameter_description"><p>return value for alpha component of color, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-get-rgba.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, or +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a> if the pattern is not a solid +color pattern.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-create-for-surface"></a><h3>cairo_pattern_create_for_surface ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +cairo_pattern_create_for_surface (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Create a new <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> for the given surface.</p> +<div class="refsect3"> +<a name="cairo-pattern-create-for-surface.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>the surface</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-create-for-surface.returns"></a><h4>Returns</h4> +<p> the newly created <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> if successful, or +an error pattern in case of no memory. The caller owns the +returned object and should call <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-destroy" title="cairo_pattern_destroy ()"><code class="function">cairo_pattern_destroy()</code></a> when +finished with it.</p> +<p>This function will always return a valid pointer, but if an error +occurred the pattern status will be set to an error. To inspect +the status of a pattern use <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-status" title="cairo_pattern_status ()"><code class="function">cairo_pattern_status()</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-get-surface"></a><h3>cairo_pattern_get_surface ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_pattern_get_surface (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> **surface</code></em>);</pre> +<p>Gets the surface of a surface pattern. The reference returned in +<em class="parameter"><code>surface</code></em> + is owned by the pattern; the caller should call +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-reference" title="cairo_surface_reference ()"><code class="function">cairo_surface_reference()</code></a> if the surface is to be retained.</p> +<div class="refsect3"> +<a name="cairo-pattern-get-surface.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>return value for surface of pattern, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-get-surface.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, or +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a> if the pattern is not a surface +pattern.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-create-linear"></a><h3>cairo_pattern_create_linear ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +cairo_pattern_create_linear (<em class="parameter"><code><span class="type">double</span> x0</code></em>, + <em class="parameter"><code><span class="type">double</span> y0</code></em>, + <em class="parameter"><code><span class="type">double</span> x1</code></em>, + <em class="parameter"><code><span class="type">double</span> y1</code></em>);</pre> +<p>Create a new linear gradient <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> along the line defined +by (x0, y0) and (x1, y1). Before using the gradient pattern, a +number of color stops should be defined using +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgb" title="cairo_pattern_add_color_stop_rgb ()"><code class="function">cairo_pattern_add_color_stop_rgb()</code></a> or +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgba" title="cairo_pattern_add_color_stop_rgba ()"><code class="function">cairo_pattern_add_color_stop_rgba()</code></a>.</p> +<p>Note: The coordinates here are in pattern space. For a new pattern, +pattern space is identical to user space, but the relationship +between the spaces can be changed with <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-matrix" title="cairo_pattern_set_matrix ()"><code class="function">cairo_pattern_set_matrix()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-pattern-create-linear.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>x0</p></td> +<td class="parameter_description"><p>x coordinate of the start point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y0</p></td> +<td class="parameter_description"><p>y coordinate of the start point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x1</p></td> +<td class="parameter_description"><p>x coordinate of the end point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y1</p></td> +<td class="parameter_description"><p>y coordinate of the end point</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-create-linear.returns"></a><h4>Returns</h4> +<p> the newly created <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> if successful, or +an error pattern in case of no memory. The caller owns the +returned object and should call <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-destroy" title="cairo_pattern_destroy ()"><code class="function">cairo_pattern_destroy()</code></a> when +finished with it.</p> +<p>This function will always return a valid pointer, but if an error +occurred the pattern status will be set to an error. To inspect +the status of a pattern use <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-status" title="cairo_pattern_status ()"><code class="function">cairo_pattern_status()</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-get-linear-points"></a><h3>cairo_pattern_get_linear_points ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_pattern_get_linear_points (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">double</span> *x0</code></em>, + <em class="parameter"><code><span class="type">double</span> *y0</code></em>, + <em class="parameter"><code><span class="type">double</span> *x1</code></em>, + <em class="parameter"><code><span class="type">double</span> *y1</code></em>);</pre> +<p>Gets the gradient endpoints for a linear gradient.</p> +<div class="refsect3"> +<a name="cairo-pattern-get-linear-points.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x0</p></td> +<td class="parameter_description"><p>return value for the x coordinate of the first point, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y0</p></td> +<td class="parameter_description"><p>return value for the y coordinate of the first point, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x1</p></td> +<td class="parameter_description"><p>return value for the x coordinate of the second point, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y1</p></td> +<td class="parameter_description"><p>return value for the y coordinate of the second point, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-get-linear-points.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, or +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a> if <em class="parameter"><code>pattern</code></em> +is not a linear +gradient pattern.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-create-radial"></a><h3>cairo_pattern_create_radial ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +cairo_pattern_create_radial (<em class="parameter"><code><span class="type">double</span> cx0</code></em>, + <em class="parameter"><code><span class="type">double</span> cy0</code></em>, + <em class="parameter"><code><span class="type">double</span> radius0</code></em>, + <em class="parameter"><code><span class="type">double</span> cx1</code></em>, + <em class="parameter"><code><span class="type">double</span> cy1</code></em>, + <em class="parameter"><code><span class="type">double</span> radius1</code></em>);</pre> +<p>Creates a new radial gradient <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> between the two +circles defined by (cx0, cy0, radius0) and (cx1, cy1, radius1). Before using the +gradient pattern, a number of color stops should be defined using +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgb" title="cairo_pattern_add_color_stop_rgb ()"><code class="function">cairo_pattern_add_color_stop_rgb()</code></a> or +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgba" title="cairo_pattern_add_color_stop_rgba ()"><code class="function">cairo_pattern_add_color_stop_rgba()</code></a>.</p> +<p>Note: The coordinates here are in pattern space. For a new pattern, +pattern space is identical to user space, but the relationship +between the spaces can be changed with <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-matrix" title="cairo_pattern_set_matrix ()"><code class="function">cairo_pattern_set_matrix()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-pattern-create-radial.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cx0</p></td> +<td class="parameter_description"><p>x coordinate for the center of the start circle</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cy0</p></td> +<td class="parameter_description"><p>y coordinate for the center of the start circle</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>radius0</p></td> +<td class="parameter_description"><p>radius of the start circle</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cx1</p></td> +<td class="parameter_description"><p>x coordinate for the center of the end circle</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cy1</p></td> +<td class="parameter_description"><p>y coordinate for the center of the end circle</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>radius1</p></td> +<td class="parameter_description"><p>radius of the end circle</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-create-radial.returns"></a><h4>Returns</h4> +<p> the newly created <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> if successful, or +an error pattern in case of no memory. The caller owns the +returned object and should call <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-destroy" title="cairo_pattern_destroy ()"><code class="function">cairo_pattern_destroy()</code></a> when +finished with it.</p> +<p>This function will always return a valid pointer, but if an error +occurred the pattern status will be set to an error. To inspect +the status of a pattern use <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-status" title="cairo_pattern_status ()"><code class="function">cairo_pattern_status()</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-get-radial-circles"></a><h3>cairo_pattern_get_radial_circles ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_pattern_get_radial_circles (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">double</span> *x0</code></em>, + <em class="parameter"><code><span class="type">double</span> *y0</code></em>, + <em class="parameter"><code><span class="type">double</span> *r0</code></em>, + <em class="parameter"><code><span class="type">double</span> *x1</code></em>, + <em class="parameter"><code><span class="type">double</span> *y1</code></em>, + <em class="parameter"><code><span class="type">double</span> *r1</code></em>);</pre> +<p>Gets the gradient endpoint circles for a radial gradient, each +specified as a center coordinate and a radius.</p> +<div class="refsect3"> +<a name="cairo-pattern-get-radial-circles.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x0</p></td> +<td class="parameter_description"><p>return value for the x coordinate of the center of the first circle, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y0</p></td> +<td class="parameter_description"><p>return value for the y coordinate of the center of the first circle, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>r0</p></td> +<td class="parameter_description"><p>return value for the radius of the first circle, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x1</p></td> +<td class="parameter_description"><p>return value for the x coordinate of the center of the second circle, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y1</p></td> +<td class="parameter_description"><p>return value for the y coordinate of the center of the second circle, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>r1</p></td> +<td class="parameter_description"><p>return value for the radius of the second circle, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-get-radial-circles.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, or +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a> if <em class="parameter"><code>pattern</code></em> +is not a radial +gradient pattern.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-create-mesh"></a><h3>cairo_pattern_create_mesh ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +cairo_pattern_create_mesh (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p>Create a new mesh pattern.</p> +<p>Mesh patterns are tensor-product patch meshes (type 7 shadings in +PDF). Mesh patterns may also be used to create other types of +shadings that are special cases of tensor-product patch meshes such +as Coons patch meshes (type 6 shading in PDF) and Gouraud-shaded +triangle meshes (type 4 and 5 shadings in PDF).</p> +<p>Mesh patterns consist of one or more tensor-product patches, which +should be defined before using the mesh pattern. Using a mesh +pattern with a partially defined patch as source or mask will put +the context in an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</code></a>.</p> +<p>A tensor-product patch is defined by 4 Bézier curves (side 0, 1, 2, +3) and by 4 additional control points (P0, P1, P2, P3) that provide +further control over the patch and complete the definition of the +tensor-product patch. The corner C0 is the first point of the +patch.</p> +<p>Degenerate sides are permitted so straight lines may be used. A +zero length line on one side may be used to create 3 sided patches.</p> +<div class="informalexample"><pre class="screen"> + C1 Side 1 C2 + +---------------+ + | | + | P1 P2 | + | | +Side 0 | | Side 2 + | | + | | + | P0 P3 | + | | + +---------------+ + C0 Side 3 C3 +</pre></div> +<p>Each patch is constructed by first calling +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-begin-patch" title="cairo_mesh_pattern_begin_patch ()"><code class="function">cairo_mesh_pattern_begin_patch()</code></a>, then <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-move-to" title="cairo_mesh_pattern_move_to ()"><code class="function">cairo_mesh_pattern_move_to()</code></a> +to specify the first point in the patch (C0). Then the sides are +specified with calls to <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-curve-to" title="cairo_mesh_pattern_curve_to ()"><code class="function">cairo_mesh_pattern_curve_to()</code></a> and +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-line-to" title="cairo_mesh_pattern_line_to ()"><code class="function">cairo_mesh_pattern_line_to()</code></a>.</p> +<p>The four additional control points (P0, P1, P2, P3) in a patch can +be specified with <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-control-point" title="cairo_mesh_pattern_set_control_point ()"><code class="function">cairo_mesh_pattern_set_control_point()</code></a>.</p> +<p>At each corner of the patch (C0, C1, C2, C3) a color may be +specified with <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb" title="cairo_mesh_pattern_set_corner_color_rgb ()"><code class="function">cairo_mesh_pattern_set_corner_color_rgb()</code></a> or +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgba" title="cairo_mesh_pattern_set_corner_color_rgba ()"><code class="function">cairo_mesh_pattern_set_corner_color_rgba()</code></a>. Any corner whose color +is not explicitly specified defaults to transparent black.</p> +<p>A Coons patch is a special case of the tensor-product patch where +the control points are implicitly defined by the sides of the +patch. The default value for any control point not specified is the +implicit value for a Coons patch, i.e. if no control points are +specified the patch is a Coons patch.</p> +<p>A triangle is a special case of the tensor-product patch where the +control points are implicitly defined by the sides of the patch, +all the sides are lines and one of them has length 0, i.e. if the +patch is specified using just 3 lines, it is a triangle. If the +corners connected by the 0-length side have the same color, the +patch is a Gouraud-shaded triangle.</p> +<p>Patches may be oriented differently to the above diagram. For +example the first point could be at the top left. The diagram only +shows the relationship between the sides, corners and control +points. Regardless of where the first point is located, when +specifying colors, corner 0 will always be the first point, corner +1 the point between side 0 and side 1 etc.</p> +<p>Calling <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-end-patch" title="cairo_mesh_pattern_end_patch ()"><code class="function">cairo_mesh_pattern_end_patch()</code></a> completes the current +patch. If less than 4 sides have been defined, the first missing +side is defined as a line from the current point to the first point +of the patch (C0) and the other sides are degenerate lines from C0 +to C0. The corners between the added sides will all be coincident +with C0 of the patch and their color will be set to be the same as +the color of C0.</p> +<p>Additional patches may be added with additional calls to +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-begin-patch" title="cairo_mesh_pattern_begin_patch ()"><code class="function">cairo_mesh_pattern_begin_patch()</code></a>/<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-end-patch" title="cairo_mesh_pattern_end_patch ()"><code class="function">cairo_mesh_pattern_end_patch()</code></a>.</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24</pre></td> + <td class="listing_code"><pre class="programlisting">cairo_pattern_t <span class="gtkdoc opt">*</span>pattern <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-cairo-pattern-t.html#cairo-pattern-create-mesh">cairo_pattern_create_mesh</a></span> <span class="gtkdoc opt">();</span> + +<span class="comment">/* Add a Coons patch */</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-begin-patch">cairo_mesh_pattern_begin_patch</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-move-to">cairo_mesh_pattern_move_to</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-curve-to">cairo_mesh_pattern_curve_to</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">30</span><span class="gtkdoc opt">, -</span><span class="number">30</span><span class="gtkdoc opt">,</span> <span class="number">60</span><span class="gtkdoc opt">,</span> <span class="number">30</span><span class="gtkdoc opt">,</span> <span class="number">100</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-curve-to">cairo_mesh_pattern_curve_to</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">60</span><span class="gtkdoc opt">,</span> <span class="number">30</span><span class="gtkdoc opt">,</span> <span class="number">130</span><span class="gtkdoc opt">,</span> <span class="number">60</span><span class="gtkdoc opt">,</span> <span class="number">100</span><span class="gtkdoc opt">,</span> <span class="number">100</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-curve-to">cairo_mesh_pattern_curve_to</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">60</span><span class="gtkdoc opt">,</span> <span class="number">70</span><span class="gtkdoc opt">,</span> <span class="number">30</span><span class="gtkdoc opt">,</span> <span class="number">130</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">100</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-curve-to">cairo_mesh_pattern_curve_to</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">30</span><span class="gtkdoc opt">,</span> <span class="number">70</span><span class="gtkdoc opt">, -</span><span class="number">30</span><span class="gtkdoc opt">,</span> <span class="number">30</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">2</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">3</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-end-patch">cairo_mesh_pattern_end_patch</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">);</span> + +<span class="comment">/* Add a Gouraud-shaded triangle */</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-begin-patch">cairo_mesh_pattern_begin_patch</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">)</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-move-to">cairo_mesh_pattern_move_to</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">100</span><span class="gtkdoc opt">,</span> <span class="number">100</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-line-to">cairo_mesh_pattern_line_to</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">130</span><span class="gtkdoc opt">,</span> <span class="number">130</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-line-to">cairo_mesh_pattern_line_to</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">130</span><span class="gtkdoc opt">,</span> <span class="number">70</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">,</span> <span class="number">2</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">0</span><span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-end-patch">cairo_mesh_pattern_end_patch</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">)</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p>When two patches overlap, the last one that has been added is drawn +over the first one.</p> +<p>When a patch folds over itself, points are sorted depending on +their parameter coordinates inside the patch. The v coordinate +ranges from 0 to 1 when moving from side 3 to side 1; the u +coordinate ranges from 0 to 1 when going from side 0 to side</p> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Points with higher v coordinate hide points with lower v +coordinate. When two points have the same v coordinate, the one +with higher u coordinate is above. This means that points nearer to +side 1 are above points nearer to side 3; when this is not +sufficient to decide which point is above (for example when both +points belong to side 1 or side 3) points nearer to side 2 are +above points nearer to side 0.</p></li></ol></div> +<p>For a complete definition of tensor-product patches, see the PDF +specification (ISO32000), which describes the parametrization in +detail.</p> +<p>Note: The coordinates are always in pattern space. For a new +pattern, pattern space is identical to user space, but the +relationship between the spaces can be changed with +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-matrix" title="cairo_pattern_set_matrix ()"><code class="function">cairo_pattern_set_matrix()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-pattern-create-mesh.returns"></a><h4>Returns</h4> +<p> the newly created <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> if successful, or +an error pattern in case of no memory. The caller owns the returned +object and should call <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-destroy" title="cairo_pattern_destroy ()"><code class="function">cairo_pattern_destroy()</code></a> when finished with +it.</p> +<p>This function will always return a valid pointer, but if an error +occurred the pattern status will be set to an error. To inspect the +status of a pattern use <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-status" title="cairo_pattern_status ()"><code class="function">cairo_pattern_status()</code></a>.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mesh-pattern-begin-patch"></a><h3>cairo_mesh_pattern_begin_patch ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_mesh_pattern_begin_patch (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Begin a patch in a mesh pattern.</p> +<p>After calling this function, the patch shape should be defined with +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-move-to" title="cairo_mesh_pattern_move_to ()"><code class="function">cairo_mesh_pattern_move_to()</code></a>, <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-line-to" title="cairo_mesh_pattern_line_to ()"><code class="function">cairo_mesh_pattern_line_to()</code></a> and +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-curve-to" title="cairo_mesh_pattern_curve_to ()"><code class="function">cairo_mesh_pattern_curve_to()</code></a>.</p> +<p>After defining the patch, <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-end-patch" title="cairo_mesh_pattern_end_patch ()"><code class="function">cairo_mesh_pattern_end_patch()</code></a> must be +called before using <em class="parameter"><code>pattern</code></em> + as a source or mask.</p> +<p>Note: If <em class="parameter"><code>pattern</code></em> + is not a mesh pattern then <em class="parameter"><code>pattern</code></em> + will be put +into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a>. If <em class="parameter"><code>pattern</code></em> + already has a +current patch, it will be put into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</code></a>.</p> +<div class="refsect3"> +<a name="cairo-mesh-pattern-begin-patch.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mesh-pattern-end-patch"></a><h3>cairo_mesh_pattern_end_patch ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_mesh_pattern_end_patch (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Indicates the end of the current patch in a mesh pattern.</p> +<p>If the current patch has less than 4 sides, it is closed with a +straight line from the current point to the first point of the +patch as if <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-line-to" title="cairo_mesh_pattern_line_to ()"><code class="function">cairo_mesh_pattern_line_to()</code></a> was used.</p> +<p>Note: If <em class="parameter"><code>pattern</code></em> + is not a mesh pattern then <em class="parameter"><code>pattern</code></em> + will be put +into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a>. If <em class="parameter"><code>pattern</code></em> + has no current +patch or the current patch has no current point, <em class="parameter"><code>pattern</code></em> + will be +put into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</code></a>.</p> +<div class="refsect3"> +<a name="cairo-mesh-pattern-end-patch.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mesh-pattern-move-to"></a><h3>cairo_mesh_pattern_move_to ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_mesh_pattern_move_to (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">double</span> x</code></em>, + <em class="parameter"><code><span class="type">double</span> y</code></em>);</pre> +<p>Define the first point of the current patch in a mesh pattern.</p> +<p>After this call the current point will be (<em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +).</p> +<p>Note: If <em class="parameter"><code>pattern</code></em> + is not a mesh pattern then <em class="parameter"><code>pattern</code></em> + will be put +into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a>. If <em class="parameter"><code>pattern</code></em> + has no current +patch or the current patch already has at least one side, <em class="parameter"><code>pattern</code></em> + +will be put into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</code></a>.</p> +<div class="refsect3"> +<a name="cairo-mesh-pattern-move-to.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>the X coordinate of the new position</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>the Y coordinate of the new position</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mesh-pattern-line-to"></a><h3>cairo_mesh_pattern_line_to ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_mesh_pattern_line_to (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">double</span> x</code></em>, + <em class="parameter"><code><span class="type">double</span> y</code></em>);</pre> +<p>Adds a line to the current patch from the current point to position +(<em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +) in pattern-space coordinates.</p> +<p>If there is no current point before the call to +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-line-to" title="cairo_mesh_pattern_line_to ()"><code class="function">cairo_mesh_pattern_line_to()</code></a> this function will behave as +cairo_mesh_pattern_move_to(<em class="parameter"><code>pattern</code></em> +, <em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +).</p> +<p>After this call the current point will be (<em class="parameter"><code>x</code></em> +, <em class="parameter"><code>y</code></em> +).</p> +<p>Note: If <em class="parameter"><code>pattern</code></em> + is not a mesh pattern then <em class="parameter"><code>pattern</code></em> + will be put +into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a>. If <em class="parameter"><code>pattern</code></em> + has no current +patch or the current patch already has 4 sides, <em class="parameter"><code>pattern</code></em> + will be +put into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</code></a>.</p> +<div class="refsect3"> +<a name="cairo-mesh-pattern-line-to.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>the X coordinate of the end of the new line</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>the Y coordinate of the end of the new line</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mesh-pattern-curve-to"></a><h3>cairo_mesh_pattern_curve_to ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_mesh_pattern_curve_to (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><span class="type">double</span> x1</code></em>, + <em class="parameter"><code><span class="type">double</span> y1</code></em>, + <em class="parameter"><code><span class="type">double</span> x2</code></em>, + <em class="parameter"><code><span class="type">double</span> y2</code></em>, + <em class="parameter"><code><span class="type">double</span> x3</code></em>, + <em class="parameter"><code><span class="type">double</span> y3</code></em>);</pre> +<p>Adds a cubic Bézier spline to the current patch from the current +point to position (<em class="parameter"><code>x3</code></em> +, <em class="parameter"><code>y3</code></em> +) in pattern-space coordinates, using +(<em class="parameter"><code>x1</code></em> +, <em class="parameter"><code>y1</code></em> +) and (<em class="parameter"><code>x2</code></em> +, <em class="parameter"><code>y2</code></em> +) as the control points.</p> +<p>If the current patch has no current point before the call to +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-curve-to" title="cairo_mesh_pattern_curve_to ()"><code class="function">cairo_mesh_pattern_curve_to()</code></a>, this function will behave as if +preceded by a call to cairo_mesh_pattern_move_to(<em class="parameter"><code>pattern</code></em> +, <em class="parameter"><code>x1</code></em> +, +<em class="parameter"><code>y1</code></em> +).</p> +<p>After this call the current point will be (<em class="parameter"><code>x3</code></em> +, <em class="parameter"><code>y3</code></em> +).</p> +<p>Note: If <em class="parameter"><code>pattern</code></em> + is not a mesh pattern then <em class="parameter"><code>pattern</code></em> + will be put +into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a>. If <em class="parameter"><code>pattern</code></em> + has no current +patch or the current patch already has 4 sides, <em class="parameter"><code>pattern</code></em> + will be +put into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</code></a>.</p> +<div class="refsect3"> +<a name="cairo-mesh-pattern-curve-to.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x1</p></td> +<td class="parameter_description"><p>the X coordinate of the first control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y1</p></td> +<td class="parameter_description"><p>the Y coordinate of the first control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x2</p></td> +<td class="parameter_description"><p>the X coordinate of the second control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y2</p></td> +<td class="parameter_description"><p>the Y coordinate of the second control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x3</p></td> +<td class="parameter_description"><p>the X coordinate of the end of the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y3</p></td> +<td class="parameter_description"><p>the Y coordinate of the end of the curve</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mesh-pattern-set-control-point"></a><h3>cairo_mesh_pattern_set_control_point ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_mesh_pattern_set_control_point (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> point_num</code></em>, + <em class="parameter"><code><span class="type">double</span> x</code></em>, + <em class="parameter"><code><span class="type">double</span> y</code></em>);</pre> +<p>Set an internal control point of the current patch.</p> +<p>Valid values for <em class="parameter"><code>point_num</code></em> + are from 0 to 3 and identify the +control points as explained in <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-mesh" title="cairo_pattern_create_mesh ()"><code class="function">cairo_pattern_create_mesh()</code></a>.</p> +<p>Note: If <em class="parameter"><code>pattern</code></em> + is not a mesh pattern then <em class="parameter"><code>pattern</code></em> + will be put +into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a>. If <em class="parameter"><code>point_num</code></em> + is not valid, +<em class="parameter"><code>pattern</code></em> + will be put into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-INDEX:CAPS"><code class="literal">CAIRO_STATUS_INVALID_INDEX</code></a>. If <em class="parameter"><code>pattern</code></em> + has no current patch, +<em class="parameter"><code>pattern</code></em> + will be put into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</code></a>.</p> +<div class="refsect3"> +<a name="cairo-mesh-pattern-set-control-point.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>point_num</p></td> +<td class="parameter_description"><p>the control point to set the position for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>the X coordinate of the control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>the Y coordinate of the control point</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mesh-pattern-set-corner-color-rgb"></a><h3>cairo_mesh_pattern_set_corner_color_rgb ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_mesh_pattern_set_corner_color_rgb + (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> corner_num</code></em>, + <em class="parameter"><code><span class="type">double</span> red</code></em>, + <em class="parameter"><code><span class="type">double</span> green</code></em>, + <em class="parameter"><code><span class="type">double</span> blue</code></em>);</pre> +<p>Sets the color of a corner of the current patch in a mesh pattern.</p> +<p>The color is specified in the same way as in <a class="link" href="cairo-cairo-t.html#cairo-set-source-rgb" title="cairo_set_source_rgb ()"><code class="function">cairo_set_source_rgb()</code></a>.</p> +<p>Valid values for <em class="parameter"><code>corner_num</code></em> + are from 0 to 3 and identify the +corners as explained in <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-mesh" title="cairo_pattern_create_mesh ()"><code class="function">cairo_pattern_create_mesh()</code></a>.</p> +<p>Note: If <em class="parameter"><code>pattern</code></em> + is not a mesh pattern then <em class="parameter"><code>pattern</code></em> + will be put +into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a>. If <em class="parameter"><code>corner_num</code></em> + is not valid, +<em class="parameter"><code>pattern</code></em> + will be put into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-INDEX:CAPS"><code class="literal">CAIRO_STATUS_INVALID_INDEX</code></a>. If <em class="parameter"><code>pattern</code></em> + has no current patch, +<em class="parameter"><code>pattern</code></em> + will be put into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</code></a>.</p> +<div class="refsect3"> +<a name="cairo-mesh-pattern-set-corner-color-rgb.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>corner_num</p></td> +<td class="parameter_description"><p>the corner to set the color for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>red</p></td> +<td class="parameter_description"><p>red component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>green</p></td> +<td class="parameter_description"><p>green component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>blue</p></td> +<td class="parameter_description"><p>blue component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mesh-pattern-set-corner-color-rgba"></a><h3>cairo_mesh_pattern_set_corner_color_rgba ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_mesh_pattern_set_corner_color_rgba + (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> corner_num</code></em>, + <em class="parameter"><code><span class="type">double</span> red</code></em>, + <em class="parameter"><code><span class="type">double</span> green</code></em>, + <em class="parameter"><code><span class="type">double</span> blue</code></em>, + <em class="parameter"><code><span class="type">double</span> alpha</code></em>);</pre> +<p>Sets the color of a corner of the current patch in a mesh pattern.</p> +<p>The color is specified in the same way as in <a class="link" href="cairo-cairo-t.html#cairo-set-source-rgba" title="cairo_set_source_rgba ()"><code class="function">cairo_set_source_rgba()</code></a>.</p> +<p>Valid values for <em class="parameter"><code>corner_num</code></em> + are from 0 to 3 and identify the +corners as explained in <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-mesh" title="cairo_pattern_create_mesh ()"><code class="function">cairo_pattern_create_mesh()</code></a>.</p> +<p>Note: If <em class="parameter"><code>pattern</code></em> + is not a mesh pattern then <em class="parameter"><code>pattern</code></em> + will be put +into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a>. If <em class="parameter"><code>corner_num</code></em> + is not valid, +<em class="parameter"><code>pattern</code></em> + will be put into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-INDEX:CAPS"><code class="literal">CAIRO_STATUS_INVALID_INDEX</code></a>. If <em class="parameter"><code>pattern</code></em> + has no current patch, +<em class="parameter"><code>pattern</code></em> + will be put into an error status with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</code></a>.</p> +<div class="refsect3"> +<a name="cairo-mesh-pattern-set-corner-color-rgba.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>corner_num</p></td> +<td class="parameter_description"><p>the corner to set the color for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>red</p></td> +<td class="parameter_description"><p>red component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>green</p></td> +<td class="parameter_description"><p>green component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>blue</p></td> +<td class="parameter_description"><p>blue component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alpha</p></td> +<td class="parameter_description"><p>alpha component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mesh-pattern-get-patch-count"></a><h3>cairo_mesh_pattern_get_patch_count ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_mesh_pattern_get_patch_count (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *count</code></em>);</pre> +<p>Gets the number of patches specified in the given mesh pattern.</p> +<p>The number only includes patches which have been finished by +calling <a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-end-patch" title="cairo_mesh_pattern_end_patch ()"><code class="function">cairo_mesh_pattern_end_patch()</code></a>. For example it will be 0 +during the definition of the first patch.</p> +<div class="refsect3"> +<a name="cairo-mesh-pattern-get-patch-count.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>count</p></td> +<td class="parameter_description"><p>return value for the number patches, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-mesh-pattern-get-patch-count.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, or +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a> if <em class="parameter"><code>pattern</code></em> +is not a mesh +pattern.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mesh-pattern-get-path"></a><h3>cairo_mesh_pattern_get_path ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Paths.html#cairo-path-t" title="cairo_path_t"><span class="returnvalue">cairo_path_t</span></a> * +cairo_mesh_pattern_get_path (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> patch_num</code></em>);</pre> +<p>Gets path defining the patch <em class="parameter"><code>patch_num</code></em> + for a mesh +pattern.</p> +<p><em class="parameter"><code>patch_num</code></em> + can range from 0 to n-1 where n is the number returned by +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-patch-count" title="cairo_mesh_pattern_get_patch_count ()"><code class="function">cairo_mesh_pattern_get_patch_count()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-mesh-pattern-get-path.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>patch_num</p></td> +<td class="parameter_description"><p>the patch number to return data for</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-mesh-pattern-get-path.returns"></a><h4>Returns</h4> +<p> the path defining the patch, or a path with status +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-INDEX:CAPS"><code class="literal">CAIRO_STATUS_INVALID_INDEX</code></a> if <em class="parameter"><code>patch_num</code></em> +or <em class="parameter"><code>point_num</code></em> +is not +valid for <em class="parameter"><code>pattern</code></em> +. If <em class="parameter"><code>pattern</code></em> +is not a mesh pattern, a path with +status <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a> is returned.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mesh-pattern-get-control-point"></a><h3>cairo_mesh_pattern_get_control_point ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_mesh_pattern_get_control_point (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> patch_num</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> point_num</code></em>, + <em class="parameter"><code><span class="type">double</span> *x</code></em>, + <em class="parameter"><code><span class="type">double</span> *y</code></em>);</pre> +<p>Gets the control point <em class="parameter"><code>point_num</code></em> + of patch <em class="parameter"><code>patch_num</code></em> + for a mesh +pattern.</p> +<p><em class="parameter"><code>patch_num</code></em> + can range from 0 to n-1 where n is the number returned by +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-patch-count" title="cairo_mesh_pattern_get_patch_count ()"><code class="function">cairo_mesh_pattern_get_patch_count()</code></a>.</p> +<p>Valid values for <em class="parameter"><code>point_num</code></em> + are from 0 to 3 and identify the +control points as explained in <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-mesh" title="cairo_pattern_create_mesh ()"><code class="function">cairo_pattern_create_mesh()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-mesh-pattern-get-control-point.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>patch_num</p></td> +<td class="parameter_description"><p>the patch number to return data for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>point_num</p></td> +<td class="parameter_description"><p>the control point number to return data for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>return value for the x coordinate of the control point, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>return value for the y coordinate of the control point, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-mesh-pattern-get-control-point.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-INDEX:CAPS"><code class="literal">CAIRO_STATUS_INVALID_INDEX</code></a> +if <em class="parameter"><code>patch_num</code></em> +or <em class="parameter"><code>point_num</code></em> +is not valid for <em class="parameter"><code>pattern</code></em> +. If <em class="parameter"><code>pattern</code></em> +is not a mesh pattern, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a> is +returned.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mesh-pattern-get-corner-color-rgba"></a><h3>cairo_mesh_pattern_get_corner_color_rgba ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_mesh_pattern_get_corner_color_rgba + (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> patch_num</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> corner_num</code></em>, + <em class="parameter"><code><span class="type">double</span> *red</code></em>, + <em class="parameter"><code><span class="type">double</span> *green</code></em>, + <em class="parameter"><code><span class="type">double</span> *blue</code></em>, + <em class="parameter"><code><span class="type">double</span> *alpha</code></em>);</pre> +<p>Gets the color information in corner <em class="parameter"><code>corner_num</code></em> + of patch +<em class="parameter"><code>patch_num</code></em> + for a mesh pattern.</p> +<p><em class="parameter"><code>patch_num</code></em> + can range from 0 to n-1 where n is the number returned by +<a class="link" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-patch-count" title="cairo_mesh_pattern_get_patch_count ()"><code class="function">cairo_mesh_pattern_get_patch_count()</code></a>.</p> +<p>Valid values for <em class="parameter"><code>corner_num</code></em> + are from 0 to 3 and identify the +corners as explained in <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-mesh" title="cairo_pattern_create_mesh ()"><code class="function">cairo_pattern_create_mesh()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-mesh-pattern-get-corner-color-rgba.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>patch_num</p></td> +<td class="parameter_description"><p>the patch number to return data for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>corner_num</p></td> +<td class="parameter_description"><p>the corner number to return data for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>red</p></td> +<td class="parameter_description"><p>return value for red component of color, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>green</p></td> +<td class="parameter_description"><p>return value for green component of color, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>blue</p></td> +<td class="parameter_description"><p>return value for blue component of color, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alpha</p></td> +<td class="parameter_description"><p>return value for alpha component of color, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-mesh-pattern-get-corner-color-rgba.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-INDEX:CAPS"><code class="literal">CAIRO_STATUS_INVALID_INDEX</code></a> +if <em class="parameter"><code>patch_num</code></em> +or <em class="parameter"><code>corner_num</code></em> +is not valid for <em class="parameter"><code>pattern</code></em> +. If +<em class="parameter"><code>pattern</code></em> +is not a mesh pattern, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a> +is returned.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-reference"></a><h3>cairo_pattern_reference ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +cairo_pattern_reference (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Increases the reference count on <em class="parameter"><code>pattern</code></em> + by one. This prevents +<em class="parameter"><code>pattern</code></em> + from being destroyed until a matching call to +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-destroy" title="cairo_pattern_destroy ()"><code class="function">cairo_pattern_destroy()</code></a> is made.</p> +<p>Use <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-reference-count" title="cairo_pattern_get_reference_count ()"><code class="function">cairo_pattern_get_reference_count()</code></a> to get the number of +references to a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-pattern-reference.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-reference.returns"></a><h4>Returns</h4> +<p> the referenced <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-destroy"></a><h3>cairo_pattern_destroy ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pattern_destroy (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Decreases the reference count on <em class="parameter"><code>pattern</code></em> + by one. If the result is +zero, then <em class="parameter"><code>pattern</code></em> + and all associated resources are freed. See +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-reference" title="cairo_pattern_reference ()"><code class="function">cairo_pattern_reference()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-pattern-destroy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-status"></a><h3>cairo_pattern_status ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_pattern_status (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Checks whether an error has previously occurred for this +pattern.</p> +<div class="refsect3"> +<a name="cairo-pattern-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-status.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>, +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MATRIX:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MATRIX</code></a>, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><code class="literal">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</code></a>, +or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-set-extend"></a><h3>cairo_pattern_set_extend ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pattern_set_extend (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-extend-t" title="enum cairo_extend_t"><span class="type">cairo_extend_t</span></a> extend</code></em>);</pre> +<p>Sets the mode to be used for drawing outside the area of a pattern. +See <a class="link" href="cairo-cairo-pattern-t.html#cairo-extend-t" title="enum cairo_extend_t"><span class="type">cairo_extend_t</span></a> for details on the semantics of each extend +strategy.</p> +<p>The default extend mode is <a class="link" href="cairo-cairo-pattern-t.html#CAIRO-EXTEND-NONE:CAPS"><code class="literal">CAIRO_EXTEND_NONE</code></a> for surface patterns +and <a class="link" href="cairo-cairo-pattern-t.html#CAIRO-EXTEND-PAD:CAPS"><code class="literal">CAIRO_EXTEND_PAD</code></a> for gradient patterns.</p> +<div class="refsect3"> +<a name="cairo-pattern-set-extend.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extend</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-extend-t" title="enum cairo_extend_t"><span class="type">cairo_extend_t</span></a> describing how the area outside of the +pattern will be drawn</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-get-extend"></a><h3>cairo_pattern_get_extend ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-extend-t" title="enum cairo_extend_t"><span class="returnvalue">cairo_extend_t</span></a> +cairo_pattern_get_extend (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Gets the current extend mode for a pattern. See <a class="link" href="cairo-cairo-pattern-t.html#cairo-extend-t" title="enum cairo_extend_t"><span class="type">cairo_extend_t</span></a> +for details on the semantics of each extend strategy.</p> +<div class="refsect3"> +<a name="cairo-pattern-get-extend.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-get-extend.returns"></a><h4>Returns</h4> +<p> the current extend strategy used for drawing the +pattern.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-set-filter"></a><h3>cairo_pattern_set_filter ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pattern_set_filter (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-filter-t" title="enum cairo_filter_t"><span class="type">cairo_filter_t</span></a> filter</code></em>);</pre> +<p>Sets the filter to be used for resizing when using this pattern. +See <a class="link" href="cairo-cairo-pattern-t.html#cairo-filter-t" title="enum cairo_filter_t"><span class="type">cairo_filter_t</span></a> for details on each filter.</p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Note that you might want to control filtering even when you do not +have an explicit <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> object, (for example when using +<a class="link" href="cairo-cairo-t.html#cairo-set-source-surface" title="cairo_set_source_surface ()"><code class="function">cairo_set_source_surface()</code></a>). In these cases, it is convenient to +use <a class="link" href="cairo-cairo-t.html#cairo-get-source" title="cairo_get_source ()"><code class="function">cairo_get_source()</code></a> to get access to the pattern that cairo +creates implicitly. For example:</p></li></ul></div> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="function"><a href="cairo-cairo-t.html#cairo-set-source-surface">cairo_set_source_surface</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> image<span class="gtkdoc opt">,</span> x<span class="gtkdoc opt">,</span> y<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-pattern-set-filter">cairo_pattern_set_filter</a></span> <span class="gtkdoc opt">(</span><span class="function"><a href="cairo-cairo-t.html#cairo-get-source">cairo_get_source</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">),</span> CAIRO_FILTER_NEAREST<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<div class="refsect3"> +<a name="cairo-pattern-set-filter.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>filter</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-filter-t" title="enum cairo_filter_t"><span class="type">cairo_filter_t</span></a> describing the filter to use for resizing +the pattern</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-get-filter"></a><h3>cairo_pattern_get_filter ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-filter-t" title="enum cairo_filter_t"><span class="returnvalue">cairo_filter_t</span></a> +cairo_pattern_get_filter (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Gets the current filter for a pattern. See <a class="link" href="cairo-cairo-pattern-t.html#cairo-filter-t" title="enum cairo_filter_t"><span class="type">cairo_filter_t</span></a> +for details on each filter.</p> +<div class="refsect3"> +<a name="cairo-pattern-get-filter.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-get-filter.returns"></a><h4>Returns</h4> +<p> the current filter used for resizing the pattern.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-set-matrix"></a><h3>cairo_pattern_set_matrix ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pattern_set_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);</pre> +<p>Sets the pattern's transformation matrix to <em class="parameter"><code>matrix</code></em> +. This matrix is +a transformation from user space to pattern space.</p> +<p>When a pattern is first created it always has the identity matrix +for its transformation matrix, which means that pattern space is +initially identical to user space.</p> +<p>Important: Please note that the direction of this transformation +matrix is from user space to pattern space. This means that if you +imagine the flow from a pattern to user space (and on to device +space), then coordinates in that flow will be transformed by the +inverse of the pattern matrix.</p> +<p>For example, if you want to make a pattern appear twice as large as +it does by default the correct code to use is:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="function"><a href="cairo-cairo-matrix-t.html#cairo-matrix-init-scale">cairo_matrix_init_scale</a></span> <span class="gtkdoc opt">(&</span>matrix<span class="gtkdoc opt">,</span> <span class="number">0.5</span><span class="gtkdoc opt">,</span> <span class="number">0.5</span><span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-pattern-set-matrix">cairo_pattern_set_matrix</a></span> <span class="gtkdoc opt">(</span>pattern<span class="gtkdoc opt">, &</span>matrix<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p>Meanwhile, using values of 2.0 rather than 0.5 in the code above +would cause the pattern to appear at half of its default size.</p> +<p>Also, please note the discussion of the user-space locking +semantics of <a class="link" href="cairo-cairo-t.html#cairo-set-source" title="cairo_set_source ()"><code class="function">cairo_set_source()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-pattern-set-matrix.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-get-matrix"></a><h3>cairo_pattern_get_matrix ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pattern_get_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);</pre> +<p>Stores the pattern's transformation matrix into <em class="parameter"><code>matrix</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-pattern-get-matrix.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>return value for the matrix</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-get-type"></a><h3>cairo_pattern_get_type ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-type-t" title="enum cairo_pattern_type_t"><span class="returnvalue">cairo_pattern_type_t</span></a> +cairo_pattern_get_type (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Get the pattern's type. See <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-type-t" title="enum cairo_pattern_type_t"><span class="type">cairo_pattern_type_t</span></a> for available +types.</p> +<div class="refsect3"> +<a name="cairo-pattern-get-type.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-get-type.returns"></a><h4>Returns</h4> +<p> The type of <em class="parameter"><code>pattern</code></em> +.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-get-reference-count"></a><h3>cairo_pattern_get_reference_count ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +cairo_pattern_get_reference_count (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>Returns the current reference count of <em class="parameter"><code>pattern</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-pattern-get-reference-count.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-get-reference-count.returns"></a><h4>Returns</h4> +<p> the current reference count of <em class="parameter"><code>pattern</code></em> +. If the +object is a nil object, 0 will be returned.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-set-user-data"></a><h3>cairo_pattern_set_user_data ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_pattern_set_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>, + <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>);</pre> +<p>Attach user data to <em class="parameter"><code>pattern</code></em> +. To remove user data from a surface, +call this function with the key that was used to set it and <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> +for <em class="parameter"><code>data</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-pattern-set-user-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the address of a <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> to attach the user data to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>user_data</p></td> +<td class="parameter_description"><p>the user data to attach to the <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>destroy</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> which will be called when the +<a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> is destroyed or when new user data is attached using the +same key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-set-user-data.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a +slot could not be allocated for the user data.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-get-user-data"></a><h3>cairo_pattern_get_user_data ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +cairo_pattern_get_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>);</pre> +<p>Return user data previously attached to <em class="parameter"><code>pattern</code></em> + using the +specified key. If no user data has been attached with the given +key this function returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +<div class="refsect3"> +<a name="cairo-pattern-get-user-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the address of the <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> the user data was +attached to</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pattern-get-user-data.returns"></a><h4>Returns</h4> +<p> the user data previously attached or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-pattern-t.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="cairo-pattern-t"></a><h3>cairo_pattern_t</h3> +<pre class="programlisting">typedef struct _cairo_pattern cairo_pattern_t; +</pre> +<p>A <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> represents a source when drawing onto a +surface. There are different subtypes of <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a>, +for different types of sources; for example, +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-rgb" title="cairo_pattern_create_rgb ()"><code class="function">cairo_pattern_create_rgb()</code></a> creates a pattern for a solid +opaque color.</p> +<p>Other than various +<code class="function">cairo_pattern_create_<span class="emphasis"><em>type</em></span>()</code> +functions, some of the pattern types can be implicitly created using various +<code class="function">cairo_set_source_<span class="emphasis"><em>type</em></span>()</code> functions; +for example <a class="link" href="cairo-cairo-t.html#cairo-set-source-rgb" title="cairo_set_source_rgb ()"><code class="function">cairo_set_source_rgb()</code></a>.</p> +<p>The type of a pattern can be queried with <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-type" title="cairo_pattern_get_type ()"><code class="function">cairo_pattern_get_type()</code></a>.</p> +<p>Memory management of <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> is done with +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-reference" title="cairo_pattern_reference ()"><code class="function">cairo_pattern_reference()</code></a> and <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-destroy" title="cairo_pattern_destroy ()"><code class="function">cairo_pattern_destroy()</code></a>.</p> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-extend-t"></a><h3>enum cairo_extend_t</h3> +<p><a class="link" href="cairo-cairo-pattern-t.html#cairo-extend-t" title="enum cairo_extend_t"><span class="type">cairo_extend_t</span></a> is used to describe how pattern color/alpha will be +determined for areas "outside" the pattern's natural area, (for +example, outside the surface bounds or outside the gradient +geometry).</p> +<p>Mesh patterns are not affected by the extend mode.</p> +<p>The default extend mode is <a class="link" href="cairo-cairo-pattern-t.html#CAIRO-EXTEND-NONE:CAPS"><code class="literal">CAIRO_EXTEND_NONE</code></a> for surface patterns +and <a class="link" href="cairo-cairo-pattern-t.html#CAIRO-EXTEND-PAD:CAPS"><code class="literal">CAIRO_EXTEND_PAD</code></a> for gradient patterns.</p> +<p>New entries may be added in future versions.</p> +<div class="refsect3"> +<a name="cairo-extend-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-EXTEND-NONE:CAPS"></a>CAIRO_EXTEND_NONE</p></td> +<td class="enum_member_description"> +<p>pixels outside of the source pattern + are fully transparent (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-EXTEND-REPEAT:CAPS"></a>CAIRO_EXTEND_REPEAT</p></td> +<td class="enum_member_description"> +<p>the pattern is tiled by repeating (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-EXTEND-REFLECT:CAPS"></a>CAIRO_EXTEND_REFLECT</p></td> +<td class="enum_member_description"> +<p>the pattern is tiled by reflecting + at the edges (Since 1.0; but only implemented for surface patterns since 1.6)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-EXTEND-PAD:CAPS"></a>CAIRO_EXTEND_PAD</p></td> +<td class="enum_member_description"> +<p>pixels outside of the pattern copy + the closest pixel from the source (Since 1.2; but only + implemented for surface patterns since 1.6)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-filter-t"></a><h3>enum cairo_filter_t</h3> +<p><a class="link" href="cairo-cairo-pattern-t.html#cairo-filter-t" title="enum cairo_filter_t"><span class="type">cairo_filter_t</span></a> is used to indicate what filtering should be +applied when reading pixel values from patterns. See +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-filter" title="cairo_pattern_set_filter ()"><code class="function">cairo_pattern_set_filter()</code></a> for indicating the desired filter to be +used with a particular pattern.</p> +<div class="refsect3"> +<a name="cairo-filter-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FILTER-FAST:CAPS"></a>CAIRO_FILTER_FAST</p></td> +<td class="enum_member_description"> +<p>A high-performance filter, with quality similar + to <a class="link" href="cairo-cairo-pattern-t.html#CAIRO-FILTER-NEAREST:CAPS"><code class="literal">CAIRO_FILTER_NEAREST</code></a> (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FILTER-GOOD:CAPS"></a>CAIRO_FILTER_GOOD</p></td> +<td class="enum_member_description"> +<p>A reasonable-performance filter, with quality + similar to <a class="link" href="cairo-cairo-pattern-t.html#CAIRO-FILTER-BILINEAR:CAPS"><code class="literal">CAIRO_FILTER_BILINEAR</code></a> (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FILTER-BEST:CAPS"></a>CAIRO_FILTER_BEST</p></td> +<td class="enum_member_description"> +<p>The highest-quality available, performance may + not be suitable for interactive use. (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FILTER-NEAREST:CAPS"></a>CAIRO_FILTER_NEAREST</p></td> +<td class="enum_member_description"> +<p>Nearest-neighbor filtering (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FILTER-BILINEAR:CAPS"></a>CAIRO_FILTER_BILINEAR</p></td> +<td class="enum_member_description"> +<p>Linear interpolation in two dimensions (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FILTER-GAUSSIAN:CAPS"></a>CAIRO_FILTER_GAUSSIAN</p></td> +<td class="enum_member_description"> +<p>This filter value is currently + unimplemented, and should not be used in current code. (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pattern-type-t"></a><h3>enum cairo_pattern_type_t</h3> +<p><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-type-t" title="enum cairo_pattern_type_t"><span class="type">cairo_pattern_type_t</span></a> is used to describe the type of a given pattern.</p> +<p>The type of a pattern is determined by the function used to create +it. The <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-rgb" title="cairo_pattern_create_rgb ()"><code class="function">cairo_pattern_create_rgb()</code></a> and <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-rgba" title="cairo_pattern_create_rgba ()"><code class="function">cairo_pattern_create_rgba()</code></a> +functions create SOLID patterns. The remaining +cairo_pattern_create functions map to pattern types in obvious +ways.</p> +<p>The pattern type can be queried with <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-get-type" title="cairo_pattern_get_type ()"><code class="function">cairo_pattern_get_type()</code></a></p> +<p>Most <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> functions can be called with a pattern of any +type, (though trying to change the extend or filter for a solid +pattern will have no effect). A notable exception is +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgb" title="cairo_pattern_add_color_stop_rgb ()"><code class="function">cairo_pattern_add_color_stop_rgb()</code></a> and +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgba" title="cairo_pattern_add_color_stop_rgba ()"><code class="function">cairo_pattern_add_color_stop_rgba()</code></a> which must only be called with +gradient patterns (either LINEAR or RADIAL). Otherwise the pattern +will be shutdown and put into an error state.</p> +<p>New entries may be added in future versions.</p> +<div class="refsect3"> +<a name="cairo-pattern-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PATTERN-TYPE-SOLID:CAPS"></a>CAIRO_PATTERN_TYPE_SOLID</p></td> +<td class="enum_member_description"> +<p>The pattern is a solid (uniform) +color. It may be opaque or translucent, since 1.2.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PATTERN-TYPE-SURFACE:CAPS"></a>CAIRO_PATTERN_TYPE_SURFACE</p></td> +<td class="enum_member_description"> +<p>The pattern is a based on a surface (an image), since 1.2.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PATTERN-TYPE-LINEAR:CAPS"></a>CAIRO_PATTERN_TYPE_LINEAR</p></td> +<td class="enum_member_description"> +<p>The pattern is a linear gradient, since 1.2.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PATTERN-TYPE-RADIAL:CAPS"></a>CAIRO_PATTERN_TYPE_RADIAL</p></td> +<td class="enum_member_description"> +<p>The pattern is a radial gradient, since 1.2.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PATTERN-TYPE-MESH:CAPS"></a>CAIRO_PATTERN_TYPE_MESH</p></td> +<td class="enum_member_description"> +<p>The pattern is a mesh, since 1.12.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-PATTERN-TYPE-RASTER-SOURCE:CAPS"></a>CAIRO_PATTERN_TYPE_RASTER_SOURCE</p></td> +<td class="enum_member_description"> +<p>The pattern is a user pattern providing raster data, since 1.12.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-pattern-t.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>, <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-cairo-scaled-font-t.html b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-scaled-font-t.html new file mode 100644 index 0000000..975d221 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-scaled-font-t.html @@ -0,0 +1,1301 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>cairo_scaled_font_t: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-fonts.html" title="Fonts"> +<link rel="prev" href="cairo-cairo-font-face-t.html" title="cairo_font_face_t"> +<link rel="next" href="cairo-cairo-font-options-t.html" title="cairo_font_options_t"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-cairo-scaled-font-t.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-fonts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-cairo-font-face-t.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-cairo-font-options-t.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-cairo-scaled-font-t"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-cairo-scaled-font-t.top_of_page"></a>cairo_scaled_font_t</span></h2> +<p>cairo_scaled_font_t — Font face at particular size and options</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-cairo-scaled-font-t.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()">cairo_scaled_font_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()">cairo_scaled_font_reference</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" title="cairo_scaled_font_destroy ()">cairo_scaled_font_destroy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-status" title="cairo_scaled_font_status ()">cairo_scaled_font_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-extents" title="cairo_scaled_font_extents ()">cairo_scaled_font_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-extents" title="cairo_scaled_font_text_extents ()">cairo_scaled_font_text_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-glyph-extents" title="cairo_scaled_font_glyph_extents ()">cairo_scaled_font_glyph_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-to-glyphs" title="cairo_scaled_font_text_to_glyphs ()">cairo_scaled_font_text_to_glyphs</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-face" title="cairo_scaled_font_get_font_face ()">cairo_scaled_font_get_font_face</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-options" title="cairo_scaled_font_get_font_options ()">cairo_scaled_font_get_font_options</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-matrix" title="cairo_scaled_font_get_font_matrix ()">cairo_scaled_font_get_font_matrix</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-ctm" title="cairo_scaled_font_get_ctm ()">cairo_scaled_font_get_ctm</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-scale-matrix" title="cairo_scaled_font_get_scale_matrix ()">cairo_scaled_font_get_scale_matrix</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t"><span class="returnvalue">cairo_font_type_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-type" title="cairo_scaled_font_get_type ()">cairo_scaled_font_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-reference-count" title="cairo_scaled_font_get_reference_count ()">cairo_scaled_font_get_reference_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-set-user-data" title="cairo_scaled_font_set_user_data ()">cairo_scaled_font_set_user_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-user-data" title="cairo_scaled_font_get_user_data ()">cairo_scaled_font_get_user_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-scaled-font-t.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t">cairo_scaled_font_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t">cairo_font_extents_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t">cairo_text_extents_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-scaled-font-t.description"></a><h2>Description</h2> +<p><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> represents a realization of a font face at a particular +size and transformation and a certain set of font options.</p> +</div> +<div class="refsect1"> +<a name="cairo-cairo-scaled-font-t.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-scaled-font-create"></a><h3>cairo_scaled_font_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> * +cairo_scaled_font_create (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *font_matrix</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *ctm</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Creates a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> object from a font face and matrices that +describe the size of the font and the environment in which it will +be used.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>font_matrix</p></td> +<td class="parameter_description"><p>font space to user space transformation matrix for the +font. In the simplest case of a N point font, this matrix is +just a scale by N, but it can also be used to shear the font +or stretch it unequally along the two axes. See +<a class="link" href="cairo-text.html#cairo-set-font-matrix" title="cairo_set_font_matrix ()"><code class="function">cairo_set_font_matrix()</code></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctm</p></td> +<td class="parameter_description"><p>user to device transformation matrix with which the font will +be used.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>options to use when getting metrics for the font and +rendering with it.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-scaled-font-create.returns"></a><h4>Returns</h4> +<p> a newly created <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>. Destroy with +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" title="cairo_scaled_font_destroy ()"><code class="function">cairo_scaled_font_destroy()</code></a></p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-reference"></a><h3>cairo_scaled_font_reference ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> * +cairo_scaled_font_reference (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre> +<p>Increases the reference count on <em class="parameter"><code>scaled_font</code></em> + by one. This prevents +<em class="parameter"><code>scaled_font</code></em> + from being destroyed until a matching call to +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" title="cairo_scaled_font_destroy ()"><code class="function">cairo_scaled_font_destroy()</code></a> is made.</p> +<p>Use <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-reference-count" title="cairo_scaled_font_get_reference_count ()"><code class="function">cairo_scaled_font_get_reference_count()</code></a> to get the number of +references to a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-reference.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>, (may be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in which case +this function does nothing)</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-scaled-font-reference.returns"></a><h4>Returns</h4> +<p> the referenced <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-destroy"></a><h3>cairo_scaled_font_destroy ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_scaled_font_destroy (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre> +<p>Decreases the reference count on <em class="parameter"><code>font</code></em> + by one. If the result +is zero, then <em class="parameter"><code>font</code></em> + and all associated resources are freed. +See <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()"><code class="function">cairo_scaled_font_reference()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-destroy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-status"></a><h3>cairo_scaled_font_status ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_scaled_font_status (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre> +<p>Checks whether an error has previously occurred for this +scaled_font.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-scaled-font-status.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or another error such as +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-extents"></a><h3>cairo_scaled_font_extents ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_scaled_font_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> *extents</code></em>);</pre> +<p>Gets the metrics for a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> which to store the retrieved extents.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-text-extents"></a><h3>cairo_scaled_font_text_extents ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_scaled_font_text_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> *extents</code></em>);</pre> +<p>Gets the extents for a string of text. The extents describe a +user-space rectangle that encloses the "inked" portion of the text +drawn at the origin (0,0) (as it would be drawn by <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a> +if the cairo graphics state were set to the same font_face, +font_matrix, ctm, and font_options as <em class="parameter"><code>scaled_font</code></em> +). Additionally, +the x_advance and y_advance values indicate the amount by which the +current point would be advanced by <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a>.</p> +<p>Note that whitespace characters do not directly contribute to the +size of the rectangle (extents.width and extents.height). They do +contribute indirectly by changing the position of non-whitespace +characters. In particular, trailing whitespace characters are +likely to not affect the size of the rectangle, though they will +affect the x_advance and y_advance values.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-text-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8</p></td> +<td class="parameter_description"><p>a NUL-terminated string of text, encoded in UTF-8</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> which to store the retrieved extents.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-glyph-extents"></a><h3>cairo_scaled_font_glyph_extents ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_scaled_font_glyph_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> *glyphs</code></em>, + <em class="parameter"><code><span class="type">int</span> num_glyphs</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> *extents</code></em>);</pre> +<p>Gets the extents for an array of glyphs. The extents describe a +user-space rectangle that encloses the "inked" portion of the +glyphs, (as they would be drawn by <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a> if the cairo +graphics state were set to the same font_face, font_matrix, ctm, +and font_options as <em class="parameter"><code>scaled_font</code></em> +). Additionally, the x_advance and +y_advance values indicate the amount by which the current point +would be advanced by <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a>.</p> +<p>Note that whitespace glyphs do not contribute to the size of the +rectangle (extents.width and extents.height).</p> +<div class="refsect3"> +<a name="cairo-scaled-font-glyph-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyphs</p></td> +<td class="parameter_description"><p>an array of glyph IDs with X and Y offsets.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_glyphs</p></td> +<td class="parameter_description"><p>the number of glyphs in the <em class="parameter"><code>glyphs</code></em> +array</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> which to store the retrieved extents.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-text-to-glyphs"></a><h3>cairo_scaled_font_text_to_glyphs ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_scaled_font_text_to_glyphs (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code><span class="type">double</span> x</code></em>, + <em class="parameter"><code><span class="type">double</span> y</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>, + <em class="parameter"><code><span class="type">int</span> utf8_len</code></em>, + <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> **glyphs</code></em>, + <em class="parameter"><code><span class="type">int</span> *num_glyphs</code></em>, + <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t"><span class="type">cairo_text_cluster_t</span></a> **clusters</code></em>, + <em class="parameter"><code><span class="type">int</span> *num_clusters</code></em>, + <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-text-cluster-flags-t" title="enum cairo_text_cluster_flags_t"><span class="type">cairo_text_cluster_flags_t</span></a> *cluster_flags</code></em>);</pre> +<p>Converts UTF-8 text to an array of glyphs, optionally with cluster +mapping, that can be used to render later using <em class="parameter"><code>scaled_font</code></em> +.</p> +<p>If <em class="parameter"><code>glyphs</code></em> + initially points to a non-<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> value, that array is used +as a glyph buffer, and <em class="parameter"><code>num_glyphs</code></em> + should point to the number of glyph +entries available there. If the provided glyph array is too short for +the conversion, a new glyph array is allocated using <a class="link" href="cairo-text.html#cairo-glyph-allocate" title="cairo_glyph_allocate ()"><code class="function">cairo_glyph_allocate()</code></a> +and placed in <em class="parameter"><code>glyphs</code></em> +. Upon return, <em class="parameter"><code>num_glyphs</code></em> + always contains the +number of generated glyphs. If the value <em class="parameter"><code>glyphs</code></em> + points to has changed +after the call, the user is responsible for freeing the allocated glyph +array using <a class="link" href="cairo-text.html#cairo-glyph-free" title="cairo_glyph_free ()"><code class="function">cairo_glyph_free()</code></a>. This may happen even if the provided +array was large enough.</p> +<p>If <em class="parameter"><code>clusters</code></em> + is not <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, <em class="parameter"><code>num_clusters</code></em> + and <em class="parameter"><code>cluster_flags</code></em> + should not be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, +and cluster mapping will be computed. +The semantics of how cluster array allocation works is similar to the glyph +array. That is, +if <em class="parameter"><code>clusters</code></em> + initially points to a non-<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> value, that array is used +as a cluster buffer, and <em class="parameter"><code>num_clusters</code></em> + should point to the number of cluster +entries available there. If the provided cluster array is too short for +the conversion, a new cluster array is allocated using <a class="link" href="cairo-text.html#cairo-text-cluster-allocate" title="cairo_text_cluster_allocate ()"><code class="function">cairo_text_cluster_allocate()</code></a> +and placed in <em class="parameter"><code>clusters</code></em> +. Upon return, <em class="parameter"><code>num_clusters</code></em> + always contains the +number of generated clusters. If the value <em class="parameter"><code>clusters</code></em> + points at has changed +after the call, the user is responsible for freeing the allocated cluster +array using <a class="link" href="cairo-text.html#cairo-text-cluster-free" title="cairo_text_cluster_free ()"><code class="function">cairo_text_cluster_free()</code></a>. This may happen even if the provided +array was large enough.</p> +<p>In the simplest case, <em class="parameter"><code>glyphs</code></em> + and <em class="parameter"><code>clusters</code></em> + can point to <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> initially +and a suitable array will be allocated. In code:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23</pre></td> + <td class="listing_code"><pre class="programlisting">cairo_status_t status<span class="gtkdoc opt">;</span> + +cairo_glyph_t <span class="gtkdoc opt">*</span>glyphs <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span> +<span class="gtkdoc kwb">int</span> num_glyphs<span class="gtkdoc opt">;</span> +cairo_text_cluster_t <span class="gtkdoc opt">*</span>clusters <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span> +<span class="gtkdoc kwb">int</span> num_clusters<span class="gtkdoc opt">;</span> +cairo_text_cluster_flags_t cluster_flags<span class="gtkdoc opt">;</span> + +status <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-to-glyphs">cairo_scaled_font_text_to_glyphs</a></span> <span class="gtkdoc opt">(</span>scaled_font<span class="gtkdoc opt">,</span> + x<span class="gtkdoc opt">,</span> y<span class="gtkdoc opt">,</span> + utf8<span class="gtkdoc opt">,</span> utf8_len<span class="gtkdoc opt">,</span> + <span class="gtkdoc opt">&</span>glyphs<span class="gtkdoc opt">, &</span>num_glyphs<span class="gtkdoc opt">,</span> + <span class="gtkdoc opt">&</span>clusters<span class="gtkdoc opt">, &</span>num_clusters<span class="gtkdoc opt">, &</span>cluster_flags<span class="gtkdoc opt">);</span> + +<span class="keyword">if</span> <span class="gtkdoc opt">(</span>status <span class="gtkdoc opt">==</span> CAIRO_STATUS_SUCCESS<span class="gtkdoc opt">) {</span> + <span class="function"><a href="cairo-text.html#cairo-show-text-glyphs">cairo_show_text_glyphs</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> + utf8<span class="gtkdoc opt">,</span> utf8_len<span class="gtkdoc opt">,</span> + glyphs<span class="gtkdoc opt">,</span> num_glyphs<span class="gtkdoc opt">,</span> + clusters<span class="gtkdoc opt">,</span> num_clusters<span class="gtkdoc opt">,</span> cluster_flags<span class="gtkdoc opt">);</span> + + <span class="function"><a href="cairo-text.html#cairo-glyph-free">cairo_glyph_free</a></span> <span class="gtkdoc opt">(</span>glyphs<span class="gtkdoc opt">);</span> + <span class="function"><a href="cairo-text.html#cairo-text-cluster-free">cairo_text_cluster_free</a></span> <span class="gtkdoc opt">(</span>clusters<span class="gtkdoc opt">);</span> +<span class="gtkdoc opt">}</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p>If no cluster mapping is needed:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16</pre></td> + <td class="listing_code"><pre class="programlisting">cairo_status_t status<span class="gtkdoc opt">;</span> + +cairo_glyph_t <span class="gtkdoc opt">*</span>glyphs <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span> +<span class="gtkdoc kwb">int</span> num_glyphs<span class="gtkdoc opt">;</span> + +status <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-to-glyphs">cairo_scaled_font_text_to_glyphs</a></span> <span class="gtkdoc opt">(</span>scaled_font<span class="gtkdoc opt">,</span> + x<span class="gtkdoc opt">,</span> y<span class="gtkdoc opt">,</span> + utf8<span class="gtkdoc opt">,</span> utf8_len<span class="gtkdoc opt">,</span> + <span class="gtkdoc opt">&</span>glyphs<span class="gtkdoc opt">, &</span>num_glyphs<span class="gtkdoc opt">,</span> + NULL<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">,</span> + NULL<span class="gtkdoc opt">);</span> + +<span class="keyword">if</span> <span class="gtkdoc opt">(</span>status <span class="gtkdoc opt">==</span> CAIRO_STATUS_SUCCESS<span class="gtkdoc opt">) {</span> + <span class="function"><a href="cairo-text.html#cairo-show-glyphs">cairo_show_glyphs</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> glyphs<span class="gtkdoc opt">,</span> num_glyphs<span class="gtkdoc opt">);</span> + <span class="function"><a href="cairo-text.html#cairo-glyph-free">cairo_glyph_free</a></span> <span class="gtkdoc opt">(</span>glyphs<span class="gtkdoc opt">);</span> +<span class="gtkdoc opt">}</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p>If stack-based glyph and cluster arrays are to be used for small +arrays:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27</pre></td> + <td class="listing_code"><pre class="programlisting">cairo_status_t status<span class="gtkdoc opt">;</span> + +cairo_glyph_t stack_glyphs<span class="gtkdoc opt">[</span><span class="number">40</span><span class="gtkdoc opt">];</span> +cairo_glyph_t <span class="gtkdoc opt">*</span>glyphs <span class="gtkdoc opt">=</span> stack_glyphs<span class="gtkdoc opt">;</span> +<span class="gtkdoc kwb">int</span> num_glyphs <span class="gtkdoc opt">=</span> <span class="keyword">sizeof</span> <span class="gtkdoc opt">(</span>stack_glyphs<span class="gtkdoc opt">) /</span> <span class="keyword">sizeof</span> <span class="gtkdoc opt">(</span>stack_glyphs<span class="gtkdoc opt">[</span><span class="number">0</span><span class="gtkdoc opt">]);</span> +cairo_text_cluster_t stack_clusters<span class="gtkdoc opt">[</span><span class="number">40</span><span class="gtkdoc opt">];</span> +cairo_text_cluster_t <span class="gtkdoc opt">*</span>clusters <span class="gtkdoc opt">=</span> stack_clusters<span class="gtkdoc opt">;</span> +<span class="gtkdoc kwb">int</span> num_clusters <span class="gtkdoc opt">=</span> <span class="keyword">sizeof</span> <span class="gtkdoc opt">(</span>stack_clusters<span class="gtkdoc opt">) /</span> <span class="keyword">sizeof</span> <span class="gtkdoc opt">(</span>stack_clusters<span class="gtkdoc opt">[</span><span class="number">0</span><span class="gtkdoc opt">]);</span> +cairo_text_cluster_flags_t cluster_flags<span class="gtkdoc opt">;</span> + +status <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-to-glyphs">cairo_scaled_font_text_to_glyphs</a></span> <span class="gtkdoc opt">(</span>scaled_font<span class="gtkdoc opt">,</span> + x<span class="gtkdoc opt">,</span> y<span class="gtkdoc opt">,</span> + utf8<span class="gtkdoc opt">,</span> utf8_len<span class="gtkdoc opt">,</span> + <span class="gtkdoc opt">&</span>glyphs<span class="gtkdoc opt">, &</span>num_glyphs<span class="gtkdoc opt">,</span> + <span class="gtkdoc opt">&</span>clusters<span class="gtkdoc opt">, &</span>num_clusters<span class="gtkdoc opt">, &</span>cluster_flags<span class="gtkdoc opt">);</span> + +<span class="keyword">if</span> <span class="gtkdoc opt">(</span>status <span class="gtkdoc opt">==</span> CAIRO_STATUS_SUCCESS<span class="gtkdoc opt">) {</span> + <span class="function"><a href="cairo-text.html#cairo-show-text-glyphs">cairo_show_text_glyphs</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> + utf8<span class="gtkdoc opt">,</span> utf8_len<span class="gtkdoc opt">,</span> + glyphs<span class="gtkdoc opt">,</span> num_glyphs<span class="gtkdoc opt">,</span> + clusters<span class="gtkdoc opt">,</span> num_clusters<span class="gtkdoc opt">,</span> cluster_flags<span class="gtkdoc opt">);</span> + + <span class="keyword">if</span> <span class="gtkdoc opt">(</span>glyphs <span class="gtkdoc opt">!=</span> stack_glyphs<span class="gtkdoc opt">)</span> + <span class="function"><a href="cairo-text.html#cairo-glyph-free">cairo_glyph_free</a></span> <span class="gtkdoc opt">(</span>glyphs<span class="gtkdoc opt">);</span> + <span class="keyword">if</span> <span class="gtkdoc opt">(</span>clusters <span class="gtkdoc opt">!=</span> stack_clusters<span class="gtkdoc opt">)</span> + <span class="function"><a href="cairo-text.html#cairo-text-cluster-free">cairo_text_cluster_free</a></span> <span class="gtkdoc opt">(</span>clusters<span class="gtkdoc opt">);</span> +<span class="gtkdoc opt">}</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p>For details of how <em class="parameter"><code>clusters</code></em> +, <em class="parameter"><code>num_clusters</code></em> +, and <em class="parameter"><code>cluster_flags</code></em> + map input +UTF-8 text to the output glyphs see <a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a>.</p> +<p>The output values can be readily passed to <a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a> +<a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a>, or related functions, assuming that the exact +same <em class="parameter"><code>scaled_font</code></em> + is used for the operation.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-text-to-glyphs.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>X position to place first glyph</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>Y position to place first glyph</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8</p></td> +<td class="parameter_description"><p>a string of text encoded in UTF-8</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8_len</p></td> +<td class="parameter_description"><p>length of <em class="parameter"><code>utf8</code></em> +in bytes, or -1 if it is NUL-terminated</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyphs</p></td> +<td class="parameter_description"><p>pointer to array of glyphs to fill</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_glyphs</p></td> +<td class="parameter_description"><p>pointer to number of glyphs</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>clusters</p></td> +<td class="parameter_description"><p>pointer to array of cluster mapping information to fill, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_clusters</p></td> +<td class="parameter_description"><p>pointer to number of clusters, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cluster_flags</p></td> +<td class="parameter_description"><p>pointer to location to store cluster flags corresponding to the +output <em class="parameter"><code>clusters</code></em> +, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-scaled-font-text-to-glyphs.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> upon success, or an error status +if the input values are wrong or if conversion failed. If the input +values are correct but the conversion failed, the error status is also +set on <em class="parameter"><code>scaled_font</code></em> +.</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-get-font-face"></a><h3>cairo_scaled_font_get_font_face ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +cairo_scaled_font_get_font_face (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre> +<p>Gets the font face that this scaled font uses. This might be the +font face passed to <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>, but this does not +hold true for all possible cases.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-get-font-face.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-scaled-font-get-font-face.returns"></a><h4>Returns</h4> +<p> The <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> with which <em class="parameter"><code>scaled_font</code></em> +was +created. This object is owned by cairo. To keep a reference to it, +you must call <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()"><code class="function">cairo_scaled_font_reference()</code></a>.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-get-font-options"></a><h3>cairo_scaled_font_get_font_options ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_scaled_font_get_font_options (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Stores the font options with which <em class="parameter"><code>scaled_font</code></em> + was created into +<em class="parameter"><code>options</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-get-font-options.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>return value for the font options</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-get-font-matrix"></a><h3>cairo_scaled_font_get_font_matrix ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_scaled_font_get_font_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *font_matrix</code></em>);</pre> +<p>Stores the font matrix with which <em class="parameter"><code>scaled_font</code></em> + was created into +<em class="parameter"><code>matrix</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-get-font-matrix.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>font_matrix</p></td> +<td class="parameter_description"><p>return value for the matrix</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-get-ctm"></a><h3>cairo_scaled_font_get_ctm ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_scaled_font_get_ctm (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *ctm</code></em>);</pre> +<p>Stores the CTM with which <em class="parameter"><code>scaled_font</code></em> + was created into <em class="parameter"><code>ctm</code></em> +. +Note that the translation offsets (x0, y0) of the CTM are ignored +by <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>. So, the matrix this +function returns always has 0,0 as x0,y0.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-get-ctm.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>ctm</p></td> +<td class="parameter_description"><p>return value for the CTM</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-get-scale-matrix"></a><h3>cairo_scaled_font_get_scale_matrix ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_scaled_font_get_scale_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *scale_matrix</code></em>);</pre> +<p>Stores the scale matrix of <em class="parameter"><code>scaled_font</code></em> + into <em class="parameter"><code>matrix</code></em> +. +The scale matrix is product of the font matrix and the ctm +associated with the scaled font, and hence is the matrix mapping from +font space to device space.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-get-scale-matrix.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>scale_matrix</p></td> +<td class="parameter_description"><p>return value for the matrix</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-get-type"></a><h3>cairo_scaled_font_get_type ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t"><span class="returnvalue">cairo_font_type_t</span></a> +cairo_scaled_font_get_type (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre> +<p>This function returns the type of the backend used to create +a scaled font. See <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t"><span class="type">cairo_font_type_t</span></a> for available types. +However, this function never returns <a class="link" href="cairo-cairo-font-face-t.html#CAIRO-FONT-TYPE-TOY:CAPS"><code class="literal">CAIRO_FONT_TYPE_TOY</code></a>.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-get-type.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-scaled-font-get-type.returns"></a><h4>Returns</h4> +<p> The type of <em class="parameter"><code>scaled_font</code></em> +.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-get-reference-count"></a><h3>cairo_scaled_font_get_reference_count ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +cairo_scaled_font_get_reference_count (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre> +<p>Returns the current reference count of <em class="parameter"><code>scaled_font</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-get-reference-count.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-scaled-font-get-reference-count.returns"></a><h4>Returns</h4> +<p> the current reference count of <em class="parameter"><code>scaled_font</code></em> +. If the +object is a nil object, 0 will be returned.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-set-user-data"></a><h3>cairo_scaled_font_set_user_data ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_scaled_font_set_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>, + <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>);</pre> +<p>Attach user data to <em class="parameter"><code>scaled_font</code></em> +. To remove user data from a surface, +call this function with the key that was used to set it and <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> +for <em class="parameter"><code>data</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-set-user-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the address of a <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> to attach the user data to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>user_data</p></td> +<td class="parameter_description"><p>the user data to attach to the <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>destroy</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> which will be called when the +<a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> is destroyed or when new user data is attached using the +same key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-scaled-font-set-user-data.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a +slot could not be allocated for the user data.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-scaled-font-get-user-data"></a><h3>cairo_scaled_font_get_user_data ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +cairo_scaled_font_get_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>);</pre> +<p>Return user data previously attached to <em class="parameter"><code>scaled_font</code></em> + using the +specified key. If no user data has been attached with the given +key this function returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +<div class="refsect3"> +<a name="cairo-scaled-font-get-user-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the address of the <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> the user data was +attached to</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-scaled-font-get-user-data.returns"></a><h4>Returns</h4> +<p> the user data previously attached or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-scaled-font-t.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="cairo-scaled-font-t"></a><h3>cairo_scaled_font_t</h3> +<pre class="programlisting">typedef struct _cairo_scaled_font cairo_scaled_font_t; +</pre> +<p>A <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> is a font scaled to a particular size and device +resolution. A <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> is most useful for low-level font +usage where a library or application wants to cache a reference +to a scaled font to speed up the computation of metrics.</p> +<p>There are various types of scaled fonts, depending on the +<em class="firstterm">font backend</em> they use. The type of a +scaled font can be queried using <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-type" title="cairo_scaled_font_get_type ()"><code class="function">cairo_scaled_font_get_type()</code></a>.</p> +<p>Memory management of <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> is done with +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()"><code class="function">cairo_scaled_font_reference()</code></a> and <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" title="cairo_scaled_font_destroy ()"><code class="function">cairo_scaled_font_destroy()</code></a>.</p> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-extents-t"></a><h3>cairo_font_extents_t</h3> +<pre class="programlisting">typedef struct { + double ascent; + double descent; + double height; + double max_x_advance; + double max_y_advance; +} cairo_font_extents_t; +</pre> +<p>The <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> structure stores metric information for +a font. Values are given in the current user-space coordinate +system.</p> +<p>Because font metrics are in user-space coordinates, they are +mostly, but not entirely, independent of the current transformation +matrix. If you call <code class="literal">cairo_scale(cr, 2.0, 2.0)</code>, +text will be drawn twice as big, but the reported text extents will +not be doubled. They will change slightly due to hinting (so you +can't assume that metrics are independent of the transformation +matrix), but otherwise will remain unchanged.</p> +<div class="refsect3"> +<a name="cairo-font-extents-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="struct_members_name"> +<col class="struct_members_description"> +<col width="200px" class="struct_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.ascent"></a>ascent</code></em>;</p></td> +<td class="struct_member_description"><p>the distance that the font extends above the baseline. +Note that this is not always exactly equal to the maximum +of the extents of all the glyphs in the font, but rather +is picked to express the font designer's intent as to +how the font should align with elements above it.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.descent"></a>descent</code></em>;</p></td> +<td class="struct_member_description"><p>the distance that the font extends below the baseline. +This value is positive for typical fonts that include +portions below the baseline. Note that this is not always +exactly equal to the maximum of the extents of all the +glyphs in the font, but rather is picked to express the +font designer's intent as to how the font should +align with elements below it.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.height"></a>height</code></em>;</p></td> +<td class="struct_member_description"><p>the recommended vertical distance between baselines when +setting consecutive lines of text with the font. This +is greater than <em class="parameter"><code>ascent</code></em> ++<em class="parameter"><code>descent</code></em> +by a +quantity known as the <em class="firstterm">line spacing</em> +or <em class="firstterm">external leading</em>. When space +is at a premium, most fonts can be set with only +a distance of <em class="parameter"><code>ascent</code></em> ++<em class="parameter"><code>descent</code></em> +between lines.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.max-x-advance"></a>max_x_advance</code></em>;</p></td> +<td class="struct_member_description"><p>the maximum distance in the X direction that +the origin is advanced for any glyph in the font.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.max-y-advance"></a>max_y_advance</code></em>;</p></td> +<td class="struct_member_description"><p>the maximum distance in the Y direction that +the origin is advanced for any glyph in the font. +This will be zero for normal fonts used for horizontal +writing. (The scripts of East Asia are sometimes written +vertically.)</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-text-extents-t"></a><h3>cairo_text_extents_t</h3> +<pre class="programlisting">typedef struct { + double x_bearing; + double y_bearing; + double width; + double height; + double x_advance; + double y_advance; +} cairo_text_extents_t; +</pre> +<p>The <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> structure stores the extents of a single +glyph or a string of glyphs in user-space coordinates. Because text +extents are in user-space coordinates, they are mostly, but not +entirely, independent of the current transformation matrix. If you call +<code class="literal">cairo_scale(cr, 2.0, 2.0)</code>, text will +be drawn twice as big, but the reported text extents will not be +doubled. They will change slightly due to hinting (so you can't +assume that metrics are independent of the transformation matrix), +but otherwise will remain unchanged.</p> +<div class="refsect3"> +<a name="cairo-text-extents-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="struct_members_name"> +<col class="struct_members_description"> +<col width="200px" class="struct_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.x-bearing"></a>x_bearing</code></em>;</p></td> +<td class="struct_member_description"><p>the horizontal distance from the origin to the +leftmost part of the glyphs as drawn. Positive if the +glyphs lie entirely to the right of the origin.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.y-bearing"></a>y_bearing</code></em>;</p></td> +<td class="struct_member_description"><p>the vertical distance from the origin to the +topmost part of the glyphs as drawn. Positive only if the +glyphs lie completely below the origin; will usually be +negative.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.width"></a>width</code></em>;</p></td> +<td class="struct_member_description"><p>width of the glyphs as drawn</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.height"></a>height</code></em>;</p></td> +<td class="struct_member_description"><p>height of the glyphs as drawn</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.x-advance"></a>x_advance</code></em>;</p></td> +<td class="struct_member_description"><p>distance to advance in the X direction +after drawing these glyphs</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.y-advance"></a>y_advance</code></em>;</p></td> +<td class="struct_member_description"><p>distance to advance in the Y direction +after drawing these glyphs. Will typically be zero except +for vertical text layout as found in East-Asian languages.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-scaled-font-t.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>, <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>, <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-cairo-surface-t.html b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-surface-t.html new file mode 100644 index 0000000..edfd7c3 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-surface-t.html @@ -0,0 +1,2130 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>cairo_surface_t: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-surfaces.html" title="Surfaces"> +<link rel="prev" href="cairo-cairo-device-t.html" title="cairo_device_t"> +<link rel="next" href="cairo-Image-Surfaces.html" title="Image Surfaces"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-cairo-surface-t.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-surfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-cairo-device-t.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Image-Surfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-cairo-surface-t"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-cairo-surface-t.top_of_page"></a>cairo_surface_t</span></h2> +<p>cairo_surface_t — Base class for surfaces</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-cairo-surface-t.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar" title="cairo_surface_create_similar ()">cairo_surface_create_similar</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar-image" title="cairo_surface_create_similar_image ()">cairo_surface_create_similar_image</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-for-rectangle" title="cairo_surface_create_for_rectangle ()">cairo_surface_create_for_rectangle</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-reference" title="cairo_surface_reference ()">cairo_surface_reference</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()">cairo_surface_destroy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()">cairo_surface_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish" title="cairo_surface_finish ()">cairo_surface_finish</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()">cairo_surface_flush</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="returnvalue">cairo_device_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-device" title="cairo_surface_get_device ()">cairo_surface_get_device</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-font-options" title="cairo_surface_get_font_options ()">cairo_surface_get_font_options</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="returnvalue">cairo_content_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-content" title="cairo_surface_get_content ()">cairo_surface_get_content</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty" title="cairo_surface_mark_dirty ()">cairo_surface_mark_dirty</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty-rectangle" title="cairo_surface_mark_dirty_rectangle ()">cairo_surface_mark_dirty_rectangle</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-device-offset" title="cairo_surface_set_device_offset ()">cairo_surface_set_device_offset</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-device-offset" title="cairo_surface_get_device_offset ()">cairo_surface_get_device_offset</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-device-scale" title="cairo_surface_get_device_scale ()">cairo_surface_get_device_scale</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-device-scale" title="cairo_surface_set_device_scale ()">cairo_surface_set_device_scale</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-fallback-resolution" title="cairo_surface_set_fallback_resolution ()">cairo_surface_set_fallback_resolution</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-fallback-resolution" title="cairo_surface_get_fallback_resolution ()">cairo_surface_get_fallback_resolution</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t" title="enum cairo_surface_type_t"><span class="returnvalue">cairo_surface_type_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-type" title="cairo_surface_get_type ()">cairo_surface_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-reference-count" title="cairo_surface_get_reference_count ()">cairo_surface_get_reference_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-user-data" title="cairo_surface_set_user_data ()">cairo_surface_set_user_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-user-data" title="cairo_surface_get_user_data ()">cairo_surface_get_user_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-copy-page" title="cairo_surface_copy_page ()">cairo_surface_copy_page</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-show-page" title="cairo_surface_show_page ()">cairo_surface_show_page</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-has-show-text-glyphs" title="cairo_surface_has_show_text_glyphs ()">cairo_surface_has_show_text_glyphs</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-mime-data" title="cairo_surface_set_mime_data ()">cairo_surface_set_mime_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-mime-data" title="cairo_surface_get_mime_data ()">cairo_surface_get_mime_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-supports-mime-type" title="cairo_surface_supports_mime_type ()">cairo_surface_supports_mime_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-map-to-image" title="cairo_surface_map_to_image ()">cairo_surface_map_to_image</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-unmap-image" title="cairo_surface_unmap_image ()">cairo_surface_unmap_image</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-surface-t.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-HAS-MIME-SURFACE:CAPS" title="CAIRO_HAS_MIME_SURFACE">CAIRO_HAS_MIME_SURFACE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX">CAIRO_MIME_TYPE_CCITT_FAX</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS:CAPS" title="CAIRO_MIME_TYPE_EPS">CAIRO_MIME_TYPE_EPS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS-PARAMS:CAPS" title="CAIRO_MIME_TYPE_EPS_PARAMS">CAIRO_MIME_TYPE_EPS_PARAMS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2:CAPS" title="CAIRO_MIME_TYPE_JBIG2">CAIRO_MIME_TYPE_JBIG2</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL">CAIRO_MIME_TYPE_JBIG2_GLOBAL</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JP2:CAPS" title="CAIRO_MIME_TYPE_JP2">CAIRO_MIME_TYPE_JP2</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JPEG:CAPS" title="CAIRO_MIME_TYPE_JPEG">CAIRO_MIME_TYPE_JPEG</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-PNG:CAPS" title="CAIRO_MIME_TYPE_PNG">CAIRO_MIME_TYPE_PNG</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-URI:CAPS" title="CAIRO_MIME_TYPE_URI">CAIRO_MIME_TYPE_URI</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" title="CAIRO_MIME_TYPE_UNIQUE_ID">CAIRO_MIME_TYPE_UNIQUE_ID</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t">cairo_surface_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t">cairo_content_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t" title="enum cairo_surface_type_t">cairo_surface_type_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-surface-t.description"></a><h2>Description</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> is the abstract type representing all different drawing +targets that cairo can render to. The actual drawings are +performed using a cairo <em class="firstterm">context</em>.</p> +<p>A cairo surface is created by using <em class="firstterm">backend</em>-specific +constructors, typically of the form +<code class="function">cairo_<span class="emphasis"><em>backend</em></span>_surface_create()</code>.</p> +<p>Most surface types allow accessing the surface without using Cairo +functions. If you do this, keep in mind that it is mandatory that you call +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()"><code class="function">cairo_surface_flush()</code></a> before reading from or writing to the surface and that +you must use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty" title="cairo_surface_mark_dirty ()"><code class="function">cairo_surface_mark_dirty()</code></a> after modifying it.</p> +<div class="example"> +<a name="id-1.5.3.5.5"></a><p class="title"><b>Example 1. Directly modifying an image surface</b></p> +<div class="example-contents"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">void</span> +<span class="function">modify_image_surface</span> <span class="gtkdoc opt">(</span>cairo_surface_t <span class="gtkdoc opt">*</span>surface<span class="gtkdoc opt">)</span> +<span class="gtkdoc opt">{</span> + <span class="gtkdoc kwb">unsigned char</span> <span class="gtkdoc opt">*</span>data<span class="gtkdoc opt">;</span> + <span class="gtkdoc kwb">int</span> width<span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">,</span> stride<span class="gtkdoc opt">;</span> + + <span class="gtkdoc slc">// flush to ensure all writing to the image was done</span> + <span class="function"><a href="cairo-cairo-surface-t.html#cairo-surface-flush">cairo_surface_flush</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span> + + <span class="gtkdoc slc">// modify the image</span> + data <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-Image-Surfaces.html#cairo-image-surface-get-data">cairo_image_surface_get_data</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span> + width <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-Image-Surfaces.html#cairo-image-surface-get-width">cairo_image_surface_get_width</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span> + height <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-Image-Surfaces.html#cairo-image-surface-get-height">cairo_image_surface_get_height</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span> + stride <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-Image-Surfaces.html#cairo-image-surface-get-stride">cairo_image_surface_get_stride</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span> + <span class="function">modify_image_data</span> <span class="gtkdoc opt">(</span>data<span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">,</span> stride<span class="gtkdoc opt">);</span> + + <span class="gtkdoc slc">// mark the image dirty so Cairo clears its caches.</span> + <span class="function"><a href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty">cairo_surface_mark_dirty</a></span> <span class="gtkdoc opt">(</span>surface<span class="gtkdoc opt">);</span> +<span class="gtkdoc opt">}</span></pre></td> + </tr> + </tbody> + </table> +</div> + +</div> +<br class="example-break"><p>Note that for other surface types it might be necessary to acquire the +surface's device first. See <a class="link" href="cairo-cairo-device-t.html#cairo-device-acquire" title="cairo_device_acquire ()"><code class="function">cairo_device_acquire()</code></a> for a discussion of +devices.</p> +</div> +<div class="refsect1"> +<a name="cairo-cairo-surface-t.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-surface-create-similar"></a><h3>cairo_surface_create_similar ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_surface_create_similar (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *other</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a> content</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Create a new surface that is as compatible as possible with an +existing surface. For example the new surface will have the same +device scale, fallback resolution and font options as +<em class="parameter"><code>other</code></em> +. Generally, the new surface will also use the same backend +as <em class="parameter"><code>other</code></em> +, unless that is not possible for some reason. The type of +the returned surface may be examined with +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-type" title="cairo_surface_get_type ()"><code class="function">cairo_surface_get_type()</code></a>.</p> +<p>Initially the surface contents are all 0 (transparent if contents +have transparency, black otherwise.)</p> +<p>Use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar-image" title="cairo_surface_create_similar_image ()"><code class="function">cairo_surface_create_similar_image()</code></a> if you need an image surface +which can be painted quickly to the target surface.</p> +<div class="refsect3"> +<a name="cairo-surface-create-similar.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>other</p></td> +<td class="parameter_description"><p>an existing surface used to select the backend of the new surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>content</p></td> +<td class="parameter_description"><p>the content for the new surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>width of the new surface, (in device-space units)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>height of the new surface (in device-space units)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-create-similar.returns"></a><h4>Returns</h4> +<p> a pointer to the newly allocated surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if <em class="parameter"><code>other</code></em> +is already in an error state +or any other error occurs.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-create-similar-image"></a><h3>cairo_surface_create_similar_image ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_surface_create_similar_image (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *other</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> format</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Create a new image surface that is as compatible as possible for uploading +to and the use in conjunction with an existing surface. However, this surface +can still be used like any normal image surface. Unlike +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar" title="cairo_surface_create_similar ()"><code class="function">cairo_surface_create_similar()</code></a> the new image surface won't inherit +the device scale from <em class="parameter"><code>other</code></em> +.</p> +<p>Initially the surface contents are all 0 (transparent if contents +have transparency, black otherwise.)</p> +<p>Use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar" title="cairo_surface_create_similar ()"><code class="function">cairo_surface_create_similar()</code></a> if you don't need an image surface.</p> +<div class="refsect3"> +<a name="cairo-surface-create-similar-image.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>other</p></td> +<td class="parameter_description"><p>an existing surface used to select the preference of the new surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>format</p></td> +<td class="parameter_description"><p>the format for the new surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>width of the new surface, (in pixels)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>height of the new surface (in pixels)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-create-similar-image.returns"></a><h4>Returns</h4> +<p> a pointer to the newly allocated image surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if <em class="parameter"><code>other</code></em> +is already in an error state +or any other error occurs.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-create-for-rectangle"></a><h3>cairo_surface_create_for_rectangle ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_surface_create_for_rectangle (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *target</code></em>, + <em class="parameter"><code><span class="type">double</span> x</code></em>, + <em class="parameter"><code><span class="type">double</span> y</code></em>, + <em class="parameter"><code><span class="type">double</span> width</code></em>, + <em class="parameter"><code><span class="type">double</span> height</code></em>);</pre> +<p>Create a new surface that is a rectangle within the target surface. +All operations drawn to this surface are then clipped and translated +onto the target surface. Nothing drawn via this sub-surface outside of +its bounds is drawn onto the target surface, making this a useful method +for passing constrained child surfaces to library routines that draw +directly onto the parent surface, i.e. with no further backend allocations, +double buffering or copies.</p> +<div class="note"><p>The semantics of subsurfaces have not been finalized yet +unless the rectangle is in full device units, is contained within +the extents of the target surface, and the target or subsurface's +device transforms are not changed.</p></div> +<div class="refsect3"> +<a name="cairo-surface-create-for-rectangle.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>target</p></td> +<td class="parameter_description"><p>an existing surface for which the sub-surface will point to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>the x-origin of the sub-surface from the top-left of the target surface (in device-space units)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>the y-origin of the sub-surface from the top-left of the target surface (in device-space units)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>width of the sub-surface (in device-space units)</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>height of the sub-surface (in device-space units)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-create-for-rectangle.returns"></a><h4>Returns</h4> +<p> a pointer to the newly allocated surface. The caller +owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> when done +with it.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if <em class="parameter"><code>other</code></em> +is already in an error state +or any other error occurs.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-reference"></a><h3>cairo_surface_reference ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_surface_reference (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Increases the reference count on <em class="parameter"><code>surface</code></em> + by one. This prevents +<em class="parameter"><code>surface</code></em> + from being destroyed until a matching call to +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> is made.</p> +<p>Use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-reference-count" title="cairo_surface_get_reference_count ()"><code class="function">cairo_surface_get_reference_count()</code></a> to get the number of +references to a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-surface-reference.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-reference.returns"></a><h4>Returns</h4> +<p> the referenced <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-destroy"></a><h3>cairo_surface_destroy ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_destroy (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Decreases the reference count on <em class="parameter"><code>surface</code></em> + by one. If the result is +zero, then <em class="parameter"><code>surface</code></em> + and all associated resources are freed. See +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-reference" title="cairo_surface_reference ()"><code class="function">cairo_surface_reference()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-surface-destroy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-status"></a><h3>cairo_surface_status ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_surface_status (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Checks whether an error has previously occurred for this +surface.</p> +<div class="refsect3"> +<a name="cairo-surface-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-status.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NULL-POINTER:CAPS"><code class="literal">CAIRO_STATUS_NULL_POINTER</code></a>, +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-READ-ERROR:CAPS"><code class="literal">CAIRO_STATUS_READ_ERROR</code></a>, +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-CONTENT:CAPS"><code class="literal">CAIRO_STATUS_INVALID_CONTENT</code></a>, <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-FORMAT:CAPS"><code class="literal">CAIRO_STATUS_INVALID_FORMAT</code></a>, or +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-VISUAL:CAPS"><code class="literal">CAIRO_STATUS_INVALID_VISUAL</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-finish"></a><h3>cairo_surface_finish ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_finish (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>This function finishes the surface and drops all references to +external resources. For example, for the Xlib backend it means +that cairo will no longer access the drawable, which can be freed. +After calling <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish" title="cairo_surface_finish ()"><code class="function">cairo_surface_finish()</code></a> the only valid operations on a +surface are getting and setting user, referencing and +destroying, and flushing and finishing it. +Further drawing to the surface will not affect the +surface but will instead trigger a <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SURFACE-FINISHED:CAPS"><code class="literal">CAIRO_STATUS_SURFACE_FINISHED</code></a> +error.</p> +<p>When the last call to <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> decreases the +reference count to zero, cairo will call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish" title="cairo_surface_finish ()"><code class="function">cairo_surface_finish()</code></a> if +it hasn't been called already, before freeing the resources +associated with the surface.</p> +<div class="refsect3"> +<a name="cairo-surface-finish.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>the <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> to finish</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-flush"></a><h3>cairo_surface_flush ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_flush (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Do any pending drawing for the surface and also restore any temporary +modifications cairo has made to the surface's state. This function +must be called before switching from drawing on the surface with +cairo to drawing on it directly with native APIs, or accessing its +memory outside of Cairo. If the surface doesn't support direct +access, then this function does nothing.</p> +<div class="refsect3"> +<a name="cairo-surface-flush.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-get-device"></a><h3>cairo_surface_get_device ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="returnvalue">cairo_device_t</span></a> * +cairo_surface_get_device (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>This function returns the device for a <em class="parameter"><code>surface</code></em> +. +See <a class="link" href="cairo-cairo-device-t.html#cairo-device-t" title="cairo_device_t"><span class="type">cairo_device_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-surface-get-device.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-get-device.returns"></a><h4>Returns</h4> +<p> The device for <em class="parameter"><code>surface</code></em> +or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the surface does +not have an associated device.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-get-font-options"></a><h3>cairo_surface_get_font_options ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_get_font_options (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Retrieves the default font rendering options for the surface. +This allows display surfaces to report the correct subpixel order +for rendering on them, print surfaces to disable hinting of +metrics and so forth. The result can then be used with +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-surface-get-font-options.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> object into which to store +the retrieved options. All existing values are overwritten</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-get-content"></a><h3>cairo_surface_get_content ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="returnvalue">cairo_content_t</span></a> +cairo_surface_get_content (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>This function returns the content type of <em class="parameter"><code>surface</code></em> + which indicates +whether the surface contains color and/or alpha information. See +<a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-surface-get-content.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-get-content.returns"></a><h4>Returns</h4> +<p> The content type of <em class="parameter"><code>surface</code></em> +.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-mark-dirty"></a><h3>cairo_surface_mark_dirty ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_mark_dirty (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Tells cairo that drawing has been done to surface using means other +than cairo, and that cairo should reread any cached areas. Note +that you must call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush" title="cairo_surface_flush ()"><code class="function">cairo_surface_flush()</code></a> before doing such drawing.</p> +<div class="refsect3"> +<a name="cairo-surface-mark-dirty.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-mark-dirty-rectangle"></a><h3>cairo_surface_mark_dirty_rectangle ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_mark_dirty_rectangle (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">int</span> x</code></em>, + <em class="parameter"><code><span class="type">int</span> y</code></em>, + <em class="parameter"><code><span class="type">int</span> width</code></em>, + <em class="parameter"><code><span class="type">int</span> height</code></em>);</pre> +<p>Like <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty" title="cairo_surface_mark_dirty ()"><code class="function">cairo_surface_mark_dirty()</code></a>, but drawing has been done only to +the specified rectangle, so that cairo can retain cached contents +for other parts of the surface.</p> +<p>Any cached clip set on the surface will be reset by this function, +to make sure that future cairo calls have the clip set that they +expect.</p> +<div class="refsect3"> +<a name="cairo-surface-mark-dirty-rectangle.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>X coordinate of dirty rectangle</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>Y coordinate of dirty rectangle</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>width of dirty rectangle</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>height</p></td> +<td class="parameter_description"><p>height of dirty rectangle</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-set-device-offset"></a><h3>cairo_surface_set_device_offset ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_set_device_offset (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">double</span> x_offset</code></em>, + <em class="parameter"><code><span class="type">double</span> y_offset</code></em>);</pre> +<p>Sets an offset that is added to the device coordinates determined +by the CTM when drawing to <em class="parameter"><code>surface</code></em> +. One use case for this function +is when we want to create a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> that redirects drawing +for a portion of an onscreen surface to an offscreen surface in a +way that is completely invisible to the user of the cairo +API. Setting a transformation via <a class="link" href="cairo-Transformations.html#cairo-translate" title="cairo_translate ()"><code class="function">cairo_translate()</code></a> isn't +sufficient to do this, since functions like +<a class="link" href="cairo-Transformations.html#cairo-device-to-user" title="cairo_device_to_user ()"><code class="function">cairo_device_to_user()</code></a> will expose the hidden offset.</p> +<p>Note that the offset affects drawing to the surface as well as +using the surface in a source pattern.</p> +<div class="refsect3"> +<a name="cairo-surface-set-device-offset.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x_offset</p></td> +<td class="parameter_description"><p>the offset in the X direction, in device units</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y_offset</p></td> +<td class="parameter_description"><p>the offset in the Y direction, in device units</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-get-device-offset"></a><h3>cairo_surface_get_device_offset ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_get_device_offset (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">double</span> *x_offset</code></em>, + <em class="parameter"><code><span class="type">double</span> *y_offset</code></em>);</pre> +<p>This function returns the previous device offset set by +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-device-offset" title="cairo_surface_set_device_offset ()"><code class="function">cairo_surface_set_device_offset()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-surface-get-device-offset.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x_offset</p></td> +<td class="parameter_description"><p>the offset in the X direction, in device units</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y_offset</p></td> +<td class="parameter_description"><p>the offset in the Y direction, in device units</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-get-device-scale"></a><h3>cairo_surface_get_device_scale ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_get_device_scale (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">double</span> *x_scale</code></em>, + <em class="parameter"><code><span class="type">double</span> *y_scale</code></em>);</pre> +<p>This function returns the previous device offset set by +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-device-scale" title="cairo_surface_set_device_scale ()"><code class="function">cairo_surface_set_device_scale()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-surface-get-device-scale.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x_scale</p></td> +<td class="parameter_description"><p>the scale in the X direction, in device units</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y_scale</p></td> +<td class="parameter_description"><p>the scale in the Y direction, in device units</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.14</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-set-device-scale"></a><h3>cairo_surface_set_device_scale ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_set_device_scale (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">double</span> x_scale</code></em>, + <em class="parameter"><code><span class="type">double</span> y_scale</code></em>);</pre> +<p>Sets a scale that is multiplied to the device coordinates determined +by the CTM when drawing to <em class="parameter"><code>surface</code></em> +. One common use for this is to +render to very high resolution display devices at a scale factor, so +that code that assumes 1 pixel will be a certain size will still work. +Setting a transformation via <a class="link" href="cairo-Transformations.html#cairo-translate" title="cairo_translate ()"><code class="function">cairo_translate()</code></a> isn't +sufficient to do this, since functions like +<a class="link" href="cairo-Transformations.html#cairo-device-to-user" title="cairo_device_to_user ()"><code class="function">cairo_device_to_user()</code></a> will expose the hidden scale.</p> +<p>Note that the scale affects drawing to the surface as well as +using the surface in a source pattern.</p> +<div class="refsect3"> +<a name="cairo-surface-set-device-scale.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x_scale</p></td> +<td class="parameter_description"><p>a scale factor in the X direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y_scale</p></td> +<td class="parameter_description"><p>a scale factor in the Y direction</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.14</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-set-fallback-resolution"></a><h3>cairo_surface_set_fallback_resolution ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_set_fallback_resolution (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">double</span> x_pixels_per_inch</code></em>, + <em class="parameter"><code><span class="type">double</span> y_pixels_per_inch</code></em>);</pre> +<p>Set the horizontal and vertical resolution for image fallbacks.</p> +<p>When certain operations aren't supported natively by a backend, +cairo will fallback by rendering operations to an image and then +overlaying that image onto the output. For backends that are +natively vector-oriented, this function can be used to set the +resolution used for these image fallbacks, (larger values will +result in more detailed images, but also larger file sizes).</p> +<p>Some examples of natively vector-oriented backends are the ps, pdf, +and svg backends.</p> +<p>For backends that are natively raster-oriented, image fallbacks are +still possible, but they are always performed at the native +device resolution. So this function has no effect on those +backends.</p> +<p>Note: The fallback resolution only takes effect at the time of +completing a page (with <a class="link" href="cairo-cairo-t.html#cairo-show-page" title="cairo_show_page ()"><code class="function">cairo_show_page()</code></a> or <a class="link" href="cairo-cairo-t.html#cairo-copy-page" title="cairo_copy_page ()"><code class="function">cairo_copy_page()</code></a>) so +there is currently no way to have more than one fallback resolution +in effect on a single page.</p> +<p>The default fallback resoultion is 300 pixels per inch in both +dimensions.</p> +<div class="refsect3"> +<a name="cairo-surface-set-fallback-resolution.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x_pixels_per_inch</p></td> +<td class="parameter_description"><p>horizontal setting for pixels per inch</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y_pixels_per_inch</p></td> +<td class="parameter_description"><p>vertical setting for pixels per inch</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-get-fallback-resolution"></a><h3>cairo_surface_get_fallback_resolution ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_get_fallback_resolution (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">double</span> *x_pixels_per_inch</code></em>, + <em class="parameter"><code><span class="type">double</span> *y_pixels_per_inch</code></em>);</pre> +<p>This function returns the previous fallback resolution set by +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-fallback-resolution" title="cairo_surface_set_fallback_resolution ()"><code class="function">cairo_surface_set_fallback_resolution()</code></a>, or default fallback +resolution if never set.</p> +<div class="refsect3"> +<a name="cairo-surface-get-fallback-resolution.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x_pixels_per_inch</p></td> +<td class="parameter_description"><p>horizontal pixels per inch</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y_pixels_per_inch</p></td> +<td class="parameter_description"><p>vertical pixels per inch</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-get-type"></a><h3>cairo_surface_get_type ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t" title="enum cairo_surface_type_t"><span class="returnvalue">cairo_surface_type_t</span></a> +cairo_surface_get_type (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>This function returns the type of the backend used to create +a surface. See <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t" title="enum cairo_surface_type_t"><span class="type">cairo_surface_type_t</span></a> for available types.</p> +<div class="refsect3"> +<a name="cairo-surface-get-type.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-get-type.returns"></a><h4>Returns</h4> +<p> The type of <em class="parameter"><code>surface</code></em> +.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-get-reference-count"></a><h3>cairo_surface_get_reference_count ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +cairo_surface_get_reference_count (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Returns the current reference count of <em class="parameter"><code>surface</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-surface-get-reference-count.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-get-reference-count.returns"></a><h4>Returns</h4> +<p> the current reference count of <em class="parameter"><code>surface</code></em> +. If the +object is a nil object, 0 will be returned.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-set-user-data"></a><h3>cairo_surface_set_user_data ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_surface_set_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>, + <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>);</pre> +<p>Attach user data to <em class="parameter"><code>surface</code></em> +. To remove user data from a surface, +call this function with the key that was used to set it and <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> +for <em class="parameter"><code>data</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-surface-set-user-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the address of a <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> to attach the user data to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>user_data</p></td> +<td class="parameter_description"><p>the user data to attach to the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>destroy</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> which will be called when the +surface is destroyed or when new user data is attached using the +same key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-set-user-data.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a +slot could not be allocated for the user data.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-get-user-data"></a><h3>cairo_surface_get_user_data ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +cairo_surface_get_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>);</pre> +<p>Return user data previously attached to <em class="parameter"><code>surface</code></em> + using the specified +key. If no user data has been attached with the given key this +function returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +<div class="refsect3"> +<a name="cairo-surface-get-user-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the address of the <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> the user data was +attached to</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-get-user-data.returns"></a><h4>Returns</h4> +<p> the user data previously attached or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-copy-page"></a><h3>cairo_surface_copy_page ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_copy_page (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Emits the current page for backends that support multiple pages, +but doesn't clear it, so that the contents of the current page will +be retained for the next page. Use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-show-page" title="cairo_surface_show_page ()"><code class="function">cairo_surface_show_page()</code></a> if you +want to get an empty page after the emission.</p> +<p>There is a convenience function for this that takes a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>, +namely <a class="link" href="cairo-cairo-t.html#cairo-copy-page" title="cairo_copy_page ()"><code class="function">cairo_copy_page()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-surface-copy-page.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-show-page"></a><h3>cairo_surface_show_page ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_show_page (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Emits and clears the current page for backends that support multiple +pages. Use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-copy-page" title="cairo_surface_copy_page ()"><code class="function">cairo_surface_copy_page()</code></a> if you don't want to clear the page.</p> +<p>There is a convenience function for this that takes a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>, +namely <a class="link" href="cairo-cairo-t.html#cairo-show-page" title="cairo_show_page ()"><code class="function">cairo_show_page()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-surface-show-page.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <span class="type">cairo_Surface_t</span></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.6</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-has-show-text-glyphs"></a><h3>cairo_surface_has_show_text_glyphs ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +cairo_surface_has_show_text_glyphs (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>);</pre> +<p>Returns whether the surface supports +sophisticated <a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a> operations. That is, +whether it actually uses the provided text and cluster data +to a <a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a> call.</p> +<p>Note: Even if this function returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, a +<a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a> operation targeted at <em class="parameter"><code>surface</code></em> + will +still succeed. It just will +act like a <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a> operation. Users can use this +function to avoid computing UTF-8 text and cluster mapping if the +target surface does not use it.</p> +<div class="refsect3"> +<a name="cairo-surface-has-show-text-glyphs.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-has-show-text-glyphs.returns"></a><h4>Returns</h4> +<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>surface</code></em> +supports +<a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a>, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-set-mime-data"></a><h3>cairo_surface_set_mime_data ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_surface_set_mime_data (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *mime_type</code></em>, + <em class="parameter"><code>const unsigned <span class="type">char</span> *data</code></em>, + <em class="parameter"><code><span class="type">unsigned long </span> length</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>, + <em class="parameter"><code><span class="type">void</span> *closure</code></em>);</pre> +<p>Attach an image in the format <em class="parameter"><code>mime_type</code></em> + to <em class="parameter"><code>surface</code></em> +. To remove +the data from a surface, call this function with same mime type +and <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for <em class="parameter"><code>data</code></em> +.</p> +<p>The attached image (or filename) data can later be used by backends +which support it (currently: PDF, PS, SVG and Win32 Printing +surfaces) to emit this data instead of making a snapshot of the +<em class="parameter"><code>surface</code></em> +. This approach tends to be faster and requires less +memory and disk space.</p> +<p>The recognized MIME types are the following: <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JPEG:CAPS" title="CAIRO_MIME_TYPE_JPEG"><code class="literal">CAIRO_MIME_TYPE_JPEG</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-PNG:CAPS" title="CAIRO_MIME_TYPE_PNG"><code class="literal">CAIRO_MIME_TYPE_PNG</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JP2:CAPS" title="CAIRO_MIME_TYPE_JP2"><code class="literal">CAIRO_MIME_TYPE_JP2</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-URI:CAPS" title="CAIRO_MIME_TYPE_URI"><code class="literal">CAIRO_MIME_TYPE_URI</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" title="CAIRO_MIME_TYPE_UNIQUE_ID"><code class="literal">CAIRO_MIME_TYPE_UNIQUE_ID</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2:CAPS" title="CAIRO_MIME_TYPE_JBIG2"><code class="literal">CAIRO_MIME_TYPE_JBIG2</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL"><code class="literal">CAIRO_MIME_TYPE_JBIG2_GLOBAL</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS" title="CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID"><code class="literal">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</code></a>, +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX</code></a>, <a class="link" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" title="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS"><code class="literal">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</code></a>.</p> +<p>See corresponding backend surface docs for details about which MIME +types it can handle. Caution: the associated MIME data will be +discarded if you draw on the surface afterwards. Use this function +with care.</p> +<p>Even if a backend supports a MIME type, that does not mean cairo +will always be able to use the attached MIME data. For example, if +the backend does not natively support the compositing operation used +to apply the MIME data to the backend. In that case, the MIME data +will be ignored. Therefore, to apply an image in all cases, it is best +to create an image surface which contains the decoded image data and +then attach the MIME data to that. This ensures the image will always +be used while still allowing the MIME data to be used whenever +possible.</p> +<div class="refsect3"> +<a name="cairo-surface-set-mime-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mime_type</p></td> +<td class="parameter_description"><p>the MIME type of the image data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the image data to attach to the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>length</p></td> +<td class="parameter_description"><p>the length of the image data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>destroy</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> which will be called when the +surface is destroyed or when new image data is attached using the +same mime type.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>closure</p></td> +<td class="parameter_description"><p>the data to be passed to the <em class="parameter"><code>destroy</code></em> +notifier</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-set-mime-data.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a +slot could not be allocated for the user data.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-get-mime-data"></a><h3>cairo_surface_get_mime_data ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_get_mime_data (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *mime_type</code></em>, + <em class="parameter"><code>const unsigned <span class="type">char</span> **data</code></em>, + <em class="parameter"><code>unsigned <span class="type">long</span> *length</code></em>);</pre> +<p>Return mime data previously attached to <em class="parameter"><code>surface</code></em> + using the +specified mime type. If no data has been attached with the given +mime type, <em class="parameter"><code>data</code></em> + is set <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +<div class="refsect3"> +<a name="cairo-surface-get-mime-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mime_type</p></td> +<td class="parameter_description"><p>the mime type of the image data</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>data</p></td> +<td class="parameter_description"><p>the image data to attached to the surface</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>length</p></td> +<td class="parameter_description"><p>the length of the image data</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-supports-mime-type"></a><h3>cairo_surface_supports_mime_type ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +cairo_surface_supports_mime_type (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *mime_type</code></em>);</pre> +<p>Return whether <em class="parameter"><code>surface</code></em> + supports <em class="parameter"><code>mime_type</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-surface-supports-mime-type.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>mime_type</p></td> +<td class="parameter_description"><p>the mime type</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-supports-mime-type.returns"></a><h4>Returns</h4> +<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>surface</code></em> +supports +<em class="parameter"><code>mime_type</code></em> +, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-map-to-image"></a><h3>cairo_surface_map_to_image ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_surface_map_to_image (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-rectangle-int-t" title="cairo_rectangle_int_t"><span class="type">cairo_rectangle_int_t</span></a> *extents</code></em>);</pre> +<p>Returns an image surface that is the most efficient mechanism for +modifying the backing store of the target surface. The region retrieved +may be limited to the <em class="parameter"><code>extents</code></em> + or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the whole surface</p> +<p>Note, the use of the original surface as a target or source whilst +it is mapped is undefined. The result of mapping the surface +multiple times is undefined. Calling <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> or +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish" title="cairo_surface_finish ()"><code class="function">cairo_surface_finish()</code></a> on the resulting image surface results in +undefined behavior. Changing the device transform of the image +surface or of <em class="parameter"><code>surface</code></em> + before the image surface is unmapped results +in undefined behavior.</p> +<div class="refsect3"> +<a name="cairo-surface-map-to-image.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>an existing surface used to extract the image from</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>limit the extraction to an rectangular region</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-surface-map-to-image.returns"></a><h4>Returns</h4> +<p> a pointer to the newly allocated image surface. The caller +must use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-unmap-image" title="cairo_surface_unmap_image ()"><code class="function">cairo_surface_unmap_image()</code></a> to destroy this image surface.</p> +<p>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if <em class="parameter"><code>other</code></em> +is already in an error state +or any other error occurs. If the returned pointer does not have an +error status, it is guaranteed to be an image surface whose format +is not <a class="link" href="cairo-Image-Surfaces.html#CAIRO-FORMAT-INVALID:CAPS"><code class="literal">CAIRO_FORMAT_INVALID</code></a>.</p> +</div> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-unmap-image"></a><h3>cairo_surface_unmap_image ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_surface_unmap_image (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *image</code></em>);</pre> +<p>Unmaps the image surface as returned from <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-map-to-image" title="cairo_surface_map_to_image ()"><code class="function">cairo_surface_map_to_image()</code></a>.</p> +<p>The content of the image will be uploaded to the target surface. +Afterwards, the image is destroyed.</p> +<p>Using an image surface which wasn't returned by <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-map-to-image" title="cairo_surface_map_to_image ()"><code class="function">cairo_surface_map_to_image()</code></a> +results in undefined behavior.</p> +<div class="refsect3"> +<a name="cairo-surface-unmap-image.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>the surface passed to <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-map-to-image" title="cairo_surface_map_to_image ()"><code class="function">cairo_surface_map_to_image()</code></a>.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>image</p></td> +<td class="parameter_description"><p>the currently mapped image</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.12</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-surface-t.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="CAIRO-HAS-MIME-SURFACE:CAPS"></a><h3>CAIRO_HAS_MIME_SURFACE</h3> +<pre class="programlisting">#define CAIRO_HAS_MIME_SURFACE 1 +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-MIME-TYPE-CCITT-FAX:CAPS"></a><h3>CAIRO_MIME_TYPE_CCITT_FAX</h3> +<pre class="programlisting">#define CAIRO_MIME_TYPE_CCITT_FAX "image/g3fax" +</pre> +<p>Group 3 or Group 4 CCITT facsimile encoding (International +Telecommunication Union, Recommendations T.4 and T.6.)</p> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"></a><h3>CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</h3> +<pre class="programlisting">#define CAIRO_MIME_TYPE_CCITT_FAX_PARAMS "application/x-cairo.ccitt.params" +</pre> +<p>Decode parameters for Group 3 or Group 4 CCITT facsimile encoding. +See <a class="link" href="cairo-PDF-Surfaces.html#ccitt" title="CCITT Fax Images">CCITT Fax Images</a>.</p> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-MIME-TYPE-EPS:CAPS"></a><h3>CAIRO_MIME_TYPE_EPS</h3> +<pre class="programlisting">#define CAIRO_MIME_TYPE_EPS "application/postscript" +</pre> +<p>Encapsulated PostScript file. +<a class="ulink" href="http://wwwimages.adobe.com/content/dam/Adobe/endevnet/postscript/pdfs/5002.EPSF_Spec.pdf" target="_top">Encapsulated PostScript File Format Specification</a></p> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS"></a><h3>CAIRO_MIME_TYPE_EPS_PARAMS</h3> +<pre class="programlisting">#define CAIRO_MIME_TYPE_EPS_PARAMS "application/x-cairo.eps.params" +</pre> +<p>Embedding parameters Encapsulated PostScript data. +See <a class="link" href="cairo-PostScript-Surfaces.html#eps" title="Embedding EPS files">Embedding EPS files</a>.</p> +<p class="since">Since: 1.16</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-MIME-TYPE-JBIG2:CAPS"></a><h3>CAIRO_MIME_TYPE_JBIG2</h3> +<pre class="programlisting">#define CAIRO_MIME_TYPE_JBIG2 "application/x-cairo.jbig2" +</pre> +<p>Joint Bi-level Image Experts Group image coding standard (ISO/IEC 11544).</p> +<p class="since">Since: 1.14</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS"></a><h3>CAIRO_MIME_TYPE_JBIG2_GLOBAL</h3> +<pre class="programlisting">#define CAIRO_MIME_TYPE_JBIG2_GLOBAL "application/x-cairo.jbig2-global" +</pre> +<p>Joint Bi-level Image Experts Group image coding standard (ISO/IEC 11544) global segment.</p> +<p class="since">Since: 1.14</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS"></a><h3>CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</h3> +<pre class="programlisting">#define CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID "application/x-cairo.jbig2-global-id" +</pre> +<p>An unique identifier shared by a JBIG2 global segment and all JBIG2 images +that depend on the global segment.</p> +<p class="since">Since: 1.14</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-MIME-TYPE-JP2:CAPS"></a><h3>CAIRO_MIME_TYPE_JP2</h3> +<pre class="programlisting">#define CAIRO_MIME_TYPE_JP2 "image/jp2" +</pre> +<p>The Joint Photographic Experts Group (JPEG) 2000 image coding standard (ISO/IEC 15444-1).</p> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-MIME-TYPE-JPEG:CAPS"></a><h3>CAIRO_MIME_TYPE_JPEG</h3> +<pre class="programlisting">#define CAIRO_MIME_TYPE_JPEG "image/jpeg" +</pre> +<p>The Joint Photographic Experts Group (JPEG) image coding standard (ISO/IEC 10918-1).</p> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-MIME-TYPE-PNG:CAPS"></a><h3>CAIRO_MIME_TYPE_PNG</h3> +<pre class="programlisting">#define CAIRO_MIME_TYPE_PNG "image/png" +</pre> +<p>The Portable Network Graphics image file format (ISO/IEC 15948).</p> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-MIME-TYPE-URI:CAPS"></a><h3>CAIRO_MIME_TYPE_URI</h3> +<pre class="programlisting">#define CAIRO_MIME_TYPE_URI "text/x-uri" +</pre> +<p>URI for an image file (unofficial MIME type).</p> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS"></a><h3>CAIRO_MIME_TYPE_UNIQUE_ID</h3> +<pre class="programlisting">#define CAIRO_MIME_TYPE_UNIQUE_ID "application/x-cairo.uuid" +</pre> +<p>Unique identifier for a surface (cairo specific MIME type). All surfaces with +the same unique identifier will only be embedded once.</p> +<p class="since">Since: 1.12</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-t"></a><h3>cairo_surface_t</h3> +<pre class="programlisting">typedef struct _cairo_surface cairo_surface_t; +</pre> +<p>A <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="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. To draw to a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a>, create a cairo context +with the surface as the target, using <a class="link" href="cairo-cairo-t.html#cairo-create" title="cairo_create ()"><code class="function">cairo_create()</code></a>.</p> +<p>There are different subtypes of <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> for +different drawing backends; for example, <a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-create" title="cairo_image_surface_create ()"><code class="function">cairo_image_surface_create()</code></a> +creates a bitmap image in memory. +The type of a surface can be queried with <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-type" title="cairo_surface_get_type ()"><code class="function">cairo_surface_get_type()</code></a>.</p> +<p>The initial contents of a surface after creation depend upon the manner +of its creation. If cairo creates the surface and backing storage for +the user, it will be initially cleared; for example, +<a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-create" title="cairo_image_surface_create ()"><code class="function">cairo_image_surface_create()</code></a> and <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar" title="cairo_surface_create_similar ()"><code class="function">cairo_surface_create_similar()</code></a>. +Alternatively, if the user passes in a reference to some backing storage +and asks cairo to wrap that in a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a>, then the contents are +not modified; for example, <a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-create-for-data" title="cairo_image_surface_create_for_data ()"><code class="function">cairo_image_surface_create_for_data()</code></a> and +<a class="link" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-create" title="cairo_xlib_surface_create ()"><code class="function">cairo_xlib_surface_create()</code></a>.</p> +<p>Memory management of <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> is done with +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-reference" title="cairo_surface_reference ()"><code class="function">cairo_surface_reference()</code></a> and <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a>.</p> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-content-t"></a><h3>enum cairo_content_t</h3> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a> is used to describe the content that a surface will +contain, whether color information, alpha information (translucence +vs. opacity), or both.</p> +<p>Note: The large values here are designed to keep <a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a> +values distinct from <a class="link" href="cairo-Image-Surfaces.html#cairo-format-t" title="enum cairo_format_t"><span class="type">cairo_format_t</span></a> values so that the +implementation can detect the error if users confuse the two types.</p> +<div class="refsect3"> +<a name="cairo-content-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-CONTENT-COLOR:CAPS"></a>CAIRO_CONTENT_COLOR</p></td> +<td class="enum_member_description"> +<p>The surface will hold color content only. (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-CONTENT-ALPHA:CAPS"></a>CAIRO_CONTENT_ALPHA</p></td> +<td class="enum_member_description"> +<p>The surface will hold alpha content only. (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-CONTENT-COLOR-ALPHA:CAPS"></a>CAIRO_CONTENT_COLOR_ALPHA</p></td> +<td class="enum_member_description"> +<p>The surface will hold color and alpha content. (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-surface-type-t"></a><h3>enum cairo_surface_type_t</h3> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t" title="enum cairo_surface_type_t"><span class="type">cairo_surface_type_t</span></a> is used to describe the type of a given +surface. The surface types are also known as "backends" or "surface +backends" within cairo.</p> +<p>The type of a surface is determined by the function used to create +it, which will generally be of the form +<code class="function">cairo_<span class="emphasis"><em>type</em></span>_surface_create()</code>, +(though see <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar" title="cairo_surface_create_similar ()"><code class="function">cairo_surface_create_similar()</code></a> as well).</p> +<p>The surface type can be queried with <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-type" title="cairo_surface_get_type ()"><code class="function">cairo_surface_get_type()</code></a></p> +<p>The various <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> functions can be used with surfaces of +any type, but some backends also provide type-specific functions +that must only be called with a surface of the appropriate +type. These functions have names that begin with +<code class="literal">cairo_<span class="emphasis"><em>type</em></span>_surface</code> such as <a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-get-width" title="cairo_image_surface_get_width ()"><code class="function">cairo_image_surface_get_width()</code></a>.</p> +<p>The behavior of calling a type-specific function with a surface of +the wrong type is undefined.</p> +<p>New entries may be added in future versions.</p> +<div class="refsect3"> +<a name="cairo-surface-type-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-IMAGE:CAPS"></a>CAIRO_SURFACE_TYPE_IMAGE</p></td> +<td class="enum_member_description"> +<p>The surface is of type image, since 1.2</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-PDF:CAPS"></a>CAIRO_SURFACE_TYPE_PDF</p></td> +<td class="enum_member_description"> +<p>The surface is of type pdf, since 1.2</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-PS:CAPS"></a>CAIRO_SURFACE_TYPE_PS</p></td> +<td class="enum_member_description"> +<p>The surface is of type ps, since 1.2</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-XLIB:CAPS"></a>CAIRO_SURFACE_TYPE_XLIB</p></td> +<td class="enum_member_description"> +<p>The surface is of type xlib, since 1.2</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-XCB:CAPS"></a>CAIRO_SURFACE_TYPE_XCB</p></td> +<td class="enum_member_description"> +<p>The surface is of type xcb, since 1.2</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-GLITZ:CAPS"></a>CAIRO_SURFACE_TYPE_GLITZ</p></td> +<td class="enum_member_description"> +<p>The surface is of type glitz, since 1.2</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-QUARTZ:CAPS"></a>CAIRO_SURFACE_TYPE_QUARTZ</p></td> +<td class="enum_member_description"> +<p>The surface is of type quartz, since 1.2</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-WIN32:CAPS"></a>CAIRO_SURFACE_TYPE_WIN32</p></td> +<td class="enum_member_description"> +<p>The surface is of type win32, since 1.2</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-BEOS:CAPS"></a>CAIRO_SURFACE_TYPE_BEOS</p></td> +<td class="enum_member_description"> +<p>The surface is of type beos, since 1.2</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-DIRECTFB:CAPS"></a>CAIRO_SURFACE_TYPE_DIRECTFB</p></td> +<td class="enum_member_description"> +<p>The surface is of type directfb, since 1.2</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-SVG:CAPS"></a>CAIRO_SURFACE_TYPE_SVG</p></td> +<td class="enum_member_description"> +<p>The surface is of type svg, since 1.2</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-OS2:CAPS"></a>CAIRO_SURFACE_TYPE_OS2</p></td> +<td class="enum_member_description"> +<p>The surface is of type os2, since 1.4</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-WIN32-PRINTING:CAPS"></a>CAIRO_SURFACE_TYPE_WIN32_PRINTING</p></td> +<td class="enum_member_description"> +<p>The surface is a win32 printing surface, since 1.6</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-QUARTZ-IMAGE:CAPS"></a>CAIRO_SURFACE_TYPE_QUARTZ_IMAGE</p></td> +<td class="enum_member_description"> +<p>The surface is of type quartz_image, since 1.6</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-SCRIPT:CAPS"></a>CAIRO_SURFACE_TYPE_SCRIPT</p></td> +<td class="enum_member_description"> +<p>The surface is of type script, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-QT:CAPS"></a>CAIRO_SURFACE_TYPE_QT</p></td> +<td class="enum_member_description"> +<p>The surface is of type Qt, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-RECORDING:CAPS"></a>CAIRO_SURFACE_TYPE_RECORDING</p></td> +<td class="enum_member_description"> +<p>The surface is of type recording, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-VG:CAPS"></a>CAIRO_SURFACE_TYPE_VG</p></td> +<td class="enum_member_description"> +<p>The surface is a OpenVG surface, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-GL:CAPS"></a>CAIRO_SURFACE_TYPE_GL</p></td> +<td class="enum_member_description"> +<p>The surface is of type OpenGL, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-DRM:CAPS"></a>CAIRO_SURFACE_TYPE_DRM</p></td> +<td class="enum_member_description"> +<p>The surface is of type Direct Render Manager, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-TEE:CAPS"></a>CAIRO_SURFACE_TYPE_TEE</p></td> +<td class="enum_member_description"> +<p>The surface is of type 'tee' (a multiplexing surface), since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-XML:CAPS"></a>CAIRO_SURFACE_TYPE_XML</p></td> +<td class="enum_member_description"> +<p>The surface is of type XML (for debugging), since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-SKIA:CAPS"></a>CAIRO_SURFACE_TYPE_SKIA</p></td> +<td> </td> +<td> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-SUBSURFACE:CAPS"></a>CAIRO_SURFACE_TYPE_SUBSURFACE</p></td> +<td class="enum_member_description"> +<p>The surface is a subsurface created with + <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-for-rectangle" title="cairo_surface_create_for_rectangle ()"><code class="function">cairo_surface_create_for_rectangle()</code></a>, since 1.10</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-SURFACE-TYPE-COGL:CAPS"></a>CAIRO_SURFACE_TYPE_COGL</p></td> +<td class="enum_member_description"> +<p>This surface is of type Cogl, since 1.12</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-surface-t.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>, <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-cairo-t.html b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-t.html new file mode 100644 index 0000000..27d9753 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-cairo-t.html @@ -0,0 +1,3488 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>cairo_t: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-drawing.html" title="Drawing"> +<link rel="prev" href="cairo-drawing.html" title="Drawing"> +<link rel="next" href="cairo-Paths.html" title="Paths"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-cairo-t.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-drawing.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-drawing.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Paths.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-cairo-t"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-cairo-t.top_of_page"></a>cairo_t</span></h2> +<p>cairo_t — The cairo drawing context</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-cairo-t.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="returnvalue">cairo_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-create" title="cairo_create ()">cairo_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="returnvalue">cairo_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-reference" title="cairo_reference ()">cairo_reference</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-destroy" title="cairo_destroy ()">cairo_destroy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-status" title="cairo_status ()">cairo_status</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-save" title="cairo_save ()">cairo_save</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-restore" title="cairo_restore ()">cairo_restore</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-target" title="cairo_get_target ()">cairo_get_target</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-push-group" title="cairo_push_group ()">cairo_push_group</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-push-group-with-content" title="cairo_push_group_with_content ()">cairo_push_group_with_content</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-pop-group" title="cairo_pop_group ()">cairo_pop_group</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-pop-group-to-source" title="cairo_pop_group_to_source ()">cairo_pop_group_to_source</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-group-target" title="cairo_get_group_target ()">cairo_get_group_target</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-source-rgb" title="cairo_set_source_rgb ()">cairo_set_source_rgb</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-source-rgba" title="cairo_set_source_rgba ()">cairo_set_source_rgba</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-source" title="cairo_set_source ()">cairo_set_source</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-source-surface" title="cairo_set_source_surface ()">cairo_set_source_surface</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-source" title="cairo_get_source ()">cairo_get_source</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-antialias" title="cairo_set_antialias ()">cairo_set_antialias</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-t.html#cairo-antialias-t" title="enum cairo_antialias_t"><span class="returnvalue">cairo_antialias_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-antialias" title="cairo_get_antialias ()">cairo_get_antialias</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-dash" title="cairo_set_dash ()">cairo_set_dash</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-dash-count" title="cairo_get_dash_count ()">cairo_get_dash_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-dash" title="cairo_get_dash ()">cairo_get_dash</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-fill-rule" title="cairo_set_fill_rule ()">cairo_set_fill_rule</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-t.html#cairo-fill-rule-t" title="enum cairo_fill_rule_t"><span class="returnvalue">cairo_fill_rule_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-fill-rule" title="cairo_get_fill_rule ()">cairo_get_fill_rule</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-line-cap" title="cairo_set_line_cap ()">cairo_set_line_cap</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-t.html#cairo-line-cap-t" title="enum cairo_line_cap_t"><span class="returnvalue">cairo_line_cap_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-line-cap" title="cairo_get_line_cap ()">cairo_get_line_cap</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-line-join" title="cairo_set_line_join ()">cairo_set_line_join</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-t.html#cairo-line-join-t" title="enum cairo_line_join_t"><span class="returnvalue">cairo_line_join_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-line-join" title="cairo_get_line_join ()">cairo_get_line_join</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-line-width" title="cairo_set_line_width ()">cairo_set_line_width</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">double</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-line-width" title="cairo_get_line_width ()">cairo_get_line_width</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-miter-limit" title="cairo_set_miter_limit ()">cairo_set_miter_limit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">double</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-miter-limit" title="cairo_get_miter_limit ()">cairo_get_miter_limit</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-operator" title="cairo_set_operator ()">cairo_set_operator</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-t.html#cairo-operator-t" title="enum cairo_operator_t"><span class="returnvalue">cairo_operator_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-operator" title="cairo_get_operator ()">cairo_get_operator</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-tolerance" title="cairo_set_tolerance ()">cairo_set_tolerance</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">double</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-tolerance" title="cairo_get_tolerance ()">cairo_get_tolerance</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-clip" title="cairo_clip ()">cairo_clip</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-clip-preserve" title="cairo_clip_preserve ()">cairo_clip_preserve</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-clip-extents" title="cairo_clip_extents ()">cairo_clip_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-in-clip" title="cairo_in_clip ()">cairo_in_clip</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-reset-clip" title="cairo_reset_clip ()">cairo_reset_clip</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-rectangle-list-destroy" title="cairo_rectangle_list_destroy ()">cairo_rectangle_list_destroy</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-t.html#cairo-rectangle-list-t" title="cairo_rectangle_list_t"><span class="returnvalue">cairo_rectangle_list_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-copy-clip-rectangle-list" title="cairo_copy_clip_rectangle_list ()">cairo_copy_clip_rectangle_list</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()">cairo_fill</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-fill-preserve" title="cairo_fill_preserve ()">cairo_fill_preserve</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-fill-extents" title="cairo_fill_extents ()">cairo_fill_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-in-fill" title="cairo_in_fill ()">cairo_in_fill</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-mask" title="cairo_mask ()">cairo_mask</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-mask-surface" title="cairo_mask_surface ()">cairo_mask_surface</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-paint" title="cairo_paint ()">cairo_paint</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-paint-with-alpha" title="cairo_paint_with_alpha ()">cairo_paint_with_alpha</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()">cairo_stroke</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-stroke-preserve" title="cairo_stroke_preserve ()">cairo_stroke_preserve</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-stroke-extents" title="cairo_stroke_extents ()">cairo_stroke_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-in-stroke" title="cairo_in_stroke ()">cairo_in_stroke</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-copy-page" title="cairo_copy_page ()">cairo_copy_page</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-show-page" title="cairo_show_page ()">cairo_show_page</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-reference-count" title="cairo_get_reference_count ()">cairo_get_reference_count</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-set-user-data" title="cairo_set_user_data ()">cairo_set_user_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-cairo-t.html#cairo-get-user-data" title="cairo_get_user_data ()">cairo_get_user_data</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-t.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t">cairo_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-t.html#cairo-antialias-t" title="enum cairo_antialias_t">cairo_antialias_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-t.html#cairo-fill-rule-t" title="enum cairo_fill_rule_t">cairo_fill_rule_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-t.html#cairo-line-cap-t" title="enum cairo_line_cap_t">cairo_line_cap_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-t.html#cairo-line-join-t" title="enum cairo_line_join_t">cairo_line_join_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-cairo-t.html#cairo-operator-t" title="enum cairo_operator_t">cairo_operator_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="cairo-cairo-t.html#cairo-rectangle-t" title="cairo_rectangle_t">cairo_rectangle_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="cairo-cairo-t.html#cairo-rectangle-list-t" title="cairo_rectangle_list_t">cairo_rectangle_list_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-t.description"></a><h2>Description</h2> +<p><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> is the main object used when drawing with cairo. To +draw with cairo, you create a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>, set the target surface, +and drawing options for the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>, create shapes with +functions like <a class="link" href="cairo-Paths.html#cairo-move-to" title="cairo_move_to ()"><code class="function">cairo_move_to()</code></a> and <a class="link" href="cairo-Paths.html#cairo-line-to" title="cairo_line_to ()"><code class="function">cairo_line_to()</code></a>, and then +draw shapes with <a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a> or <a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a>.</p> +<p><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>'s can be pushed to a stack via <a class="link" href="cairo-cairo-t.html#cairo-save" title="cairo_save ()"><code class="function">cairo_save()</code></a>. +They may then safely be changed, without losing the current state. +Use <a class="link" href="cairo-cairo-t.html#cairo-restore" title="cairo_restore ()"><code class="function">cairo_restore()</code></a> to restore to the saved state.</p> +</div> +<div class="refsect1"> +<a name="cairo-cairo-t.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-create"></a><h3>cairo_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="returnvalue">cairo_t</span></a> * +cairo_create (<em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *target</code></em>);</pre> +<p>Creates a new <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> with all graphics state parameters set to +default values and with <em class="parameter"><code>target</code></em> + as a target surface. The target +surface should be constructed with a backend-specific function such +as <a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-create" title="cairo_image_surface_create ()"><code class="function">cairo_image_surface_create()</code></a> (or any other +<code class="function">cairo_<span class="emphasis"><em>backend</em></span>_surface_create()</code> +variant).</p> +<p>This function references <em class="parameter"><code>target</code></em> +, so you can immediately +call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy" title="cairo_surface_destroy ()"><code class="function">cairo_surface_destroy()</code></a> on it if you don't need to +maintain a separate reference to it.</p> +<div class="refsect3"> +<a name="cairo-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>target</p></td> +<td class="parameter_description"><p>target surface for the context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-create.returns"></a><h4>Returns</h4> +<p> a newly allocated <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> with a reference +count of 1. The initial reference count should be released +with <a class="link" href="cairo-cairo-t.html#cairo-destroy" title="cairo_destroy ()"><code class="function">cairo_destroy()</code></a> when you are done using the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>. +This function never returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. If memory cannot be +allocated, a special <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> object will be returned on +which <a class="link" href="cairo-cairo-t.html#cairo-status" title="cairo_status ()"><code class="function">cairo_status()</code></a> returns <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>. If +you attempt to target a surface which does not support +writing (such as <span class="type">cairo_mime_surface_t</span>) then a +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-WRITE-ERROR:CAPS"><code class="literal">CAIRO_STATUS_WRITE_ERROR</code></a> will be raised. You can use this +object normally, but no drawing will be done.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-reference"></a><h3>cairo_reference ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="returnvalue">cairo_t</span></a> * +cairo_reference (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Increases the reference count on <em class="parameter"><code>cr</code></em> + by one. This prevents +<em class="parameter"><code>cr</code></em> + from being destroyed until a matching call to <a class="link" href="cairo-cairo-t.html#cairo-destroy" title="cairo_destroy ()"><code class="function">cairo_destroy()</code></a> +is made.</p> +<p>Use <a class="link" href="cairo-cairo-t.html#cairo-get-reference-count" title="cairo_get_reference_count ()"><code class="function">cairo_get_reference_count()</code></a> to get the number of references to +a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-reference.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-reference.returns"></a><h4>Returns</h4> +<p> the referenced <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-destroy"></a><h3>cairo_destroy ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_destroy (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Decreases the reference count on <em class="parameter"><code>cr</code></em> + by one. If the result +is zero, then <em class="parameter"><code>cr</code></em> + and all associated resources are freed. +See <a class="link" href="cairo-cairo-t.html#cairo-reference" title="cairo_reference ()"><code class="function">cairo_reference()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-destroy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-status"></a><h3>cairo_status ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_status (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Checks whether an error has previously occurred for this context.</p> +<div class="refsect3"> +<a name="cairo-status.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-status.returns"></a><h4>Returns</h4> +<p> the current status of this context, see <a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="type">cairo_status_t</span></a></p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-save"></a><h3>cairo_save ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_save (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Makes a copy of the current state of <em class="parameter"><code>cr</code></em> + and saves it +on an internal stack of saved states for <em class="parameter"><code>cr</code></em> +. When +<a class="link" href="cairo-cairo-t.html#cairo-restore" title="cairo_restore ()"><code class="function">cairo_restore()</code></a> is called, <em class="parameter"><code>cr</code></em> + will be restored to +the saved state. Multiple calls to <a class="link" href="cairo-cairo-t.html#cairo-save" title="cairo_save ()"><code class="function">cairo_save()</code></a> and +<a class="link" href="cairo-cairo-t.html#cairo-restore" title="cairo_restore ()"><code class="function">cairo_restore()</code></a> can be nested; each call to <a class="link" href="cairo-cairo-t.html#cairo-restore" title="cairo_restore ()"><code class="function">cairo_restore()</code></a> +restores the state from the matching paired <a class="link" href="cairo-cairo-t.html#cairo-save" title="cairo_save ()"><code class="function">cairo_save()</code></a>.</p> +<p>It isn't necessary to clear all saved states before +a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> is freed. If the reference count of a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> +drops to zero in response to a call to <a class="link" href="cairo-cairo-t.html#cairo-destroy" title="cairo_destroy ()"><code class="function">cairo_destroy()</code></a>, +any saved states will be freed along with the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-save.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-restore"></a><h3>cairo_restore ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_restore (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Restores <em class="parameter"><code>cr</code></em> + to the state saved by a preceding call to +<a class="link" href="cairo-cairo-t.html#cairo-save" title="cairo_save ()"><code class="function">cairo_save()</code></a> and removes that state from the stack of +saved states.</p> +<div class="refsect3"> +<a name="cairo-restore.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-target"></a><h3>cairo_get_target ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_get_target (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the target surface for the cairo context as passed to +<a class="link" href="cairo-cairo-t.html#cairo-create" title="cairo_create ()"><code class="function">cairo_create()</code></a>.</p> +<p>This function will always return a valid pointer, but the result +can be a "nil" surface if <em class="parameter"><code>cr</code></em> + is already in an error state, +(ie. <a class="link" href="cairo-cairo-t.html#cairo-status" title="cairo_status ()"><code class="function">cairo_status()</code></a> <code class="literal">!=</code> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>). +A nil surface is indicated by <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> +<code class="literal">!=</code> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-target.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-target.returns"></a><h4>Returns</h4> +<p> the target surface. This object is owned by cairo. To +keep a reference to it, you must call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-reference" title="cairo_surface_reference ()"><code class="function">cairo_surface_reference()</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-push-group"></a><h3>cairo_push_group ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_push_group (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Temporarily redirects drawing to an intermediate surface known as a +group. The redirection lasts until the group is completed by a call +to <a class="link" href="cairo-cairo-t.html#cairo-pop-group" title="cairo_pop_group ()"><code class="function">cairo_pop_group()</code></a> or <a class="link" href="cairo-cairo-t.html#cairo-pop-group-to-source" title="cairo_pop_group_to_source ()"><code class="function">cairo_pop_group_to_source()</code></a>. These calls +provide the result of any drawing to the group as a pattern, +(either as an explicit object, or set as the source pattern).</p> +<p>This group functionality can be convenient for performing +intermediate compositing. One common use of a group is to render +objects as opaque within the group, (so that they occlude each +other), and then blend the result with translucence onto the +destination.</p> +<p>Groups can be nested arbitrarily deep by making balanced calls to +<a class="link" href="cairo-cairo-t.html#cairo-push-group" title="cairo_push_group ()"><code class="function">cairo_push_group()</code></a>/<a class="link" href="cairo-cairo-t.html#cairo-pop-group" title="cairo_pop_group ()"><code class="function">cairo_pop_group()</code></a>. Each call pushes/pops the new +target group onto/from a stack.</p> +<p>The <a class="link" href="cairo-cairo-t.html#cairo-push-group" title="cairo_push_group ()"><code class="function">cairo_push_group()</code></a> function calls <a class="link" href="cairo-cairo-t.html#cairo-save" title="cairo_save ()"><code class="function">cairo_save()</code></a> so that any +changes to the graphics state will not be visible outside the +group, (the pop_group functions call <a class="link" href="cairo-cairo-t.html#cairo-restore" title="cairo_restore ()"><code class="function">cairo_restore()</code></a>).</p> +<p>By default the intermediate group will have a content type of +<a class="link" href="cairo-cairo-surface-t.html#CAIRO-CONTENT-COLOR-ALPHA:CAPS"><code class="literal">CAIRO_CONTENT_COLOR_ALPHA</code></a>. Other content types can be chosen for +the group by using <a class="link" href="cairo-cairo-t.html#cairo-push-group-with-content" title="cairo_push_group_with_content ()"><code class="function">cairo_push_group_with_content()</code></a> instead.</p> +<p>As an example, here is how one might fill and stroke a path with +translucence, but without any portion of the fill being visible +under the stroke:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7</pre></td> + <td class="listing_code"><pre class="programlisting"><span class="function"><a href="cairo-cairo-t.html#cairo-push-group">cairo_push_group</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-t.html#cairo-set-source">cairo_set_source</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> fill_pattern<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-t.html#cairo-fill-preserve">cairo_fill_preserve</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-t.html#cairo-set-source">cairo_set_source</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> stroke_pattern<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-t.html#cairo-stroke">cairo_stroke</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-t.html#cairo-pop-group-to-source">cairo_pop_group_to_source</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-t.html#cairo-paint-with-alpha">cairo_paint_with_alpha</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> alpha<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<div class="refsect3"> +<a name="cairo-push-group.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-push-group-with-content"></a><h3>cairo_push_group_with_content ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_push_group_with_content (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a> content</code></em>);</pre> +<p>Temporarily redirects drawing to an intermediate surface known as a +group. The redirection lasts until the group is completed by a call +to <a class="link" href="cairo-cairo-t.html#cairo-pop-group" title="cairo_pop_group ()"><code class="function">cairo_pop_group()</code></a> or <a class="link" href="cairo-cairo-t.html#cairo-pop-group-to-source" title="cairo_pop_group_to_source ()"><code class="function">cairo_pop_group_to_source()</code></a>. These calls +provide the result of any drawing to the group as a pattern, +(either as an explicit object, or set as the source pattern).</p> +<p>The group will have a content type of <em class="parameter"><code>content</code></em> +. The ability to +control this content type is the only distinction between this +function and <a class="link" href="cairo-cairo-t.html#cairo-push-group" title="cairo_push_group ()"><code class="function">cairo_push_group()</code></a> which you should see for a more +detailed description of group rendering.</p> +<div class="refsect3"> +<a name="cairo-push-group-with-content.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>content</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-content-t" title="enum cairo_content_t"><span class="type">cairo_content_t</span></a> indicating the type of group that +will be created</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pop-group"></a><h3>cairo_pop_group ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +cairo_pop_group (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Terminates the redirection begun by a call to <a class="link" href="cairo-cairo-t.html#cairo-push-group" title="cairo_push_group ()"><code class="function">cairo_push_group()</code></a> or +<a class="link" href="cairo-cairo-t.html#cairo-push-group-with-content" title="cairo_push_group_with_content ()"><code class="function">cairo_push_group_with_content()</code></a> and returns a new pattern +containing the results of all drawing operations performed to the +group.</p> +<p>The <a class="link" href="cairo-cairo-t.html#cairo-pop-group" title="cairo_pop_group ()"><code class="function">cairo_pop_group()</code></a> function calls <a class="link" href="cairo-cairo-t.html#cairo-restore" title="cairo_restore ()"><code class="function">cairo_restore()</code></a>, (balancing a +call to <a class="link" href="cairo-cairo-t.html#cairo-save" title="cairo_save ()"><code class="function">cairo_save()</code></a> by the push_group function), so that any +changes to the graphics state will not be visible outside the +group.</p> +<div class="refsect3"> +<a name="cairo-pop-group.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-pop-group.returns"></a><h4>Returns</h4> +<p> a newly created (surface) pattern containing the +results of all drawing operations performed to the group. The +caller owns the returned object and should call +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-destroy" title="cairo_pattern_destroy ()"><code class="function">cairo_pattern_destroy()</code></a> when finished with it.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-pop-group-to-source"></a><h3>cairo_pop_group_to_source ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_pop_group_to_source (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Terminates the redirection begun by a call to <a class="link" href="cairo-cairo-t.html#cairo-push-group" title="cairo_push_group ()"><code class="function">cairo_push_group()</code></a> or +<a class="link" href="cairo-cairo-t.html#cairo-push-group-with-content" title="cairo_push_group_with_content ()"><code class="function">cairo_push_group_with_content()</code></a> and installs the resulting pattern +as the source pattern in the given cairo context.</p> +<p>The behavior of this function is equivalent to the sequence of +operations:</p> +<div class="informalexample"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3</pre></td> + <td class="listing_code"><pre class="programlisting">cairo_pattern_t <span class="gtkdoc opt">*</span>group <span class="gtkdoc opt">=</span> <span class="function"><a href="cairo-cairo-t.html#cairo-pop-group">cairo_pop_group</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-t.html#cairo-set-source">cairo_set_source</a></span> <span class="gtkdoc opt">(</span>cr<span class="gtkdoc opt">,</span> group<span class="gtkdoc opt">);</span> +<span class="function"><a href="cairo-cairo-pattern-t.html#cairo-pattern-destroy">cairo_pattern_destroy</a></span> <span class="gtkdoc opt">(</span>group<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + +<p>but is more convenient as their is no need for a variable to store +the short-lived pointer to the pattern.</p> +<p>The <a class="link" href="cairo-cairo-t.html#cairo-pop-group" title="cairo_pop_group ()"><code class="function">cairo_pop_group()</code></a> function calls <a class="link" href="cairo-cairo-t.html#cairo-restore" title="cairo_restore ()"><code class="function">cairo_restore()</code></a>, (balancing a +call to <a class="link" href="cairo-cairo-t.html#cairo-save" title="cairo_save ()"><code class="function">cairo_save()</code></a> by the push_group function), so that any +changes to the graphics state will not be visible outside the +group.</p> +<div class="refsect3"> +<a name="cairo-pop-group-to-source.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-group-target"></a><h3>cairo_get_group_target ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="returnvalue">cairo_surface_t</span></a> * +cairo_get_group_target (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the current destination surface for the context. This is either +the original target surface as passed to <a class="link" href="cairo-cairo-t.html#cairo-create" title="cairo_create ()"><code class="function">cairo_create()</code></a> or the target +surface for the current group as started by the most recent call to +<a class="link" href="cairo-cairo-t.html#cairo-push-group" title="cairo_push_group ()"><code class="function">cairo_push_group()</code></a> or <a class="link" href="cairo-cairo-t.html#cairo-push-group-with-content" title="cairo_push_group_with_content ()"><code class="function">cairo_push_group_with_content()</code></a>.</p> +<p>This function will always return a valid pointer, but the result +can be a "nil" surface if <em class="parameter"><code>cr</code></em> + is already in an error state, +(ie. <a class="link" href="cairo-cairo-t.html#cairo-status" title="cairo_status ()"><code class="function">cairo_status()</code></a> <code class="literal">!=</code> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>). +A nil surface is indicated by <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status" title="cairo_surface_status ()"><code class="function">cairo_surface_status()</code></a> +<code class="literal">!=</code> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-group-target.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-group-target.returns"></a><h4>Returns</h4> +<p> the target surface. This object is owned by cairo. To +keep a reference to it, you must call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-reference" title="cairo_surface_reference ()"><code class="function">cairo_surface_reference()</code></a>.</p> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-source-rgb"></a><h3>cairo_set_source_rgb ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_source_rgb (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> red</code></em>, + <em class="parameter"><code><span class="type">double</span> green</code></em>, + <em class="parameter"><code><span class="type">double</span> blue</code></em>);</pre> +<p>Sets the source pattern within <em class="parameter"><code>cr</code></em> + to an opaque color. This opaque +color will then be used for any subsequent drawing operation until +a new source pattern is set.</p> +<p>The color components are floating point numbers in the range 0 to</p> +<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>If the values passed in are outside that range, they will be +clamped.</p></li></ol></div> +<p>The default source pattern is opaque black, (that is, it is +equivalent to cairo_set_source_rgb(cr, 0.0, 0.0, 0.0)).</p> +<div class="refsect3"> +<a name="cairo-set-source-rgb.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>red</p></td> +<td class="parameter_description"><p>red component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>green</p></td> +<td class="parameter_description"><p>green component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>blue</p></td> +<td class="parameter_description"><p>blue component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-source-rgba"></a><h3>cairo_set_source_rgba ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_source_rgba (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> red</code></em>, + <em class="parameter"><code><span class="type">double</span> green</code></em>, + <em class="parameter"><code><span class="type">double</span> blue</code></em>, + <em class="parameter"><code><span class="type">double</span> alpha</code></em>);</pre> +<p>Sets the source pattern within <em class="parameter"><code>cr</code></em> + to a translucent color. This +color will then be used for any subsequent drawing operation until +a new source pattern is set.</p> +<p>The color and alpha components are floating point numbers in the +range 0 to 1. If the values passed in are outside that range, they +will be clamped.</p> +<p>The default source pattern is opaque black, (that is, it is +equivalent to cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0)).</p> +<div class="refsect3"> +<a name="cairo-set-source-rgba.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>red</p></td> +<td class="parameter_description"><p>red component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>green</p></td> +<td class="parameter_description"><p>green component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>blue</p></td> +<td class="parameter_description"><p>blue component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alpha</p></td> +<td class="parameter_description"><p>alpha component of color</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-source"></a><h3>cairo_set_source ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_source (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *source</code></em>);</pre> +<p>Sets the source pattern within <em class="parameter"><code>cr</code></em> + to <em class="parameter"><code>source</code></em> +. This pattern +will then be used for any subsequent drawing operation until a new +source pattern is set.</p> +<p>Note: The pattern's transformation matrix will be locked to the +user space in effect at the time of <a class="link" href="cairo-cairo-t.html#cairo-set-source" title="cairo_set_source ()"><code class="function">cairo_set_source()</code></a>. This means +that further modifications of the current transformation matrix +will not affect the source pattern. See <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-matrix" title="cairo_pattern_set_matrix ()"><code class="function">cairo_pattern_set_matrix()</code></a>.</p> +<p>The default source pattern is a solid pattern that is opaque black, +(that is, it is equivalent to cairo_set_source_rgb(cr, 0.0, 0.0, +0.0)).</p> +<div class="refsect3"> +<a name="cairo-set-source.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>source</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> to be used as the source for +subsequent drawing operations.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-source-surface"></a><h3>cairo_set_source_surface ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_source_surface (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">double</span> x</code></em>, + <em class="parameter"><code><span class="type">double</span> y</code></em>);</pre> +<p>This is a convenience function for creating a pattern from <em class="parameter"><code>surface</code></em> + +and setting it as the source in <em class="parameter"><code>cr</code></em> + with <a class="link" href="cairo-cairo-t.html#cairo-set-source" title="cairo_set_source ()"><code class="function">cairo_set_source()</code></a>.</p> +<p>The <em class="parameter"><code>x</code></em> + and <em class="parameter"><code>y</code></em> + parameters give the user-space coordinate at which +the surface origin should appear. (The surface origin is its +upper-left corner before any transformation has been applied.) The +<em class="parameter"><code>x</code></em> + and <em class="parameter"><code>y</code></em> + parameters are negated and then set as translation values +in the pattern matrix.</p> +<p>Other than the initial translation pattern matrix, as described +above, all other pattern attributes, (such as its extend mode), are +set to the default values as in <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-create-for-surface" title="cairo_pattern_create_for_surface ()"><code class="function">cairo_pattern_create_for_surface()</code></a>. +The resulting pattern can be queried with <a class="link" href="cairo-cairo-t.html#cairo-get-source" title="cairo_get_source ()"><code class="function">cairo_get_source()</code></a> so +that these attributes can be modified if desired, (eg. to create a +repeating pattern with <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-set-extend" title="cairo_pattern_set_extend ()"><code class="function">cairo_pattern_set_extend()</code></a>).</p> +<div class="refsect3"> +<a name="cairo-set-source-surface.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a surface to be used to set the source pattern</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>User-space X coordinate for surface origin</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>User-space Y coordinate for surface origin</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-source"></a><h3>cairo_get_source ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="returnvalue">cairo_pattern_t</span></a> * +cairo_get_source (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the current source pattern for <em class="parameter"><code>cr</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-get-source.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-source.returns"></a><h4>Returns</h4> +<p> the current source pattern. This object is owned by +cairo. To keep a reference to it, you must call +<a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-reference" title="cairo_pattern_reference ()"><code class="function">cairo_pattern_reference()</code></a>.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-antialias"></a><h3>cairo_set_antialias ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_antialias (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-antialias-t" title="enum cairo_antialias_t"><span class="type">cairo_antialias_t</span></a> antialias</code></em>);</pre> +<p>Set the antialiasing mode of the rasterizer used for drawing shapes. +This value is a hint, and a particular backend may or may not support +a particular value. At the current time, no backend supports +<a class="link" href="cairo-cairo-t.html#CAIRO-ANTIALIAS-SUBPIXEL:CAPS"><code class="literal">CAIRO_ANTIALIAS_SUBPIXEL</code></a> when drawing shapes.</p> +<p>Note that this option does not affect text rendering, instead see +<a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-set-antialias" title="cairo_font_options_set_antialias ()"><code class="function">cairo_font_options_set_antialias()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-set-antialias.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>antialias</p></td> +<td class="parameter_description"><p>the new antialiasing mode</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-antialias"></a><h3>cairo_get_antialias ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-t.html#cairo-antialias-t" title="enum cairo_antialias_t"><span class="returnvalue">cairo_antialias_t</span></a> +cairo_get_antialias (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the current shape antialiasing mode, as set by +<a class="link" href="cairo-cairo-t.html#cairo-set-antialias" title="cairo_set_antialias ()"><code class="function">cairo_set_antialias()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-antialias.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-antialias.returns"></a><h4>Returns</h4> +<p> the current shape antialiasing mode.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-dash"></a><h3>cairo_set_dash ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_dash (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <span class="type">double</span> *dashes</code></em>, + <em class="parameter"><code><span class="type">int</span> num_dashes</code></em>, + <em class="parameter"><code><span class="type">double</span> offset</code></em>);</pre> +<p>Sets the dash pattern to be used by <a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a>. A dash pattern +is specified by <em class="parameter"><code>dashes</code></em> +, an array of positive values. Each value +provides the length of alternate "on" and "off" portions of the +stroke. The <em class="parameter"><code>offset</code></em> + specifies an offset into the pattern at which +the stroke begins.</p> +<p>Each "on" segment will have caps applied as if the segment were a +separate sub-path. In particular, it is valid to use an "on" length +of 0.0 with <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-CAP-ROUND:CAPS"><code class="literal">CAIRO_LINE_CAP_ROUND</code></a> or <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-CAP-SQUARE:CAPS"><code class="literal">CAIRO_LINE_CAP_SQUARE</code></a> in order +to distributed dots or squares along a path.</p> +<p>Note: The length values are in user-space units as evaluated at the +time of stroking. This is not necessarily the same as the user +space at the time of <a class="link" href="cairo-cairo-t.html#cairo-set-dash" title="cairo_set_dash ()"><code class="function">cairo_set_dash()</code></a>.</p> +<p>If <em class="parameter"><code>num_dashes</code></em> + is 0 dashing is disabled.</p> +<p>If <em class="parameter"><code>num_dashes</code></em> + is 1 a symmetric pattern is assumed with alternating +on and off portions of the size specified by the single value in +<em class="parameter"><code>dashes</code></em> +.</p> +<p>If any value in <em class="parameter"><code>dashes</code></em> + is negative, or if all values are 0, then +<em class="parameter"><code>cr</code></em> + will be put into an error state with a status of +<a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-DASH:CAPS"><code class="literal">CAIRO_STATUS_INVALID_DASH</code></a>.</p> +<div class="refsect3"> +<a name="cairo-set-dash.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dashes</p></td> +<td class="parameter_description"><p>an array specifying alternate lengths of on and off stroke portions</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_dashes</p></td> +<td class="parameter_description"><p>the length of the dashes array</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>offset</p></td> +<td class="parameter_description"><p>an offset into the dash pattern at which the stroke should start</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-dash-count"></a><h3>cairo_get_dash_count ()</h3> +<pre class="programlisting"><span class="returnvalue">int</span> +cairo_get_dash_count (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>This function returns the length of the dash array in <em class="parameter"><code>cr</code></em> + (0 if dashing +is not currently in effect).</p> +<p>See also <a class="link" href="cairo-cairo-t.html#cairo-set-dash" title="cairo_set_dash ()"><code class="function">cairo_set_dash()</code></a> and <a class="link" href="cairo-cairo-t.html#cairo-get-dash" title="cairo_get_dash ()"><code class="function">cairo_get_dash()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-dash-count.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-dash-count.returns"></a><h4>Returns</h4> +<p> the length of the dash array, or 0 if no dash array set.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-dash"></a><h3>cairo_get_dash ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_get_dash (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> *dashes</code></em>, + <em class="parameter"><code><span class="type">double</span> *offset</code></em>);</pre> +<p>Gets the current dash array. If not <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, <em class="parameter"><code>dashes</code></em> + should be big +enough to hold at least the number of values returned by +<a class="link" href="cairo-cairo-t.html#cairo-get-dash-count" title="cairo_get_dash_count ()"><code class="function">cairo_get_dash_count()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-dash.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>dashes</p></td> +<td class="parameter_description"><p>return value for the dash array, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>offset</p></td> +<td class="parameter_description"><p>return value for the current dash offset, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-fill-rule"></a><h3>cairo_set_fill_rule ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_fill_rule (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-fill-rule-t" title="enum cairo_fill_rule_t"><span class="type">cairo_fill_rule_t</span></a> fill_rule</code></em>);</pre> +<p>Set the current fill rule within the cairo context. The fill rule +is used to determine which regions are inside or outside a complex +(potentially self-intersecting) path. The current fill rule affects +both <a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a> and <a class="link" href="cairo-cairo-t.html#cairo-clip" title="cairo_clip ()"><code class="function">cairo_clip()</code></a>. See <a class="link" href="cairo-cairo-t.html#cairo-fill-rule-t" title="enum cairo_fill_rule_t"><span class="type">cairo_fill_rule_t</span></a> for details +on the semantics of each available fill rule.</p> +<p>The default fill rule is <a class="link" href="cairo-cairo-t.html#CAIRO-FILL-RULE-WINDING:CAPS"><code class="literal">CAIRO_FILL_RULE_WINDING</code></a>.</p> +<div class="refsect3"> +<a name="cairo-set-fill-rule.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>fill_rule</p></td> +<td class="parameter_description"><p>a fill rule, specified as a <a class="link" href="cairo-cairo-t.html#cairo-fill-rule-t" title="enum cairo_fill_rule_t"><span class="type">cairo_fill_rule_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-fill-rule"></a><h3>cairo_get_fill_rule ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-t.html#cairo-fill-rule-t" title="enum cairo_fill_rule_t"><span class="returnvalue">cairo_fill_rule_t</span></a> +cairo_get_fill_rule (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the current fill rule, as set by <a class="link" href="cairo-cairo-t.html#cairo-set-fill-rule" title="cairo_set_fill_rule ()"><code class="function">cairo_set_fill_rule()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-fill-rule.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-fill-rule.returns"></a><h4>Returns</h4> +<p> the current fill rule.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-line-cap"></a><h3>cairo_set_line_cap ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_line_cap (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-line-cap-t" title="enum cairo_line_cap_t"><span class="type">cairo_line_cap_t</span></a> line_cap</code></em>);</pre> +<p>Sets the current line cap style within the cairo context. See +<a class="link" href="cairo-cairo-t.html#cairo-line-cap-t" title="enum cairo_line_cap_t"><span class="type">cairo_line_cap_t</span></a> for details about how the available line cap +styles are drawn.</p> +<p>As with the other stroke parameters, the current line cap style is +examined by <a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-stroke-extents" title="cairo_stroke_extents ()"><code class="function">cairo_stroke_extents()</code></a>, and +<code class="function">cairo_stroke_to_path()</code>, but does not have any effect during path +construction.</p> +<p>The default line cap style is <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-CAP-BUTT:CAPS"><code class="literal">CAIRO_LINE_CAP_BUTT</code></a>.</p> +<div class="refsect3"> +<a name="cairo-set-line-cap.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>line_cap</p></td> +<td class="parameter_description"><p>a line cap style</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-line-cap"></a><h3>cairo_get_line_cap ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-t.html#cairo-line-cap-t" title="enum cairo_line_cap_t"><span class="returnvalue">cairo_line_cap_t</span></a> +cairo_get_line_cap (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the current line cap style, as set by <a class="link" href="cairo-cairo-t.html#cairo-set-line-cap" title="cairo_set_line_cap ()"><code class="function">cairo_set_line_cap()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-line-cap.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-line-cap.returns"></a><h4>Returns</h4> +<p> the current line cap style.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-line-join"></a><h3>cairo_set_line_join ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_line_join (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-line-join-t" title="enum cairo_line_join_t"><span class="type">cairo_line_join_t</span></a> line_join</code></em>);</pre> +<p>Sets the current line join style within the cairo context. See +<a class="link" href="cairo-cairo-t.html#cairo-line-join-t" title="enum cairo_line_join_t"><span class="type">cairo_line_join_t</span></a> for details about how the available line join +styles are drawn.</p> +<p>As with the other stroke parameters, the current line join style is +examined by <a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-stroke-extents" title="cairo_stroke_extents ()"><code class="function">cairo_stroke_extents()</code></a>, and +<code class="function">cairo_stroke_to_path()</code>, but does not have any effect during path +construction.</p> +<p>The default line join style is <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-JOIN-MITER:CAPS"><code class="literal">CAIRO_LINE_JOIN_MITER</code></a>.</p> +<div class="refsect3"> +<a name="cairo-set-line-join.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>line_join</p></td> +<td class="parameter_description"><p>a line join style</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-line-join"></a><h3>cairo_get_line_join ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-t.html#cairo-line-join-t" title="enum cairo_line_join_t"><span class="returnvalue">cairo_line_join_t</span></a> +cairo_get_line_join (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the current line join style, as set by <a class="link" href="cairo-cairo-t.html#cairo-set-line-join" title="cairo_set_line_join ()"><code class="function">cairo_set_line_join()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-line-join.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-line-join.returns"></a><h4>Returns</h4> +<p> the current line join style.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-line-width"></a><h3>cairo_set_line_width ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_line_width (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> width</code></em>);</pre> +<p>Sets the current line width within the cairo context. The line +width value specifies the diameter of a pen that is circular in +user space, (though device-space pen may be an ellipse in general +due to scaling/shear/rotation of the CTM).</p> +<p>Note: When the description above refers to user space and CTM it +refers to the user space and CTM in effect at the time of the +stroking operation, not the user space and CTM in effect at the +time of the call to <a class="link" href="cairo-cairo-t.html#cairo-set-line-width" title="cairo_set_line_width ()"><code class="function">cairo_set_line_width()</code></a>. The simplest usage +makes both of these spaces identical. That is, if there is no +change to the CTM between a call to <a class="link" href="cairo-cairo-t.html#cairo-set-line-width" title="cairo_set_line_width ()"><code class="function">cairo_set_line_width()</code></a> and the +stroking operation, then one can just pass user-space values to +<a class="link" href="cairo-cairo-t.html#cairo-set-line-width" title="cairo_set_line_width ()"><code class="function">cairo_set_line_width()</code></a> and ignore this note.</p> +<p>As with the other stroke parameters, the current line width is +examined by <a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-stroke-extents" title="cairo_stroke_extents ()"><code class="function">cairo_stroke_extents()</code></a>, and +<code class="function">cairo_stroke_to_path()</code>, but does not have any effect during path +construction.</p> +<p>The default line width value is 2.0.</p> +<div class="refsect3"> +<a name="cairo-set-line-width.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>width</p></td> +<td class="parameter_description"><p>a line width</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-line-width"></a><h3>cairo_get_line_width ()</h3> +<pre class="programlisting"><span class="returnvalue">double</span> +cairo_get_line_width (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>This function returns the current line width value exactly as set by +<a class="link" href="cairo-cairo-t.html#cairo-set-line-width" title="cairo_set_line_width ()"><code class="function">cairo_set_line_width()</code></a>. Note that the value is unchanged even if +the CTM has changed between the calls to <a class="link" href="cairo-cairo-t.html#cairo-set-line-width" title="cairo_set_line_width ()"><code class="function">cairo_set_line_width()</code></a> and +<a class="link" href="cairo-cairo-t.html#cairo-get-line-width" title="cairo_get_line_width ()"><code class="function">cairo_get_line_width()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-line-width.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-line-width.returns"></a><h4>Returns</h4> +<p> the current line width.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-miter-limit"></a><h3>cairo_set_miter_limit ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_miter_limit (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> limit</code></em>);</pre> +<p>Sets the current miter limit within the cairo context.</p> +<p>If the current line join style is set to <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-JOIN-MITER:CAPS"><code class="literal">CAIRO_LINE_JOIN_MITER</code></a> +(see <a class="link" href="cairo-cairo-t.html#cairo-set-line-join" title="cairo_set_line_join ()"><code class="function">cairo_set_line_join()</code></a>), the miter limit is used to determine +whether the lines should be joined with a bevel instead of a miter. +Cairo divides the length of the miter by the line width. +If the result is greater than the miter limit, the style is +converted to a bevel.</p> +<p>As with the other stroke parameters, the current line miter limit is +examined by <a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-stroke-extents" title="cairo_stroke_extents ()"><code class="function">cairo_stroke_extents()</code></a>, and +<code class="function">cairo_stroke_to_path()</code>, but does not have any effect during path +construction.</p> +<p>The default miter limit value is 10.0, which will convert joins +with interior angles less than 11 degrees to bevels instead of +miters. For reference, a miter limit of 2.0 makes the miter cutoff +at 60 degrees, and a miter limit of 1.414 makes the cutoff at 90 +degrees.</p> +<p>A miter limit for a desired angle can be computed as: miter limit = +1/sin(angle/2)</p> +<div class="refsect3"> +<a name="cairo-set-miter-limit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>limit</p></td> +<td class="parameter_description"><p>miter limit to set</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-miter-limit"></a><h3>cairo_get_miter_limit ()</h3> +<pre class="programlisting"><span class="returnvalue">double</span> +cairo_get_miter_limit (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the current miter limit, as set by <a class="link" href="cairo-cairo-t.html#cairo-set-miter-limit" title="cairo_set_miter_limit ()"><code class="function">cairo_set_miter_limit()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-miter-limit.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-miter-limit.returns"></a><h4>Returns</h4> +<p> the current miter limit.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-operator"></a><h3>cairo_set_operator ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_operator (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-operator-t" title="enum cairo_operator_t"><span class="type">cairo_operator_t</span></a> op</code></em>);</pre> +<p>Sets the compositing operator to be used for all drawing +operations. See <a class="link" href="cairo-cairo-t.html#cairo-operator-t" title="enum cairo_operator_t"><span class="type">cairo_operator_t</span></a> for details on the semantics of +each available compositing operator.</p> +<p>The default operator is <a class="link" href="cairo-cairo-t.html#CAIRO-OPERATOR-OVER:CAPS"><code class="literal">CAIRO_OPERATOR_OVER</code></a>.</p> +<div class="refsect3"> +<a name="cairo-set-operator.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>op</p></td> +<td class="parameter_description"><p>a compositing operator, specified as a <a class="link" href="cairo-cairo-t.html#cairo-operator-t" title="enum cairo_operator_t"><span class="type">cairo_operator_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-operator"></a><h3>cairo_get_operator ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-t.html#cairo-operator-t" title="enum cairo_operator_t"><span class="returnvalue">cairo_operator_t</span></a> +cairo_get_operator (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the current compositing operator for a cairo context.</p> +<div class="refsect3"> +<a name="cairo-get-operator.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-operator.returns"></a><h4>Returns</h4> +<p> the current compositing operator.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-tolerance"></a><h3>cairo_set_tolerance ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_tolerance (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> tolerance</code></em>);</pre> +<p>Sets the tolerance used when converting paths into trapezoids. +Curved segments of the path will be subdivided until the maximum +deviation between the original path and the polygonal approximation +is less than <em class="parameter"><code>tolerance</code></em> +. The default value is 0.1. A larger +value will give better performance, a smaller value, better +appearance. (Reducing the value from the default value of 0.1 +is unlikely to improve appearance significantly.) The accuracy of paths +within Cairo is limited by the precision of its internal arithmetic, and +the prescribed <em class="parameter"><code>tolerance</code></em> + is restricted to the smallest +representable internal value.</p> +<div class="refsect3"> +<a name="cairo-set-tolerance.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>tolerance</p></td> +<td class="parameter_description"><p>the tolerance, in device units (typically pixels)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-tolerance"></a><h3>cairo_get_tolerance ()</h3> +<pre class="programlisting"><span class="returnvalue">double</span> +cairo_get_tolerance (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the current tolerance value, as set by <a class="link" href="cairo-cairo-t.html#cairo-set-tolerance" title="cairo_set_tolerance ()"><code class="function">cairo_set_tolerance()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-tolerance.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-tolerance.returns"></a><h4>Returns</h4> +<p> the current tolerance value.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-clip"></a><h3>cairo_clip ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_clip (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Establishes a new clip region by intersecting the current clip +region with the current path as it would be filled by <a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a> +and according to the current fill rule (see <a class="link" href="cairo-cairo-t.html#cairo-set-fill-rule" title="cairo_set_fill_rule ()"><code class="function">cairo_set_fill_rule()</code></a>).</p> +<p>After <a class="link" href="cairo-cairo-t.html#cairo-clip" title="cairo_clip ()"><code class="function">cairo_clip()</code></a>, the current path will be cleared from the cairo +context.</p> +<p>The current clip region affects all drawing operations by +effectively masking out any changes to the surface that are outside +the current clip region.</p> +<p>Calling <a class="link" href="cairo-cairo-t.html#cairo-clip" title="cairo_clip ()"><code class="function">cairo_clip()</code></a> can only make the clip region smaller, never +larger. But the current clip is part of the graphics state, so a +temporary restriction of the clip region can be achieved by +calling <a class="link" href="cairo-cairo-t.html#cairo-clip" title="cairo_clip ()"><code class="function">cairo_clip()</code></a> within a <a class="link" href="cairo-cairo-t.html#cairo-save" title="cairo_save ()"><code class="function">cairo_save()</code></a>/<a class="link" href="cairo-cairo-t.html#cairo-restore" title="cairo_restore ()"><code class="function">cairo_restore()</code></a> +pair. The only other means of increasing the size of the clip +region is <a class="link" href="cairo-cairo-t.html#cairo-reset-clip" title="cairo_reset_clip ()"><code class="function">cairo_reset_clip()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-clip.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-clip-preserve"></a><h3>cairo_clip_preserve ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_clip_preserve (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Establishes a new clip region by intersecting the current clip +region with the current path as it would be filled by <a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a> +and according to the current fill rule (see <a class="link" href="cairo-cairo-t.html#cairo-set-fill-rule" title="cairo_set_fill_rule ()"><code class="function">cairo_set_fill_rule()</code></a>).</p> +<p>Unlike <a class="link" href="cairo-cairo-t.html#cairo-clip" title="cairo_clip ()"><code class="function">cairo_clip()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-clip-preserve" title="cairo_clip_preserve ()"><code class="function">cairo_clip_preserve()</code></a> preserves the path within +the cairo context.</p> +<p>The current clip region affects all drawing operations by +effectively masking out any changes to the surface that are outside +the current clip region.</p> +<p>Calling <a class="link" href="cairo-cairo-t.html#cairo-clip-preserve" title="cairo_clip_preserve ()"><code class="function">cairo_clip_preserve()</code></a> can only make the clip region smaller, never +larger. But the current clip is part of the graphics state, so a +temporary restriction of the clip region can be achieved by +calling <a class="link" href="cairo-cairo-t.html#cairo-clip-preserve" title="cairo_clip_preserve ()"><code class="function">cairo_clip_preserve()</code></a> within a <a class="link" href="cairo-cairo-t.html#cairo-save" title="cairo_save ()"><code class="function">cairo_save()</code></a>/<a class="link" href="cairo-cairo-t.html#cairo-restore" title="cairo_restore ()"><code class="function">cairo_restore()</code></a> +pair. The only other means of increasing the size of the clip +region is <a class="link" href="cairo-cairo-t.html#cairo-reset-clip" title="cairo_reset_clip ()"><code class="function">cairo_reset_clip()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-clip-preserve.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-clip-extents"></a><h3>cairo_clip_extents ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_clip_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> *x1</code></em>, + <em class="parameter"><code><span class="type">double</span> *y1</code></em>, + <em class="parameter"><code><span class="type">double</span> *x2</code></em>, + <em class="parameter"><code><span class="type">double</span> *y2</code></em>);</pre> +<p>Computes a bounding box in user coordinates covering the area inside the +current clip.</p> +<div class="refsect3"> +<a name="cairo-clip-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x1</p></td> +<td class="parameter_description"><p>left of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y1</p></td> +<td class="parameter_description"><p>top of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x2</p></td> +<td class="parameter_description"><p>right of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y2</p></td> +<td class="parameter_description"><p>bottom of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-in-clip"></a><h3>cairo_in_clip ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +cairo_in_clip (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> x</code></em>, + <em class="parameter"><code><span class="type">double</span> y</code></em>);</pre> +<p>Tests whether the given point is inside the area that would be +visible through the current clip, i.e. the area that would be filled by +a <a class="link" href="cairo-cairo-t.html#cairo-paint" title="cairo_paint ()"><code class="function">cairo_paint()</code></a> operation.</p> +<p>See <a class="link" href="cairo-cairo-t.html#cairo-clip" title="cairo_clip ()"><code class="function">cairo_clip()</code></a>, and <a class="link" href="cairo-cairo-t.html#cairo-clip-preserve" title="cairo_clip_preserve ()"><code class="function">cairo_clip_preserve()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-in-clip.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>X coordinate of the point to test</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>Y coordinate of the point to test</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-in-clip.returns"></a><h4>Returns</h4> +<p> A non-zero value if the point is inside, or zero if +outside.</p> +</div> +<p class="since">Since: 1.10</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-reset-clip"></a><h3>cairo_reset_clip ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_reset_clip (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Reset the current clip region to its original, unrestricted +state. That is, set the clip region to an infinitely large shape +containing the target surface. Equivalently, if infinity is too +hard to grasp, one can imagine the clip region being reset to the +exact bounds of the target surface.</p> +<p>Note that code meant to be reusable should not call +<a class="link" href="cairo-cairo-t.html#cairo-reset-clip" title="cairo_reset_clip ()"><code class="function">cairo_reset_clip()</code></a> as it will cause results unexpected by +higher-level code which calls <a class="link" href="cairo-cairo-t.html#cairo-clip" title="cairo_clip ()"><code class="function">cairo_clip()</code></a>. Consider using +<a class="link" href="cairo-cairo-t.html#cairo-save" title="cairo_save ()"><code class="function">cairo_save()</code></a> and <a class="link" href="cairo-cairo-t.html#cairo-restore" title="cairo_restore ()"><code class="function">cairo_restore()</code></a> around <a class="link" href="cairo-cairo-t.html#cairo-clip" title="cairo_clip ()"><code class="function">cairo_clip()</code></a> as a more +robust means of temporarily restricting the clip region.</p> +<div class="refsect3"> +<a name="cairo-reset-clip.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-rectangle-list-destroy"></a><h3>cairo_rectangle_list_destroy ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_rectangle_list_destroy (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-rectangle-list-t" title="cairo_rectangle_list_t"><span class="type">cairo_rectangle_list_t</span></a> *rectangle_list</code></em>);</pre> +<p>Unconditionally frees <em class="parameter"><code>rectangle_list</code></em> + and all associated +references. After this call, the <em class="parameter"><code>rectangle_list</code></em> + pointer must not +be dereferenced.</p> +<div class="refsect3"> +<a name="cairo-rectangle-list-destroy.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>rectangle_list</p></td> +<td class="parameter_description"><p>a rectangle list, as obtained from <a class="link" href="cairo-cairo-t.html#cairo-copy-clip-rectangle-list" title="cairo_copy_clip_rectangle_list ()"><code class="function">cairo_copy_clip_rectangle_list()</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-copy-clip-rectangle-list"></a><h3>cairo_copy_clip_rectangle_list ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-t.html#cairo-rectangle-list-t" title="cairo_rectangle_list_t"><span class="returnvalue">cairo_rectangle_list_t</span></a> * +cairo_copy_clip_rectangle_list (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the current clip region as a list of rectangles in user coordinates. +Never returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +<p>The status in the list may be <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-CLIP-NOT-REPRESENTABLE:CAPS"><code class="literal">CAIRO_STATUS_CLIP_NOT_REPRESENTABLE</code></a> to +indicate that the clip region cannot be represented as a list of +user-space rectangles. The status may have other values to indicate +other errors.</p> +<div class="refsect3"> +<a name="cairo-copy-clip-rectangle-list.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-copy-clip-rectangle-list.returns"></a><h4>Returns</h4> +<p> the current clip region as a list of rectangles in user coordinates, +which should be destroyed using <a class="link" href="cairo-cairo-t.html#cairo-rectangle-list-destroy" title="cairo_rectangle_list_destroy ()"><code class="function">cairo_rectangle_list_destroy()</code></a>.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-fill"></a><h3>cairo_fill ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_fill (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>A drawing operator that fills the current path according to the +current fill rule, (each sub-path is implicitly closed before being +filled). After <a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a>, the current path will be cleared from +the cairo context. See <a class="link" href="cairo-cairo-t.html#cairo-set-fill-rule" title="cairo_set_fill_rule ()"><code class="function">cairo_set_fill_rule()</code></a> and +<a class="link" href="cairo-cairo-t.html#cairo-fill-preserve" title="cairo_fill_preserve ()"><code class="function">cairo_fill_preserve()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-fill.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-fill-preserve"></a><h3>cairo_fill_preserve ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_fill_preserve (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>A drawing operator that fills the current path according to the +current fill rule, (each sub-path is implicitly closed before being +filled). Unlike <a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-fill-preserve" title="cairo_fill_preserve ()"><code class="function">cairo_fill_preserve()</code></a> preserves the +path within the cairo context.</p> +<p>See <a class="link" href="cairo-cairo-t.html#cairo-set-fill-rule" title="cairo_set_fill_rule ()"><code class="function">cairo_set_fill_rule()</code></a> and <a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-fill-preserve.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-fill-extents"></a><h3>cairo_fill_extents ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_fill_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> *x1</code></em>, + <em class="parameter"><code><span class="type">double</span> *y1</code></em>, + <em class="parameter"><code><span class="type">double</span> *x2</code></em>, + <em class="parameter"><code><span class="type">double</span> *y2</code></em>);</pre> +<p>Computes a bounding box in user coordinates covering the area that +would be affected, (the "inked" area), by a <a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a> operation +given the current path and fill parameters. If the current path is +empty, returns an empty rectangle ((0,0), (0,0)). Surface +dimensions and clipping are not taken into account.</p> +<p>Contrast with <a class="link" href="cairo-Paths.html#cairo-path-extents" title="cairo_path_extents ()"><code class="function">cairo_path_extents()</code></a>, which is similar, but returns +non-zero extents for some paths with no inked area, (such as a +simple line segment).</p> +<p>Note that <a class="link" href="cairo-cairo-t.html#cairo-fill-extents" title="cairo_fill_extents ()"><code class="function">cairo_fill_extents()</code></a> must necessarily do more work to +compute the precise inked areas in light of the fill rule, so +<a class="link" href="cairo-Paths.html#cairo-path-extents" title="cairo_path_extents ()"><code class="function">cairo_path_extents()</code></a> may be more desirable for sake of performance +if the non-inked path extents are desired.</p> +<p>See <a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-set-fill-rule" title="cairo_set_fill_rule ()"><code class="function">cairo_set_fill_rule()</code></a> and <a class="link" href="cairo-cairo-t.html#cairo-fill-preserve" title="cairo_fill_preserve ()"><code class="function">cairo_fill_preserve()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-fill-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x1</p></td> +<td class="parameter_description"><p>left of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y1</p></td> +<td class="parameter_description"><p>top of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x2</p></td> +<td class="parameter_description"><p>right of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y2</p></td> +<td class="parameter_description"><p>bottom of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-in-fill"></a><h3>cairo_in_fill ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +cairo_in_fill (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> x</code></em>, + <em class="parameter"><code><span class="type">double</span> y</code></em>);</pre> +<p>Tests whether the given point is inside the area that would be +affected by a <a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a> operation given the current path and +filling parameters. Surface dimensions and clipping are not taken +into account.</p> +<p>See <a class="link" href="cairo-cairo-t.html#cairo-fill" title="cairo_fill ()"><code class="function">cairo_fill()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-set-fill-rule" title="cairo_set_fill_rule ()"><code class="function">cairo_set_fill_rule()</code></a> and <a class="link" href="cairo-cairo-t.html#cairo-fill-preserve" title="cairo_fill_preserve ()"><code class="function">cairo_fill_preserve()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-in-fill.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>X coordinate of the point to test</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>Y coordinate of the point to test</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-in-fill.returns"></a><h4>Returns</h4> +<p> A non-zero value if the point is inside, or zero if +outside.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mask"></a><h3>cairo_mask ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_mask (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a> *pattern</code></em>);</pre> +<p>A drawing operator that paints the current source +using the alpha channel of <em class="parameter"><code>pattern</code></em> + as a mask. (Opaque +areas of <em class="parameter"><code>pattern</code></em> + are painted with the source, transparent +areas are not painted.)</p> +<div class="refsect3"> +<a name="cairo-mask.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>pattern</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-pattern-t.html#cairo-pattern-t" title="cairo_pattern_t"><span class="type">cairo_pattern_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-mask-surface"></a><h3>cairo_mask_surface ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_mask_surface (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a> *surface</code></em>, + <em class="parameter"><code><span class="type">double</span> surface_x</code></em>, + <em class="parameter"><code><span class="type">double</span> surface_y</code></em>);</pre> +<p>A drawing operator that paints the current source +using the alpha channel of <em class="parameter"><code>surface</code></em> + as a mask. (Opaque +areas of <em class="parameter"><code>surface</code></em> + are painted with the source, transparent +areas are not painted.)</p> +<div class="refsect3"> +<a name="cairo-mask-surface.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>surface</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>surface_x</p></td> +<td class="parameter_description"><p>X coordinate at which to place the origin of <em class="parameter"><code>surface</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>surface_y</p></td> +<td class="parameter_description"><p>Y coordinate at which to place the origin of <em class="parameter"><code>surface</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-paint"></a><h3>cairo_paint ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_paint (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>A drawing operator that paints the current source everywhere within +the current clip region.</p> +<div class="refsect3"> +<a name="cairo-paint.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-paint-with-alpha"></a><h3>cairo_paint_with_alpha ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_paint_with_alpha (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> alpha</code></em>);</pre> +<p>A drawing operator that paints the current source everywhere within +the current clip region using a mask of constant alpha value +<em class="parameter"><code>alpha</code></em> +. The effect is similar to <a class="link" href="cairo-cairo-t.html#cairo-paint" title="cairo_paint ()"><code class="function">cairo_paint()</code></a>, but the drawing +is faded out using the alpha value.</p> +<div class="refsect3"> +<a name="cairo-paint-with-alpha.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>alpha</p></td> +<td class="parameter_description"><p>alpha value, between 0 (transparent) and 1 (opaque)</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-stroke"></a><h3>cairo_stroke ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_stroke (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>A drawing operator that strokes the current path according to the +current line width, line join, line cap, and dash settings. After +<a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a>, the current path will be cleared from the cairo +context. See <a class="link" href="cairo-cairo-t.html#cairo-set-line-width" title="cairo_set_line_width ()"><code class="function">cairo_set_line_width()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-set-line-join" title="cairo_set_line_join ()"><code class="function">cairo_set_line_join()</code></a>, +<a class="link" href="cairo-cairo-t.html#cairo-set-line-cap" title="cairo_set_line_cap ()"><code class="function">cairo_set_line_cap()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-set-dash" title="cairo_set_dash ()"><code class="function">cairo_set_dash()</code></a>, and +<a class="link" href="cairo-cairo-t.html#cairo-stroke-preserve" title="cairo_stroke_preserve ()"><code class="function">cairo_stroke_preserve()</code></a>.</p> +<p>Note: Degenerate segments and sub-paths are treated specially and +provide a useful result. These can result in two different +situations:</p> +<div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"><p>Zero-length "on" segments set in <a class="link" href="cairo-cairo-t.html#cairo-set-dash" title="cairo_set_dash ()"><code class="function">cairo_set_dash()</code></a>. If the cap +style is <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-CAP-ROUND:CAPS"><code class="literal">CAIRO_LINE_CAP_ROUND</code></a> or <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-CAP-SQUARE:CAPS"><code class="literal">CAIRO_LINE_CAP_SQUARE</code></a> then these +segments will be drawn as circular dots or squares respectively. In +the case of <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-CAP-SQUARE:CAPS"><code class="literal">CAIRO_LINE_CAP_SQUARE</code></a>, the orientation of the squares +is determined by the direction of the underlying path.</p></li> +<li class="listitem"><p>A sub-path created by <a class="link" href="cairo-Paths.html#cairo-move-to" title="cairo_move_to ()"><code class="function">cairo_move_to()</code></a> followed by either a +<a class="link" href="cairo-Paths.html#cairo-close-path" title="cairo_close_path ()"><code class="function">cairo_close_path()</code></a> or one or more calls to <a class="link" href="cairo-Paths.html#cairo-line-to" title="cairo_line_to ()"><code class="function">cairo_line_to()</code></a> to the +same coordinate as the <a class="link" href="cairo-Paths.html#cairo-move-to" title="cairo_move_to ()"><code class="function">cairo_move_to()</code></a>. If the cap style is +<a class="link" href="cairo-cairo-t.html#CAIRO-LINE-CAP-ROUND:CAPS"><code class="literal">CAIRO_LINE_CAP_ROUND</code></a> then these sub-paths will be drawn as circular +dots. Note that in the case of <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-CAP-SQUARE:CAPS"><code class="literal">CAIRO_LINE_CAP_SQUARE</code></a> a degenerate +sub-path will not be drawn at all, (since the correct orientation +is indeterminate).</p></li> +</ol></div> +<p>In no case will a cap style of <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-CAP-BUTT:CAPS"><code class="literal">CAIRO_LINE_CAP_BUTT</code></a> cause anything +to be drawn in the case of either degenerate segments or sub-paths.</p> +<div class="refsect3"> +<a name="cairo-stroke.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-stroke-preserve"></a><h3>cairo_stroke_preserve ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_stroke_preserve (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>A drawing operator that strokes the current path according to the +current line width, line join, line cap, and dash settings. Unlike +<a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-stroke-preserve" title="cairo_stroke_preserve ()"><code class="function">cairo_stroke_preserve()</code></a> preserves the path within the +cairo context.</p> +<p>See <a class="link" href="cairo-cairo-t.html#cairo-set-line-width" title="cairo_set_line_width ()"><code class="function">cairo_set_line_width()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-set-line-join" title="cairo_set_line_join ()"><code class="function">cairo_set_line_join()</code></a>, +<a class="link" href="cairo-cairo-t.html#cairo-set-line-cap" title="cairo_set_line_cap ()"><code class="function">cairo_set_line_cap()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-set-dash" title="cairo_set_dash ()"><code class="function">cairo_set_dash()</code></a>, and +<a class="link" href="cairo-cairo-t.html#cairo-stroke-preserve" title="cairo_stroke_preserve ()"><code class="function">cairo_stroke_preserve()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-stroke-preserve.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-stroke-extents"></a><h3>cairo_stroke_extents ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_stroke_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> *x1</code></em>, + <em class="parameter"><code><span class="type">double</span> *y1</code></em>, + <em class="parameter"><code><span class="type">double</span> *x2</code></em>, + <em class="parameter"><code><span class="type">double</span> *y2</code></em>);</pre> +<p>Computes a bounding box in user coordinates covering the area that +would be affected, (the "inked" area), by a <a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a> +operation given the current path and stroke parameters. +If the current path is empty, returns an empty rectangle ((0,0), (0,0)). +Surface dimensions and clipping are not taken into account.</p> +<p>Note that if the line width is set to exactly zero, then +<a class="link" href="cairo-cairo-t.html#cairo-stroke-extents" title="cairo_stroke_extents ()"><code class="function">cairo_stroke_extents()</code></a> will return an empty rectangle. Contrast with +<a class="link" href="cairo-Paths.html#cairo-path-extents" title="cairo_path_extents ()"><code class="function">cairo_path_extents()</code></a> which can be used to compute the non-empty +bounds as the line width approaches zero.</p> +<p>Note that <a class="link" href="cairo-cairo-t.html#cairo-stroke-extents" title="cairo_stroke_extents ()"><code class="function">cairo_stroke_extents()</code></a> must necessarily do more work to +compute the precise inked areas in light of the stroke parameters, +so <a class="link" href="cairo-Paths.html#cairo-path-extents" title="cairo_path_extents ()"><code class="function">cairo_path_extents()</code></a> may be more desirable for sake of +performance if non-inked path extents are desired.</p> +<p>See <a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-set-line-width" title="cairo_set_line_width ()"><code class="function">cairo_set_line_width()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-set-line-join" title="cairo_set_line_join ()"><code class="function">cairo_set_line_join()</code></a>, +<a class="link" href="cairo-cairo-t.html#cairo-set-line-cap" title="cairo_set_line_cap ()"><code class="function">cairo_set_line_cap()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-set-dash" title="cairo_set_dash ()"><code class="function">cairo_set_dash()</code></a>, and +<a class="link" href="cairo-cairo-t.html#cairo-stroke-preserve" title="cairo_stroke_preserve ()"><code class="function">cairo_stroke_preserve()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-stroke-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x1</p></td> +<td class="parameter_description"><p>left of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y1</p></td> +<td class="parameter_description"><p>top of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x2</p></td> +<td class="parameter_description"><p>right of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y2</p></td> +<td class="parameter_description"><p>bottom of the resulting extents</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-in-stroke"></a><h3>cairo_in_stroke ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Types.html#cairo-bool-t" title="cairo_bool_t"><span class="returnvalue">cairo_bool_t</span></a> +cairo_in_stroke (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> x</code></em>, + <em class="parameter"><code><span class="type">double</span> y</code></em>);</pre> +<p>Tests whether the given point is inside the area that would be +affected by a <a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a> operation given the current path and +stroking parameters. Surface dimensions and clipping are not taken +into account.</p> +<p>See <a class="link" href="cairo-cairo-t.html#cairo-stroke" title="cairo_stroke ()"><code class="function">cairo_stroke()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-set-line-width" title="cairo_set_line_width ()"><code class="function">cairo_set_line_width()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-set-line-join" title="cairo_set_line_join ()"><code class="function">cairo_set_line_join()</code></a>, +<a class="link" href="cairo-cairo-t.html#cairo-set-line-cap" title="cairo_set_line_cap ()"><code class="function">cairo_set_line_cap()</code></a>, <a class="link" href="cairo-cairo-t.html#cairo-set-dash" title="cairo_set_dash ()"><code class="function">cairo_set_dash()</code></a>, and +<a class="link" href="cairo-cairo-t.html#cairo-stroke-preserve" title="cairo_stroke_preserve ()"><code class="function">cairo_stroke_preserve()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-in-stroke.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>X coordinate of the point to test</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>Y coordinate of the point to test</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-in-stroke.returns"></a><h4>Returns</h4> +<p> A non-zero value if the point is inside, or zero if +outside.</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-copy-page"></a><h3>cairo_copy_page ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_copy_page (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Emits the current page for backends that support multiple pages, but +doesn't clear it, so, the contents of the current page will be retained +for the next page too. Use <a class="link" href="cairo-cairo-t.html#cairo-show-page" title="cairo_show_page ()"><code class="function">cairo_show_page()</code></a> if you want to get an +empty page after the emission.</p> +<p>This is a convenience function that simply calls +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-copy-page" title="cairo_surface_copy_page ()"><code class="function">cairo_surface_copy_page()</code></a> on <em class="parameter"><code>cr</code></em> +'s target.</p> +<div class="refsect3"> +<a name="cairo-copy-page.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-show-page"></a><h3>cairo_show_page ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_show_page (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Emits and clears the current page for backends that support multiple +pages. Use <a class="link" href="cairo-cairo-t.html#cairo-copy-page" title="cairo_copy_page ()"><code class="function">cairo_copy_page()</code></a> if you don't want to clear the page.</p> +<p>This is a convenience function that simply calls +<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-show-page" title="cairo_surface_show_page ()"><code class="function">cairo_surface_show_page()</code></a> on <em class="parameter"><code>cr</code></em> +'s target.</p> +<div class="refsect3"> +<a name="cairo-show-page.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-reference-count"></a><h3>cairo_get_reference_count ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +cairo_get_reference_count (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Returns the current reference count of <em class="parameter"><code>cr</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-get-reference-count.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-reference-count.returns"></a><h4>Returns</h4> +<p> the current reference count of <em class="parameter"><code>cr</code></em> +. If the +object is a nil object, 0 will be returned.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-user-data"></a><h3>cairo_set_user_data ()</h3> +<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> +cairo_set_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>, + <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, + <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>);</pre> +<p>Attach user data to <em class="parameter"><code>cr</code></em> +. To remove user data from a surface, +call this function with the key that was used to set it and <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> +for <em class="parameter"><code>data</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-set-user-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the address of a <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> to attach the user data to</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>user_data</p></td> +<td class="parameter_description"><p>the user data to attach to the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>destroy</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> which will be called when the +<a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> is destroyed or when new user data is attached using the +same key.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-set-user-data.returns"></a><h4>Returns</h4> +<p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a +slot could not be allocated for the user data.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-user-data"></a><h3>cairo_get_user_data ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> * +cairo_get_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>);</pre> +<p>Return user data previously attached to <em class="parameter"><code>cr</code></em> + using the specified +key. If no user data has been attached with the given key this +function returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-user-data.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>key</p></td> +<td class="parameter_description"><p>the address of the <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> the user data was +attached to</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-user-data.returns"></a><h4>Returns</h4> +<p> the user data previously attached or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p> +</div> +<p class="since">Since: 1.4</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-t.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="cairo-t"></a><h3>cairo_t</h3> +<pre class="programlisting">typedef struct _cairo cairo_t; +</pre> +<p>A <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> contains the current state of the rendering device, +including coordinates of yet to be drawn shapes.</p> +<p>Cairo contexts, as <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> objects are named, are central to +cairo and all drawing with cairo is always done to a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> +object.</p> +<p>Memory management of <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> is done with +<a class="link" href="cairo-cairo-t.html#cairo-reference" title="cairo_reference ()"><code class="function">cairo_reference()</code></a> and <a class="link" href="cairo-cairo-t.html#cairo-destroy" title="cairo_destroy ()"><code class="function">cairo_destroy()</code></a>.</p> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-antialias-t"></a><h3>enum cairo_antialias_t</h3> +<p>Specifies the type of antialiasing to do when rendering text or shapes.</p> +<p>As it is not necessarily clear from the above what advantages a particular +antialias method provides, since 1.12, there is also a set of hints: +<em class="parameter"><code>CAIRO_ANTIALIAS_FAST</code></em> +: Allow the backend to degrade raster quality for speed +<em class="parameter"><code>CAIRO_ANTIALIAS_GOOD</code></em> +: A balance between speed and quality +<em class="parameter"><code>CAIRO_ANTIALIAS_BEST</code></em> +: A high-fidelity, but potentially slow, raster mode</p> +<p>These make no guarantee on how the backend will perform its rasterisation +(if it even rasterises!), nor that they have any differing effect other +than to enable some form of antialiasing. In the case of glyph rendering, +<em class="parameter"><code>CAIRO_ANTIALIAS_FAST</code></em> + and <em class="parameter"><code>CAIRO_ANTIALIAS_GOOD</code></em> + will be mapped to +<em class="parameter"><code>CAIRO_ANTIALIAS_GRAY</code></em> +, with <em class="parameter"><code>CAIRO_ANTALIAS_BEST</code></em> + being equivalent to +<em class="parameter"><code>CAIRO_ANTIALIAS_SUBPIXEL</code></em> +.</p> +<p>The interpretation of <em class="parameter"><code>CAIRO_ANTIALIAS_DEFAULT</code></em> + is left entirely up to +the backend, typically this will be similar to <em class="parameter"><code>CAIRO_ANTIALIAS_GOOD</code></em> +.</p> +<div class="refsect3"> +<a name="cairo-antialias-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-ANTIALIAS-DEFAULT:CAPS"></a>CAIRO_ANTIALIAS_DEFAULT</p></td> +<td class="enum_member_description"> +<p>Use the default antialiasing for + the subsystem and target device, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-ANTIALIAS-NONE:CAPS"></a>CAIRO_ANTIALIAS_NONE</p></td> +<td class="enum_member_description"> +<p>Use a bilevel alpha mask, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-ANTIALIAS-GRAY:CAPS"></a>CAIRO_ANTIALIAS_GRAY</p></td> +<td class="enum_member_description"> +<p>Perform single-color antialiasing (using + shades of gray for black text on a white background, for example), since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-ANTIALIAS-SUBPIXEL:CAPS"></a>CAIRO_ANTIALIAS_SUBPIXEL</p></td> +<td class="enum_member_description"> +<p>Perform antialiasing by taking + advantage of the order of subpixel elements on devices + such as LCD panels, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-ANTIALIAS-FAST:CAPS"></a>CAIRO_ANTIALIAS_FAST</p></td> +<td class="enum_member_description"> +<p>Hint that the backend should perform some +antialiasing but prefer speed over quality, since 1.12</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-ANTIALIAS-GOOD:CAPS"></a>CAIRO_ANTIALIAS_GOOD</p></td> +<td class="enum_member_description"> +<p>The backend should balance quality against +performance, since 1.12</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-ANTIALIAS-BEST:CAPS"></a>CAIRO_ANTIALIAS_BEST</p></td> +<td class="enum_member_description"> +<p>Hint that the backend should render at the highest +quality, sacrificing speed if necessary, since 1.12</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-fill-rule-t"></a><h3>enum cairo_fill_rule_t</h3> +<p><a class="link" href="cairo-cairo-t.html#cairo-fill-rule-t" title="enum cairo_fill_rule_t"><span class="type">cairo_fill_rule_t</span></a> is used to select how paths are filled. For both +fill rules, whether or not a point is included in the fill is +determined by taking a ray from that point to infinity and looking +at intersections with the path. The ray can be in any direction, +as long as it doesn't pass through the end point of a segment +or have a tricky intersection such as intersecting tangent to the path. +(Note that filling is not actually implemented in this way. This +is just a description of the rule that is applied.)</p> +<p>The default fill rule is <a class="link" href="cairo-cairo-t.html#CAIRO-FILL-RULE-WINDING:CAPS"><code class="literal">CAIRO_FILL_RULE_WINDING</code></a>.</p> +<p>New entries may be added in future versions.</p> +<div class="refsect3"> +<a name="cairo-fill-rule-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FILL-RULE-WINDING:CAPS"></a>CAIRO_FILL_RULE_WINDING</p></td> +<td class="enum_member_description"> +<p>If the path crosses the ray from +left-to-right, counts +1. If the path crosses the ray +from right to left, counts -1. (Left and right are determined +from the perspective of looking along the ray from the starting +point.) If the total count is non-zero, the point will be filled. (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FILL-RULE-EVEN-ODD:CAPS"></a>CAIRO_FILL_RULE_EVEN_ODD</p></td> +<td class="enum_member_description"> +<p>Counts the total number of +intersections, without regard to the orientation of the contour. If +the total number of intersections is odd, the point will be +filled. (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-line-cap-t"></a><h3>enum cairo_line_cap_t</h3> +<p>Specifies how to render the endpoints of the path when stroking.</p> +<p>The default line cap style is <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-CAP-BUTT:CAPS"><code class="literal">CAIRO_LINE_CAP_BUTT</code></a>.</p> +<div class="refsect3"> +<a name="cairo-line-cap-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-LINE-CAP-BUTT:CAPS"></a>CAIRO_LINE_CAP_BUTT</p></td> +<td class="enum_member_description"> +<p>start(stop) the line exactly at the start(end) point (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-LINE-CAP-ROUND:CAPS"></a>CAIRO_LINE_CAP_ROUND</p></td> +<td class="enum_member_description"> +<p>use a round ending, the center of the circle is the end point (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-LINE-CAP-SQUARE:CAPS"></a>CAIRO_LINE_CAP_SQUARE</p></td> +<td class="enum_member_description"> +<p>use squared ending, the center of the square is the end point (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-line-join-t"></a><h3>enum cairo_line_join_t</h3> +<p>Specifies how to render the junction of two lines when stroking.</p> +<p>The default line join style is <a class="link" href="cairo-cairo-t.html#CAIRO-LINE-JOIN-MITER:CAPS"><code class="literal">CAIRO_LINE_JOIN_MITER</code></a>.</p> +<div class="refsect3"> +<a name="cairo-line-join-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-LINE-JOIN-MITER:CAPS"></a>CAIRO_LINE_JOIN_MITER</p></td> +<td class="enum_member_description"> +<p>use a sharp (angled) corner, see +<a class="link" href="cairo-cairo-t.html#cairo-set-miter-limit" title="cairo_set_miter_limit ()"><code class="function">cairo_set_miter_limit()</code></a> (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-LINE-JOIN-ROUND:CAPS"></a>CAIRO_LINE_JOIN_ROUND</p></td> +<td class="enum_member_description"> +<p>use a rounded join, the center of the circle is the +joint point (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-LINE-JOIN-BEVEL:CAPS"></a>CAIRO_LINE_JOIN_BEVEL</p></td> +<td class="enum_member_description"> +<p>use a cut-off join, the join is cut off at half +the line width from the joint point (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-operator-t"></a><h3>enum cairo_operator_t</h3> +<p><a class="link" href="cairo-cairo-t.html#cairo-operator-t" title="enum cairo_operator_t"><span class="type">cairo_operator_t</span></a> is used to set the compositing operator for all cairo +drawing operations.</p> +<p>The default operator is <a class="link" href="cairo-cairo-t.html#CAIRO-OPERATOR-OVER:CAPS"><code class="literal">CAIRO_OPERATOR_OVER</code></a>.</p> +<p>The operators marked as <em class="firstterm">unbounded</em> modify their +destination even outside of the mask layer (that is, their effect is not +bound by the mask layer). However, their effect can still be limited by +way of clipping.</p> +<p>To keep things simple, the operator descriptions here +document the behavior for when both source and destination are either fully +transparent or fully opaque. The actual implementation works for +translucent layers too. +For a more detailed explanation of the effects of each operator, including +the mathematical definitions, see</p> +<a class="ulink" href="https://cairographics.org/operators/" target="_top">https://cairographics.org/operators/</a>. +<div class="refsect3"> +<a name="cairo-operator-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-CLEAR:CAPS"></a>CAIRO_OPERATOR_CLEAR</p></td> +<td class="enum_member_description"> +<p>clear destination layer (bounded) (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-SOURCE:CAPS"></a>CAIRO_OPERATOR_SOURCE</p></td> +<td class="enum_member_description"> +<p>replace destination layer (bounded) (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-OVER:CAPS"></a>CAIRO_OPERATOR_OVER</p></td> +<td class="enum_member_description"> +<p>draw source layer on top of destination layer +(bounded) (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-IN:CAPS"></a>CAIRO_OPERATOR_IN</p></td> +<td class="enum_member_description"> +<p>draw source where there was destination content +(unbounded) (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-OUT:CAPS"></a>CAIRO_OPERATOR_OUT</p></td> +<td class="enum_member_description"> +<p>draw source where there was no destination +content (unbounded) (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-ATOP:CAPS"></a>CAIRO_OPERATOR_ATOP</p></td> +<td class="enum_member_description"> +<p>draw source on top of destination content and +only there (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-DEST:CAPS"></a>CAIRO_OPERATOR_DEST</p></td> +<td class="enum_member_description"> +<p>ignore the source (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-DEST-OVER:CAPS"></a>CAIRO_OPERATOR_DEST_OVER</p></td> +<td class="enum_member_description"> +<p>draw destination on top of source (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-DEST-IN:CAPS"></a>CAIRO_OPERATOR_DEST_IN</p></td> +<td class="enum_member_description"> +<p>leave destination only where there was +source content (unbounded) (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-DEST-OUT:CAPS"></a>CAIRO_OPERATOR_DEST_OUT</p></td> +<td class="enum_member_description"> +<p>leave destination only where there was no +source content (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-DEST-ATOP:CAPS"></a>CAIRO_OPERATOR_DEST_ATOP</p></td> +<td class="enum_member_description"> +<p>leave destination on top of source content +and only there (unbounded) (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-XOR:CAPS"></a>CAIRO_OPERATOR_XOR</p></td> +<td class="enum_member_description"> +<p>source and destination are shown where there is only +one of them (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-ADD:CAPS"></a>CAIRO_OPERATOR_ADD</p></td> +<td class="enum_member_description"> +<p>source and destination layers are accumulated (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-SATURATE:CAPS"></a>CAIRO_OPERATOR_SATURATE</p></td> +<td class="enum_member_description"> +<p>like over, but assuming source and dest are +disjoint geometries (Since 1.0)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-MULTIPLY:CAPS"></a>CAIRO_OPERATOR_MULTIPLY</p></td> +<td class="enum_member_description"> +<p>source and destination layers are multiplied. +This causes the result to be at least as dark as the darker inputs. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-SCREEN:CAPS"></a>CAIRO_OPERATOR_SCREEN</p></td> +<td class="enum_member_description"> +<p>source and destination are complemented and +multiplied. This causes the result to be at least as light as the lighter +inputs. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-OVERLAY:CAPS"></a>CAIRO_OPERATOR_OVERLAY</p></td> +<td class="enum_member_description"> +<p>multiplies or screens, depending on the +lightness of the destination color. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-DARKEN:CAPS"></a>CAIRO_OPERATOR_DARKEN</p></td> +<td class="enum_member_description"> +<p>replaces the destination with the source if it +is darker, otherwise keeps the source. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-LIGHTEN:CAPS"></a>CAIRO_OPERATOR_LIGHTEN</p></td> +<td class="enum_member_description"> +<p>replaces the destination with the source if it +is lighter, otherwise keeps the source. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-COLOR-DODGE:CAPS"></a>CAIRO_OPERATOR_COLOR_DODGE</p></td> +<td class="enum_member_description"> +<p>brightens the destination color to reflect +the source color. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-COLOR-BURN:CAPS"></a>CAIRO_OPERATOR_COLOR_BURN</p></td> +<td class="enum_member_description"> +<p>darkens the destination color to reflect +the source color. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-HARD-LIGHT:CAPS"></a>CAIRO_OPERATOR_HARD_LIGHT</p></td> +<td class="enum_member_description"> +<p>Multiplies or screens, dependent on source +color. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-SOFT-LIGHT:CAPS"></a>CAIRO_OPERATOR_SOFT_LIGHT</p></td> +<td class="enum_member_description"> +<p>Darkens or lightens, dependent on source +color. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-DIFFERENCE:CAPS"></a>CAIRO_OPERATOR_DIFFERENCE</p></td> +<td class="enum_member_description"> +<p>Takes the difference of the source and +destination color. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-EXCLUSION:CAPS"></a>CAIRO_OPERATOR_EXCLUSION</p></td> +<td class="enum_member_description"> +<p>Produces an effect similar to difference, but +with lower contrast. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-HSL-HUE:CAPS"></a>CAIRO_OPERATOR_HSL_HUE</p></td> +<td class="enum_member_description"> +<p>Creates a color with the hue of the source +and the saturation and luminosity of the target. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-HSL-SATURATION:CAPS"></a>CAIRO_OPERATOR_HSL_SATURATION</p></td> +<td class="enum_member_description"> +<p>Creates a color with the saturation +of the source and the hue and luminosity of the target. Painting with +this mode onto a gray area produces no change. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-HSL-COLOR:CAPS"></a>CAIRO_OPERATOR_HSL_COLOR</p></td> +<td class="enum_member_description"> +<p>Creates a color with the hue and saturation +of the source and the luminosity of the target. This preserves the gray +levels of the target and is useful for coloring monochrome images or +tinting color images. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-OPERATOR-HSL-LUMINOSITY:CAPS"></a>CAIRO_OPERATOR_HSL_LUMINOSITY</p></td> +<td class="enum_member_description"> +<p>Creates a color with the luminosity of +the source and the hue and saturation of the target. This produces an +inverse effect to <em class="parameter"><code>CAIRO_OPERATOR_HSL_COLOR</code></em> +. (Since 1.10)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-rectangle-t"></a><h3>cairo_rectangle_t</h3> +<pre class="programlisting">typedef struct { + double x, y, width, height; +} cairo_rectangle_t; +</pre> +<p>A data structure for holding a rectangle.</p> +<div class="refsect3"> +<a name="cairo-rectangle-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="struct_members_name"> +<col class="struct_members_description"> +<col width="200px" class="struct_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-rectangle-t.x"></a>x</code></em>;</p></td> +<td class="struct_member_description"><p>X coordinate of the left side of the rectangle</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-rectangle-t.y"></a>y</code></em>;</p></td> +<td class="struct_member_description"><p>Y coordinate of the the top side of the rectangle</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-rectangle-t.width"></a>width</code></em>;</p></td> +<td class="struct_member_description"><p>width of the rectangle</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-rectangle-t.height"></a>height</code></em>;</p></td> +<td class="struct_member_description"><p>height of the rectangle</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-rectangle-list-t"></a><h3>cairo_rectangle_list_t</h3> +<pre class="programlisting">typedef struct { + cairo_status_t status; + cairo_rectangle_t *rectangles; + int num_rectangles; +} cairo_rectangle_list_t; +</pre> +<p>A data structure for holding a dynamically allocated +array of rectangles.</p> +<div class="refsect3"> +<a name="cairo-rectangle-list-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="struct_members_name"> +<col class="struct_members_description"> +<col width="200px" class="struct_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="struct_member_name"><p><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="type">cairo_status_t</span></a> <em class="structfield"><code><a name="cairo-rectangle-list-t.status"></a>status</code></em>;</p></td> +<td class="struct_member_description"><p>Error status of the rectangle list</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><a class="link" href="cairo-cairo-t.html#cairo-rectangle-t" title="cairo_rectangle_t"><span class="type">cairo_rectangle_t</span></a> *<em class="structfield"><code><a name="cairo-rectangle-list-t.rectangles"></a>rectangles</code></em>;</p></td> +<td class="struct_member_description"><p>Array containing the rectangles</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="cairo-rectangle-list-t.num-rectangles"></a>num_rectangles</code></em>;</p></td> +<td class="struct_member_description"><p>Number of rectangles in this list</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.4</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-cairo-t.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t" title="cairo_surface_t"><span class="type">cairo_surface_t</span></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-drawing.html b/libs/cairo-1.16.0/doc/public/html/cairo-drawing.html new file mode 100644 index 0000000..53c91d0 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-drawing.html @@ -0,0 +1,55 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Drawing: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="next" href="cairo-cairo-t.html" title="cairo_t"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-cairo-t.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="chapter"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="cairo-drawing"></a>Drawing</h1></div></div></div> +<div class="toc"><dl class="toc"> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-t.html">cairo_t</a></span><span class="refpurpose"> — The cairo drawing context</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Paths.html">Paths</a></span><span class="refpurpose"> — Creating paths and manipulating path data</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-pattern-t.html">cairo_pattern_t</a></span><span class="refpurpose"> — Sources for drawing</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Regions.html">Regions</a></span><span class="refpurpose"> — Representing a pixel-aligned area</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Transformations.html">Transformations</a></span><span class="refpurpose"> — Manipulating the current transformation matrix</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-text.html">text</a></span><span class="refpurpose"> — Rendering text and glyphs</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Raster-Sources.html">Raster Sources</a></span><span class="refpurpose"> — Supplying arbitrary image data</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Tags-and-Links.html">Tags and Links</a></span><span class="refpurpose"> — Hyperlinks and document structure</span> +</dt> +</dl></div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-fonts.html b/libs/cairo-1.16.0/doc/public/html/cairo-fonts.html new file mode 100644 index 0000000..7e4d0ed --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-fonts.html @@ -0,0 +1,52 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Fonts: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="cairo-Tags-and-Links.html" title="Tags and Links"> +<link rel="next" href="cairo-cairo-font-face-t.html" title="cairo_font_face_t"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="cairo-Tags-and-Links.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-cairo-font-face-t.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="chapter"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="cairo-fonts"></a>Fonts</h1></div></div></div> +<div class="toc"><dl class="toc"> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-font-face-t.html">cairo_font_face_t</a></span><span class="refpurpose"> — Base class for font faces</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-scaled-font-t.html">cairo_scaled_font_t</a></span><span class="refpurpose"> — Font face at particular size and options</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-font-options-t.html">cairo_font_options_t</a></span><span class="refpurpose"> — How a font should be rendered</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-FreeType-Fonts.html">FreeType Fonts</a></span><span class="refpurpose"> — Font support for FreeType</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Win32-Fonts.html">Win32 Fonts</a></span><span class="refpurpose"> — Font support for Microsoft Windows</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Quartz-(CGFont)-Fonts.html">Quartz (CGFont) Fonts</a></span><span class="refpurpose"> — Font support via CGFont on OS X</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-User-Fonts.html">User Fonts</a></span><span class="refpurpose"> — Font support with font data provided by the user</span> +</dt> +</dl></div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-support.html b/libs/cairo-1.16.0/doc/public/html/cairo-support.html new file mode 100644 index 0000000..b6eed63 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-support.html @@ -0,0 +1,43 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Utilities: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="cairo-Script-Surfaces.html" title="Script Surfaces"> +<link rel="next" href="cairo-cairo-matrix-t.html" title="cairo_matrix_t"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="cairo-Script-Surfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-cairo-matrix-t.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="chapter"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="cairo-support"></a>Utilities</h1></div></div></div> +<div class="toc"><dl class="toc"> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-matrix-t.html">cairo_matrix_t</a></span><span class="refpurpose"> — Generic matrix operations</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Error-handling.html">Error handling</a></span><span class="refpurpose"> — Decoding cairo's status</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Version-Information.html">Version Information</a></span><span class="refpurpose"> — Compile-time and run-time version checks.</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Types.html">Types</a></span><span class="refpurpose"> — Generic data types</span> +</dt> +</dl></div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-surfaces.html b/libs/cairo-1.16.0/doc/public/html/cairo-surfaces.html new file mode 100644 index 0000000..ae29c86 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-surfaces.html @@ -0,0 +1,73 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Surfaces: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="cairo-User-Fonts.html" title="User Fonts"> +<link rel="next" href="cairo-cairo-device-t.html" title="cairo_device_t"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="cairo-User-Fonts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-cairo-device-t.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="chapter"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="cairo-surfaces"></a>Surfaces</h1></div></div></div> +<div class="toc"><dl class="toc"> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-device-t.html">cairo_device_t</a></span><span class="refpurpose"> — interface to underlying rendering system</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-surface-t.html">cairo_surface_t</a></span><span class="refpurpose"> — Base class for surfaces</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Image-Surfaces.html">Image Surfaces</a></span><span class="refpurpose"> — Rendering to memory buffers</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-PDF-Surfaces.html">PDF Surfaces</a></span><span class="refpurpose"> — Rendering PDF documents</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-PNG-Support.html">PNG Support</a></span><span class="refpurpose"> — Reading and writing PNG images</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-PostScript-Surfaces.html">PostScript Surfaces</a></span><span class="refpurpose"> — Rendering PostScript documents</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Recording-Surfaces.html">Recording Surfaces</a></span><span class="refpurpose"> — Records all drawing operations</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Win32-Surfaces.html">Win32 Surfaces</a></span><span class="refpurpose"> — Microsoft Windows surface support</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-SVG-Surfaces.html">SVG Surfaces</a></span><span class="refpurpose"> — Rendering SVG documents</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Quartz-Surfaces.html">Quartz Surfaces</a></span><span class="refpurpose"> — Rendering to Quartz surfaces</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-XCB-Surfaces.html">XCB Surfaces</a></span><span class="refpurpose"> — X Window System rendering using the XCB library</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-XLib-Surfaces.html">XLib Surfaces</a></span><span class="refpurpose"> — X Window System rendering using XLib</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-XLib-XRender-Backend.html">XLib-XRender Backend</a></span><span class="refpurpose"> — X Window System rendering using XLib and the X Render extension</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Script-Surfaces.html">Script Surfaces</a></span><span class="refpurpose"> — Rendering to replayable scripts</span> +</dt> +</dl></div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo-text.html b/libs/cairo-1.16.0/doc/public/html/cairo-text.html new file mode 100644 index 0000000..18cd15b --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo-text.html @@ -0,0 +1,1480 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>text: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="up" href="cairo-drawing.html" title="Drawing"> +<link rel="prev" href="cairo-Transformations.html" title="Transformations"> +<link rel="next" href="cairo-Raster-Sources.html" title="Raster Sources"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"> +<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> + <a href="#cairo-text.description" class="shortcut">Description</a></span> +</td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><a accesskey="u" href="cairo-drawing.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="cairo-Transformations.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="cairo-Raster-Sources.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="refentry"> +<a name="cairo-text"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="cairo-text.top_of_page"></a>text</span></h2> +<p>text — Rendering text and glyphs</p> +</td> +<td class="gallery_image" valign="top" align="right"></td> +</tr></table></div> +<div class="refsect1"> +<a name="cairo-text.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-select-font-face" title="cairo_select_font_face ()">cairo_select_font_face</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-set-font-size" title="cairo_set_font_size ()">cairo_set_font_size</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-set-font-matrix" title="cairo_set_font_matrix ()">cairo_set_font_matrix</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-get-font-matrix" title="cairo_get_font_matrix ()">cairo_get_font_matrix</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-set-font-options" title="cairo_set_font_options ()">cairo_set_font_options</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-get-font-options" title="cairo_get_font_options ()">cairo_get_font_options</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-set-font-face" title="cairo_set_font_face ()">cairo_set_font_face</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-get-font-face" title="cairo_get_font_face ()">cairo_get_font_face</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-set-scaled-font" title="cairo_set_scaled_font ()">cairo_set_scaled_font</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-get-scaled-font" title="cairo_get_scaled_font ()">cairo_get_scaled_font</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()">cairo_show_text</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()">cairo_show_glyphs</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()">cairo_show_text_glyphs</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-font-extents" title="cairo_font_extents ()">cairo_font_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-text-extents" title="cairo_text_extents ()">cairo_text_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-glyph-extents" title="cairo_glyph_extents ()">cairo_glyph_extents</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-toy-font-face-create" title="cairo_toy_font_face_create ()">cairo_toy_font_face_create</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type">const <span class="returnvalue">char</span> * +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-toy-font-face-get-family" title="cairo_toy_font_face_get_family ()">cairo_toy_font_face_get_family</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-text.html#cairo-font-slant-t" title="enum cairo_font_slant_t"><span class="returnvalue">cairo_font_slant_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-toy-font-face-get-slant" title="cairo_toy_font_face_get_slant ()">cairo_toy_font_face_get_slant</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-text.html#cairo-font-weight-t" title="enum cairo_font_weight_t"><span class="returnvalue">cairo_font_weight_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-toy-font-face-get-weight" title="cairo_toy_font_face_get_weight ()">cairo_toy_font_face_get_weight</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="returnvalue">cairo_glyph_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-glyph-allocate" title="cairo_glyph_allocate ()">cairo_glyph_allocate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-glyph-free" title="cairo_glyph_free ()">cairo_glyph_free</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t"><span class="returnvalue">cairo_text_cluster_t</span></a> * +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-text-cluster-allocate" title="cairo_text_cluster_allocate ()">cairo_text_cluster_allocate</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="cairo-text.html#cairo-text-cluster-free" title="cairo_text_cluster_free ()">cairo_text_cluster_free</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-text.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t">cairo_glyph_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-text.html#cairo-font-slant-t" title="enum cairo_font_slant_t">cairo_font_slant_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-text.html#cairo-font-weight-t" title="enum cairo_font_weight_t">cairo_font_weight_t</a></td> +</tr> +<tr> +<td class="datatype_keyword"> </td> +<td class="function_name"><a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t">cairo_text_cluster_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="cairo-text.html#cairo-text-cluster-flags-t" title="enum cairo_text_cluster_flags_t">cairo_text_cluster_flags_t</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="cairo-text.description"></a><h2>Description</h2> +<p>The functions with <span class="emphasis"><em>text</em></span> in their name form cairo's +<em class="firstterm">toy</em> text API. The toy API takes UTF-8 encoded +text and is limited in its functionality to rendering simple +left-to-right text with no advanced features. That means for example +that most complex scripts like Hebrew, Arabic, and Indic scripts are +out of question. No kerning or correct positioning of diacritical marks +either. The font selection is pretty limited too and doesn't handle the +case that the selected font does not cover the characters in the text. +This set of functions are really that, a toy text API, for testing and +demonstration purposes. Any serious application should avoid them.</p> +<p>The functions with <span class="emphasis"><em>glyphs</em></span> in their name form cairo's +<em class="firstterm">low-level</em> text API. The low-level API relies on +the user to convert text to a set of glyph indexes and positions. This +is a very hard problem and is best handled by external libraries, like +the pangocairo that is part of the Pango text layout and rendering library. +Pango is available from <a class="ulink" href="http://www.pango.org/" target="_top">http://www.pango.org/</a>.</p> +</div> +<div class="refsect1"> +<a name="cairo-text.functions_details"></a><h2>Functions</h2> +<div class="refsect2"> +<a name="cairo-select-font-face"></a><h3>cairo_select_font_face ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_select_font_face (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *family</code></em>, + <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-font-slant-t" title="enum cairo_font_slant_t"><span class="type">cairo_font_slant_t</span></a> slant</code></em>, + <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-font-weight-t" title="enum cairo_font_weight_t"><span class="type">cairo_font_weight_t</span></a> weight</code></em>);</pre> +<p>Note: The <a class="link" href="cairo-text.html#cairo-select-font-face" title="cairo_select_font_face ()"><code class="function">cairo_select_font_face()</code></a> function call is part of what +the cairo designers call the "toy" text API. It is convenient for +short demos and simple programs, but it is not expected to be +adequate for serious text-using applications.</p> +<p>Selects a family and style of font from a simplified description as +a family name, slant and weight. Cairo provides no operation to +list available family names on the system (this is a "toy", +remember), but the standard CSS2 generic family names, ("serif", +"sans-serif", "cursive", "fantasy", "monospace"), are likely to +work as expected.</p> +<p>If <em class="parameter"><code>family</code></em> + starts with the string "<em class="parameter"><code>cairo</code></em> +:", or if no native font +backends are compiled in, cairo will use an internal font family. +The internal font family recognizes many modifiers in the <em class="parameter"><code>family</code></em> + +string, most notably, it recognizes the string "monospace". That is, +the family name "<em class="parameter"><code>cairo</code></em> +:monospace" will use the monospace version of +the internal font family.</p> +<p>For "real" font selection, see the font-backend-specific +font_face_create functions for the font backend you are using. (For +example, if you are using the freetype-based cairo-ft font backend, +see <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-ft-face" title="cairo_ft_font_face_create_for_ft_face ()"><code class="function">cairo_ft_font_face_create_for_ft_face()</code></a> or +<a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-pattern" title="cairo_ft_font_face_create_for_pattern ()"><code class="function">cairo_ft_font_face_create_for_pattern()</code></a>.) The resulting font face +could then be used with <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a> and +<a class="link" href="cairo-text.html#cairo-set-scaled-font" title="cairo_set_scaled_font ()"><code class="function">cairo_set_scaled_font()</code></a>.</p> +<p>Similarly, when using the "real" font support, you can call +directly into the underlying font system, (such as fontconfig or +freetype), for operations such as listing available fonts, etc.</p> +<p>It is expected that most applications will need to use a more +comprehensive font handling and text layout library, (for example, +pango), in conjunction with cairo.</p> +<p>If text is drawn without a call to <a class="link" href="cairo-text.html#cairo-select-font-face" title="cairo_select_font_face ()"><code class="function">cairo_select_font_face()</code></a>, (nor +<a class="link" href="cairo-text.html#cairo-set-font-face" title="cairo_set_font_face ()"><code class="function">cairo_set_font_face()</code></a> nor <a class="link" href="cairo-text.html#cairo-set-scaled-font" title="cairo_set_scaled_font ()"><code class="function">cairo_set_scaled_font()</code></a>), the default +family is platform-specific, but is essentially "sans-serif". +Default slant is <a class="link" href="cairo-text.html#CAIRO-FONT-SLANT-NORMAL:CAPS"><code class="literal">CAIRO_FONT_SLANT_NORMAL</code></a>, and default weight is +<a class="link" href="cairo-text.html#CAIRO-FONT-WEIGHT-NORMAL:CAPS"><code class="literal">CAIRO_FONT_WEIGHT_NORMAL</code></a>.</p> +<p>This function is equivalent to a call to <a class="link" href="cairo-text.html#cairo-toy-font-face-create" title="cairo_toy_font_face_create ()"><code class="function">cairo_toy_font_face_create()</code></a> +followed by <a class="link" href="cairo-text.html#cairo-set-font-face" title="cairo_set_font_face ()"><code class="function">cairo_set_font_face()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-select-font-face.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>family</p></td> +<td class="parameter_description"><p>a font family name, encoded in UTF-8</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>slant</p></td> +<td class="parameter_description"><p>the slant for the font</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>weight</p></td> +<td class="parameter_description"><p>the weight for the font</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-font-size"></a><h3>cairo_set_font_size ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_font_size (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><span class="type">double</span> size</code></em>);</pre> +<p>Sets the current font matrix to a scale by a factor of <em class="parameter"><code>size</code></em> +, replacing +any font matrix previously set with <a class="link" href="cairo-text.html#cairo-set-font-size" title="cairo_set_font_size ()"><code class="function">cairo_set_font_size()</code></a> or +<a class="link" href="cairo-text.html#cairo-set-font-matrix" title="cairo_set_font_matrix ()"><code class="function">cairo_set_font_matrix()</code></a>. This results in a font size of <em class="parameter"><code>size</code></em> + user space +units. (More precisely, this matrix will result in the font's +em-square being a <em class="parameter"><code>size</code></em> + by <em class="parameter"><code>size</code></em> + square in user space.)</p> +<p>If text is drawn without a call to <a class="link" href="cairo-text.html#cairo-set-font-size" title="cairo_set_font_size ()"><code class="function">cairo_set_font_size()</code></a>, (nor +<a class="link" href="cairo-text.html#cairo-set-font-matrix" title="cairo_set_font_matrix ()"><code class="function">cairo_set_font_matrix()</code></a> nor <a class="link" href="cairo-text.html#cairo-set-scaled-font" title="cairo_set_scaled_font ()"><code class="function">cairo_set_scaled_font()</code></a>), the default +font size is 10.0.</p> +<div class="refsect3"> +<a name="cairo-set-font-size.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>size</p></td> +<td class="parameter_description"><p>the new font size, in user space units</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-font-matrix"></a><h3>cairo_set_font_matrix ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_font_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);</pre> +<p>Sets the current font matrix to <em class="parameter"><code>matrix</code></em> +. The font matrix gives a +transformation from the design space of the font (in this space, +the em-square is 1 unit by 1 unit) to user space. Normally, a +simple scale is used (see <a class="link" href="cairo-text.html#cairo-set-font-size" title="cairo_set_font_size ()"><code class="function">cairo_set_font_size()</code></a>), but a more +complex font matrix can be used to shear the font +or stretch it unequally along the two axes</p> +<div class="refsect3"> +<a name="cairo-set-font-matrix.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> describing a transform to be applied to +the current font.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-font-matrix"></a><h3>cairo_get_font_matrix ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_get_font_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);</pre> +<p>Stores the current font matrix into <em class="parameter"><code>matrix</code></em> +. See +<a class="link" href="cairo-text.html#cairo-set-font-matrix" title="cairo_set_font_matrix ()"><code class="function">cairo_set_font_matrix()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-font-matrix.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>matrix</p></td> +<td class="parameter_description"><p>return value for the matrix</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-font-options"></a><h3>cairo_set_font_options ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_font_options (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Sets a set of custom font rendering options for the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>. +Rendering options are derived by merging these options with the +options derived from underlying surface; if the value in <em class="parameter"><code>options</code></em> + +has a default value (like <a class="link" href="cairo-cairo-t.html#CAIRO-ANTIALIAS-DEFAULT:CAPS"><code class="literal">CAIRO_ANTIALIAS_DEFAULT</code></a>), then the value +from the surface is used.</p> +<div class="refsect3"> +<a name="cairo-set-font-options.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>font options to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-font-options"></a><h3>cairo_get_font_options ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_get_font_options (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre> +<p>Retrieves font rendering options set via <a class="link" href="cairo-text.html#cairo-set-font-options" title="cairo_set_font_options ()"><span class="type">cairo_set_font_options</span></a>. +Note that the returned options do not include any options derived +from the underlying surface; they are literally the options +passed to <a class="link" href="cairo-text.html#cairo-set-font-options" title="cairo_set_font_options ()"><code class="function">cairo_set_font_options()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-get-font-options.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>options</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> object into which to store +the retrieved options. All existing values are overwritten</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-font-face"></a><h3>cairo_set_font_face ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_font_face (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>Replaces the current <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> object in the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> with +<em class="parameter"><code>font_face</code></em> +. The replaced font face in the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> will be +destroyed if there are no other references to it.</p> +<div class="refsect3"> +<a name="cairo-set-font-face.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to restore to the default font</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-font-face"></a><h3>cairo_get_font_face ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +cairo_get_font_face (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the current font face for a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-get-font-face.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-font-face.returns"></a><h4>Returns</h4> +<p> the current font face. This object is owned by +cairo. To keep a reference to it, you must call +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-reference" title="cairo_font_face_reference ()"><code class="function">cairo_font_face_reference()</code></a>.</p> +<p>This function never returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. If memory cannot be allocated, a +special "nil" <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> object will be returned on which +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-status" title="cairo_font_face_status ()"><code class="function">cairo_font_face_status()</code></a> returns <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>. Using +this nil object will cause its error state to propagate to other +objects it is passed to, (for example, calling +<a class="link" href="cairo-text.html#cairo-set-font-face" title="cairo_set_font_face ()"><code class="function">cairo_set_font_face()</code></a> with a nil font will trigger an error that +will shutdown the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> object).</p> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-set-scaled-font"></a><h3>cairo_set_scaled_font ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_set_scaled_font (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre> +<p>Replaces the current font face, font matrix, and font options in +the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> with those of the <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>. Except for +some translation, the current CTM of the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> should be the +same as that of the <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>, which can be accessed +using <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-ctm" title="cairo_scaled_font_get_ctm ()"><code class="function">cairo_scaled_font_get_ctm()</code></a>.</p> +<div class="refsect3"> +<a name="cairo-set-scaled-font.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>scaled_font</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.2</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-get-scaled-font"></a><h3>cairo_get_scaled_font ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> * +cairo_get_scaled_font (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre> +<p>Gets the current scaled font for a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>.</p> +<div class="refsect3"> +<a name="cairo-get-scaled-font.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-get-scaled-font.returns"></a><h4>Returns</h4> +<p> the current scaled font. This object is owned by +cairo. To keep a reference to it, you must call +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()"><code class="function">cairo_scaled_font_reference()</code></a>.</p> +<p>This function never returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. If memory cannot be allocated, a +special "nil" <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> object will be returned on which +<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-status" title="cairo_scaled_font_status ()"><code class="function">cairo_scaled_font_status()</code></a> returns <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>. Using +this nil object will cause its error state to propagate to other +objects it is passed to, (for example, calling +<a class="link" href="cairo-text.html#cairo-set-scaled-font" title="cairo_set_scaled_font ()"><code class="function">cairo_set_scaled_font()</code></a> with a nil font will trigger an error that +will shutdown the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> object).</p> +</div> +<p class="since">Since: 1.4</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-show-text"></a><h3>cairo_show_text ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_show_text (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>);</pre> +<p>A drawing operator that generates the shape from a string of UTF-8 +characters, rendered according to the current font_face, font_size +(font_matrix), and font_options.</p> +<p>This function first computes a set of glyphs for the string of +text. The first glyph is placed so that its origin is at the +current point. The origin of each subsequent glyph is offset from +that of the previous glyph by the advance values of the previous +glyph.</p> +<p>After this call the current point is moved to the origin of where +the next glyph would be placed in this same progression. That is, +the current point will be at the origin of the final glyph offset +by its advance values. This allows for easy display of a single +logical string with multiple calls to <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a>.</p> +<p>Note: The <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a> function call is part of what the cairo +designers call the "toy" text API. It is convenient for short demos +and simple programs, but it is not expected to be adequate for +serious text-using applications. See <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a> for the +"real" text display API in cairo.</p> +<div class="refsect3"> +<a name="cairo-show-text.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8</p></td> +<td class="parameter_description"><p>a NUL-terminated string of text encoded in UTF-8, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-show-glyphs"></a><h3>cairo_show_glyphs ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_show_glyphs (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> *glyphs</code></em>, + <em class="parameter"><code><span class="type">int</span> num_glyphs</code></em>);</pre> +<p>A drawing operator that generates the shape from an array of glyphs, +rendered according to the current font face, font size +(font matrix), and font options.</p> +<div class="refsect3"> +<a name="cairo-show-glyphs.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyphs</p></td> +<td class="parameter_description"><p>array of glyphs to show</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_glyphs</p></td> +<td class="parameter_description"><p>number of glyphs to show</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-show-text-glyphs"></a><h3>cairo_show_text_glyphs ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_show_text_glyphs (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>, + <em class="parameter"><code><span class="type">int</span> utf8_len</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> *glyphs</code></em>, + <em class="parameter"><code><span class="type">int</span> num_glyphs</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t"><span class="type">cairo_text_cluster_t</span></a> *clusters</code></em>, + <em class="parameter"><code><span class="type">int</span> num_clusters</code></em>, + <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-text-cluster-flags-t" title="enum cairo_text_cluster_flags_t"><span class="type">cairo_text_cluster_flags_t</span></a> cluster_flags</code></em>);</pre> +<p>This operation has rendering effects similar to <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a> +but, if the target surface supports it, uses the provided text and +cluster mapping to embed the text for the glyphs shown in the output. +If the target does not support the extended attributes, this function +acts like the basic <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a> as if it had been passed +<em class="parameter"><code>glyphs</code></em> + and <em class="parameter"><code>num_glyphs</code></em> +.</p> +<p>The mapping between <em class="parameter"><code>utf8</code></em> + and <em class="parameter"><code>glyphs</code></em> + is provided by an array of +<em class="firstterm">clusters</em>. Each cluster covers a number of +text bytes and glyphs, and neighboring clusters cover neighboring +areas of <em class="parameter"><code>utf8</code></em> + and <em class="parameter"><code>glyphs</code></em> +. The clusters should collectively cover <em class="parameter"><code>utf8</code></em> + +and <em class="parameter"><code>glyphs</code></em> + in entirety.</p> +<p>The first cluster always covers bytes from the beginning of <em class="parameter"><code>utf8</code></em> +. +If <em class="parameter"><code>cluster_flags</code></em> + do not have the <a class="link" href="cairo-text.html#CAIRO-TEXT-CLUSTER-FLAG-BACKWARD:CAPS"><code class="literal">CAIRO_TEXT_CLUSTER_FLAG_BACKWARD</code></a> +set, the first cluster also covers the beginning +of <em class="parameter"><code>glyphs</code></em> +, otherwise it covers the end of the <em class="parameter"><code>glyphs</code></em> + array and +following clusters move backward.</p> +<p>See <a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t"><span class="type">cairo_text_cluster_t</span></a> for constraints on valid clusters.</p> +<div class="refsect3"> +<a name="cairo-show-text-glyphs.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a cairo context</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8</p></td> +<td class="parameter_description"><p>a string of text encoded in UTF-8</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8_len</p></td> +<td class="parameter_description"><p>length of <em class="parameter"><code>utf8</code></em> +in bytes, or -1 if it is NUL-terminated</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyphs</p></td> +<td class="parameter_description"><p>array of glyphs to show</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_glyphs</p></td> +<td class="parameter_description"><p>number of glyphs to show</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>clusters</p></td> +<td class="parameter_description"><p>array of cluster mapping information</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_clusters</p></td> +<td class="parameter_description"><p>number of clusters in the mapping</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>cluster_flags</p></td> +<td class="parameter_description"><p>cluster mapping flags</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-extents"></a><h3>cairo_font_extents ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_font_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> *extents</code></em>);</pre> +<p>Gets the font extents for the currently selected font.</p> +<div class="refsect3"> +<a name="cairo-font-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> object into which the results +will be stored.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-text-extents"></a><h3>cairo_text_extents ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_text_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> *extents</code></em>);</pre> +<p>Gets the extents for a string of text. The extents describe a +user-space rectangle that encloses the "inked" portion of the text, +(as it would be drawn by <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a>). Additionally, the +x_advance and y_advance values indicate the amount by which the +current point would be advanced by <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a>.</p> +<p>Note that whitespace characters do not directly contribute to the +size of the rectangle (extents.width and extents.height). They do +contribute indirectly by changing the position of non-whitespace +characters. In particular, trailing whitespace characters are +likely to not affect the size of the rectangle, though they will +affect the x_advance and y_advance values.</p> +<div class="refsect3"> +<a name="cairo-text-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>utf8</p></td> +<td class="parameter_description"><p>a NUL-terminated string of text encoded in UTF-8, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> object into which the results +will be stored</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-glyph-extents"></a><h3>cairo_glyph_extents ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_glyph_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>, + <em class="parameter"><code>const <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> *glyphs</code></em>, + <em class="parameter"><code><span class="type">int</span> num_glyphs</code></em>, + <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> *extents</code></em>);</pre> +<p>Gets the extents for an array of glyphs. The extents describe a +user-space rectangle that encloses the "inked" portion of the +glyphs, (as they would be drawn by <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a>). +Additionally, the x_advance and y_advance values indicate the +amount by which the current point would be advanced by +<a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a>.</p> +<p>Note that whitespace glyphs do not contribute to the size of the +rectangle (extents.width and extents.height).</p> +<div class="refsect3"> +<a name="cairo-glyph-extents.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>cr</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyphs</p></td> +<td class="parameter_description"><p>an array of <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> objects</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_glyphs</p></td> +<td class="parameter_description"><p>the number of elements in <em class="parameter"><code>glyphs</code></em> +</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>extents</p></td> +<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> object into which the results +will be stored</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-toy-font-face-create"></a><h3>cairo_toy_font_face_create ()</h3> +<pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * +cairo_toy_font_face_create (<em class="parameter"><code>const <span class="type">char</span> *family</code></em>, + <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-font-slant-t" title="enum cairo_font_slant_t"><span class="type">cairo_font_slant_t</span></a> slant</code></em>, + <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-font-weight-t" title="enum cairo_font_weight_t"><span class="type">cairo_font_weight_t</span></a> weight</code></em>);</pre> +<p>Creates a font face from a triplet of family, slant, and weight. +These font faces are used in implementation of the the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> "toy" +font API.</p> +<p>If <em class="parameter"><code>family</code></em> + is the zero-length string "", the platform-specific default +family is assumed. The default family then can be queried using +<a class="link" href="cairo-text.html#cairo-toy-font-face-get-family" title="cairo_toy_font_face_get_family ()"><code class="function">cairo_toy_font_face_get_family()</code></a>.</p> +<p>The <a class="link" href="cairo-text.html#cairo-select-font-face" title="cairo_select_font_face ()"><code class="function">cairo_select_font_face()</code></a> function uses this to create font faces. +See that function for limitations and other details of toy font faces.</p> +<div class="refsect3"> +<a name="cairo-toy-font-face-create.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody> +<tr> +<td class="parameter_name"><p>family</p></td> +<td class="parameter_description"><p>a font family name, encoded in UTF-8</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>slant</p></td> +<td class="parameter_description"><p>the slant for the font</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>weight</p></td> +<td class="parameter_description"><p>the weight for the font</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-toy-font-face-create.returns"></a><h4>Returns</h4> +<p> a newly created <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>. Free with +<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy" title="cairo_font_face_destroy ()"><code class="function">cairo_font_face_destroy()</code></a> when you are done using it.</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-toy-font-face-get-family"></a><h3>cairo_toy_font_face_get_family ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * +cairo_toy_font_face_get_family (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>Gets the familly name of a toy font.</p> +<div class="refsect3"> +<a name="cairo-toy-font-face-get-family.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>A toy font face</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-toy-font-face-get-family.returns"></a><h4>Returns</h4> +<p> The family name. This string is owned by the font face +and remains valid as long as the font face is alive (referenced).</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-toy-font-face-get-slant"></a><h3>cairo_toy_font_face_get_slant ()</h3> +<pre class="programlisting"><a class="link" href="cairo-text.html#cairo-font-slant-t" title="enum cairo_font_slant_t"><span class="returnvalue">cairo_font_slant_t</span></a> +cairo_toy_font_face_get_slant (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>Gets the slant a toy font.</p> +<div class="refsect3"> +<a name="cairo-toy-font-face-get-slant.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>A toy font face</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-toy-font-face-get-slant.returns"></a><h4>Returns</h4> +<p> The slant value</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-toy-font-face-get-weight"></a><h3>cairo_toy_font_face_get_weight ()</h3> +<pre class="programlisting"><a class="link" href="cairo-text.html#cairo-font-weight-t" title="enum cairo_font_weight_t"><span class="returnvalue">cairo_font_weight_t</span></a> +cairo_toy_font_face_get_weight (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>);</pre> +<p>Gets the weight a toy font.</p> +<div class="refsect3"> +<a name="cairo-toy-font-face-get-weight.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>font_face</p></td> +<td class="parameter_description"><p>A toy font face</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-toy-font-face-get-weight.returns"></a><h4>Returns</h4> +<p> The weight value</p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-glyph-allocate"></a><h3>cairo_glyph_allocate ()</h3> +<pre class="programlisting"><a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="returnvalue">cairo_glyph_t</span></a> * +cairo_glyph_allocate (<em class="parameter"><code><span class="type">int</span> num_glyphs</code></em>);</pre> +<p>Allocates an array of <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a>'s. +This function is only useful in implementations of +<a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-text-to-glyphs-func-t" title="cairo_user_scaled_font_text_to_glyphs_func_t ()"><span class="type">cairo_user_scaled_font_text_to_glyphs_func_t</span></a> where the user +needs to allocate an array of glyphs that cairo will free. +For all other uses, user can use their own allocation method +for glyphs.</p> +<p>This function returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>num_glyphs</code></em> + is not positive, +or if out of memory. That means, the <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> return value +signals out-of-memory only if <em class="parameter"><code>num_glyphs</code></em> + was positive.</p> +<div class="refsect3"> +<a name="cairo-glyph-allocate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>num_glyphs</p></td> +<td class="parameter_description"><p>number of glyphs to allocate</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-glyph-allocate.returns"></a><h4>Returns</h4> +<p> the newly allocated array of glyphs that should be +freed using <a class="link" href="cairo-text.html#cairo-glyph-free" title="cairo_glyph_free ()"><code class="function">cairo_glyph_free()</code></a></p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-glyph-free"></a><h3>cairo_glyph_free ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_glyph_free (<em class="parameter"><code><a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> *glyphs</code></em>);</pre> +<p>Frees an array of <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a>'s allocated using <a class="link" href="cairo-text.html#cairo-glyph-allocate" title="cairo_glyph_allocate ()"><code class="function">cairo_glyph_allocate()</code></a>. +This function is only useful to free glyph array returned +by <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-to-glyphs" title="cairo_scaled_font_text_to_glyphs ()"><code class="function">cairo_scaled_font_text_to_glyphs()</code></a> where cairo returns +an array of glyphs that the user will free. +For all other uses, user can use their own allocation method +for glyphs.</p> +<div class="refsect3"> +<a name="cairo-glyph-free.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>glyphs</p></td> +<td class="parameter_description"><p>array of glyphs to free, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-text-cluster-allocate"></a><h3>cairo_text_cluster_allocate ()</h3> +<pre class="programlisting"><a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t"><span class="returnvalue">cairo_text_cluster_t</span></a> * +cairo_text_cluster_allocate (<em class="parameter"><code><span class="type">int</span> num_clusters</code></em>);</pre> +<p>Allocates an array of <a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t"><span class="type">cairo_text_cluster_t</span></a>'s. +This function is only useful in implementations of +<a class="link" href="cairo-User-Fonts.html#cairo-user-scaled-font-text-to-glyphs-func-t" title="cairo_user_scaled_font_text_to_glyphs_func_t ()"><span class="type">cairo_user_scaled_font_text_to_glyphs_func_t</span></a> where the user +needs to allocate an array of text clusters that cairo will free. +For all other uses, user can use their own allocation method +for text clusters.</p> +<p>This function returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>num_clusters</code></em> + is not positive, +or if out of memory. That means, the <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> return value +signals out-of-memory only if <em class="parameter"><code>num_clusters</code></em> + was positive.</p> +<div class="refsect3"> +<a name="cairo-text-cluster-allocate.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>num_clusters</p></td> +<td class="parameter_description"><p>number of text_clusters to allocate</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="cairo-text-cluster-allocate.returns"></a><h4>Returns</h4> +<p> the newly allocated array of text clusters that should be +freed using <a class="link" href="cairo-text.html#cairo-text-cluster-free" title="cairo_text_cluster_free ()"><code class="function">cairo_text_cluster_free()</code></a></p> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-text-cluster-free"></a><h3>cairo_text_cluster_free ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +cairo_text_cluster_free (<em class="parameter"><code><a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t"><span class="type">cairo_text_cluster_t</span></a> *clusters</code></em>);</pre> +<p>Frees an array of <span class="type">cairo_text_cluster</span>'s allocated using <a class="link" href="cairo-text.html#cairo-text-cluster-allocate" title="cairo_text_cluster_allocate ()"><code class="function">cairo_text_cluster_allocate()</code></a>. +This function is only useful to free text cluster array returned +by <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-to-glyphs" title="cairo_scaled_font_text_to_glyphs ()"><code class="function">cairo_scaled_font_text_to_glyphs()</code></a> where cairo returns +an array of text clusters that the user will free. +For all other uses, user can use their own allocation method +for text clusters.</p> +<div class="refsect3"> +<a name="cairo-text-cluster-free.parameters"></a><h4>Parameters</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="parameters_name"> +<col class="parameters_description"> +<col width="200px" class="parameters_annotations"> +</colgroup> +<tbody><tr> +<td class="parameter_name"><p>clusters</p></td> +<td class="parameter_description"><p>array of text clusters to free, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.8</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-text.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="cairo-glyph-t"></a><h3>cairo_glyph_t</h3> +<pre class="programlisting">typedef struct { + unsigned long index; + double x; + double y; +} cairo_glyph_t; +</pre> +<p>The <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> structure holds information about a single glyph +when drawing or measuring text. A font is (in simple terms) a +collection of shapes used to draw text. A glyph is one of these +shapes. There can be multiple glyphs for a single character +(alternates to be used in different contexts, for example), or a +glyph can be a <em class="firstterm">ligature</em> of multiple +characters. Cairo doesn't expose any way of converting input text +into glyphs, so in order to use the Cairo interfaces that take +arrays of glyphs, you must directly access the appropriate +underlying font system.</p> +<p>Note that the offsets given by <em class="parameter"><code>x</code></em> + and <em class="parameter"><code>y</code></em> + are not cumulative. When +drawing or measuring text, each glyph is individually positioned +with respect to the overall origin</p> +<div class="refsect3"> +<a name="cairo-glyph-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="struct_members_name"> +<col class="struct_members_description"> +<col width="200px" class="struct_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="struct_member_name"><p>unsigned <span class="type">long</span> <em class="structfield"><code><a name="cairo-glyph-t.index"></a>index</code></em>;</p></td> +<td class="struct_member_description"><p>glyph index in the font. The exact interpretation of the +glyph index depends on the font technology being used.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-glyph-t.x"></a>x</code></em>;</p></td> +<td class="struct_member_description"><p>the offset in the X direction between the origin used for +drawing or measuring the string and the origin of this glyph.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-glyph-t.y"></a>y</code></em>;</p></td> +<td class="struct_member_description"><p>the offset in the Y direction between the origin used for +drawing or measuring the string and the origin of this glyph.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-slant-t"></a><h3>enum cairo_font_slant_t</h3> +<p>Specifies variants of a font face based on their slant.</p> +<div class="refsect3"> +<a name="cairo-font-slant-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FONT-SLANT-NORMAL:CAPS"></a>CAIRO_FONT_SLANT_NORMAL</p></td> +<td class="enum_member_description"> +<p>Upright font style, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FONT-SLANT-ITALIC:CAPS"></a>CAIRO_FONT_SLANT_ITALIC</p></td> +<td class="enum_member_description"> +<p>Italic font style, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FONT-SLANT-OBLIQUE:CAPS"></a>CAIRO_FONT_SLANT_OBLIQUE</p></td> +<td class="enum_member_description"> +<p>Oblique font style, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-font-weight-t"></a><h3>enum cairo_font_weight_t</h3> +<p>Specifies variants of a font face based on their weight.</p> +<div class="refsect3"> +<a name="cairo-font-weight-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FONT-WEIGHT-NORMAL:CAPS"></a>CAIRO_FONT_WEIGHT_NORMAL</p></td> +<td class="enum_member_description"> +<p>Normal font weight, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="CAIRO-FONT-WEIGHT-BOLD:CAPS"></a>CAIRO_FONT_WEIGHT_BOLD</p></td> +<td class="enum_member_description"> +<p>Bold font weight, since 1.0</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.0</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-text-cluster-t"></a><h3>cairo_text_cluster_t</h3> +<pre class="programlisting">typedef struct { + int num_bytes; + int num_glyphs; +} cairo_text_cluster_t; +</pre> +<p>The <a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t"><span class="type">cairo_text_cluster_t</span></a> structure holds information about a single +<em class="firstterm">text cluster</em>. A text cluster is a minimal +mapping of some glyphs corresponding to some UTF-8 text.</p> +<p>For a cluster to be valid, both <em class="parameter"><code>num_bytes</code></em> + and <em class="parameter"><code>num_glyphs</code></em> + should +be non-negative, and at least one should be non-zero. +Note that clusters with zero glyphs are not as well supported as +normal clusters. For example, PDF rendering applications typically +ignore those clusters when PDF text is being selected.</p> +<p>See <a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a> for how clusters are used in advanced +text operations.</p> +<div class="refsect3"> +<a name="cairo-text-cluster-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="struct_members_name"> +<col class="struct_members_description"> +<col width="200px" class="struct_members_annotations"> +</colgroup> +<tbody> +<tr> +<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="cairo-text-cluster-t.num-bytes"></a>num_bytes</code></em>;</p></td> +<td class="struct_member_description"><p>the number of bytes of UTF-8 text covered by cluster</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">int</span> <em class="structfield"><code><a name="cairo-text-cluster-t.num-glyphs"></a>num_glyphs</code></em>;</p></td> +<td class="struct_member_description"><p>the number of glyphs covered by cluster</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: 1.8</p> +</div> +<hr> +<div class="refsect2"> +<a name="cairo-text-cluster-flags-t"></a><h3>enum cairo_text_cluster_flags_t</h3> +<p>Specifies properties of a text cluster mapping.</p> +<div class="refsect3"> +<a name="cairo-text-cluster-flags-t.members"></a><h4>Members</h4> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="300px" class="enum_members_name"> +<col class="enum_members_description"> +<col width="200px" class="enum_members_annotations"> +</colgroup> +<tbody><tr> +<td class="enum_member_name"><p><a name="CAIRO-TEXT-CLUSTER-FLAG-BACKWARD:CAPS"></a>CAIRO_TEXT_CLUSTER_FLAG_BACKWARD</p></td> +<td class="enum_member_description"> +<p>The clusters in the cluster array +map to glyphs in the glyph array from end to start. (Since 1.8)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 1.8</p> +</div> +</div> +<div class="refsect1"> +<a name="cairo-text.see-also"></a><h2>See Also</h2> +<p><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>, <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>, <a class="link" href="cairo-Paths.html#cairo-text-path" title="cairo_text_path ()"><code class="function">cairo_text_path()</code></a>, + <a class="link" href="cairo-Paths.html#cairo-glyph-path" title="cairo_glyph_path ()"><code class="function">cairo_glyph_path()</code></a></p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/cairo.devhelp2 b/libs/cairo-1.16.0/doc/public/html/cairo.devhelp2 new file mode 100644 index 0000000..bae10dd --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/cairo.devhelp2 @@ -0,0 +1,829 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<book xmlns="http://www.devhelp.net/book" title="Cairo: A Vector Graphics Library" link="index.html" author="" name="cairo" version="2" language="c"> + <chapters> + <sub name="Drawing" link="cairo-drawing.html"> + <sub name="cairo_t" link="cairo-cairo-t.html"/> + <sub name="Paths" link="cairo-Paths.html"/> + <sub name="cairo_pattern_t" link="cairo-cairo-pattern-t.html"/> + <sub name="Regions" link="cairo-Regions.html"/> + <sub name="Transformations" link="cairo-Transformations.html"/> + <sub name="text" link="cairo-text.html"/> + <sub name="Raster Sources" link="cairo-Raster-Sources.html"/> + <sub name="Tags and Links" link="cairo-Tags-and-Links.html"/> + </sub> + <sub name="Fonts" link="cairo-fonts.html"> + <sub name="cairo_font_face_t" link="cairo-cairo-font-face-t.html"/> + <sub name="cairo_scaled_font_t" link="cairo-cairo-scaled-font-t.html"/> + <sub name="cairo_font_options_t" link="cairo-cairo-font-options-t.html"/> + <sub name="FreeType Fonts" link="cairo-FreeType-Fonts.html"/> + <sub name="Win32 Fonts" link="cairo-Win32-Fonts.html"/> + <sub name="Quartz (CGFont) Fonts" link="cairo-Quartz-(CGFont)-Fonts.html"/> + <sub name="User Fonts" link="cairo-User-Fonts.html"/> + </sub> + <sub name="Surfaces" link="cairo-surfaces.html"> + <sub name="cairo_device_t" link="cairo-cairo-device-t.html"/> + <sub name="cairo_surface_t" link="cairo-cairo-surface-t.html"/> + <sub name="Image Surfaces" link="cairo-Image-Surfaces.html"/> + <sub name="PDF Surfaces" link="cairo-PDF-Surfaces.html"/> + <sub name="PNG Support" link="cairo-PNG-Support.html"/> + <sub name="PostScript Surfaces" link="cairo-PostScript-Surfaces.html"/> + <sub name="Recording Surfaces" link="cairo-Recording-Surfaces.html"/> + <sub name="Win32 Surfaces" link="cairo-Win32-Surfaces.html"/> + <sub name="SVG Surfaces" link="cairo-SVG-Surfaces.html"/> + <sub name="Quartz Surfaces" link="cairo-Quartz-Surfaces.html"/> + <sub name="XCB Surfaces" link="cairo-XCB-Surfaces.html"/> + <sub name="XLib Surfaces" link="cairo-XLib-Surfaces.html"/> + <sub name="XLib-XRender Backend" link="cairo-XLib-XRender-Backend.html"/> + <sub name="Script Surfaces" link="cairo-Script-Surfaces.html"/> + </sub> + <sub name="Utilities" link="cairo-support.html"> + <sub name="cairo_matrix_t" link="cairo-cairo-matrix-t.html"/> + <sub name="Error handling" link="cairo-Error-handling.html"/> + <sub name="Version Information" link="cairo-Version-Information.html"/> + <sub name="Types" link="cairo-Types.html"/> + </sub> + <sub name="Index" link="index-all.html"/> + <sub name="Index of new symbols in 1.2" link="index-1.2.html"/> + <sub name="Index of new symbols in 1.4" link="index-1.4.html"/> + <sub name="Index of new symbols in 1.6" link="index-1.6.html"/> + <sub name="Index of new symbols in 1.8" link="index-1.8.html"/> + <sub name="Index of new symbols in 1.10" link="index-1.10.html"/> + <sub name="Index of new symbols in 1.12" link="index-1.12.html"/> + <sub name="Index of new symbols in 1.14" link="index-1.14.html"/> + <sub name="Index of new symbols in 1.16" link="index-1.16.html"/> + <sub name="Creating a language binding for cairo" link="language-bindings.html"> + <sub name="General considerations" link="language-bindings.html#bindings-general"/> + <sub name="Memory management" link="bindings-memory.html"/> + <sub name="Multiple return values" link="bindings-return-values.html"/> + <sub name="Overloading and optional arguments" link="bindings-overloading.html"/> + <sub name="Streams and File I/O" link="bindings-streams.html"/> + <sub name="Error handling" link="bindings-errors.html"/> + <sub name="Patterns" link="bindings-patterns.html"/> + <sub name="Surfaces" link="bindings-surfaces.html"/> + <sub name="Fonts" link="bindings-fonts.html"/> + <sub name="cairo_path_t" link="bindings-path.html"/> + </sub> + </chapters> + <functions> + <keyword type="function" name="cairo_create ()" link="cairo-cairo-t.html#cairo-create" since="1.0"/> + <keyword type="function" name="cairo_reference ()" link="cairo-cairo-t.html#cairo-reference" since="1.0"/> + <keyword type="function" name="cairo_destroy ()" link="cairo-cairo-t.html#cairo-destroy" since="1.0"/> + <keyword type="function" name="cairo_status ()" link="cairo-cairo-t.html#cairo-status" since="1.0"/> + <keyword type="function" name="cairo_save ()" link="cairo-cairo-t.html#cairo-save" since="1.0"/> + <keyword type="function" name="cairo_restore ()" link="cairo-cairo-t.html#cairo-restore" since="1.0"/> + <keyword type="function" name="cairo_get_target ()" link="cairo-cairo-t.html#cairo-get-target" since="1.0"/> + <keyword type="function" name="cairo_push_group ()" link="cairo-cairo-t.html#cairo-push-group" since="1.2"/> + <keyword type="function" name="cairo_push_group_with_content ()" link="cairo-cairo-t.html#cairo-push-group-with-content" since="1.2"/> + <keyword type="function" name="cairo_pop_group ()" link="cairo-cairo-t.html#cairo-pop-group" since="1.2"/> + <keyword type="function" name="cairo_pop_group_to_source ()" link="cairo-cairo-t.html#cairo-pop-group-to-source" since="1.2"/> + <keyword type="function" name="cairo_get_group_target ()" link="cairo-cairo-t.html#cairo-get-group-target" since="1.2"/> + <keyword type="function" name="cairo_set_source_rgb ()" link="cairo-cairo-t.html#cairo-set-source-rgb" since="1.0"/> + <keyword type="function" name="cairo_set_source_rgba ()" link="cairo-cairo-t.html#cairo-set-source-rgba" since="1.0"/> + <keyword type="function" name="cairo_set_source ()" link="cairo-cairo-t.html#cairo-set-source" since="1.0"/> + <keyword type="function" name="cairo_set_source_surface ()" link="cairo-cairo-t.html#cairo-set-source-surface" since="1.0"/> + <keyword type="function" name="cairo_get_source ()" link="cairo-cairo-t.html#cairo-get-source" since="1.0"/> + <keyword type="function" name="cairo_set_antialias ()" link="cairo-cairo-t.html#cairo-set-antialias" since="1.0"/> + <keyword type="function" name="cairo_get_antialias ()" link="cairo-cairo-t.html#cairo-get-antialias" since="1.0"/> + <keyword type="function" name="cairo_set_dash ()" link="cairo-cairo-t.html#cairo-set-dash" since="1.0"/> + <keyword type="function" name="cairo_get_dash_count ()" link="cairo-cairo-t.html#cairo-get-dash-count" since="1.4"/> + <keyword type="function" name="cairo_get_dash ()" link="cairo-cairo-t.html#cairo-get-dash" since="1.4"/> + <keyword type="function" name="cairo_set_fill_rule ()" link="cairo-cairo-t.html#cairo-set-fill-rule" since="1.0"/> + <keyword type="function" name="cairo_get_fill_rule ()" link="cairo-cairo-t.html#cairo-get-fill-rule" since="1.0"/> + <keyword type="function" name="cairo_set_line_cap ()" link="cairo-cairo-t.html#cairo-set-line-cap" since="1.0"/> + <keyword type="function" name="cairo_get_line_cap ()" link="cairo-cairo-t.html#cairo-get-line-cap" since="1.0"/> + <keyword type="function" name="cairo_set_line_join ()" link="cairo-cairo-t.html#cairo-set-line-join" since="1.0"/> + <keyword type="function" name="cairo_get_line_join ()" link="cairo-cairo-t.html#cairo-get-line-join" since="1.0"/> + <keyword type="function" name="cairo_set_line_width ()" link="cairo-cairo-t.html#cairo-set-line-width" since="1.0"/> + <keyword type="function" name="cairo_get_line_width ()" link="cairo-cairo-t.html#cairo-get-line-width" since="1.0"/> + <keyword type="function" name="cairo_set_miter_limit ()" link="cairo-cairo-t.html#cairo-set-miter-limit" since="1.0"/> + <keyword type="function" name="cairo_get_miter_limit ()" link="cairo-cairo-t.html#cairo-get-miter-limit" since="1.0"/> + <keyword type="function" name="cairo_set_operator ()" link="cairo-cairo-t.html#cairo-set-operator" since="1.0"/> + <keyword type="function" name="cairo_get_operator ()" link="cairo-cairo-t.html#cairo-get-operator" since="1.0"/> + <keyword type="function" name="cairo_set_tolerance ()" link="cairo-cairo-t.html#cairo-set-tolerance" since="1.0"/> + <keyword type="function" name="cairo_get_tolerance ()" link="cairo-cairo-t.html#cairo-get-tolerance" since="1.0"/> + <keyword type="function" name="cairo_clip ()" link="cairo-cairo-t.html#cairo-clip" since="1.0"/> + <keyword type="function" name="cairo_clip_preserve ()" link="cairo-cairo-t.html#cairo-clip-preserve" since="1.0"/> + <keyword type="function" name="cairo_clip_extents ()" link="cairo-cairo-t.html#cairo-clip-extents" since="1.4"/> + <keyword type="function" name="cairo_in_clip ()" link="cairo-cairo-t.html#cairo-in-clip" since="1.10"/> + <keyword type="function" name="cairo_reset_clip ()" link="cairo-cairo-t.html#cairo-reset-clip" since="1.0"/> + <keyword type="function" name="cairo_rectangle_list_destroy ()" link="cairo-cairo-t.html#cairo-rectangle-list-destroy" since="1.4"/> + <keyword type="function" name="cairo_copy_clip_rectangle_list ()" link="cairo-cairo-t.html#cairo-copy-clip-rectangle-list" since="1.4"/> + <keyword type="function" name="cairo_fill ()" link="cairo-cairo-t.html#cairo-fill" since="1.0"/> + <keyword type="function" name="cairo_fill_preserve ()" link="cairo-cairo-t.html#cairo-fill-preserve" since="1.0"/> + <keyword type="function" name="cairo_fill_extents ()" link="cairo-cairo-t.html#cairo-fill-extents" since="1.0"/> + <keyword type="function" name="cairo_in_fill ()" link="cairo-cairo-t.html#cairo-in-fill" since="1.0"/> + <keyword type="function" name="cairo_mask ()" link="cairo-cairo-t.html#cairo-mask" since="1.0"/> + <keyword type="function" name="cairo_mask_surface ()" link="cairo-cairo-t.html#cairo-mask-surface" since="1.0"/> + <keyword type="function" name="cairo_paint ()" link="cairo-cairo-t.html#cairo-paint" since="1.0"/> + <keyword type="function" name="cairo_paint_with_alpha ()" link="cairo-cairo-t.html#cairo-paint-with-alpha" since="1.0"/> + <keyword type="function" name="cairo_stroke ()" link="cairo-cairo-t.html#cairo-stroke" since="1.0"/> + <keyword type="function" name="cairo_stroke_preserve ()" link="cairo-cairo-t.html#cairo-stroke-preserve" since="1.0"/> + <keyword type="function" name="cairo_stroke_extents ()" link="cairo-cairo-t.html#cairo-stroke-extents" since="1.0"/> + <keyword type="function" name="cairo_in_stroke ()" link="cairo-cairo-t.html#cairo-in-stroke" since="1.0"/> + <keyword type="function" name="cairo_copy_page ()" link="cairo-cairo-t.html#cairo-copy-page" since="1.0"/> + <keyword type="function" name="cairo_show_page ()" link="cairo-cairo-t.html#cairo-show-page" since="1.0"/> + <keyword type="function" name="cairo_get_reference_count ()" link="cairo-cairo-t.html#cairo-get-reference-count" since="1.4"/> + <keyword type="function" name="cairo_set_user_data ()" link="cairo-cairo-t.html#cairo-set-user-data" since="1.4"/> + <keyword type="function" name="cairo_get_user_data ()" link="cairo-cairo-t.html#cairo-get-user-data" since="1.4"/> + <keyword type="typedef" name="cairo_t" link="cairo-cairo-t.html#cairo-t" since="1.0"/> + <keyword type="enum" name="enum cairo_antialias_t" link="cairo-cairo-t.html#cairo-antialias-t" since="1.0"/> + <keyword type="enum" name="enum cairo_fill_rule_t" link="cairo-cairo-t.html#cairo-fill-rule-t" since="1.0"/> + <keyword type="enum" name="enum cairo_line_cap_t" link="cairo-cairo-t.html#cairo-line-cap-t" since="1.0"/> + <keyword type="enum" name="enum cairo_line_join_t" link="cairo-cairo-t.html#cairo-line-join-t" since="1.0"/> + <keyword type="enum" name="enum cairo_operator_t" link="cairo-cairo-t.html#cairo-operator-t" since="1.0"/> + <keyword type="struct" name="cairo_rectangle_t" link="cairo-cairo-t.html#cairo-rectangle-t" since="1.4"/> + <keyword type="struct" name="cairo_rectangle_list_t" link="cairo-cairo-t.html#cairo-rectangle-list-t" since="1.4"/> + <keyword type="function" name="cairo_copy_path ()" link="cairo-Paths.html#cairo-copy-path" since="1.0"/> + <keyword type="function" name="cairo_copy_path_flat ()" link="cairo-Paths.html#cairo-copy-path-flat" since="1.0"/> + <keyword type="function" name="cairo_path_destroy ()" link="cairo-Paths.html#cairo-path-destroy" since="1.0"/> + <keyword type="function" name="cairo_append_path ()" link="cairo-Paths.html#cairo-append-path" since="1.0"/> + <keyword type="function" name="cairo_has_current_point ()" link="cairo-Paths.html#cairo-has-current-point" since="1.6"/> + <keyword type="function" name="cairo_get_current_point ()" link="cairo-Paths.html#cairo-get-current-point" since="1.0"/> + <keyword type="function" name="cairo_new_path ()" link="cairo-Paths.html#cairo-new-path" since="1.0"/> + <keyword type="function" name="cairo_new_sub_path ()" link="cairo-Paths.html#cairo-new-sub-path" since="1.2"/> + <keyword type="function" name="cairo_close_path ()" link="cairo-Paths.html#cairo-close-path" since="1.0"/> + <keyword type="function" name="cairo_arc ()" link="cairo-Paths.html#cairo-arc" since="1.0"/> + <keyword type="function" name="cairo_arc_negative ()" link="cairo-Paths.html#cairo-arc-negative" since="1.0"/> + <keyword type="function" name="cairo_curve_to ()" link="cairo-Paths.html#cairo-curve-to" since="1.0"/> + <keyword type="function" name="cairo_line_to ()" link="cairo-Paths.html#cairo-line-to" since="1.0"/> + <keyword type="function" name="cairo_move_to ()" link="cairo-Paths.html#cairo-move-to" since="1.0"/> + <keyword type="function" name="cairo_rectangle ()" link="cairo-Paths.html#cairo-rectangle" since="1.0"/> + <keyword type="function" name="cairo_glyph_path ()" link="cairo-Paths.html#cairo-glyph-path" since="1.0"/> + <keyword type="function" name="cairo_text_path ()" link="cairo-Paths.html#cairo-text-path" since="1.0"/> + <keyword type="function" name="cairo_rel_curve_to ()" link="cairo-Paths.html#cairo-rel-curve-to" since="1.0"/> + <keyword type="function" name="cairo_rel_line_to ()" link="cairo-Paths.html#cairo-rel-line-to" since="1.0"/> + <keyword type="function" name="cairo_rel_move_to ()" link="cairo-Paths.html#cairo-rel-move-to" since="1.0"/> + <keyword type="function" name="cairo_path_extents ()" link="cairo-Paths.html#cairo-path-extents" since="1.6"/> + <keyword type="struct" name="cairo_path_t" link="cairo-Paths.html#cairo-path-t" since="1.0"/> + <keyword type="union" name="union cairo_path_data_t" link="cairo-Paths.html#cairo-path-data-t" since="1.0"/> + <keyword type="enum" name="enum cairo_path_data_type_t" link="cairo-Paths.html#cairo-path-data-type-t" since="1.0"/> + <keyword type="function" name="cairo_pattern_add_color_stop_rgb ()" link="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgb" since="1.0"/> + <keyword type="function" name="cairo_pattern_add_color_stop_rgba ()" link="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgba" since="1.0"/> + <keyword type="function" name="cairo_pattern_get_color_stop_count ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-color-stop-count" since="1.4"/> + <keyword type="function" name="cairo_pattern_get_color_stop_rgba ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-color-stop-rgba" since="1.4"/> + <keyword type="function" name="cairo_pattern_create_rgb ()" link="cairo-cairo-pattern-t.html#cairo-pattern-create-rgb" since="1.0"/> + <keyword type="function" name="cairo_pattern_create_rgba ()" link="cairo-cairo-pattern-t.html#cairo-pattern-create-rgba" since="1.0"/> + <keyword type="function" name="cairo_pattern_get_rgba ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-rgba" since="1.4"/> + <keyword type="function" name="cairo_pattern_create_for_surface ()" link="cairo-cairo-pattern-t.html#cairo-pattern-create-for-surface" since="1.0"/> + <keyword type="function" name="cairo_pattern_get_surface ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-surface" since="1.4"/> + <keyword type="function" name="cairo_pattern_create_linear ()" link="cairo-cairo-pattern-t.html#cairo-pattern-create-linear" since="1.0"/> + <keyword type="function" name="cairo_pattern_get_linear_points ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-linear-points" since="1.4"/> + <keyword type="function" name="cairo_pattern_create_radial ()" link="cairo-cairo-pattern-t.html#cairo-pattern-create-radial" since="1.0"/> + <keyword type="function" name="cairo_pattern_get_radial_circles ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-radial-circles" since="1.4"/> + <keyword type="function" name="cairo_pattern_create_mesh ()" link="cairo-cairo-pattern-t.html#cairo-pattern-create-mesh" since="1.12"/> + <keyword type="function" name="cairo_mesh_pattern_begin_patch ()" link="cairo-cairo-pattern-t.html#cairo-mesh-pattern-begin-patch" since="1.12"/> + <keyword type="function" name="cairo_mesh_pattern_end_patch ()" link="cairo-cairo-pattern-t.html#cairo-mesh-pattern-end-patch" since="1.12"/> + <keyword type="function" name="cairo_mesh_pattern_move_to ()" link="cairo-cairo-pattern-t.html#cairo-mesh-pattern-move-to" since="1.12"/> + <keyword type="function" name="cairo_mesh_pattern_line_to ()" link="cairo-cairo-pattern-t.html#cairo-mesh-pattern-line-to" since="1.12"/> + <keyword type="function" name="cairo_mesh_pattern_curve_to ()" link="cairo-cairo-pattern-t.html#cairo-mesh-pattern-curve-to" since="1.12"/> + <keyword type="function" name="cairo_mesh_pattern_set_control_point ()" link="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-control-point" since="1.12"/> + <keyword type="function" name="cairo_mesh_pattern_set_corner_color_rgb ()" link="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb" since="1.12"/> + <keyword type="function" name="cairo_mesh_pattern_set_corner_color_rgba ()" link="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgba" since="1.12"/> + <keyword type="function" name="cairo_mesh_pattern_get_patch_count ()" link="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-patch-count" since="1.12"/> + <keyword type="function" name="cairo_mesh_pattern_get_path ()" link="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-path" since="1.12"/> + <keyword type="function" name="cairo_mesh_pattern_get_control_point ()" link="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-control-point" since="1.12"/> + <keyword type="function" name="cairo_mesh_pattern_get_corner_color_rgba ()" link="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-corner-color-rgba" since="1.12"/> + <keyword type="function" name="cairo_pattern_reference ()" link="cairo-cairo-pattern-t.html#cairo-pattern-reference" since="1.0"/> + <keyword type="function" name="cairo_pattern_destroy ()" link="cairo-cairo-pattern-t.html#cairo-pattern-destroy" since="1.0"/> + <keyword type="function" name="cairo_pattern_status ()" link="cairo-cairo-pattern-t.html#cairo-pattern-status" since="1.0"/> + <keyword type="function" name="cairo_pattern_set_extend ()" link="cairo-cairo-pattern-t.html#cairo-pattern-set-extend" since="1.0"/> + <keyword type="function" name="cairo_pattern_get_extend ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-extend" since="1.0"/> + <keyword type="function" name="cairo_pattern_set_filter ()" link="cairo-cairo-pattern-t.html#cairo-pattern-set-filter" since="1.0"/> + <keyword type="function" name="cairo_pattern_get_filter ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-filter" since="1.0"/> + <keyword type="function" name="cairo_pattern_set_matrix ()" link="cairo-cairo-pattern-t.html#cairo-pattern-set-matrix" since="1.0"/> + <keyword type="function" name="cairo_pattern_get_matrix ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-matrix" since="1.0"/> + <keyword type="function" name="cairo_pattern_get_type ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-type" since="1.2"/> + <keyword type="function" name="cairo_pattern_get_reference_count ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-reference-count" since="1.4"/> + <keyword type="function" name="cairo_pattern_set_user_data ()" link="cairo-cairo-pattern-t.html#cairo-pattern-set-user-data" since="1.4"/> + <keyword type="function" name="cairo_pattern_get_user_data ()" link="cairo-cairo-pattern-t.html#cairo-pattern-get-user-data" since="1.4"/> + <keyword type="typedef" name="cairo_pattern_t" link="cairo-cairo-pattern-t.html#cairo-pattern-t" since="1.0"/> + <keyword type="enum" name="enum cairo_extend_t" link="cairo-cairo-pattern-t.html#cairo-extend-t" since="1.0"/> + <keyword type="enum" name="enum cairo_filter_t" link="cairo-cairo-pattern-t.html#cairo-filter-t" since="1.0"/> + <keyword type="enum" name="enum cairo_pattern_type_t" link="cairo-cairo-pattern-t.html#cairo-pattern-type-t" since="1.2"/> + <keyword type="function" name="cairo_region_create ()" link="cairo-Regions.html#cairo-region-create" since="1.10"/> + <keyword type="function" name="cairo_region_create_rectangle ()" link="cairo-Regions.html#cairo-region-create-rectangle" since="1.10"/> + <keyword type="function" name="cairo_region_create_rectangles ()" link="cairo-Regions.html#cairo-region-create-rectangles" since="1.10"/> + <keyword type="function" name="cairo_region_copy ()" link="cairo-Regions.html#cairo-region-copy" since="1.10"/> + <keyword type="function" name="cairo_region_reference ()" link="cairo-Regions.html#cairo-region-reference" since="1.10"/> + <keyword type="function" name="cairo_region_destroy ()" link="cairo-Regions.html#cairo-region-destroy" since="1.10"/> + <keyword type="function" name="cairo_region_status ()" link="cairo-Regions.html#cairo-region-status" since="1.10"/> + <keyword type="function" name="cairo_region_get_extents ()" link="cairo-Regions.html#cairo-region-get-extents" since="1.10"/> + <keyword type="function" name="cairo_region_num_rectangles ()" link="cairo-Regions.html#cairo-region-num-rectangles" since="1.10"/> + <keyword type="function" name="cairo_region_get_rectangle ()" link="cairo-Regions.html#cairo-region-get-rectangle" since="1.10"/> + <keyword type="function" name="cairo_region_is_empty ()" link="cairo-Regions.html#cairo-region-is-empty" since="1.10"/> + <keyword type="function" name="cairo_region_contains_point ()" link="cairo-Regions.html#cairo-region-contains-point" since="1.10"/> + <keyword type="function" name="cairo_region_contains_rectangle ()" link="cairo-Regions.html#cairo-region-contains-rectangle" since="1.10"/> + <keyword type="function" name="cairo_region_equal ()" link="cairo-Regions.html#cairo-region-equal" since="1.10"/> + <keyword type="function" name="cairo_region_translate ()" link="cairo-Regions.html#cairo-region-translate" since="1.10"/> + <keyword type="function" name="cairo_region_intersect ()" link="cairo-Regions.html#cairo-region-intersect" since="1.10"/> + <keyword type="function" name="cairo_region_intersect_rectangle ()" link="cairo-Regions.html#cairo-region-intersect-rectangle" since="1.10"/> + <keyword type="function" name="cairo_region_subtract ()" link="cairo-Regions.html#cairo-region-subtract" since="1.10"/> + <keyword type="function" name="cairo_region_subtract_rectangle ()" link="cairo-Regions.html#cairo-region-subtract-rectangle" since="1.10"/> + <keyword type="function" name="cairo_region_union ()" link="cairo-Regions.html#cairo-region-union" since="1.10"/> + <keyword type="function" name="cairo_region_union_rectangle ()" link="cairo-Regions.html#cairo-region-union-rectangle" since="1.10"/> + <keyword type="function" name="cairo_region_xor ()" link="cairo-Regions.html#cairo-region-xor" since="1.10"/> + <keyword type="function" name="cairo_region_xor_rectangle ()" link="cairo-Regions.html#cairo-region-xor-rectangle" since="1.10"/> + <keyword type="typedef" name="cairo_region_t" link="cairo-Regions.html#cairo-region-t" since="1.10"/> + <keyword type="enum" name="enum cairo_region_overlap_t" link="cairo-Regions.html#cairo-region-overlap-t" since="1.10"/> + <keyword type="function" name="cairo_translate ()" link="cairo-Transformations.html#cairo-translate" since="1.0"/> + <keyword type="function" name="cairo_scale ()" link="cairo-Transformations.html#cairo-scale" since="1.0"/> + <keyword type="function" name="cairo_rotate ()" link="cairo-Transformations.html#cairo-rotate" since="1.0"/> + <keyword type="function" name="cairo_transform ()" link="cairo-Transformations.html#cairo-transform" since="1.0"/> + <keyword type="function" name="cairo_set_matrix ()" link="cairo-Transformations.html#cairo-set-matrix" since="1.0"/> + <keyword type="function" name="cairo_get_matrix ()" link="cairo-Transformations.html#cairo-get-matrix" since="1.0"/> + <keyword type="function" name="cairo_identity_matrix ()" link="cairo-Transformations.html#cairo-identity-matrix" since="1.0"/> + <keyword type="function" name="cairo_user_to_device ()" link="cairo-Transformations.html#cairo-user-to-device" since="1.0"/> + <keyword type="function" name="cairo_user_to_device_distance ()" link="cairo-Transformations.html#cairo-user-to-device-distance" since="1.0"/> + <keyword type="function" name="cairo_device_to_user ()" link="cairo-Transformations.html#cairo-device-to-user" since="1.0"/> + <keyword type="function" name="cairo_device_to_user_distance ()" link="cairo-Transformations.html#cairo-device-to-user-distance" since="1.0"/> + <keyword type="function" name="cairo_select_font_face ()" link="cairo-text.html#cairo-select-font-face" since="1.0"/> + <keyword type="function" name="cairo_set_font_size ()" link="cairo-text.html#cairo-set-font-size" since="1.0"/> + <keyword type="function" name="cairo_set_font_matrix ()" link="cairo-text.html#cairo-set-font-matrix" since="1.0"/> + <keyword type="function" name="cairo_get_font_matrix ()" link="cairo-text.html#cairo-get-font-matrix" since="1.0"/> + <keyword type="function" name="cairo_set_font_options ()" link="cairo-text.html#cairo-set-font-options" since="1.0"/> + <keyword type="function" name="cairo_get_font_options ()" link="cairo-text.html#cairo-get-font-options" since="1.0"/> + <keyword type="function" name="cairo_set_font_face ()" link="cairo-text.html#cairo-set-font-face" since="1.0"/> + <keyword type="function" name="cairo_get_font_face ()" link="cairo-text.html#cairo-get-font-face" since="1.0"/> + <keyword type="function" name="cairo_set_scaled_font ()" link="cairo-text.html#cairo-set-scaled-font" since="1.2"/> + <keyword type="function" name="cairo_get_scaled_font ()" link="cairo-text.html#cairo-get-scaled-font" since="1.4"/> + <keyword type="function" name="cairo_show_text ()" link="cairo-text.html#cairo-show-text" since="1.0"/> + <keyword type="function" name="cairo_show_glyphs ()" link="cairo-text.html#cairo-show-glyphs" since="1.0"/> + <keyword type="function" name="cairo_show_text_glyphs ()" link="cairo-text.html#cairo-show-text-glyphs" since="1.8"/> + <keyword type="function" name="cairo_font_extents ()" link="cairo-text.html#cairo-font-extents" since="1.0"/> + <keyword type="function" name="cairo_text_extents ()" link="cairo-text.html#cairo-text-extents" since="1.0"/> + <keyword type="function" name="cairo_glyph_extents ()" link="cairo-text.html#cairo-glyph-extents" since="1.0"/> + <keyword type="function" name="cairo_toy_font_face_create ()" link="cairo-text.html#cairo-toy-font-face-create" since="1.8"/> + <keyword type="function" name="cairo_toy_font_face_get_family ()" link="cairo-text.html#cairo-toy-font-face-get-family" since="1.8"/> + <keyword type="function" name="cairo_toy_font_face_get_slant ()" link="cairo-text.html#cairo-toy-font-face-get-slant" since="1.8"/> + <keyword type="function" name="cairo_toy_font_face_get_weight ()" link="cairo-text.html#cairo-toy-font-face-get-weight" since="1.8"/> + <keyword type="function" name="cairo_glyph_allocate ()" link="cairo-text.html#cairo-glyph-allocate" since="1.8"/> + <keyword type="function" name="cairo_glyph_free ()" link="cairo-text.html#cairo-glyph-free" since="1.8"/> + <keyword type="function" name="cairo_text_cluster_allocate ()" link="cairo-text.html#cairo-text-cluster-allocate" since="1.8"/> + <keyword type="function" name="cairo_text_cluster_free ()" link="cairo-text.html#cairo-text-cluster-free" since="1.8"/> + <keyword type="struct" name="cairo_glyph_t" link="cairo-text.html#cairo-glyph-t" since="1.0"/> + <keyword type="enum" name="enum cairo_font_slant_t" link="cairo-text.html#cairo-font-slant-t" since="1.0"/> + <keyword type="enum" name="enum cairo_font_weight_t" link="cairo-text.html#cairo-font-weight-t" since="1.0"/> + <keyword type="struct" name="cairo_text_cluster_t" link="cairo-text.html#cairo-text-cluster-t" since="1.8"/> + <keyword type="enum" name="enum cairo_text_cluster_flags_t" link="cairo-text.html#cairo-text-cluster-flags-t" since="1.8"/> + <keyword type="function" name="cairo_pattern_create_raster_source ()" link="cairo-Raster-Sources.html#cairo-pattern-create-raster-source" since="1.12"/> + <keyword type="function" name="cairo_raster_source_pattern_set_callback_data ()" link="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-callback-data" since="1.12"/> + <keyword type="function" name="cairo_raster_source_pattern_get_callback_data ()" link="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-callback-data" since="1.12"/> + <keyword type="function" name="cairo_raster_source_pattern_set_acquire ()" link="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-acquire" since="1.12"/> + <keyword type="function" name="cairo_raster_source_pattern_get_acquire ()" link="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-acquire" since="1.12"/> + <keyword type="function" name="cairo_raster_source_pattern_set_snapshot ()" link="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-snapshot" since="1.12"/> + <keyword type="function" name="cairo_raster_source_pattern_get_snapshot ()" link="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-snapshot" since="1.12"/> + <keyword type="function" name="cairo_raster_source_pattern_set_copy ()" link="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-copy" since="1.12"/> + <keyword type="function" name="cairo_raster_source_pattern_get_copy ()" link="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-copy" since="1.12"/> + <keyword type="function" name="cairo_raster_source_pattern_set_finish ()" link="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-finish" since="1.12"/> + <keyword type="function" name="cairo_raster_source_pattern_get_finish ()" link="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-finish" since="1.12"/> + <keyword type="function" name="cairo_raster_source_acquire_func_t ()" link="cairo-Raster-Sources.html#cairo-raster-source-acquire-func-t" since="1.12"/> + <keyword type="function" name="cairo_raster_source_release_func_t ()" link="cairo-Raster-Sources.html#cairo-raster-source-release-func-t" since="1.12"/> + <keyword type="function" name="cairo_raster_source_snapshot_func_t ()" link="cairo-Raster-Sources.html#cairo-raster-source-snapshot-func-t" since="1.12"/> + <keyword type="function" name="cairo_raster_source_copy_func_t ()" link="cairo-Raster-Sources.html#cairo-raster-source-copy-func-t" since="1.12"/> + <keyword type="function" name="cairo_raster_source_finish_func_t ()" link="cairo-Raster-Sources.html#cairo-raster-source-finish-func-t" since="1.12"/> + <keyword type="function" name="cairo_tag_begin ()" link="cairo-Tags-and-Links.html#cairo-tag-begin" since="1.16"/> + <keyword type="function" name="cairo_tag_end ()" link="cairo-Tags-and-Links.html#cairo-tag-end" since="1.16"/> + <keyword type="macro" name="CAIRO_TAG_DEST" link="cairo-Tags-and-Links.html#CAIRO-TAG-DEST:CAPS" since="1.16"/> + <keyword type="macro" name="CAIRO_TAG_LINK" link="cairo-Tags-and-Links.html#CAIRO-TAG-LINK:CAPS" since="1.16"/> + <keyword type="function" name="cairo_font_face_reference ()" link="cairo-cairo-font-face-t.html#cairo-font-face-reference" since="1.0"/> + <keyword type="function" name="cairo_font_face_destroy ()" link="cairo-cairo-font-face-t.html#cairo-font-face-destroy" since="1.0"/> + <keyword type="function" name="cairo_font_face_status ()" link="cairo-cairo-font-face-t.html#cairo-font-face-status" since="1.0"/> + <keyword type="function" name="cairo_font_face_get_type ()" link="cairo-cairo-font-face-t.html#cairo-font-face-get-type" since="1.2"/> + <keyword type="function" name="cairo_font_face_get_reference_count ()" link="cairo-cairo-font-face-t.html#cairo-font-face-get-reference-count" since="1.4"/> + <keyword type="function" name="cairo_font_face_set_user_data ()" link="cairo-cairo-font-face-t.html#cairo-font-face-set-user-data" since="1.0"/> + <keyword type="function" name="cairo_font_face_get_user_data ()" link="cairo-cairo-font-face-t.html#cairo-font-face-get-user-data" since="1.0"/> + <keyword type="typedef" name="cairo_font_face_t" link="cairo-cairo-font-face-t.html#cairo-font-face-t" since="1.0"/> + <keyword type="enum" name="enum cairo_font_type_t" link="cairo-cairo-font-face-t.html#cairo-font-type-t" since="1.2"/> + <keyword type="function" name="cairo_scaled_font_create ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" since="1.0"/> + <keyword type="function" name="cairo_scaled_font_reference ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" since="1.0"/> + <keyword type="function" name="cairo_scaled_font_destroy ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" since="1.0"/> + <keyword type="function" name="cairo_scaled_font_status ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-status" since="1.0"/> + <keyword type="function" name="cairo_scaled_font_extents ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-extents" since="1.0"/> + <keyword type="function" name="cairo_scaled_font_text_extents ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-extents" since="1.2"/> + <keyword type="function" name="cairo_scaled_font_glyph_extents ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-glyph-extents" since="1.0"/> + <keyword type="function" name="cairo_scaled_font_text_to_glyphs ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-to-glyphs" since="1.8"/> + <keyword type="function" name="cairo_scaled_font_get_font_face ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-face" since="1.2"/> + <keyword type="function" name="cairo_scaled_font_get_font_options ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-options" since="1.2"/> + <keyword type="function" name="cairo_scaled_font_get_font_matrix ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-matrix" since="1.2"/> + <keyword type="function" name="cairo_scaled_font_get_ctm ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-ctm" since="1.2"/> + <keyword type="function" name="cairo_scaled_font_get_scale_matrix ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-scale-matrix" since="1.8"/> + <keyword type="function" name="cairo_scaled_font_get_type ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-type" since="1.2"/> + <keyword type="function" name="cairo_scaled_font_get_reference_count ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-reference-count" since="1.4"/> + <keyword type="function" name="cairo_scaled_font_set_user_data ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-set-user-data" since="1.4"/> + <keyword type="function" name="cairo_scaled_font_get_user_data ()" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-user-data" since="1.4"/> + <keyword type="typedef" name="cairo_scaled_font_t" link="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" since="1.0"/> + <keyword type="struct" name="cairo_font_extents_t" link="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" since="1.0"/> + <keyword type="struct" name="cairo_text_extents_t" link="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" since="1.0"/> + <keyword type="function" name="cairo_font_options_create ()" link="cairo-cairo-font-options-t.html#cairo-font-options-create" since="1.0"/> + <keyword type="function" name="cairo_font_options_copy ()" link="cairo-cairo-font-options-t.html#cairo-font-options-copy" since="1.0"/> + <keyword type="function" name="cairo_font_options_destroy ()" link="cairo-cairo-font-options-t.html#cairo-font-options-destroy" since="1.0"/> + <keyword type="function" name="cairo_font_options_status ()" link="cairo-cairo-font-options-t.html#cairo-font-options-status" since="1.0"/> + <keyword type="function" name="cairo_font_options_merge ()" link="cairo-cairo-font-options-t.html#cairo-font-options-merge" since="1.0"/> + <keyword type="function" name="cairo_font_options_hash ()" link="cairo-cairo-font-options-t.html#cairo-font-options-hash" since="1.0"/> + <keyword type="function" name="cairo_font_options_equal ()" link="cairo-cairo-font-options-t.html#cairo-font-options-equal" since="1.0"/> + <keyword type="function" name="cairo_font_options_set_antialias ()" link="cairo-cairo-font-options-t.html#cairo-font-options-set-antialias" since="1.0"/> + <keyword type="function" name="cairo_font_options_get_antialias ()" link="cairo-cairo-font-options-t.html#cairo-font-options-get-antialias" since="1.0"/> + <keyword type="function" name="cairo_font_options_set_subpixel_order ()" link="cairo-cairo-font-options-t.html#cairo-font-options-set-subpixel-order" since="1.0"/> + <keyword type="function" name="cairo_font_options_get_subpixel_order ()" link="cairo-cairo-font-options-t.html#cairo-font-options-get-subpixel-order" since="1.0"/> + <keyword type="function" name="cairo_font_options_set_hint_style ()" link="cairo-cairo-font-options-t.html#cairo-font-options-set-hint-style" since="1.0"/> + <keyword type="function" name="cairo_font_options_get_hint_style ()" link="cairo-cairo-font-options-t.html#cairo-font-options-get-hint-style" since="1.0"/> + <keyword type="function" name="cairo_font_options_set_hint_metrics ()" link="cairo-cairo-font-options-t.html#cairo-font-options-set-hint-metrics" since="1.0"/> + <keyword type="function" name="cairo_font_options_get_hint_metrics ()" link="cairo-cairo-font-options-t.html#cairo-font-options-get-hint-metrics" since="1.0"/> + <keyword type="function" name="cairo_font_options_get_variations ()" link="cairo-cairo-font-options-t.html#cairo-font-options-get-variations" since="1.16"/> + <keyword type="function" name="cairo_font_options_set_variations ()" link="cairo-cairo-font-options-t.html#cairo-font-options-set-variations" since="1.16"/> + <keyword type="typedef" name="cairo_font_options_t" link="cairo-cairo-font-options-t.html#cairo-font-options-t" since="1.0"/> + <keyword type="enum" name="enum cairo_subpixel_order_t" link="cairo-cairo-font-options-t.html#cairo-subpixel-order-t" since="1.0"/> + <keyword type="enum" name="enum cairo_hint_style_t" link="cairo-cairo-font-options-t.html#cairo-hint-style-t" since="1.0"/> + <keyword type="enum" name="enum cairo_hint_metrics_t" link="cairo-cairo-font-options-t.html#cairo-hint-metrics-t" since="1.0"/> + <keyword type="function" name="cairo_ft_font_face_create_for_ft_face ()" link="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-ft-face" since="1.0"/> + <keyword type="function" name="cairo_ft_font_face_create_for_pattern ()" link="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-pattern" since="1.0"/> + <keyword type="function" name="cairo_ft_font_options_substitute ()" link="cairo-FreeType-Fonts.html#cairo-ft-font-options-substitute" since="1.0"/> + <keyword type="function" name="cairo_ft_scaled_font_lock_face ()" link="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-lock-face" since="1.0"/> + <keyword type="function" name="cairo_ft_scaled_font_unlock_face ()" link="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-unlock-face" since="1.0"/> + <keyword type="function" name="cairo_ft_font_face_get_synthesize ()" link="cairo-FreeType-Fonts.html#cairo-ft-font-face-get-synthesize" since="1.12"/> + <keyword type="function" name="cairo_ft_font_face_set_synthesize ()" link="cairo-FreeType-Fonts.html#cairo-ft-font-face-set-synthesize" since="1.12"/> + <keyword type="function" name="cairo_ft_font_face_unset_synthesize ()" link="cairo-FreeType-Fonts.html#cairo-ft-font-face-unset-synthesize" since="1.12"/> + <keyword type="macro" name="CAIRO_HAS_FT_FONT" link="cairo-FreeType-Fonts.html#CAIRO-HAS-FT-FONT:CAPS" since="1.0"/> + <keyword type="macro" name="CAIRO_HAS_FC_FONT" link="cairo-FreeType-Fonts.html#CAIRO-HAS-FC-FONT:CAPS" since="1.10"/> + <keyword type="enum" name="enum cairo_ft_synthesize_t" link="cairo-FreeType-Fonts.html#cairo-ft-synthesize-t" since="1.12"/> + <keyword type="function" name="cairo_win32_font_face_create_for_logfontw ()" link="cairo-Win32-Fonts.html#cairo-win32-font-face-create-for-logfontw" since="1.0"/> + <keyword type="function" name="cairo_win32_font_face_create_for_hfont ()" link="cairo-Win32-Fonts.html#cairo-win32-font-face-create-for-hfont" since="1.2"/> + <keyword type="function" name="cairo_win32_font_face_create_for_logfontw_hfont ()" link="cairo-Win32-Fonts.html#cairo-win32-font-face-create-for-logfontw-hfont" since="1.6"/> + <keyword type="function" name="cairo_win32_scaled_font_select_font ()" link="cairo-Win32-Fonts.html#cairo-win32-scaled-font-select-font" since="1.0"/> + <keyword type="function" name="cairo_win32_scaled_font_done_font ()" link="cairo-Win32-Fonts.html#cairo-win32-scaled-font-done-font" since="1.0"/> + <keyword type="function" name="cairo_win32_scaled_font_get_metrics_factor ()" link="cairo-Win32-Fonts.html#cairo-win32-scaled-font-get-metrics-factor" since="1.0"/> + <keyword type="function" name="cairo_win32_scaled_font_get_logical_to_device ()" link="cairo-Win32-Fonts.html#cairo-win32-scaled-font-get-logical-to-device" since="1.4"/> + <keyword type="function" name="cairo_win32_scaled_font_get_device_to_logical ()" link="cairo-Win32-Fonts.html#cairo-win32-scaled-font-get-device-to-logical" since="1.4"/> + <keyword type="macro" name="CAIRO_HAS_WIN32_FONT" link="cairo-Win32-Fonts.html#CAIRO-HAS-WIN32-FONT:CAPS" since="1.8"/> + <keyword type="function" name="cairo_quartz_font_face_create_for_cgfont ()" link="cairo-Quartz-(CGFont)-Fonts.html#cairo-quartz-font-face-create-for-cgfont" since="1.6"/> + <keyword type="function" name="cairo_quartz_font_face_create_for_atsu_font_id ()" link="cairo-Quartz-(CGFont)-Fonts.html#cairo-quartz-font-face-create-for-atsu-font-id" since="1.6"/> + <keyword type="macro" name="CAIRO_HAS_QUARTZ_FONT" link="cairo-Quartz-(CGFont)-Fonts.html#CAIRO-HAS-QUARTZ-FONT:CAPS" since="1.6"/> + <keyword type="function" name="cairo_user_scaled_font_init_func_t ()" link="cairo-User-Fonts.html#cairo-user-scaled-font-init-func-t" since="1.8"/> + <keyword type="function" name="cairo_user_scaled_font_render_glyph_func_t ()" link="cairo-User-Fonts.html#cairo-user-scaled-font-render-glyph-func-t" since="1.8"/> + <keyword type="function" name="cairo_user_scaled_font_text_to_glyphs_func_t ()" link="cairo-User-Fonts.html#cairo-user-scaled-font-text-to-glyphs-func-t" since="1.8"/> + <keyword type="function" name="cairo_user_scaled_font_unicode_to_glyph_func_t ()" link="cairo-User-Fonts.html#cairo-user-scaled-font-unicode-to-glyph-func-t" since="1.8"/> + <keyword type="function" name="cairo_user_font_face_create ()" link="cairo-User-Fonts.html#cairo-user-font-face-create" since="1.8"/> + <keyword type="function" name="cairo_user_font_face_set_init_func ()" link="cairo-User-Fonts.html#cairo-user-font-face-set-init-func" since="1.8"/> + <keyword type="function" name="cairo_user_font_face_get_init_func ()" link="cairo-User-Fonts.html#cairo-user-font-face-get-init-func" since="1.8"/> + <keyword type="function" name="cairo_user_font_face_set_render_glyph_func ()" link="cairo-User-Fonts.html#cairo-user-font-face-set-render-glyph-func" since="1.8"/> + <keyword type="function" name="cairo_user_font_face_get_render_glyph_func ()" link="cairo-User-Fonts.html#cairo-user-font-face-get-render-glyph-func" since="1.8"/> + <keyword type="function" name="cairo_user_font_face_set_unicode_to_glyph_func ()" link="cairo-User-Fonts.html#cairo-user-font-face-set-unicode-to-glyph-func" since="1.8"/> + <keyword type="function" name="cairo_user_font_face_get_unicode_to_glyph_func ()" link="cairo-User-Fonts.html#cairo-user-font-face-get-unicode-to-glyph-func" since="1.8"/> + <keyword type="function" name="cairo_user_font_face_set_text_to_glyphs_func ()" link="cairo-User-Fonts.html#cairo-user-font-face-set-text-to-glyphs-func" since="1.8"/> + <keyword type="function" name="cairo_user_font_face_get_text_to_glyphs_func ()" link="cairo-User-Fonts.html#cairo-user-font-face-get-text-to-glyphs-func" since="1.8"/> + <keyword type="macro" name="CAIRO_HAS_USER_FONT" link="cairo-User-Fonts.html#CAIRO-HAS-USER-FONT:CAPS" since="1.8"/> + <keyword type="function" name="cairo_device_reference ()" link="cairo-cairo-device-t.html#cairo-device-reference" since="1.10"/> + <keyword type="function" name="cairo_device_destroy ()" link="cairo-cairo-device-t.html#cairo-device-destroy" since="1.10"/> + <keyword type="function" name="cairo_device_status ()" link="cairo-cairo-device-t.html#cairo-device-status" since="1.10"/> + <keyword type="function" name="cairo_device_finish ()" link="cairo-cairo-device-t.html#cairo-device-finish" since="1.10"/> + <keyword type="function" name="cairo_device_flush ()" link="cairo-cairo-device-t.html#cairo-device-flush" since="1.10"/> + <keyword type="function" name="cairo_device_get_type ()" link="cairo-cairo-device-t.html#cairo-device-get-type" since="1.10"/> + <keyword type="function" name="cairo_device_get_reference_count ()" link="cairo-cairo-device-t.html#cairo-device-get-reference-count" since="1.10"/> + <keyword type="function" name="cairo_device_set_user_data ()" link="cairo-cairo-device-t.html#cairo-device-set-user-data" since="1.10"/> + <keyword type="function" name="cairo_device_get_user_data ()" link="cairo-cairo-device-t.html#cairo-device-get-user-data" since="1.10"/> + <keyword type="function" name="cairo_device_acquire ()" link="cairo-cairo-device-t.html#cairo-device-acquire" since="1.10"/> + <keyword type="function" name="cairo_device_release ()" link="cairo-cairo-device-t.html#cairo-device-release" since="1.10"/> + <keyword type="function" name="cairo_device_observer_elapsed ()" link="cairo-cairo-device-t.html#cairo-device-observer-elapsed"/> + <keyword type="function" name="cairo_device_observer_fill_elapsed ()" link="cairo-cairo-device-t.html#cairo-device-observer-fill-elapsed"/> + <keyword type="function" name="cairo_device_observer_glyphs_elapsed ()" link="cairo-cairo-device-t.html#cairo-device-observer-glyphs-elapsed"/> + <keyword type="function" name="cairo_device_observer_mask_elapsed ()" link="cairo-cairo-device-t.html#cairo-device-observer-mask-elapsed"/> + <keyword type="function" name="cairo_device_observer_paint_elapsed ()" link="cairo-cairo-device-t.html#cairo-device-observer-paint-elapsed"/> + <keyword type="function" name="cairo_device_observer_print ()" link="cairo-cairo-device-t.html#cairo-device-observer-print"/> + <keyword type="function" name="cairo_device_observer_stroke_elapsed ()" link="cairo-cairo-device-t.html#cairo-device-observer-stroke-elapsed"/> + <keyword type="typedef" name="cairo_device_t" link="cairo-cairo-device-t.html#cairo-device-t" since="1.10"/> + <keyword type="enum" name="enum cairo_device_type_t" link="cairo-cairo-device-t.html#cairo-device-type-t" since="1.10"/> + <keyword type="function" name="cairo_surface_create_similar ()" link="cairo-cairo-surface-t.html#cairo-surface-create-similar" since="1.0"/> + <keyword type="function" name="cairo_surface_create_similar_image ()" link="cairo-cairo-surface-t.html#cairo-surface-create-similar-image" since="1.12"/> + <keyword type="function" name="cairo_surface_create_for_rectangle ()" link="cairo-cairo-surface-t.html#cairo-surface-create-for-rectangle" since="1.10"/> + <keyword type="function" name="cairo_surface_reference ()" link="cairo-cairo-surface-t.html#cairo-surface-reference" since="1.0"/> + <keyword type="function" name="cairo_surface_destroy ()" link="cairo-cairo-surface-t.html#cairo-surface-destroy" since="1.0"/> + <keyword type="function" name="cairo_surface_status ()" link="cairo-cairo-surface-t.html#cairo-surface-status" since="1.0"/> + <keyword type="function" name="cairo_surface_finish ()" link="cairo-cairo-surface-t.html#cairo-surface-finish" since="1.0"/> + <keyword type="function" name="cairo_surface_flush ()" link="cairo-cairo-surface-t.html#cairo-surface-flush" since="1.0"/> + <keyword type="function" name="cairo_surface_get_device ()" link="cairo-cairo-surface-t.html#cairo-surface-get-device" since="1.10"/> + <keyword type="function" name="cairo_surface_get_font_options ()" link="cairo-cairo-surface-t.html#cairo-surface-get-font-options" since="1.0"/> + <keyword type="function" name="cairo_surface_get_content ()" link="cairo-cairo-surface-t.html#cairo-surface-get-content" since="1.2"/> + <keyword type="function" name="cairo_surface_mark_dirty ()" link="cairo-cairo-surface-t.html#cairo-surface-mark-dirty" since="1.0"/> + <keyword type="function" name="cairo_surface_mark_dirty_rectangle ()" link="cairo-cairo-surface-t.html#cairo-surface-mark-dirty-rectangle" since="1.0"/> + <keyword type="function" name="cairo_surface_set_device_offset ()" link="cairo-cairo-surface-t.html#cairo-surface-set-device-offset" since="1.0"/> + <keyword type="function" name="cairo_surface_get_device_offset ()" link="cairo-cairo-surface-t.html#cairo-surface-get-device-offset" since="1.2"/> + <keyword type="function" name="cairo_surface_get_device_scale ()" link="cairo-cairo-surface-t.html#cairo-surface-get-device-scale" since="1.14"/> + <keyword type="function" name="cairo_surface_set_device_scale ()" link="cairo-cairo-surface-t.html#cairo-surface-set-device-scale" since="1.14"/> + <keyword type="function" name="cairo_surface_set_fallback_resolution ()" link="cairo-cairo-surface-t.html#cairo-surface-set-fallback-resolution" since="1.2"/> + <keyword type="function" name="cairo_surface_get_fallback_resolution ()" link="cairo-cairo-surface-t.html#cairo-surface-get-fallback-resolution" since="1.8"/> + <keyword type="function" name="cairo_surface_get_type ()" link="cairo-cairo-surface-t.html#cairo-surface-get-type" since="1.2"/> + <keyword type="function" name="cairo_surface_get_reference_count ()" link="cairo-cairo-surface-t.html#cairo-surface-get-reference-count" since="1.4"/> + <keyword type="function" name="cairo_surface_set_user_data ()" link="cairo-cairo-surface-t.html#cairo-surface-set-user-data" since="1.0"/> + <keyword type="function" name="cairo_surface_get_user_data ()" link="cairo-cairo-surface-t.html#cairo-surface-get-user-data" since="1.0"/> + <keyword type="function" name="cairo_surface_copy_page ()" link="cairo-cairo-surface-t.html#cairo-surface-copy-page" since="1.6"/> + <keyword type="function" name="cairo_surface_show_page ()" link="cairo-cairo-surface-t.html#cairo-surface-show-page" since="1.6"/> + <keyword type="function" name="cairo_surface_has_show_text_glyphs ()" link="cairo-cairo-surface-t.html#cairo-surface-has-show-text-glyphs" since="1.8"/> + <keyword type="function" name="cairo_surface_set_mime_data ()" link="cairo-cairo-surface-t.html#cairo-surface-set-mime-data" since="1.10"/> + <keyword type="function" name="cairo_surface_get_mime_data ()" link="cairo-cairo-surface-t.html#cairo-surface-get-mime-data" since="1.10"/> + <keyword type="function" name="cairo_surface_supports_mime_type ()" link="cairo-cairo-surface-t.html#cairo-surface-supports-mime-type" since="1.12"/> + <keyword type="function" name="cairo_surface_map_to_image ()" link="cairo-cairo-surface-t.html#cairo-surface-map-to-image" since="1.12"/> + <keyword type="function" name="cairo_surface_unmap_image ()" link="cairo-cairo-surface-t.html#cairo-surface-unmap-image" since="1.12"/> + <keyword type="macro" name="CAIRO_HAS_MIME_SURFACE" link="cairo-cairo-surface-t.html#CAIRO-HAS-MIME-SURFACE:CAPS"/> + <keyword type="macro" name="CAIRO_MIME_TYPE_CCITT_FAX" link="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS" since="1.16"/> + <keyword type="macro" name="CAIRO_MIME_TYPE_CCITT_FAX_PARAMS" link="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" since="1.16"/> + <keyword type="macro" name="CAIRO_MIME_TYPE_EPS" link="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS:CAPS" since="1.16"/> + <keyword type="macro" name="CAIRO_MIME_TYPE_EPS_PARAMS" link="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS-PARAMS:CAPS" since="1.16"/> + <keyword type="macro" name="CAIRO_MIME_TYPE_JBIG2" link="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2:CAPS" since="1.14"/> + <keyword type="macro" name="CAIRO_MIME_TYPE_JBIG2_GLOBAL" link="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS" since="1.14"/> + <keyword type="macro" name="CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID" link="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS" since="1.14"/> + <keyword type="macro" name="CAIRO_MIME_TYPE_JP2" link="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JP2:CAPS" since="1.10"/> + <keyword type="macro" name="CAIRO_MIME_TYPE_JPEG" link="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JPEG:CAPS" since="1.10"/> + <keyword type="macro" name="CAIRO_MIME_TYPE_PNG" link="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-PNG:CAPS" since="1.10"/> + <keyword type="macro" name="CAIRO_MIME_TYPE_URI" link="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-URI:CAPS" since="1.10"/> + <keyword type="macro" name="CAIRO_MIME_TYPE_UNIQUE_ID" link="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" since="1.12"/> + <keyword type="typedef" name="cairo_surface_t" link="cairo-cairo-surface-t.html#cairo-surface-t" since="1.0"/> + <keyword type="enum" name="enum cairo_content_t" link="cairo-cairo-surface-t.html#cairo-content-t" since="1.0"/> + <keyword type="enum" name="enum cairo_surface_type_t" link="cairo-cairo-surface-t.html#cairo-surface-type-t" since="1.2"/> + <keyword type="function" name="cairo_format_stride_for_width ()" link="cairo-Image-Surfaces.html#cairo-format-stride-for-width" since="1.6"/> + <keyword type="function" name="cairo_image_surface_create ()" link="cairo-Image-Surfaces.html#cairo-image-surface-create" since="1.0"/> + <keyword type="function" name="cairo_image_surface_create_for_data ()" link="cairo-Image-Surfaces.html#cairo-image-surface-create-for-data" since="1.0"/> + <keyword type="function" name="cairo_image_surface_get_data ()" link="cairo-Image-Surfaces.html#cairo-image-surface-get-data" since="1.2"/> + <keyword type="function" name="cairo_image_surface_get_format ()" link="cairo-Image-Surfaces.html#cairo-image-surface-get-format" since="1.2"/> + <keyword type="function" name="cairo_image_surface_get_width ()" link="cairo-Image-Surfaces.html#cairo-image-surface-get-width" since="1.0"/> + <keyword type="function" name="cairo_image_surface_get_height ()" link="cairo-Image-Surfaces.html#cairo-image-surface-get-height" since="1.0"/> + <keyword type="function" name="cairo_image_surface_get_stride ()" link="cairo-Image-Surfaces.html#cairo-image-surface-get-stride" since="1.2"/> + <keyword type="macro" name="CAIRO_HAS_IMAGE_SURFACE" link="cairo-Image-Surfaces.html#CAIRO-HAS-IMAGE-SURFACE:CAPS" since="1.8"/> + <keyword type="enum" name="enum cairo_format_t" link="cairo-Image-Surfaces.html#cairo-format-t" since="1.0"/> + <keyword type="function" name="cairo_pdf_surface_create ()" link="cairo-PDF-Surfaces.html#cairo-pdf-surface-create" since="1.2"/> + <keyword type="function" name="cairo_pdf_surface_create_for_stream ()" link="cairo-PDF-Surfaces.html#cairo-pdf-surface-create-for-stream" since="1.2"/> + <keyword type="function" name="cairo_pdf_surface_restrict_to_version ()" link="cairo-PDF-Surfaces.html#cairo-pdf-surface-restrict-to-version" since="1.10"/> + <keyword type="function" name="cairo_pdf_get_versions ()" link="cairo-PDF-Surfaces.html#cairo-pdf-get-versions" since="1.10"/> + <keyword type="function" name="cairo_pdf_version_to_string ()" link="cairo-PDF-Surfaces.html#cairo-pdf-version-to-string" since="1.10"/> + <keyword type="function" name="cairo_pdf_surface_set_size ()" link="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-size" since="1.2"/> + <keyword type="function" name="cairo_pdf_surface_add_outline ()" link="cairo-PDF-Surfaces.html#cairo-pdf-surface-add-outline" since="1.16"/> + <keyword type="function" name="cairo_pdf_surface_set_metadata ()" link="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-metadata" since="1.16"/> + <keyword type="function" name="cairo_pdf_surface_set_page_label ()" link="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-page-label" since="1.16"/> + <keyword type="function" name="cairo_pdf_surface_set_thumbnail_size ()" link="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-thumbnail-size" since="1.16"/> + <keyword type="macro" name="CAIRO_HAS_PDF_SURFACE" link="cairo-PDF-Surfaces.html#CAIRO-HAS-PDF-SURFACE:CAPS" since="1.2"/> + <keyword type="macro" name="CAIRO_PDF_OUTLINE_ROOT" link="cairo-PDF-Surfaces.html#CAIRO-PDF-OUTLINE-ROOT:CAPS" since="1.16"/> + <keyword type="enum" name="enum cairo_pdf_outline_flags_t" link="cairo-PDF-Surfaces.html#cairo-pdf-outline-flags-t" since="1.16"/> + <keyword type="enum" name="enum cairo_pdf_metadata_t" link="cairo-PDF-Surfaces.html#cairo-pdf-metadata-t" since="1.16"/> + <keyword type="enum" name="enum cairo_pdf_version_t" link="cairo-PDF-Surfaces.html#cairo-pdf-version-t" since="1.10"/> + <keyword type="function" name="cairo_image_surface_create_from_png ()" link="cairo-PNG-Support.html#cairo-image-surface-create-from-png" since="1.0"/> + <keyword type="function" name="cairo_read_func_t ()" link="cairo-PNG-Support.html#cairo-read-func-t" since="1.0"/> + <keyword type="function" name="cairo_image_surface_create_from_png_stream ()" link="cairo-PNG-Support.html#cairo-image-surface-create-from-png-stream" since="1.0"/> + <keyword type="function" name="cairo_surface_write_to_png ()" link="cairo-PNG-Support.html#cairo-surface-write-to-png" since="1.0"/> + <keyword type="function" name="cairo_write_func_t ()" link="cairo-PNG-Support.html#cairo-write-func-t" since="1.0"/> + <keyword type="function" name="cairo_surface_write_to_png_stream ()" link="cairo-PNG-Support.html#cairo-surface-write-to-png-stream" since="1.0"/> + <keyword type="macro" name="CAIRO_HAS_PNG_FUNCTIONS" link="cairo-PNG-Support.html#CAIRO-HAS-PNG-FUNCTIONS:CAPS" since="1.0"/> + <keyword type="function" name="cairo_ps_surface_create ()" link="cairo-PostScript-Surfaces.html#cairo-ps-surface-create" since="1.2"/> + <keyword type="function" name="cairo_ps_surface_create_for_stream ()" link="cairo-PostScript-Surfaces.html#cairo-ps-surface-create-for-stream" since="1.2"/> + <keyword type="function" name="cairo_ps_surface_restrict_to_level ()" link="cairo-PostScript-Surfaces.html#cairo-ps-surface-restrict-to-level" since="1.6"/> + <keyword type="function" name="cairo_ps_get_levels ()" link="cairo-PostScript-Surfaces.html#cairo-ps-get-levels" since="1.6"/> + <keyword type="function" name="cairo_ps_level_to_string ()" link="cairo-PostScript-Surfaces.html#cairo-ps-level-to-string" since="1.6"/> + <keyword type="function" name="cairo_ps_surface_set_eps ()" link="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-eps" since="1.6"/> + <keyword type="function" name="cairo_ps_surface_get_eps ()" link="cairo-PostScript-Surfaces.html#cairo-ps-surface-get-eps" since="1.6"/> + <keyword type="function" name="cairo_ps_surface_set_size ()" link="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-size" since="1.2"/> + <keyword type="function" name="cairo_ps_surface_dsc_begin_setup ()" link="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup" since="1.2"/> + <keyword type="function" name="cairo_ps_surface_dsc_begin_page_setup ()" link="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup" since="1.2"/> + <keyword type="function" name="cairo_ps_surface_dsc_comment ()" link="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment" since="1.2"/> + <keyword type="macro" name="CAIRO_HAS_PS_SURFACE" link="cairo-PostScript-Surfaces.html#CAIRO-HAS-PS-SURFACE:CAPS" since="1.2"/> + <keyword type="enum" name="enum cairo_ps_level_t" link="cairo-PostScript-Surfaces.html#cairo-ps-level-t" since="1.6"/> + <keyword type="function" name="cairo_recording_surface_create ()" link="cairo-Recording-Surfaces.html#cairo-recording-surface-create" since="1.10"/> + <keyword type="function" name="cairo_recording_surface_ink_extents ()" link="cairo-Recording-Surfaces.html#cairo-recording-surface-ink-extents" since="1.10"/> + <keyword type="function" name="cairo_recording_surface_get_extents ()" link="cairo-Recording-Surfaces.html#cairo-recording-surface-get-extents" since="1.12"/> + <keyword type="macro" name="CAIRO_HAS_RECORDING_SURFACE" link="cairo-Recording-Surfaces.html#CAIRO-HAS-RECORDING-SURFACE:CAPS" since="1.10"/> + <keyword type="function" name="cairo_win32_surface_create ()" link="cairo-Win32-Surfaces.html#cairo-win32-surface-create" since="1.0"/> + <keyword type="function" name="cairo_win32_surface_create_with_dib ()" link="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-dib" since="1.2"/> + <keyword type="function" name="cairo_win32_surface_create_with_ddb ()" link="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-ddb" since="1.4"/> + <keyword type="function" name="cairo_win32_surface_create_with_format ()" link="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-format" since="1.14"/> + <keyword type="function" name="cairo_win32_printing_surface_create ()" link="cairo-Win32-Surfaces.html#cairo-win32-printing-surface-create" since="1.6"/> + <keyword type="function" name="cairo_win32_surface_get_dc ()" link="cairo-Win32-Surfaces.html#cairo-win32-surface-get-dc" since="1.2"/> + <keyword type="function" name="cairo_win32_surface_get_image ()" link="cairo-Win32-Surfaces.html#cairo-win32-surface-get-image" since="1.4"/> + <keyword type="macro" name="CAIRO_HAS_WIN32_SURFACE" link="cairo-Win32-Surfaces.html#CAIRO-HAS-WIN32-SURFACE:CAPS" since="1.0"/> + <keyword type="function" name="cairo_svg_surface_create ()" link="cairo-SVG-Surfaces.html#cairo-svg-surface-create" since="1.2"/> + <keyword type="function" name="cairo_svg_surface_create_for_stream ()" link="cairo-SVG-Surfaces.html#cairo-svg-surface-create-for-stream" since="1.2"/> + <keyword type="function" name="cairo_svg_surface_get_document_unit ()" link="cairo-SVG-Surfaces.html#cairo-svg-surface-get-document-unit" since="1.16"/> + <keyword type="function" name="cairo_svg_surface_set_document_unit ()" link="cairo-SVG-Surfaces.html#cairo-svg-surface-set-document-unit" since="1.16"/> + <keyword type="function" name="cairo_svg_surface_restrict_to_version ()" link="cairo-SVG-Surfaces.html#cairo-svg-surface-restrict-to-version" since="1.2"/> + <keyword type="function" name="cairo_svg_get_versions ()" link="cairo-SVG-Surfaces.html#cairo-svg-get-versions" since="1.2"/> + <keyword type="function" name="cairo_svg_version_to_string ()" link="cairo-SVG-Surfaces.html#cairo-svg-version-to-string" since="1.2"/> + <keyword type="macro" name="CAIRO_HAS_SVG_SURFACE" link="cairo-SVG-Surfaces.html#CAIRO-HAS-SVG-SURFACE:CAPS" since="1.2"/> + <keyword type="enum" name="enum cairo_svg_version_t" link="cairo-SVG-Surfaces.html#cairo-svg-version-t" since="1.2"/> + <keyword type="enum" name="enum cairo_svg_unit_t" link="cairo-SVG-Surfaces.html#cairo-svg-unit-t" since="1.16"/> + <keyword type="function" name="cairo_quartz_surface_create ()" link="cairo-Quartz-Surfaces.html#cairo-quartz-surface-create" since="1.6"/> + <keyword type="function" name="cairo_quartz_surface_create_for_cg_context ()" link="cairo-Quartz-Surfaces.html#cairo-quartz-surface-create-for-cg-context" since="1.6"/> + <keyword type="function" name="cairo_quartz_surface_get_cg_context ()" link="cairo-Quartz-Surfaces.html#cairo-quartz-surface-get-cg-context" since="1.6"/> + <keyword type="macro" name="CAIRO_HAS_QUARTZ_SURFACE" link="cairo-Quartz-Surfaces.html#CAIRO-HAS-QUARTZ-SURFACE:CAPS" since="1.6"/> + <keyword type="function" name="cairo_xcb_surface_create ()" link="cairo-XCB-Surfaces.html#cairo-xcb-surface-create" since="1.12"/> + <keyword type="function" name="cairo_xcb_surface_create_for_bitmap ()" link="cairo-XCB-Surfaces.html#cairo-xcb-surface-create-for-bitmap" since="1.12"/> + <keyword type="function" name="cairo_xcb_surface_create_with_xrender_format ()" link="cairo-XCB-Surfaces.html#cairo-xcb-surface-create-with-xrender-format" since="1.12"/> + <keyword type="function" name="cairo_xcb_surface_set_size ()" link="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-size" since="1.12"/> + <keyword type="function" name="cairo_xcb_surface_set_drawable ()" link="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-drawable" since="1.12"/> + <keyword type="function" name="cairo_xcb_device_get_connection ()" link="cairo-XCB-Surfaces.html#cairo-xcb-device-get-connection" since="1.12"/> + <keyword type="function" name="cairo_xcb_device_debug_cap_xrender_version ()" link="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-cap-xrender-version" since="1.12"/> + <keyword type="function" name="cairo_xcb_device_debug_cap_xshm_version ()" link="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-cap-xshm-version" since="1.12"/> + <keyword type="function" name="cairo_xcb_device_debug_get_precision ()" link="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-get-precision" since="1.12"/> + <keyword type="function" name="cairo_xcb_device_debug_set_precision ()" link="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-set-precision" since="1.12"/> + <keyword type="macro" name="CAIRO_HAS_XCB_SURFACE" link="cairo-XCB-Surfaces.html#CAIRO-HAS-XCB-SURFACE:CAPS" since="1.12"/> + <keyword type="macro" name="CAIRO_HAS_XCB_SHM_FUNCTIONS" link="cairo-XCB-Surfaces.html#CAIRO-HAS-XCB-SHM-FUNCTIONS:CAPS"/> + <keyword type="function" name="cairo_xlib_surface_create ()" link="cairo-XLib-Surfaces.html#cairo-xlib-surface-create" since="1.0"/> + <keyword type="function" name="cairo_xlib_surface_create_for_bitmap ()" link="cairo-XLib-Surfaces.html#cairo-xlib-surface-create-for-bitmap" since="1.0"/> + <keyword type="function" name="cairo_xlib_surface_set_size ()" link="cairo-XLib-Surfaces.html#cairo-xlib-surface-set-size" since="1.0"/> + <keyword type="function" name="cairo_xlib_surface_get_display ()" link="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-display" since="1.2"/> + <keyword type="function" name="cairo_xlib_surface_get_screen ()" link="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-screen" since="1.2"/> + <keyword type="function" name="cairo_xlib_surface_set_drawable ()" link="cairo-XLib-Surfaces.html#cairo-xlib-surface-set-drawable" since="1.0"/> + <keyword type="function" name="cairo_xlib_surface_get_drawable ()" link="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-drawable" since="1.2"/> + <keyword type="function" name="cairo_xlib_surface_get_visual ()" link="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-visual" since="1.2"/> + <keyword type="function" name="cairo_xlib_surface_get_width ()" link="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-width" since="1.2"/> + <keyword type="function" name="cairo_xlib_surface_get_height ()" link="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-height" since="1.2"/> + <keyword type="function" name="cairo_xlib_surface_get_depth ()" link="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-depth" since="1.2"/> + <keyword type="function" name="cairo_xlib_device_debug_cap_xrender_version ()" link="cairo-XLib-Surfaces.html#cairo-xlib-device-debug-cap-xrender-version" since="1.12"/> + <keyword type="function" name="cairo_xlib_device_debug_get_precision ()" link="cairo-XLib-Surfaces.html#cairo-xlib-device-debug-get-precision" since="1.12"/> + <keyword type="function" name="cairo_xlib_device_debug_set_precision ()" link="cairo-XLib-Surfaces.html#cairo-xlib-device-debug-set-precision" since="1.12"/> + <keyword type="macro" name="CAIRO_HAS_XLIB_SURFACE" link="cairo-XLib-Surfaces.html#CAIRO-HAS-XLIB-SURFACE:CAPS" since="1.0"/> + <keyword type="function" name="cairo_xlib_surface_create_with_xrender_format ()" link="cairo-XLib-XRender-Backend.html#cairo-xlib-surface-create-with-xrender-format" since="1.0"/> + <keyword type="function" name="cairo_xlib_surface_get_xrender_format ()" link="cairo-XLib-XRender-Backend.html#cairo-xlib-surface-get-xrender-format" since="1.6"/> + <keyword type="macro" name="CAIRO_HAS_XLIB_XRENDER_SURFACE" link="cairo-XLib-XRender-Backend.html#CAIRO-HAS-XLIB-XRENDER-SURFACE:CAPS" since="1.6"/> + <keyword type="function" name="cairo_script_create ()" link="cairo-Script-Surfaces.html#cairo-script-create" since="1.12"/> + <keyword type="function" name="cairo_script_create_for_stream ()" link="cairo-Script-Surfaces.html#cairo-script-create-for-stream" since="1.12"/> + <keyword type="function" name="cairo_script_from_recording_surface ()" link="cairo-Script-Surfaces.html#cairo-script-from-recording-surface" since="1.12"/> + <keyword type="function" name="cairo_script_get_mode ()" link="cairo-Script-Surfaces.html#cairo-script-get-mode" since="1.12"/> + <keyword type="function" name="cairo_script_set_mode ()" link="cairo-Script-Surfaces.html#cairo-script-set-mode" since="1.12"/> + <keyword type="function" name="cairo_script_surface_create ()" link="cairo-Script-Surfaces.html#cairo-script-surface-create" since="1.12"/> + <keyword type="function" name="cairo_script_surface_create_for_target ()" link="cairo-Script-Surfaces.html#cairo-script-surface-create-for-target" since="1.12"/> + <keyword type="function" name="cairo_script_write_comment ()" link="cairo-Script-Surfaces.html#cairo-script-write-comment" since="1.12"/> + <keyword type="macro" name="CAIRO_HAS_SCRIPT_SURFACE" link="cairo-Script-Surfaces.html#CAIRO-HAS-SCRIPT-SURFACE:CAPS" since="1.12"/> + <keyword type="enum" name="enum cairo_script_mode_t" link="cairo-Script-Surfaces.html#cairo-script-mode-t" since="1.12"/> + <keyword type="function" name="cairo_matrix_init ()" link="cairo-cairo-matrix-t.html#cairo-matrix-init" since="1.0"/> + <keyword type="function" name="cairo_matrix_init_identity ()" link="cairo-cairo-matrix-t.html#cairo-matrix-init-identity" since="1.0"/> + <keyword type="function" name="cairo_matrix_init_translate ()" link="cairo-cairo-matrix-t.html#cairo-matrix-init-translate" since="1.0"/> + <keyword type="function" name="cairo_matrix_init_scale ()" link="cairo-cairo-matrix-t.html#cairo-matrix-init-scale" since="1.0"/> + <keyword type="function" name="cairo_matrix_init_rotate ()" link="cairo-cairo-matrix-t.html#cairo-matrix-init-rotate" since="1.0"/> + <keyword type="function" name="cairo_matrix_translate ()" link="cairo-cairo-matrix-t.html#cairo-matrix-translate" since="1.0"/> + <keyword type="function" name="cairo_matrix_scale ()" link="cairo-cairo-matrix-t.html#cairo-matrix-scale" since="1.0"/> + <keyword type="function" name="cairo_matrix_rotate ()" link="cairo-cairo-matrix-t.html#cairo-matrix-rotate" since="1.0"/> + <keyword type="function" name="cairo_matrix_invert ()" link="cairo-cairo-matrix-t.html#cairo-matrix-invert" since="1.0"/> + <keyword type="function" name="cairo_matrix_multiply ()" link="cairo-cairo-matrix-t.html#cairo-matrix-multiply" since="1.0"/> + <keyword type="function" name="cairo_matrix_transform_distance ()" link="cairo-cairo-matrix-t.html#cairo-matrix-transform-distance" since="1.0"/> + <keyword type="function" name="cairo_matrix_transform_point ()" link="cairo-cairo-matrix-t.html#cairo-matrix-transform-point" since="1.0"/> + <keyword type="struct" name="cairo_matrix_t" link="cairo-cairo-matrix-t.html#cairo-matrix-t" since="1.0"/> + <keyword type="function" name="cairo_status_to_string ()" link="cairo-Error-handling.html#cairo-status-to-string" since="1.0"/> + <keyword type="function" name="cairo_debug_reset_static_data ()" link="cairo-Error-handling.html#cairo-debug-reset-static-data" since="1.0"/> + <keyword type="enum" name="enum cairo_status_t" link="cairo-Error-handling.html#cairo-status-t" since="1.0"/> + <keyword type="macro" name="CAIRO_VERSION_ENCODE()" link="cairo-Version-Information.html#CAIRO-VERSION-ENCODE:CAPS" since="1.0"/> + <keyword type="macro" name="CAIRO_VERSION_STRINGIZE()" link="cairo-Version-Information.html#CAIRO-VERSION-STRINGIZE:CAPS" since="1.8"/> + <keyword type="function" name="cairo_version ()" link="cairo-Version-Information.html#cairo-version" since="1.0"/> + <keyword type="function" name="cairo_version_string ()" link="cairo-Version-Information.html#cairo-version-string" since="1.0"/> + <keyword type="macro" name="CAIRO_VERSION" link="cairo-Version-Information.html#CAIRO-VERSION:CAPS" since="1.0"/> + <keyword type="macro" name="CAIRO_VERSION_MAJOR" link="cairo-Version-Information.html#CAIRO-VERSION-MAJOR:CAPS" since="1.0"/> + <keyword type="macro" name="CAIRO_VERSION_MINOR" link="cairo-Version-Information.html#CAIRO-VERSION-MINOR:CAPS" since="1.0"/> + <keyword type="macro" name="CAIRO_VERSION_MICRO" link="cairo-Version-Information.html#CAIRO-VERSION-MICRO:CAPS" since="1.0"/> + <keyword type="macro" name="CAIRO_VERSION_STRING" link="cairo-Version-Information.html#CAIRO-VERSION-STRING:CAPS" since="1.8"/> + <keyword type="function" name="cairo_destroy_func_t ()" link="cairo-Types.html#cairo-destroy-func-t" since="1.0"/> + <keyword type="typedef" name="cairo_bool_t" link="cairo-Types.html#cairo-bool-t" since="1.0"/> + <keyword type="struct" name="cairo_user_data_key_t" link="cairo-Types.html#cairo-user-data-key-t" since="1.0"/> + <keyword type="struct" name="cairo_rectangle_int_t" link="cairo-Types.html#cairo-rectangle-int-t" since="1.10"/> + <keyword type="constant" name="CAIRO_ANTIALIAS_DEFAULT" link="cairo-cairo-t.html#CAIRO-ANTIALIAS-DEFAULT:CAPS"/> + <keyword type="constant" name="CAIRO_ANTIALIAS_NONE" link="cairo-cairo-t.html#CAIRO-ANTIALIAS-NONE:CAPS"/> + <keyword type="constant" name="CAIRO_ANTIALIAS_GRAY" link="cairo-cairo-t.html#CAIRO-ANTIALIAS-GRAY:CAPS"/> + <keyword type="constant" name="CAIRO_ANTIALIAS_SUBPIXEL" link="cairo-cairo-t.html#CAIRO-ANTIALIAS-SUBPIXEL:CAPS"/> + <keyword type="constant" name="CAIRO_ANTIALIAS_FAST" link="cairo-cairo-t.html#CAIRO-ANTIALIAS-FAST:CAPS"/> + <keyword type="constant" name="CAIRO_ANTIALIAS_GOOD" link="cairo-cairo-t.html#CAIRO-ANTIALIAS-GOOD:CAPS"/> + <keyword type="constant" name="CAIRO_ANTIALIAS_BEST" link="cairo-cairo-t.html#CAIRO-ANTIALIAS-BEST:CAPS"/> + <keyword type="constant" name="CAIRO_FILL_RULE_WINDING" link="cairo-cairo-t.html#CAIRO-FILL-RULE-WINDING:CAPS"/> + <keyword type="constant" name="CAIRO_FILL_RULE_EVEN_ODD" link="cairo-cairo-t.html#CAIRO-FILL-RULE-EVEN-ODD:CAPS"/> + <keyword type="constant" name="CAIRO_LINE_CAP_BUTT" link="cairo-cairo-t.html#CAIRO-LINE-CAP-BUTT:CAPS"/> + <keyword type="constant" name="CAIRO_LINE_CAP_ROUND" link="cairo-cairo-t.html#CAIRO-LINE-CAP-ROUND:CAPS"/> + <keyword type="constant" name="CAIRO_LINE_CAP_SQUARE" link="cairo-cairo-t.html#CAIRO-LINE-CAP-SQUARE:CAPS"/> + <keyword type="constant" name="CAIRO_LINE_JOIN_MITER" link="cairo-cairo-t.html#CAIRO-LINE-JOIN-MITER:CAPS"/> + <keyword type="constant" name="CAIRO_LINE_JOIN_ROUND" link="cairo-cairo-t.html#CAIRO-LINE-JOIN-ROUND:CAPS"/> + <keyword type="constant" name="CAIRO_LINE_JOIN_BEVEL" link="cairo-cairo-t.html#CAIRO-LINE-JOIN-BEVEL:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_CLEAR" link="cairo-cairo-t.html#CAIRO-OPERATOR-CLEAR:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_SOURCE" link="cairo-cairo-t.html#CAIRO-OPERATOR-SOURCE:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_OVER" link="cairo-cairo-t.html#CAIRO-OPERATOR-OVER:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_IN" link="cairo-cairo-t.html#CAIRO-OPERATOR-IN:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_OUT" link="cairo-cairo-t.html#CAIRO-OPERATOR-OUT:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_ATOP" link="cairo-cairo-t.html#CAIRO-OPERATOR-ATOP:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_DEST" link="cairo-cairo-t.html#CAIRO-OPERATOR-DEST:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_DEST_OVER" link="cairo-cairo-t.html#CAIRO-OPERATOR-DEST-OVER:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_DEST_IN" link="cairo-cairo-t.html#CAIRO-OPERATOR-DEST-IN:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_DEST_OUT" link="cairo-cairo-t.html#CAIRO-OPERATOR-DEST-OUT:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_DEST_ATOP" link="cairo-cairo-t.html#CAIRO-OPERATOR-DEST-ATOP:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_XOR" link="cairo-cairo-t.html#CAIRO-OPERATOR-XOR:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_ADD" link="cairo-cairo-t.html#CAIRO-OPERATOR-ADD:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_SATURATE" link="cairo-cairo-t.html#CAIRO-OPERATOR-SATURATE:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_MULTIPLY" link="cairo-cairo-t.html#CAIRO-OPERATOR-MULTIPLY:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_SCREEN" link="cairo-cairo-t.html#CAIRO-OPERATOR-SCREEN:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_OVERLAY" link="cairo-cairo-t.html#CAIRO-OPERATOR-OVERLAY:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_DARKEN" link="cairo-cairo-t.html#CAIRO-OPERATOR-DARKEN:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_LIGHTEN" link="cairo-cairo-t.html#CAIRO-OPERATOR-LIGHTEN:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_COLOR_DODGE" link="cairo-cairo-t.html#CAIRO-OPERATOR-COLOR-DODGE:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_COLOR_BURN" link="cairo-cairo-t.html#CAIRO-OPERATOR-COLOR-BURN:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_HARD_LIGHT" link="cairo-cairo-t.html#CAIRO-OPERATOR-HARD-LIGHT:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_SOFT_LIGHT" link="cairo-cairo-t.html#CAIRO-OPERATOR-SOFT-LIGHT:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_DIFFERENCE" link="cairo-cairo-t.html#CAIRO-OPERATOR-DIFFERENCE:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_EXCLUSION" link="cairo-cairo-t.html#CAIRO-OPERATOR-EXCLUSION:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_HSL_HUE" link="cairo-cairo-t.html#CAIRO-OPERATOR-HSL-HUE:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_HSL_SATURATION" link="cairo-cairo-t.html#CAIRO-OPERATOR-HSL-SATURATION:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_HSL_COLOR" link="cairo-cairo-t.html#CAIRO-OPERATOR-HSL-COLOR:CAPS"/> + <keyword type="constant" name="CAIRO_OPERATOR_HSL_LUMINOSITY" link="cairo-cairo-t.html#CAIRO-OPERATOR-HSL-LUMINOSITY:CAPS"/> + <keyword type="constant" name="CAIRO_PATH_MOVE_TO" link="cairo-Paths.html#CAIRO-PATH-MOVE-TO:CAPS"/> + <keyword type="constant" name="CAIRO_PATH_LINE_TO" link="cairo-Paths.html#CAIRO-PATH-LINE-TO:CAPS"/> + <keyword type="constant" name="CAIRO_PATH_CURVE_TO" link="cairo-Paths.html#CAIRO-PATH-CURVE-TO:CAPS"/> + <keyword type="constant" name="CAIRO_PATH_CLOSE_PATH" link="cairo-Paths.html#CAIRO-PATH-CLOSE-PATH:CAPS"/> + <keyword type="constant" name="CAIRO_EXTEND_NONE" link="cairo-cairo-pattern-t.html#CAIRO-EXTEND-NONE:CAPS"/> + <keyword type="constant" name="CAIRO_EXTEND_REPEAT" link="cairo-cairo-pattern-t.html#CAIRO-EXTEND-REPEAT:CAPS"/> + <keyword type="constant" name="CAIRO_EXTEND_REFLECT" link="cairo-cairo-pattern-t.html#CAIRO-EXTEND-REFLECT:CAPS"/> + <keyword type="constant" name="CAIRO_EXTEND_PAD" link="cairo-cairo-pattern-t.html#CAIRO-EXTEND-PAD:CAPS"/> + <keyword type="constant" name="CAIRO_FILTER_FAST" link="cairo-cairo-pattern-t.html#CAIRO-FILTER-FAST:CAPS"/> + <keyword type="constant" name="CAIRO_FILTER_GOOD" link="cairo-cairo-pattern-t.html#CAIRO-FILTER-GOOD:CAPS"/> + <keyword type="constant" name="CAIRO_FILTER_BEST" link="cairo-cairo-pattern-t.html#CAIRO-FILTER-BEST:CAPS"/> + <keyword type="constant" name="CAIRO_FILTER_NEAREST" link="cairo-cairo-pattern-t.html#CAIRO-FILTER-NEAREST:CAPS"/> + <keyword type="constant" name="CAIRO_FILTER_BILINEAR" link="cairo-cairo-pattern-t.html#CAIRO-FILTER-BILINEAR:CAPS"/> + <keyword type="constant" name="CAIRO_FILTER_GAUSSIAN" link="cairo-cairo-pattern-t.html#CAIRO-FILTER-GAUSSIAN:CAPS"/> + <keyword type="constant" name="CAIRO_PATTERN_TYPE_SOLID" link="cairo-cairo-pattern-t.html#CAIRO-PATTERN-TYPE-SOLID:CAPS"/> + <keyword type="constant" name="CAIRO_PATTERN_TYPE_SURFACE" link="cairo-cairo-pattern-t.html#CAIRO-PATTERN-TYPE-SURFACE:CAPS"/> + <keyword type="constant" name="CAIRO_PATTERN_TYPE_LINEAR" link="cairo-cairo-pattern-t.html#CAIRO-PATTERN-TYPE-LINEAR:CAPS"/> + <keyword type="constant" name="CAIRO_PATTERN_TYPE_RADIAL" link="cairo-cairo-pattern-t.html#CAIRO-PATTERN-TYPE-RADIAL:CAPS"/> + <keyword type="constant" name="CAIRO_PATTERN_TYPE_MESH" link="cairo-cairo-pattern-t.html#CAIRO-PATTERN-TYPE-MESH:CAPS"/> + <keyword type="constant" name="CAIRO_PATTERN_TYPE_RASTER_SOURCE" link="cairo-cairo-pattern-t.html#CAIRO-PATTERN-TYPE-RASTER-SOURCE:CAPS"/> + <keyword type="constant" name="CAIRO_REGION_OVERLAP_IN" link="cairo-Regions.html#CAIRO-REGION-OVERLAP-IN:CAPS"/> + <keyword type="constant" name="CAIRO_REGION_OVERLAP_OUT" link="cairo-Regions.html#CAIRO-REGION-OVERLAP-OUT:CAPS"/> + <keyword type="constant" name="CAIRO_REGION_OVERLAP_PART" link="cairo-Regions.html#CAIRO-REGION-OVERLAP-PART:CAPS"/> + <keyword type="constant" name="CAIRO_FONT_SLANT_NORMAL" link="cairo-text.html#CAIRO-FONT-SLANT-NORMAL:CAPS"/> + <keyword type="constant" name="CAIRO_FONT_SLANT_ITALIC" link="cairo-text.html#CAIRO-FONT-SLANT-ITALIC:CAPS"/> + <keyword type="constant" name="CAIRO_FONT_SLANT_OBLIQUE" link="cairo-text.html#CAIRO-FONT-SLANT-OBLIQUE:CAPS"/> + <keyword type="constant" name="CAIRO_FONT_WEIGHT_NORMAL" link="cairo-text.html#CAIRO-FONT-WEIGHT-NORMAL:CAPS"/> + <keyword type="constant" name="CAIRO_FONT_WEIGHT_BOLD" link="cairo-text.html#CAIRO-FONT-WEIGHT-BOLD:CAPS"/> + <keyword type="constant" name="CAIRO_TEXT_CLUSTER_FLAG_BACKWARD" link="cairo-text.html#CAIRO-TEXT-CLUSTER-FLAG-BACKWARD:CAPS"/> + <keyword type="constant" name="CAIRO_FONT_TYPE_TOY" link="cairo-cairo-font-face-t.html#CAIRO-FONT-TYPE-TOY:CAPS"/> + <keyword type="constant" name="CAIRO_FONT_TYPE_FT" link="cairo-cairo-font-face-t.html#CAIRO-FONT-TYPE-FT:CAPS"/> + <keyword type="constant" name="CAIRO_FONT_TYPE_WIN32" link="cairo-cairo-font-face-t.html#CAIRO-FONT-TYPE-WIN32:CAPS"/> + <keyword type="constant" name="CAIRO_FONT_TYPE_QUARTZ" link="cairo-cairo-font-face-t.html#CAIRO-FONT-TYPE-QUARTZ:CAPS"/> + <keyword type="constant" name="CAIRO_FONT_TYPE_USER" link="cairo-cairo-font-face-t.html#CAIRO-FONT-TYPE-USER:CAPS"/> + <keyword type="constant" name="CAIRO_SUBPIXEL_ORDER_DEFAULT" link="cairo-cairo-font-options-t.html#CAIRO-SUBPIXEL-ORDER-DEFAULT:CAPS"/> + <keyword type="constant" name="CAIRO_SUBPIXEL_ORDER_RGB" link="cairo-cairo-font-options-t.html#CAIRO-SUBPIXEL-ORDER-RGB:CAPS"/> + <keyword type="constant" name="CAIRO_SUBPIXEL_ORDER_BGR" link="cairo-cairo-font-options-t.html#CAIRO-SUBPIXEL-ORDER-BGR:CAPS"/> + <keyword type="constant" name="CAIRO_SUBPIXEL_ORDER_VRGB" link="cairo-cairo-font-options-t.html#CAIRO-SUBPIXEL-ORDER-VRGB:CAPS"/> + <keyword type="constant" name="CAIRO_SUBPIXEL_ORDER_VBGR" link="cairo-cairo-font-options-t.html#CAIRO-SUBPIXEL-ORDER-VBGR:CAPS"/> + <keyword type="constant" name="CAIRO_HINT_STYLE_DEFAULT" link="cairo-cairo-font-options-t.html#CAIRO-HINT-STYLE-DEFAULT:CAPS"/> + <keyword type="constant" name="CAIRO_HINT_STYLE_NONE" link="cairo-cairo-font-options-t.html#CAIRO-HINT-STYLE-NONE:CAPS"/> + <keyword type="constant" name="CAIRO_HINT_STYLE_SLIGHT" link="cairo-cairo-font-options-t.html#CAIRO-HINT-STYLE-SLIGHT:CAPS"/> + <keyword type="constant" name="CAIRO_HINT_STYLE_MEDIUM" link="cairo-cairo-font-options-t.html#CAIRO-HINT-STYLE-MEDIUM:CAPS"/> + <keyword type="constant" name="CAIRO_HINT_STYLE_FULL" link="cairo-cairo-font-options-t.html#CAIRO-HINT-STYLE-FULL:CAPS"/> + <keyword type="constant" name="CAIRO_HINT_METRICS_DEFAULT" link="cairo-cairo-font-options-t.html#CAIRO-HINT-METRICS-DEFAULT:CAPS"/> + <keyword type="constant" name="CAIRO_HINT_METRICS_OFF" link="cairo-cairo-font-options-t.html#CAIRO-HINT-METRICS-OFF:CAPS"/> + <keyword type="constant" name="CAIRO_HINT_METRICS_ON" link="cairo-cairo-font-options-t.html#CAIRO-HINT-METRICS-ON:CAPS"/> + <keyword type="constant" name="CAIRO_FT_SYNTHESIZE_BOLD" link="cairo-FreeType-Fonts.html#CAIRO-FT-SYNTHESIZE-BOLD:CAPS"/> + <keyword type="constant" name="CAIRO_FT_SYNTHESIZE_OBLIQUE" link="cairo-FreeType-Fonts.html#CAIRO-FT-SYNTHESIZE-OBLIQUE:CAPS"/> + <keyword type="constant" name="CAIRO_DEVICE_TYPE_DRM" link="cairo-cairo-device-t.html#CAIRO-DEVICE-TYPE-DRM:CAPS"/> + <keyword type="constant" name="CAIRO_DEVICE_TYPE_GL" link="cairo-cairo-device-t.html#CAIRO-DEVICE-TYPE-GL:CAPS"/> + <keyword type="constant" name="CAIRO_DEVICE_TYPE_SCRIPT" link="cairo-cairo-device-t.html#CAIRO-DEVICE-TYPE-SCRIPT:CAPS"/> + <keyword type="constant" name="CAIRO_DEVICE_TYPE_XCB" link="cairo-cairo-device-t.html#CAIRO-DEVICE-TYPE-XCB:CAPS"/> + <keyword type="constant" name="CAIRO_DEVICE_TYPE_XLIB" link="cairo-cairo-device-t.html#CAIRO-DEVICE-TYPE-XLIB:CAPS"/> + <keyword type="constant" name="CAIRO_DEVICE_TYPE_XML" link="cairo-cairo-device-t.html#CAIRO-DEVICE-TYPE-XML:CAPS"/> + <keyword type="constant" name="CAIRO_DEVICE_TYPE_COGL" link="cairo-cairo-device-t.html#CAIRO-DEVICE-TYPE-COGL:CAPS"/> + <keyword type="constant" name="CAIRO_DEVICE_TYPE_WIN32" link="cairo-cairo-device-t.html#CAIRO-DEVICE-TYPE-WIN32:CAPS"/> + <keyword type="constant" name="CAIRO_DEVICE_TYPE_INVALID" link="cairo-cairo-device-t.html#CAIRO-DEVICE-TYPE-INVALID:CAPS"/> + <keyword type="constant" name="CAIRO_CONTENT_COLOR" link="cairo-cairo-surface-t.html#CAIRO-CONTENT-COLOR:CAPS"/> + <keyword type="constant" name="CAIRO_CONTENT_ALPHA" link="cairo-cairo-surface-t.html#CAIRO-CONTENT-ALPHA:CAPS"/> + <keyword type="constant" name="CAIRO_CONTENT_COLOR_ALPHA" link="cairo-cairo-surface-t.html#CAIRO-CONTENT-COLOR-ALPHA:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_IMAGE" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-IMAGE:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_PDF" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-PDF:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_PS" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-PS:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_XLIB" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-XLIB:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_XCB" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-XCB:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_GLITZ" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-GLITZ:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_QUARTZ" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-QUARTZ:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_WIN32" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-WIN32:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_BEOS" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-BEOS:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_DIRECTFB" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-DIRECTFB:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_SVG" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-SVG:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_OS2" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-OS2:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_WIN32_PRINTING" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-WIN32-PRINTING:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_QUARTZ_IMAGE" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-QUARTZ-IMAGE:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_SCRIPT" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-SCRIPT:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_QT" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-QT:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_RECORDING" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-RECORDING:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_VG" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-VG:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_GL" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-GL:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_DRM" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-DRM:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_TEE" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-TEE:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_XML" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-XML:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_SKIA" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-SKIA:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_SUBSURFACE" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-SUBSURFACE:CAPS"/> + <keyword type="constant" name="CAIRO_SURFACE_TYPE_COGL" link="cairo-cairo-surface-t.html#CAIRO-SURFACE-TYPE-COGL:CAPS"/> + <keyword type="constant" name="CAIRO_FORMAT_INVALID" link="cairo-Image-Surfaces.html#CAIRO-FORMAT-INVALID:CAPS"/> + <keyword type="constant" name="CAIRO_FORMAT_ARGB32" link="cairo-Image-Surfaces.html#CAIRO-FORMAT-ARGB32:CAPS"/> + <keyword type="constant" name="CAIRO_FORMAT_RGB24" link="cairo-Image-Surfaces.html#CAIRO-FORMAT-RGB24:CAPS"/> + <keyword type="constant" name="CAIRO_FORMAT_A8" link="cairo-Image-Surfaces.html#CAIRO-FORMAT-A8:CAPS"/> + <keyword type="constant" name="CAIRO_FORMAT_A1" link="cairo-Image-Surfaces.html#CAIRO-FORMAT-A1:CAPS"/> + <keyword type="constant" name="CAIRO_FORMAT_RGB16_565" link="cairo-Image-Surfaces.html#CAIRO-FORMAT-RGB16-565:CAPS"/> + <keyword type="constant" name="CAIRO_FORMAT_RGB30" link="cairo-Image-Surfaces.html#CAIRO-FORMAT-RGB30:CAPS"/> + <keyword type="constant" name="CAIRO_PDF_OUTLINE_FLAG_OPEN" link="cairo-PDF-Surfaces.html#CAIRO-PDF-OUTLINE-FLAG-OPEN:CAPS"/> + <keyword type="constant" name="CAIRO_PDF_OUTLINE_FLAG_BOLD" link="cairo-PDF-Surfaces.html#CAIRO-PDF-OUTLINE-FLAG-BOLD:CAPS"/> + <keyword type="constant" name="CAIRO_PDF_OUTLINE_FLAG_ITALIC" link="cairo-PDF-Surfaces.html#CAIRO-PDF-OUTLINE-FLAG-ITALIC:CAPS"/> + <keyword type="constant" name="CAIRO_PDF_METADATA_TITLE" link="cairo-PDF-Surfaces.html#CAIRO-PDF-METADATA-TITLE:CAPS"/> + <keyword type="constant" name="CAIRO_PDF_METADATA_AUTHOR" link="cairo-PDF-Surfaces.html#CAIRO-PDF-METADATA-AUTHOR:CAPS"/> + <keyword type="constant" name="CAIRO_PDF_METADATA_SUBJECT" link="cairo-PDF-Surfaces.html#CAIRO-PDF-METADATA-SUBJECT:CAPS"/> + <keyword type="constant" name="CAIRO_PDF_METADATA_KEYWORDS" link="cairo-PDF-Surfaces.html#CAIRO-PDF-METADATA-KEYWORDS:CAPS"/> + <keyword type="constant" name="CAIRO_PDF_METADATA_CREATOR" link="cairo-PDF-Surfaces.html#CAIRO-PDF-METADATA-CREATOR:CAPS"/> + <keyword type="constant" name="CAIRO_PDF_METADATA_CREATE_DATE" link="cairo-PDF-Surfaces.html#CAIRO-PDF-METADATA-CREATE-DATE:CAPS"/> + <keyword type="constant" name="CAIRO_PDF_METADATA_MOD_DATE" link="cairo-PDF-Surfaces.html#CAIRO-PDF-METADATA-MOD-DATE:CAPS"/> + <keyword type="constant" name="CAIRO_PDF_VERSION_1_4" link="cairo-PDF-Surfaces.html#CAIRO-PDF-VERSION-1-4:CAPS"/> + <keyword type="constant" name="CAIRO_PDF_VERSION_1_5" link="cairo-PDF-Surfaces.html#CAIRO-PDF-VERSION-1-5:CAPS"/> + <keyword type="constant" name="CAIRO_PS_LEVEL_2" link="cairo-PostScript-Surfaces.html#CAIRO-PS-LEVEL-2:CAPS"/> + <keyword type="constant" name="CAIRO_PS_LEVEL_3" link="cairo-PostScript-Surfaces.html#CAIRO-PS-LEVEL-3:CAPS"/> + <keyword type="constant" name="CAIRO_SVG_VERSION_1_1" link="cairo-SVG-Surfaces.html#CAIRO-SVG-VERSION-1-1:CAPS"/> + <keyword type="constant" name="CAIRO_SVG_VERSION_1_2" link="cairo-SVG-Surfaces.html#CAIRO-SVG-VERSION-1-2:CAPS"/> + <keyword type="constant" name="CAIRO_SVG_UNIT_USER" link="cairo-SVG-Surfaces.html#CAIRO-SVG-UNIT-USER:CAPS"/> + <keyword type="constant" name="CAIRO_SVG_UNIT_EM" link="cairo-SVG-Surfaces.html#CAIRO-SVG-UNIT-EM:CAPS"/> + <keyword type="constant" name="CAIRO_SVG_UNIT_EX" link="cairo-SVG-Surfaces.html#CAIRO-SVG-UNIT-EX:CAPS"/> + <keyword type="constant" name="CAIRO_SVG_UNIT_PX" link="cairo-SVG-Surfaces.html#CAIRO-SVG-UNIT-PX:CAPS"/> + <keyword type="constant" name="CAIRO_SVG_UNIT_IN" link="cairo-SVG-Surfaces.html#CAIRO-SVG-UNIT-IN:CAPS"/> + <keyword type="constant" name="CAIRO_SVG_UNIT_CM" link="cairo-SVG-Surfaces.html#CAIRO-SVG-UNIT-CM:CAPS"/> + <keyword type="constant" name="CAIRO_SVG_UNIT_MM" link="cairo-SVG-Surfaces.html#CAIRO-SVG-UNIT-MM:CAPS"/> + <keyword type="constant" name="CAIRO_SVG_UNIT_PT" link="cairo-SVG-Surfaces.html#CAIRO-SVG-UNIT-PT:CAPS"/> + <keyword type="constant" name="CAIRO_SVG_UNIT_PC" link="cairo-SVG-Surfaces.html#CAIRO-SVG-UNIT-PC:CAPS"/> + <keyword type="constant" name="CAIRO_SVG_UNIT_PERCENT" link="cairo-SVG-Surfaces.html#CAIRO-SVG-UNIT-PERCENT:CAPS"/> + <keyword type="constant" name="CAIRO_SCRIPT_MODE_ASCII" link="cairo-Script-Surfaces.html#CAIRO-SCRIPT-MODE-ASCII:CAPS"/> + <keyword type="constant" name="CAIRO_SCRIPT_MODE_BINARY" link="cairo-Script-Surfaces.html#CAIRO-SCRIPT-MODE-BINARY:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_SUCCESS" link="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_NO_MEMORY" link="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_RESTORE" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-RESTORE:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_POP_GROUP" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-POP-GROUP:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_NO_CURRENT_POINT" link="cairo-Error-handling.html#CAIRO-STATUS-NO-CURRENT-POINT:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_MATRIX" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MATRIX:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_STATUS" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-STATUS:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_NULL_POINTER" link="cairo-Error-handling.html#CAIRO-STATUS-NULL-POINTER:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_STRING" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-STRING:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_PATH_DATA" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-PATH-DATA:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_READ_ERROR" link="cairo-Error-handling.html#CAIRO-STATUS-READ-ERROR:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_WRITE_ERROR" link="cairo-Error-handling.html#CAIRO-STATUS-WRITE-ERROR:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_SURFACE_FINISHED" link="cairo-Error-handling.html#CAIRO-STATUS-SURFACE-FINISHED:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_SURFACE_TYPE_MISMATCH" link="cairo-Error-handling.html#CAIRO-STATUS-SURFACE-TYPE-MISMATCH:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_PATTERN_TYPE_MISMATCH" link="cairo-Error-handling.html#CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_CONTENT" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-CONTENT:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_FORMAT" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-FORMAT:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_VISUAL" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-VISUAL:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_FILE_NOT_FOUND" link="cairo-Error-handling.html#CAIRO-STATUS-FILE-NOT-FOUND:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_DASH" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-DASH:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_DSC_COMMENT" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-DSC-COMMENT:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_INDEX" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-INDEX:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_CLIP_NOT_REPRESENTABLE" link="cairo-Error-handling.html#CAIRO-STATUS-CLIP-NOT-REPRESENTABLE:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_TEMP_FILE_ERROR" link="cairo-Error-handling.html#CAIRO-STATUS-TEMP-FILE-ERROR:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_STRIDE" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-STRIDE:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_FONT_TYPE_MISMATCH" link="cairo-Error-handling.html#CAIRO-STATUS-FONT-TYPE-MISMATCH:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_USER_FONT_IMMUTABLE" link="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-IMMUTABLE:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_USER_FONT_ERROR" link="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-ERROR:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_NEGATIVE_COUNT" link="cairo-Error-handling.html#CAIRO-STATUS-NEGATIVE-COUNT:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_CLUSTERS" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-CLUSTERS:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_SLANT" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-SLANT:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_WEIGHT" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-WEIGHT:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_SIZE" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-SIZE:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED" link="cairo-Error-handling.html#CAIRO-STATUS-USER-FONT-NOT-IMPLEMENTED:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_DEVICE_TYPE_MISMATCH" link="cairo-Error-handling.html#CAIRO-STATUS-DEVICE-TYPE-MISMATCH:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_DEVICE_ERROR" link="cairo-Error-handling.html#CAIRO-STATUS-DEVICE-ERROR:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_INVALID_MESH_CONSTRUCTION" link="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_DEVICE_FINISHED" link="cairo-Error-handling.html#CAIRO-STATUS-DEVICE-FINISHED:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_JBIG2_GLOBAL_MISSING" link="cairo-Error-handling.html#CAIRO-STATUS-JBIG2-GLOBAL-MISSING:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_PNG_ERROR" link="cairo-Error-handling.html#CAIRO-STATUS-PNG-ERROR:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_FREETYPE_ERROR" link="cairo-Error-handling.html#CAIRO-STATUS-FREETYPE-ERROR:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_WIN32_GDI_ERROR" link="cairo-Error-handling.html#CAIRO-STATUS-WIN32-GDI-ERROR:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_TAG_ERROR" link="cairo-Error-handling.html#CAIRO-STATUS-TAG-ERROR:CAPS"/> + <keyword type="constant" name="CAIRO_STATUS_LAST_STATUS" link="cairo-Error-handling.html#CAIRO-STATUS-LAST-STATUS:CAPS"/> + <keyword type="member" name="cairo-rectangle-t.x" link="cairo-cairo-t.html#cairo-rectangle-t.x"/> + <keyword type="member" name="cairo-rectangle-t.y" link="cairo-cairo-t.html#cairo-rectangle-t.y"/> + <keyword type="member" name="cairo-rectangle-t.width" link="cairo-cairo-t.html#cairo-rectangle-t.width"/> + <keyword type="member" name="cairo-rectangle-t.height" link="cairo-cairo-t.html#cairo-rectangle-t.height"/> + <keyword type="member" name="cairo-rectangle-list-t.status" link="cairo-cairo-t.html#cairo-rectangle-list-t.status"/> + <keyword type="member" name="cairo-rectangle-list-t.rectangles" link="cairo-cairo-t.html#cairo-rectangle-list-t.rectangles"/> + <keyword type="member" name="cairo-rectangle-list-t.num-rectangles" link="cairo-cairo-t.html#cairo-rectangle-list-t.num-rectangles"/> + <keyword type="member" name="cairo-path-t.status" link="cairo-Paths.html#cairo-path-t.status"/> + <keyword type="member" name="cairo-path-t.data" link="cairo-Paths.html#cairo-path-t.data"/> + <keyword type="member" name="cairo-path-t.num-data" link="cairo-Paths.html#cairo-path-t.num-data"/> + <keyword type="member" name="cairo-glyph-t.index" link="cairo-text.html#cairo-glyph-t.index"/> + <keyword type="member" name="cairo-glyph-t.x" link="cairo-text.html#cairo-glyph-t.x"/> + <keyword type="member" name="cairo-glyph-t.y" link="cairo-text.html#cairo-glyph-t.y"/> + <keyword type="member" name="cairo-text-cluster-t.num-bytes" link="cairo-text.html#cairo-text-cluster-t.num-bytes"/> + <keyword type="member" name="cairo-text-cluster-t.num-glyphs" link="cairo-text.html#cairo-text-cluster-t.num-glyphs"/> + <keyword type="member" name="cairo-font-extents-t.ascent" link="cairo-cairo-scaled-font-t.html#cairo-font-extents-t.ascent"/> + <keyword type="member" name="cairo-font-extents-t.descent" link="cairo-cairo-scaled-font-t.html#cairo-font-extents-t.descent"/> + <keyword type="member" name="cairo-font-extents-t.height" link="cairo-cairo-scaled-font-t.html#cairo-font-extents-t.height"/> + <keyword type="member" name="cairo-font-extents-t.max-x-advance" link="cairo-cairo-scaled-font-t.html#cairo-font-extents-t.max-x-advance"/> + <keyword type="member" name="cairo-font-extents-t.max-y-advance" link="cairo-cairo-scaled-font-t.html#cairo-font-extents-t.max-y-advance"/> + <keyword type="member" name="cairo-text-extents-t.x-bearing" link="cairo-cairo-scaled-font-t.html#cairo-text-extents-t.x-bearing"/> + <keyword type="member" name="cairo-text-extents-t.y-bearing" link="cairo-cairo-scaled-font-t.html#cairo-text-extents-t.y-bearing"/> + <keyword type="member" name="cairo-text-extents-t.width" link="cairo-cairo-scaled-font-t.html#cairo-text-extents-t.width"/> + <keyword type="member" name="cairo-text-extents-t.height" link="cairo-cairo-scaled-font-t.html#cairo-text-extents-t.height"/> + <keyword type="member" name="cairo-text-extents-t.x-advance" link="cairo-cairo-scaled-font-t.html#cairo-text-extents-t.x-advance"/> + <keyword type="member" name="cairo-text-extents-t.y-advance" link="cairo-cairo-scaled-font-t.html#cairo-text-extents-t.y-advance"/> + <keyword type="member" name="cairo-matrix-t.xx" link="cairo-cairo-matrix-t.html#cairo-matrix-t.xx"/> + <keyword type="member" name="cairo-matrix-t.yx" link="cairo-cairo-matrix-t.html#cairo-matrix-t.yx"/> + <keyword type="member" name="cairo-matrix-t.xy" link="cairo-cairo-matrix-t.html#cairo-matrix-t.xy"/> + <keyword type="member" name="cairo-matrix-t.yy" link="cairo-cairo-matrix-t.html#cairo-matrix-t.yy"/> + <keyword type="member" name="cairo-matrix-t.x0" link="cairo-cairo-matrix-t.html#cairo-matrix-t.x0"/> + <keyword type="member" name="cairo-matrix-t.y0" link="cairo-cairo-matrix-t.html#cairo-matrix-t.y0"/> + <keyword type="member" name="cairo-user-data-key-t.unused" link="cairo-Types.html#cairo-user-data-key-t.unused"/> + <keyword type="member" name="cairo-rectangle-int-t.x" link="cairo-Types.html#cairo-rectangle-int-t.x"/> + <keyword type="member" name="cairo-rectangle-int-t.y" link="cairo-Types.html#cairo-rectangle-int-t.y"/> + <keyword type="member" name="cairo-rectangle-int-t.width" link="cairo-Types.html#cairo-rectangle-int-t.width"/> + <keyword type="member" name="cairo-rectangle-int-t.height" link="cairo-Types.html#cairo-rectangle-int-t.height"/> + </functions> +</book> diff --git a/libs/cairo-1.16.0/doc/public/html/home.png b/libs/cairo-1.16.0/doc/public/html/home.png Binary files differnew file mode 100644 index 0000000..b293af5 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/home.png diff --git a/libs/cairo-1.16.0/doc/public/html/index-1.10.html b/libs/cairo-1.16.0/doc/public/html/index-1.10.html new file mode 100644 index 0000000..871bcad --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/index-1.10.html @@ -0,0 +1,176 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Index of new symbols in 1.10: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="index-1.8.html" title="Index of new symbols in 1.8"> +<link rel="next" href="index-1.12.html" title="Index of new symbols in 1.12"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="index-1.8.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="index-1.12.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="index"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="index-1.10"></a>Index of new symbols in 1.10</h1></div></div></div> +<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"> +<div class="indexdiv"> +<h3>D</h3> +<dl> +<dt id="ientry-idm18286">cairo_device_acquire, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-acquire">cairo_device_acquire ()</a> +</dt> +<dt id="ientry-idm17956">cairo_device_destroy, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-destroy">cairo_device_destroy ()</a> +</dt> +<dt id="ientry-idm18024">cairo_device_finish, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-finish">cairo_device_finish ()</a> +</dt> +<dt id="ientry-idm18064">cairo_device_flush, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-flush">cairo_device_flush ()</a> +</dt> +<dt id="ientry-idm18129">cairo_device_get_reference_count, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-get-reference-count">cairo_device_get_reference_count ()</a> +</dt> +<dt id="ientry-idm18094">cairo_device_get_type, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-get-type">cairo_device_get_type ()</a> +</dt> +<dt id="ientry-idm18238">cairo_device_get_user_data, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-get-user-data">cairo_device_get_user_data ()</a> +</dt> +<dt id="ientry-idm17913">cairo_device_reference, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-reference">cairo_device_reference ()</a> +</dt> +<dt id="ientry-idm18332">cairo_device_release, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-release">cairo_device_release ()</a> +</dt> +<dt id="ientry-idm18163">cairo_device_set_user_data, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-set-user-data">cairo_device_set_user_data ()</a> +</dt> +<dt id="ientry-idm17990">cairo_device_status, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-status">cairo_device_status ()</a> +</dt> +<dt id="ientry-idm18442">cairo_device_t, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-t">cairo_device_t</a> +</dt> +<dt id="ientry-idm18468">cairo_device_type_t, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-type-t">enum cairo_device_type_t</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>H</h3> +<dl> +<dt id="ientry-idm16231">CAIRO_HAS_FC_FONT, <a class="indexterm" href="cairo-FreeType-Fonts.html#CAIRO-HAS-FC-FONT:CAPS">CAIRO_HAS_FC_FONT</a> +</dt> +<dt id="ientry-idm23540">CAIRO_HAS_RECORDING_SURFACE, <a class="indexterm" href="cairo-Recording-Surfaces.html#CAIRO-HAS-RECORDING-SURFACE:CAPS">CAIRO_HAS_RECORDING_SURFACE</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>I</h3> +<dl><dt id="ientry-idm2275">cairo_in_clip, <a class="indexterm" href="cairo-cairo-t.html#cairo-in-clip">cairo_in_clip ()</a> +</dt></dl> +</div> +<div class="indexdiv"> +<h3>M</h3> +<dl> +<dt id="ientry-idm20505">CAIRO_MIME_TYPE_JP2, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JP2:CAPS">CAIRO_MIME_TYPE_JP2</a> +</dt> +<dt id="ientry-idm20513">CAIRO_MIME_TYPE_JPEG, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JPEG:CAPS">CAIRO_MIME_TYPE_JPEG</a> +</dt> +<dt id="ientry-idm20521">CAIRO_MIME_TYPE_PNG, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-PNG:CAPS">CAIRO_MIME_TYPE_PNG</a> +</dt> +<dt id="ientry-idm20529">CAIRO_MIME_TYPE_URI, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-URI:CAPS">CAIRO_MIME_TYPE_URI</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>P</h3> +<dl> +<dt id="ientry-idm21693">cairo_pdf_get_versions, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-get-versions">cairo_pdf_get_versions ()</a> +</dt> +<dt id="ientry-idm21651">cairo_pdf_surface_restrict_to_version, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-restrict-to-version">cairo_pdf_surface_restrict_to_version ()</a> +</dt> +<dt id="ientry-idm22152">cairo_pdf_version_t, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-version-t">enum cairo_pdf_version_t</a> +</dt> +<dt id="ientry-idm21731">cairo_pdf_version_to_string, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-version-to-string">cairo_pdf_version_to_string ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>R</h3> +<dl> +<dt id="ientry-idm23382">cairo_recording_surface_create, <a class="indexterm" href="cairo-Recording-Surfaces.html#cairo-recording-surface-create">cairo_recording_surface_create ()</a> +</dt> +<dt id="ientry-idm23426">cairo_recording_surface_ink_extents, <a class="indexterm" href="cairo-Recording-Surfaces.html#cairo-recording-surface-ink-extents">cairo_recording_surface_ink_extents ()</a> +</dt> +<dt id="ientry-idm28466">cairo_rectangle_int_t, <a class="indexterm" href="cairo-Types.html#cairo-rectangle-int-t">cairo_rectangle_int_t</a> +</dt> +<dt id="ientry-idm9031">cairo_region_contains_point, <a class="indexterm" href="cairo-Regions.html#cairo-region-contains-point">cairo_region_contains_point ()</a> +</dt> +<dt id="ientry-idm9091">cairo_region_contains_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-contains-rectangle">cairo_region_contains_rectangle ()</a> +</dt> +<dt id="ientry-idm8717">cairo_region_copy, <a class="indexterm" href="cairo-Regions.html#cairo-region-copy">cairo_region_copy ()</a> +</dt> +<dt id="ientry-idm8610">cairo_region_create, <a class="indexterm" href="cairo-Regions.html#cairo-region-create">cairo_region_create ()</a> +</dt> +<dt id="ientry-idm8631">cairo_region_create_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-create-rectangle">cairo_region_create_rectangle ()</a> +</dt> +<dt id="ientry-idm8670">cairo_region_create_rectangles, <a class="indexterm" href="cairo-Regions.html#cairo-region-create-rectangles">cairo_region_create_rectangles ()</a> +</dt> +<dt id="ientry-idm8794">cairo_region_destroy, <a class="indexterm" href="cairo-Regions.html#cairo-region-destroy">cairo_region_destroy ()</a> +</dt> +<dt id="ientry-idm9148">cairo_region_equal, <a class="indexterm" href="cairo-Regions.html#cairo-region-equal">cairo_region_equal ()</a> +</dt> +<dt id="ientry-idm8867">cairo_region_get_extents, <a class="indexterm" href="cairo-Regions.html#cairo-region-get-extents">cairo_region_get_extents ()</a> +</dt> +<dt id="ientry-idm8942">cairo_region_get_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-get-rectangle">cairo_region_get_rectangle ()</a> +</dt> +<dt id="ientry-idm9253">cairo_region_intersect, <a class="indexterm" href="cairo-Regions.html#cairo-region-intersect">cairo_region_intersect ()</a> +</dt> +<dt id="ientry-idm9303">cairo_region_intersect_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-intersect-rectangle">cairo_region_intersect_rectangle ()</a> +</dt> +<dt id="ientry-idm8993">cairo_region_is_empty, <a class="indexterm" href="cairo-Regions.html#cairo-region-is-empty">cairo_region_is_empty ()</a> +</dt> +<dt id="ientry-idm8908">cairo_region_num_rectangles, <a class="indexterm" href="cairo-Regions.html#cairo-region-num-rectangles">cairo_region_num_rectangles ()</a> +</dt> +<dt id="ientry-idm9683">cairo_region_overlap_t, <a class="indexterm" href="cairo-Regions.html#cairo-region-overlap-t">enum cairo_region_overlap_t</a> +</dt> +<dt id="ientry-idm8756">cairo_region_reference, <a class="indexterm" href="cairo-Regions.html#cairo-region-reference">cairo_region_reference ()</a> +</dt> +<dt id="ientry-idm8831">cairo_region_status, <a class="indexterm" href="cairo-Regions.html#cairo-region-status">cairo_region_status ()</a> +</dt> +<dt id="ientry-idm9353">cairo_region_subtract, <a class="indexterm" href="cairo-Regions.html#cairo-region-subtract">cairo_region_subtract ()</a> +</dt> +<dt id="ientry-idm9403">cairo_region_subtract_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-subtract-rectangle">cairo_region_subtract_rectangle ()</a> +</dt> +<dt id="ientry-idm9661">cairo_region_t, <a class="indexterm" href="cairo-Regions.html#cairo-region-t">cairo_region_t</a> +</dt> +<dt id="ientry-idm9203">cairo_region_translate, <a class="indexterm" href="cairo-Regions.html#cairo-region-translate">cairo_region_translate ()</a> +</dt> +<dt id="ientry-idm9453">cairo_region_union, <a class="indexterm" href="cairo-Regions.html#cairo-region-union">cairo_region_union ()</a> +</dt> +<dt id="ientry-idm9503">cairo_region_union_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-union-rectangle">cairo_region_union_rectangle ()</a> +</dt> +<dt id="ientry-idm9553">cairo_region_xor, <a class="indexterm" href="cairo-Regions.html#cairo-region-xor">cairo_region_xor ()</a> +</dt> +<dt id="ientry-idm9606">cairo_region_xor_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-xor-rectangle">cairo_region_xor_rectangle ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>S</h3> +<dl> +<dt id="ientry-idm19019">cairo_surface_create_for_rectangle, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-create-for-rectangle">cairo_surface_create_for_rectangle ()</a> +</dt> +<dt id="ientry-idm19280">cairo_surface_get_device, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-device">cairo_surface_get_device ()</a> +</dt> +<dt id="ientry-idm20230">cairo_surface_get_mime_data, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-mime-data">cairo_surface_get_mime_data ()</a> +</dt> +<dt id="ientry-idm20117">cairo_surface_set_mime_data, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-set-mime-data">cairo_surface_set_mime_data ()</a> +</dt> +</dl> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/index-1.12.html b/libs/cairo-1.16.0/doc/public/html/index-1.12.html new file mode 100644 index 0000000..2778727 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/index-1.12.html @@ -0,0 +1,192 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Index of new symbols in 1.12: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="index-1.10.html" title="Index of new symbols in 1.10"> +<link rel="next" href="index-1.14.html" title="Index of new symbols in 1.14"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="index-1.10.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="index-1.14.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="index"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="index-1.12"></a>Index of new symbols in 1.12</h1></div></div></div> +<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"> +<div class="indexdiv"> +<h3>F</h3> +<dl> +<dt id="ientry-idm16107">cairo_ft_font_face_get_synthesize, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-get-synthesize">cairo_ft_font_face_get_synthesize ()</a> +</dt> +<dt id="ientry-idm16141">cairo_ft_font_face_set_synthesize, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-set-synthesize">cairo_ft_font_face_set_synthesize ()</a> +</dt> +<dt id="ientry-idm16181">cairo_ft_font_face_unset_synthesize, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-unset-synthesize">cairo_ft_font_face_unset_synthesize ()</a> +</dt> +<dt id="ientry-idm16239">cairo_ft_synthesize_t, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-synthesize-t">enum cairo_ft_synthesize_t</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>H</h3> +<dl> +<dt id="ientry-idm26766">CAIRO_HAS_SCRIPT_SURFACE, <a class="indexterm" href="cairo-Script-Surfaces.html#CAIRO-HAS-SCRIPT-SURFACE:CAPS">CAIRO_HAS_SCRIPT_SURFACE</a> +</dt> +<dt id="ientry-idm25387">CAIRO_HAS_XCB_SURFACE, <a class="indexterm" href="cairo-XCB-Surfaces.html#CAIRO-HAS-XCB-SURFACE:CAPS">CAIRO_HAS_XCB_SURFACE</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>M</h3> +<dl> +<dt id="ientry-idm6746">cairo_mesh_pattern_begin_patch, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-begin-patch">cairo_mesh_pattern_begin_patch ()</a> +</dt> +<dt id="ientry-idm6961">cairo_mesh_pattern_curve_to, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-curve-to">cairo_mesh_pattern_curve_to ()</a> +</dt> +<dt id="ientry-idm6794">cairo_mesh_pattern_end_patch, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-end-patch">cairo_mesh_pattern_end_patch ()</a> +</dt> +<dt id="ientry-idm7425">cairo_mesh_pattern_get_control_point, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-control-point">cairo_mesh_pattern_get_control_point ()</a> +</dt> +<dt id="ientry-idm7517">cairo_mesh_pattern_get_corner_color_rgba, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-corner-color-rgba">cairo_mesh_pattern_get_corner_color_rgba ()</a> +</dt> +<dt id="ientry-idm7320">cairo_mesh_pattern_get_patch_count, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-patch-count">cairo_mesh_pattern_get_patch_count ()</a> +</dt> +<dt id="ientry-idm7371">cairo_mesh_pattern_get_path, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-path">cairo_mesh_pattern_get_path ()</a> +</dt> +<dt id="ientry-idm6894">cairo_mesh_pattern_line_to, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-line-to">cairo_mesh_pattern_line_to ()</a> +</dt> +<dt id="ientry-idm6835">cairo_mesh_pattern_move_to, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-move-to">cairo_mesh_pattern_move_to ()</a> +</dt> +<dt id="ientry-idm7068">cairo_mesh_pattern_set_control_point, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-control-point">cairo_mesh_pattern_set_control_point ()</a> +</dt> +<dt id="ientry-idm7141">cairo_mesh_pattern_set_corner_color_rgb, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb ()</a> +</dt> +<dt id="ientry-idm7226">cairo_mesh_pattern_set_corner_color_rgba, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgba">cairo_mesh_pattern_set_corner_color_rgba ()</a> +</dt> +<dt id="ientry-idm20537">CAIRO_MIME_TYPE_UNIQUE_ID, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS">CAIRO_MIME_TYPE_UNIQUE_ID</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>P</h3> +<dl> +<dt id="ientry-idm6677">cairo_pattern_create_mesh, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-create-mesh">cairo_pattern_create_mesh ()</a> +</dt> +<dt id="ientry-idm12022">cairo_pattern_create_raster_source, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-pattern-create-raster-source">cairo_pattern_create_raster_source ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>R</h3> +<dl> +<dt id="ientry-idm12444">cairo_raster_source_acquire_func_t, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-acquire-func-t">cairo_raster_source_acquire_func_t ()</a> +</dt> +<dt id="ientry-idm12605">cairo_raster_source_copy_func_t, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-copy-func-t">cairo_raster_source_copy_func_t ()</a> +</dt> +<dt id="ientry-idm12663">cairo_raster_source_finish_func_t, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-finish-func-t">cairo_raster_source_finish_func_t ()</a> +</dt> +<dt id="ientry-idm12201">cairo_raster_source_pattern_get_acquire, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-acquire">cairo_raster_source_pattern_get_acquire ()</a> +</dt> +<dt id="ientry-idm12120">cairo_raster_source_pattern_get_callback_data, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-callback-data">cairo_raster_source_pattern_get_callback_data ()</a> +</dt> +<dt id="ientry-idm12348">cairo_raster_source_pattern_get_copy, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-copy">cairo_raster_source_pattern_get_copy ()</a> +</dt> +<dt id="ientry-idm12414">cairo_raster_source_pattern_get_finish, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-finish">cairo_raster_source_pattern_get_finish ()</a> +</dt> +<dt id="ientry-idm12282">cairo_raster_source_pattern_get_snapshot, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-snapshot">cairo_raster_source_pattern_get_snapshot ()</a> +</dt> +<dt id="ientry-idm12150">cairo_raster_source_pattern_set_acquire, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-acquire">cairo_raster_source_pattern_set_acquire ()</a> +</dt> +<dt id="ientry-idm12084">cairo_raster_source_pattern_set_callback_data, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-callback-data">cairo_raster_source_pattern_set_callback_data ()</a> +</dt> +<dt id="ientry-idm12312">cairo_raster_source_pattern_set_copy, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-copy">cairo_raster_source_pattern_set_copy ()</a> +</dt> +<dt id="ientry-idm12378">cairo_raster_source_pattern_set_finish, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-finish">cairo_raster_source_pattern_set_finish ()</a> +</dt> +<dt id="ientry-idm12246">cairo_raster_source_pattern_set_snapshot, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-snapshot">cairo_raster_source_pattern_set_snapshot ()</a> +</dt> +<dt id="ientry-idm12511">cairo_raster_source_release_func_t, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-release-func-t">cairo_raster_source_release_func_t ()</a> +</dt> +<dt id="ientry-idm12560">cairo_raster_source_snapshot_func_t, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-snapshot-func-t">cairo_raster_source_snapshot_func_t ()</a> +</dt> +<dt id="ientry-idm23491">cairo_recording_surface_get_extents, <a class="indexterm" href="cairo-Recording-Surfaces.html#cairo-recording-surface-get-extents">cairo_recording_surface_get_extents ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>S</h3> +<dl> +<dt id="ientry-idm26421">cairo_script_create, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-create">cairo_script_create ()</a> +</dt> +<dt id="ientry-idm26456">cairo_script_create_for_stream, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-create-for-stream">cairo_script_create_for_stream ()</a> +</dt> +<dt id="ientry-idm26500">cairo_script_from_recording_surface, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-from-recording-surface">cairo_script_from_recording_surface ()</a> +</dt> +<dt id="ientry-idm26542">cairo_script_get_mode, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-get-mode">cairo_script_get_mode ()</a> +</dt> +<dt id="ientry-idm26774">cairo_script_mode_t, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-mode-t">enum cairo_script_mode_t</a> +</dt> +<dt id="ientry-idm26572">cairo_script_set_mode, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-set-mode">cairo_script_set_mode ()</a> +</dt> +<dt id="ientry-idm26608">cairo_script_surface_create, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-surface-create">cairo_script_surface_create ()</a> +</dt> +<dt id="ientry-idm26671">cairo_script_surface_create_for_target, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-surface-create-for-target">cairo_script_surface_create_for_target ()</a> +</dt> +<dt id="ientry-idm26717">cairo_script_write_comment, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-write-comment">cairo_script_write_comment ()</a> +</dt> +<dt id="ientry-idm18951">cairo_surface_create_similar_image, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-create-similar-image">cairo_surface_create_similar_image ()</a> +</dt> +<dt id="ientry-idm20339">cairo_surface_map_to_image, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-map-to-image">cairo_surface_map_to_image ()</a> +</dt> +<dt id="ientry-idm20290">cairo_surface_supports_mime_type, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-supports-mime-type">cairo_surface_supports_mime_type ()</a> +</dt> +<dt id="ientry-idm20393">cairo_surface_unmap_image, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-unmap-image">cairo_surface_unmap_image ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>X</h3> +<dl> +<dt id="ientry-idm25219">cairo_xcb_device_debug_cap_xrender_version, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-cap-xrender-version">cairo_xcb_device_debug_cap_xrender_version ()</a> +</dt> +<dt id="ientry-idm25267">cairo_xcb_device_debug_cap_xshm_version, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-cap-xshm-version">cairo_xcb_device_debug_cap_xshm_version ()</a> +</dt> +<dt id="ientry-idm25315">cairo_xcb_device_debug_get_precision, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-get-precision">cairo_xcb_device_debug_get_precision ()</a> +</dt> +<dt id="ientry-idm25347">cairo_xcb_device_debug_set_precision, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-set-precision">cairo_xcb_device_debug_set_precision ()</a> +</dt> +<dt id="ientry-idm25185">cairo_xcb_device_get_connection, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-device-get-connection">cairo_xcb_device_get_connection ()</a> +</dt> +<dt id="ientry-idm24828">cairo_xcb_surface_create, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-create">cairo_xcb_surface_create ()</a> +</dt> +<dt id="ientry-idm24908">cairo_xcb_surface_create_for_bitmap, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-create-for-bitmap">cairo_xcb_surface_create_for_bitmap ()</a> +</dt> +<dt id="ientry-idm24984">cairo_xcb_surface_create_with_xrender_format, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-create-with-xrender-format">cairo_xcb_surface_create_with_xrender_format ()</a> +</dt> +<dt id="ientry-idm25126">cairo_xcb_surface_set_drawable, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-drawable">cairo_xcb_surface_set_drawable ()</a> +</dt> +<dt id="ientry-idm25075">cairo_xcb_surface_set_size, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-size">cairo_xcb_surface_set_size ()</a> +</dt> +<dt id="ientry-idm26016">cairo_xlib_device_debug_cap_xrender_version, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-device-debug-cap-xrender-version">cairo_xlib_device_debug_cap_xrender_version ()</a> +</dt> +<dt id="ientry-idm26064">cairo_xlib_device_debug_get_precision, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-device-debug-get-precision">cairo_xlib_device_debug_get_precision ()</a> +</dt> +<dt id="ientry-idm26096">cairo_xlib_device_debug_set_precision, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-device-debug-set-precision">cairo_xlib_device_debug_set_precision ()</a> +</dt> +</dl> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/index-1.14.html b/libs/cairo-1.16.0/doc/public/html/index-1.14.html new file mode 100644 index 0000000..2a20b8a --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/index-1.14.html @@ -0,0 +1,56 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Index of new symbols in 1.14: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="index-1.12.html" title="Index of new symbols in 1.12"> +<link rel="next" href="index-1.16.html" title="Index of new symbols in 1.16"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="index-1.12.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="index-1.16.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="index"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="index-1.14"></a>Index of new symbols in 1.14</h1></div></div></div> +<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"> +<div class="indexdiv"> +<h3>M</h3> +<dl> +<dt id="ientry-idm20481">CAIRO_MIME_TYPE_JBIG2, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2:CAPS">CAIRO_MIME_TYPE_JBIG2</a> +</dt> +<dt id="ientry-idm20489">CAIRO_MIME_TYPE_JBIG2_GLOBAL, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS">CAIRO_MIME_TYPE_JBIG2_GLOBAL</a> +</dt> +<dt id="ientry-idm20497">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>S</h3> +<dl> +<dt id="ientry-idm19599">cairo_surface_get_device_scale, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-device-scale">cairo_surface_get_device_scale ()</a> +</dt> +<dt id="ientry-idm19648">cairo_surface_set_device_scale, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-set-device-scale">cairo_surface_set_device_scale ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>W</h3> +<dl><dt id="ientry-idm23782">cairo_win32_surface_create_with_format, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-format">cairo_win32_surface_create_with_format ()</a> +</dt></dl> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/index-1.16.html b/libs/cairo-1.16.0/doc/public/html/index-1.16.html new file mode 100644 index 0000000..00c44bf --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/index-1.16.html @@ -0,0 +1,96 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Index of new symbols in 1.16: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="index-1.14.html" title="Index of new symbols in 1.14"> +<link rel="next" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="index-1.14.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="language-bindings.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="index"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="index-1.16"></a>Index of new symbols in 1.16</h1></div></div></div> +<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"> +<div class="indexdiv"> +<h3>F</h3> +<dl> +<dt id="ientry-idm15481">cairo_font_options_get_variations, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-get-variations">cairo_font_options_get_variations ()</a> +</dt> +<dt id="ientry-idm15518">cairo_font_options_set_variations, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-set-variations">cairo_font_options_set_variations ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>M</h3> +<dl> +<dt id="ientry-idm20446">CAIRO_MIME_TYPE_CCITT_FAX, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS">CAIRO_MIME_TYPE_CCITT_FAX</a> +</dt> +<dt id="ientry-idm20454">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</a> +</dt> +<dt id="ientry-idm20463">CAIRO_MIME_TYPE_EPS, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS:CAPS">CAIRO_MIME_TYPE_EPS</a> +</dt> +<dt id="ientry-idm20472">CAIRO_MIME_TYPE_EPS_PARAMS, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS-PARAMS:CAPS">CAIRO_MIME_TYPE_EPS_PARAMS</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>P</h3> +<dl> +<dt id="ientry-idm22091">cairo_pdf_metadata_t, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-metadata-t">enum cairo_pdf_metadata_t</a> +</dt> +<dt id="ientry-idm22054">cairo_pdf_outline_flags_t, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-outline-flags-t">enum cairo_pdf_outline_flags_t</a> +</dt> +<dt id="ientry-idm22044">CAIRO_PDF_OUTLINE_ROOT, <a class="indexterm" href="cairo-PDF-Surfaces.html#CAIRO-PDF-OUTLINE-ROOT:CAPS">CAIRO_PDF_OUTLINE_ROOT</a> +</dt> +<dt id="ientry-idm21819">cairo_pdf_surface_add_outline, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-add-outline">cairo_pdf_surface_add_outline ()</a> +</dt> +<dt id="ientry-idm21895">cairo_pdf_surface_set_metadata, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-metadata">cairo_pdf_surface_set_metadata ()</a> +</dt> +<dt id="ientry-idm21949">cairo_pdf_surface_set_page_label, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-page-label">cairo_pdf_surface_set_page_label ()</a> +</dt> +<dt id="ientry-idm21987">cairo_pdf_surface_set_thumbnail_size, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-thumbnail-size">cairo_pdf_surface_set_thumbnail_size ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>S</h3> +<dl> +<dt id="ientry-idm24199">cairo_svg_surface_get_document_unit, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-surface-get-document-unit">cairo_svg_surface_get_document_unit ()</a> +</dt> +<dt id="ientry-idm24232">cairo_svg_surface_set_document_unit, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-surface-set-document-unit">cairo_svg_surface_set_document_unit ()</a> +</dt> +<dt id="ientry-idm24431">cairo_svg_unit_t, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t">enum cairo_svg_unit_t</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>T</h3> +<dl> +<dt id="ientry-idm12875">cairo_tag_begin, <a class="indexterm" href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin ()</a> +</dt> +<dt id="ientry-idm12985">CAIRO_TAG_DEST, <a class="indexterm" href="cairo-Tags-and-Links.html#CAIRO-TAG-DEST:CAPS">CAIRO_TAG_DEST</a> +</dt> +<dt id="ientry-idm12939">cairo_tag_end, <a class="indexterm" href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end ()</a> +</dt> +<dt id="ientry-idm12994">CAIRO_TAG_LINK, <a class="indexterm" href="cairo-Tags-and-Links.html#CAIRO-TAG-LINK:CAPS">CAIRO_TAG_LINK</a> +</dt> +</dl> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/index-1.2.html b/libs/cairo-1.16.0/doc/public/html/index-1.2.html new file mode 100644 index 0000000..e9195d9 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/index-1.2.html @@ -0,0 +1,178 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Index of new symbols in 1.2: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="index-all.html" title="Index"> +<link rel="next" href="index-1.4.html" title="Index of new symbols in 1.4"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="index-all.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="index-1.4.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="index"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="index-1.2"></a>Index of new symbols in 1.2</h1></div></div></div> +<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"> +<div class="indexdiv"> +<h3>F</h3> +<dl> +<dt id="ientry-idm13219">cairo_font_face_get_type, <a class="indexterm" href="cairo-cairo-font-face-t.html#cairo-font-face-get-type">cairo_font_face_get_type ()</a> +</dt> +<dt id="ientry-idm13436">cairo_font_type_t, <a class="indexterm" href="cairo-cairo-font-face-t.html#cairo-font-type-t">enum cairo_font_type_t</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>G</h3> +<dl><dt id="ientry-idm989">cairo_get_group_target, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-group-target">cairo_get_group_target ()</a> +</dt></dl> +</div> +<div class="indexdiv"> +<h3>H</h3> +<dl> +<dt id="ientry-idm22036">CAIRO_HAS_PDF_SURFACE, <a class="indexterm" href="cairo-PDF-Surfaces.html#CAIRO-HAS-PDF-SURFACE:CAPS">CAIRO_HAS_PDF_SURFACE</a> +</dt> +<dt id="ientry-idm23283">CAIRO_HAS_PS_SURFACE, <a class="indexterm" href="cairo-PostScript-Surfaces.html#CAIRO-HAS-PS-SURFACE:CAPS">CAIRO_HAS_PS_SURFACE</a> +</dt> +<dt id="ientry-idm24394">CAIRO_HAS_SVG_SURFACE, <a class="indexterm" href="cairo-SVG-Surfaces.html#CAIRO-HAS-SVG-SURFACE:CAPS">CAIRO_HAS_SVG_SURFACE</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>I</h3> +<dl> +<dt id="ientry-idm21097">cairo_image_surface_get_data, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-image-surface-get-data">cairo_image_surface_get_data ()</a> +</dt> +<dt id="ientry-idm21139">cairo_image_surface_get_format, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-image-surface-get-format">cairo_image_surface_get_format ()</a> +</dt> +<dt id="ientry-idm21235">cairo_image_surface_get_stride, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-image-surface-get-stride">cairo_image_surface_get_stride ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>N</h3> +<dl><dt id="ientry-idm4325">cairo_new_sub_path, <a class="indexterm" href="cairo-Paths.html#cairo-new-sub-path">cairo_new_sub_path ()</a> +</dt></dl> +</div> +<div class="indexdiv"> +<h3>P</h3> +<dl> +<dt id="ientry-idm8006">cairo_pattern_get_type, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-type">cairo_pattern_get_type ()</a> +</dt> +<dt id="ientry-idm8338">cairo_pattern_type_t, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-type-t">enum cairo_pattern_type_t</a> +</dt> +<dt id="ientry-idm21524">cairo_pdf_surface_create, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-create">cairo_pdf_surface_create ()</a> +</dt> +<dt id="ientry-idm21580">cairo_pdf_surface_create_for_stream, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-create-for-stream">cairo_pdf_surface_create_for_stream ()</a> +</dt> +<dt id="ientry-idm21767">cairo_pdf_surface_set_size, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-size">cairo_pdf_surface_set_size ()</a> +</dt> +<dt id="ientry-idm904">cairo_pop_group, <a class="indexterm" href="cairo-cairo-t.html#cairo-pop-group">cairo_pop_group ()</a> +</dt> +<dt id="ientry-idm947">cairo_pop_group_to_source, <a class="indexterm" href="cairo-cairo-t.html#cairo-pop-group-to-source">cairo_pop_group_to_source ()</a> +</dt> +<dt id="ientry-idm22755">cairo_ps_surface_create, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create">cairo_ps_surface_create ()</a> +</dt> +<dt id="ientry-idm22816">cairo_ps_surface_create_for_stream, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create-for-stream">cairo_ps_surface_create_for_stream ()</a> +</dt> +<dt id="ientry-idm23175">cairo_ps_surface_dsc_begin_page_setup, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup">cairo_ps_surface_dsc_begin_page_setup ()</a> +</dt> +<dt id="ientry-idm23138">cairo_ps_surface_dsc_begin_setup, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup">cairo_ps_surface_dsc_begin_setup ()</a> +</dt> +<dt id="ientry-idm23212">cairo_ps_surface_dsc_comment, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment ()</a> +</dt> +<dt id="ientry-idm23086">cairo_ps_surface_set_size, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-size">cairo_ps_surface_set_size ()</a> +</dt> +<dt id="ientry-idm806">cairo_push_group, <a class="indexterm" href="cairo-cairo-t.html#cairo-push-group">cairo_push_group ()</a> +</dt> +<dt id="ientry-idm858">cairo_push_group_with_content, <a class="indexterm" href="cairo-cairo-t.html#cairo-push-group-with-content">cairo_push_group_with_content ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>S</h3> +<dl> +<dt id="ientry-idm14313">cairo_scaled_font_get_ctm, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-ctm">cairo_scaled_font_get_ctm ()</a> +</dt> +<dt id="ientry-idm14194">cairo_scaled_font_get_font_face, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-face">cairo_scaled_font_get_font_face ()</a> +</dt> +<dt id="ientry-idm14273">cairo_scaled_font_get_font_matrix, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-matrix">cairo_scaled_font_get_font_matrix ()</a> +</dt> +<dt id="ientry-idm14233">cairo_scaled_font_get_font_options, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-options">cairo_scaled_font_get_font_options ()</a> +</dt> +<dt id="ientry-idm14395">cairo_scaled_font_get_type, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-type">cairo_scaled_font_get_type ()</a> +</dt> +<dt id="ientry-idm13893">cairo_scaled_font_text_extents, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-extents">cairo_scaled_font_text_extents ()</a> +</dt> +<dt id="ientry-idm10918">cairo_set_scaled_font, <a class="indexterm" href="cairo-text.html#cairo-set-scaled-font">cairo_set_scaled_font ()</a> +</dt> +<dt id="ientry-idm19360">cairo_surface_get_content, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-content">cairo_surface_get_content ()</a> +</dt> +<dt id="ientry-idm19550">cairo_surface_get_device_offset, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-device-offset">cairo_surface_get_device_offset ()</a> +</dt> +<dt id="ientry-idm19806">cairo_surface_get_type, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-type">cairo_surface_get_type ()</a> +</dt> +<dt id="ientry-idm19701">cairo_surface_set_fallback_resolution, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-set-fallback-resolution">cairo_surface_set_fallback_resolution ()</a> +</dt> +<dt id="ientry-idm20624">cairo_surface_type_t, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-type-t">enum cairo_surface_type_t</a> +</dt> +<dt id="ientry-idm24318">cairo_svg_get_versions, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-get-versions">cairo_svg_get_versions ()</a> +</dt> +<dt id="ientry-idm24050">cairo_svg_surface_create, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-surface-create">cairo_svg_surface_create ()</a> +</dt> +<dt id="ientry-idm24128">cairo_svg_surface_create_for_stream, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-surface-create-for-stream">cairo_svg_surface_create_for_stream ()</a> +</dt> +<dt id="ientry-idm24276">cairo_svg_surface_restrict_to_version, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-surface-restrict-to-version">cairo_svg_surface_restrict_to_version ()</a> +</dt> +<dt id="ientry-idm24402">cairo_svg_version_t, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-version-t">enum cairo_svg_version_t</a> +</dt> +<dt id="ientry-idm24356">cairo_svg_version_to_string, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-version-to-string">cairo_svg_version_to_string ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>W</h3> +<dl> +<dt id="ientry-idm16416">cairo_win32_font_face_create_for_hfont, <a class="indexterm" href="cairo-Win32-Fonts.html#cairo-win32-font-face-create-for-hfont">cairo_win32_font_face_create_for_hfont ()</a> +</dt> +<dt id="ientry-idm23677">cairo_win32_surface_create_with_dib, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-dib">cairo_win32_surface_create_with_dib ()</a> +</dt> +<dt id="ientry-idm23862">cairo_win32_surface_get_dc, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-surface-get-dc">cairo_win32_surface_get_dc ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>X</h3> +<dl> +<dt id="ientry-idm25984">cairo_xlib_surface_get_depth, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-depth">cairo_xlib_surface_get_depth ()</a> +</dt> +<dt id="ientry-idm25729">cairo_xlib_surface_get_display, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-display">cairo_xlib_surface_get_display ()</a> +</dt> +<dt id="ientry-idm25849">cairo_xlib_surface_get_drawable, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-drawable">cairo_xlib_surface_get_drawable ()</a> +</dt> +<dt id="ientry-idm25952">cairo_xlib_surface_get_height, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-height">cairo_xlib_surface_get_height ()</a> +</dt> +<dt id="ientry-idm25761">cairo_xlib_surface_get_screen, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-screen">cairo_xlib_surface_get_screen ()</a> +</dt> +<dt id="ientry-idm25881">cairo_xlib_surface_get_visual, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-visual">cairo_xlib_surface_get_visual ()</a> +</dt> +<dt id="ientry-idm25920">cairo_xlib_surface_get_width, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-width">cairo_xlib_surface_get_width ()</a> +</dt> +</dl> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/index-1.4.html b/libs/cairo-1.16.0/doc/public/html/index-1.4.html new file mode 100644 index 0000000..c9014a1 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/index-1.4.html @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Index of new symbols in 1.4: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="index-1.2.html" title="Index of new symbols in 1.2"> +<link rel="next" href="index-1.6.html" title="Index of new symbols in 1.6"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="index-1.2.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="index-1.6.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="index"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="index-1.4"></a>Index of new symbols in 1.4</h1></div></div></div> +<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"> +<div class="indexdiv"> +<h3>C</h3> +<dl> +<dt id="ientry-idm2212">cairo_clip_extents, <a class="indexterm" href="cairo-cairo-t.html#cairo-clip-extents">cairo_clip_extents ()</a> +</dt> +<dt id="ientry-idm2399">cairo_copy_clip_rectangle_list, <a class="indexterm" href="cairo-cairo-t.html#cairo-copy-clip-rectangle-list">cairo_copy_clip_rectangle_list ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>F</h3> +<dl><dt id="ientry-idm13252">cairo_font_face_get_reference_count, <a class="indexterm" href="cairo-cairo-font-face-t.html#cairo-font-face-get-reference-count">cairo_font_face_get_reference_count ()</a> +</dt></dl> +</div> +<div class="indexdiv"> +<h3>G</h3> +<dl> +<dt id="ientry-idm1503">cairo_get_dash, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-dash">cairo_get_dash ()</a> +</dt> +<dt id="ientry-idm1465">cairo_get_dash_count, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-dash-count">cairo_get_dash_count ()</a> +</dt> +<dt id="ientry-idm3135">cairo_get_reference_count, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-reference-count">cairo_get_reference_count ()</a> +</dt> +<dt id="ientry-idm10968">cairo_get_scaled_font, <a class="indexterm" href="cairo-text.html#cairo-get-scaled-font">cairo_get_scaled_font ()</a> +</dt> +<dt id="ientry-idm3244">cairo_get_user_data, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-user-data">cairo_get_user_data ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>P</h3> +<dl> +<dt id="ientry-idm5879">cairo_pattern_get_color_stop_count, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-color-stop-count">cairo_pattern_get_color_stop_count ()</a> +</dt> +<dt id="ientry-idm5927">cairo_pattern_get_color_stop_rgba, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-color-stop-rgba">cairo_pattern_get_color_stop_rgba ()</a> +</dt> +<dt id="ientry-idm6402">cairo_pattern_get_linear_points, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-linear-points">cairo_pattern_get_linear_points ()</a> +</dt> +<dt id="ientry-idm6574">cairo_pattern_get_radial_circles, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-radial-circles">cairo_pattern_get_radial_circles ()</a> +</dt> +<dt id="ientry-idm8041">cairo_pattern_get_reference_count, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-reference-count">cairo_pattern_get_reference_count ()</a> +</dt> +<dt id="ientry-idm6160">cairo_pattern_get_rgba, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-rgba">cairo_pattern_get_rgba ()</a> +</dt> +<dt id="ientry-idm6279">cairo_pattern_get_surface, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-surface">cairo_pattern_get_surface ()</a> +</dt> +<dt id="ientry-idm8150">cairo_pattern_get_user_data, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-user-data">cairo_pattern_get_user_data ()</a> +</dt> +<dt id="ientry-idm8075">cairo_pattern_set_user_data, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-set-user-data">cairo_pattern_set_user_data ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>R</h3> +<dl> +<dt id="ientry-idm2368">cairo_rectangle_list_destroy, <a class="indexterm" href="cairo-cairo-t.html#cairo-rectangle-list-destroy">cairo_rectangle_list_destroy ()</a> +</dt> +<dt id="ientry-idm3744">cairo_rectangle_list_t, <a class="indexterm" href="cairo-cairo-t.html#cairo-rectangle-list-t">cairo_rectangle_list_t</a> +</dt> +<dt id="ientry-idm3692">cairo_rectangle_t, <a class="indexterm" href="cairo-cairo-t.html#cairo-rectangle-t">cairo_rectangle_t</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>S</h3> +<dl> +<dt id="ientry-idm14432">cairo_scaled_font_get_reference_count, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-reference-count">cairo_scaled_font_get_reference_count ()</a> +</dt> +<dt id="ientry-idm14541">cairo_scaled_font_get_user_data, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-user-data">cairo_scaled_font_get_user_data ()</a> +</dt> +<dt id="ientry-idm14466">cairo_scaled_font_set_user_data, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-set-user-data">cairo_scaled_font_set_user_data ()</a> +</dt> +<dt id="ientry-idm3169">cairo_set_user_data, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-user-data">cairo_set_user_data ()</a> +</dt> +<dt id="ientry-idm19841">cairo_surface_get_reference_count, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-reference-count">cairo_surface_get_reference_count ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>W</h3> +<dl> +<dt id="ientry-idm16681">cairo_win32_scaled_font_get_device_to_logical, <a class="indexterm" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-get-device-to-logical">cairo_win32_scaled_font_get_device_to_logical ()</a> +</dt> +<dt id="ientry-idm16644">cairo_win32_scaled_font_get_logical_to_device, <a class="indexterm" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-get-logical-to-device">cairo_win32_scaled_font_get_logical_to_device ()</a> +</dt> +<dt id="ientry-idm23725">cairo_win32_surface_create_with_ddb, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-ddb">cairo_win32_surface_create_with_ddb ()</a> +</dt> +<dt id="ientry-idm23905">cairo_win32_surface_get_image, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-surface-get-image">cairo_win32_surface_get_image ()</a> +</dt> +</dl> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/index-1.6.html b/libs/cairo-1.16.0/doc/public/html/index-1.6.html new file mode 100644 index 0000000..bc28f26 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/index-1.6.html @@ -0,0 +1,106 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Index of new symbols in 1.6: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="index-1.4.html" title="Index of new symbols in 1.4"> +<link rel="next" href="index-1.8.html" title="Index of new symbols in 1.8"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="index-1.4.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="index-1.8.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="index"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="index-1.6"></a>Index of new symbols in 1.6</h1></div></div></div> +<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"> +<div class="indexdiv"> +<h3>F</h3> +<dl><dt id="ientry-idm20909">cairo_format_stride_for_width, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-format-stride-for-width">cairo_format_stride_for_width ()</a> +</dt></dl> +</div> +<div class="indexdiv"> +<h3>H</h3> +<dl> +<dt id="ientry-idm4174">cairo_has_current_point, <a class="indexterm" href="cairo-Paths.html#cairo-has-current-point">cairo_has_current_point ()</a> +</dt> +<dt id="ientry-idm16862">CAIRO_HAS_QUARTZ_FONT, <a class="indexterm" href="cairo-Quartz-(CGFont)-Fonts.html#CAIRO-HAS-QUARTZ-FONT:CAPS">CAIRO_HAS_QUARTZ_FONT</a> +</dt> +<dt id="ientry-idm24709">CAIRO_HAS_QUARTZ_SURFACE, <a class="indexterm" href="cairo-Quartz-Surfaces.html#CAIRO-HAS-QUARTZ-SURFACE:CAPS">CAIRO_HAS_QUARTZ_SURFACE</a> +</dt> +<dt id="ientry-idm26317">CAIRO_HAS_XLIB_XRENDER_SURFACE, <a class="indexterm" href="cairo-XLib-XRender-Backend.html#CAIRO-HAS-XLIB-XRENDER-SURFACE:CAPS">CAIRO_HAS_XLIB_XRENDER_SURFACE</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>P</h3> +<dl> +<dt id="ientry-idm5183">cairo_path_extents, <a class="indexterm" href="cairo-Paths.html#cairo-path-extents">cairo_path_extents ()</a> +</dt> +<dt id="ientry-idm22934">cairo_ps_get_levels, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-get-levels">cairo_ps_get_levels ()</a> +</dt> +<dt id="ientry-idm23291">cairo_ps_level_t, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-level-t">enum cairo_ps_level_t</a> +</dt> +<dt id="ientry-idm22972">cairo_ps_level_to_string, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-level-to-string">cairo_ps_level_to_string ()</a> +</dt> +<dt id="ientry-idm23052">cairo_ps_surface_get_eps, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-get-eps">cairo_ps_surface_get_eps ()</a> +</dt> +<dt id="ientry-idm22892">cairo_ps_surface_restrict_to_level, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-restrict-to-level">cairo_ps_surface_restrict_to_level ()</a> +</dt> +<dt id="ientry-idm23008">cairo_ps_surface_set_eps, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-eps">cairo_ps_surface_set_eps ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>Q</h3> +<dl> +<dt id="ientry-idm16820">cairo_quartz_font_face_create_for_atsu_font_id, <a class="indexterm" href="cairo-Quartz-(CGFont)-Fonts.html#cairo-quartz-font-face-create-for-atsu-font-id">cairo_quartz_font_face_create_for_atsu_font_id ()</a> +</dt> +<dt id="ientry-idm16778">cairo_quartz_font_face_create_for_cgfont, <a class="indexterm" href="cairo-Quartz-(CGFont)-Fonts.html#cairo-quartz-font-face-create-for-cgfont">cairo_quartz_font_face_create_for_cgfont ()</a> +</dt> +<dt id="ientry-idm24573">cairo_quartz_surface_create, <a class="indexterm" href="cairo-Quartz-Surfaces.html#cairo-quartz-surface-create">cairo_quartz_surface_create ()</a> +</dt> +<dt id="ientry-idm24621">cairo_quartz_surface_create_for_cg_context, <a class="indexterm" href="cairo-Quartz-Surfaces.html#cairo-quartz-surface-create-for-cg-context">cairo_quartz_surface_create_for_cg_context ()</a> +</dt> +<dt id="ientry-idm24672">cairo_quartz_surface_get_cg_context, <a class="indexterm" href="cairo-Quartz-Surfaces.html#cairo-quartz-surface-get-cg-context">cairo_quartz_surface_get_cg_context ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>S</h3> +<dl> +<dt id="ientry-idm19994">cairo_surface_copy_page, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-copy-page">cairo_surface_copy_page ()</a> +</dt> +<dt id="ientry-idm20030">cairo_surface_show_page, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-show-page">cairo_surface_show_page ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>W</h3> +<dl> +<dt id="ientry-idm16464">cairo_win32_font_face_create_for_logfontw_hfont, <a class="indexterm" href="cairo-Win32-Fonts.html#cairo-win32-font-face-create-for-logfontw-hfont">cairo_win32_font_face_create_for_logfontw_hfont ()</a> +</dt> +<dt id="ientry-idm23829">cairo_win32_printing_surface_create, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-printing-surface-create">cairo_win32_printing_surface_create ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>X</h3> +<dl><dt id="ientry-idm26279">cairo_xlib_surface_get_xrender_format, <a class="indexterm" href="cairo-XLib-XRender-Backend.html#cairo-xlib-surface-get-xrender-format">cairo_xlib_surface_get_xrender_format ()</a> +</dt></dl> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/index-1.8.html b/libs/cairo-1.16.0/doc/public/html/index-1.8.html new file mode 100644 index 0000000..fc8aa42 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/index-1.8.html @@ -0,0 +1,127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Index of new symbols in 1.8: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="index-1.6.html" title="Index of new symbols in 1.6"> +<link rel="next" href="index-1.10.html" title="Index of new symbols in 1.10"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="index-1.6.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="index-1.10.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="index"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="index-1.8"></a>Index of new symbols in 1.8</h1></div></div></div> +<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"> +<div class="indexdiv"> +<h3>G</h3> +<dl> +<dt id="ientry-idm11537">cairo_glyph_allocate, <a class="indexterm" href="cairo-text.html#cairo-glyph-allocate">cairo_glyph_allocate ()</a> +</dt> +<dt id="ientry-idm11580">cairo_glyph_free, <a class="indexterm" href="cairo-text.html#cairo-glyph-free">cairo_glyph_free ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>H</h3> +<dl> +<dt id="ientry-idm21270">CAIRO_HAS_IMAGE_SURFACE, <a class="indexterm" href="cairo-Image-Surfaces.html#CAIRO-HAS-IMAGE-SURFACE:CAPS">CAIRO_HAS_IMAGE_SURFACE</a> +</dt> +<dt id="ientry-idm17724">CAIRO_HAS_USER_FONT, <a class="indexterm" href="cairo-User-Fonts.html#CAIRO-HAS-USER-FONT:CAPS">CAIRO_HAS_USER_FONT</a> +</dt> +<dt id="ientry-idm16720">CAIRO_HAS_WIN32_FONT, <a class="indexterm" href="cairo-Win32-Fonts.html#CAIRO-HAS-WIN32-FONT:CAPS">CAIRO_HAS_WIN32_FONT</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>S</h3> +<dl> +<dt id="ientry-idm14355">cairo_scaled_font_get_scale_matrix, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-scale-matrix">cairo_scaled_font_get_scale_matrix ()</a> +</dt> +<dt id="ientry-idm14013">cairo_scaled_font_text_to_glyphs, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-to-glyphs">cairo_scaled_font_text_to_glyphs ()</a> +</dt> +<dt id="ientry-idm11109">cairo_show_text_glyphs, <a class="indexterm" href="cairo-text.html#cairo-show-text-glyphs">cairo_show_text_glyphs ()</a> +</dt> +<dt id="ientry-idm19757">cairo_surface_get_fallback_resolution, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-fallback-resolution">cairo_surface_get_fallback_resolution ()</a> +</dt> +<dt id="ientry-idm20066">cairo_surface_has_show_text_glyphs, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-has-show-text-glyphs">cairo_surface_has_show_text_glyphs ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>T</h3> +<dl> +<dt id="ientry-idm11615">cairo_text_cluster_allocate, <a class="indexterm" href="cairo-text.html#cairo-text-cluster-allocate">cairo_text_cluster_allocate ()</a> +</dt> +<dt id="ientry-idm11847">cairo_text_cluster_flags_t, <a class="indexterm" href="cairo-text.html#cairo-text-cluster-flags-t">enum cairo_text_cluster_flags_t</a> +</dt> +<dt id="ientry-idm11658">cairo_text_cluster_free, <a class="indexterm" href="cairo-text.html#cairo-text-cluster-free">cairo_text_cluster_free ()</a> +</dt> +<dt id="ientry-idm11804">cairo_text_cluster_t, <a class="indexterm" href="cairo-text.html#cairo-text-cluster-t">cairo_text_cluster_t</a> +</dt> +<dt id="ientry-idm11386">cairo_toy_font_face_create, <a class="indexterm" href="cairo-text.html#cairo-toy-font-face-create">cairo_toy_font_face_create ()</a> +</dt> +<dt id="ientry-idm11447">cairo_toy_font_face_get_family, <a class="indexterm" href="cairo-text.html#cairo-toy-font-face-get-family">cairo_toy_font_face_get_family ()</a> +</dt> +<dt id="ientry-idm11477">cairo_toy_font_face_get_slant, <a class="indexterm" href="cairo-text.html#cairo-toy-font-face-get-slant">cairo_toy_font_face_get_slant ()</a> +</dt> +<dt id="ientry-idm11507">cairo_toy_font_face_get_weight, <a class="indexterm" href="cairo-text.html#cairo-toy-font-face-get-weight">cairo_toy_font_face_get_weight ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>U</h3> +<dl> +<dt id="ientry-idm17385">cairo_user_font_face_create, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-create">cairo_user_font_face_create ()</a> +</dt> +<dt id="ientry-idm17455">cairo_user_font_face_get_init_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-get-init-func">cairo_user_font_face_get_init_func ()</a> +</dt> +<dt id="ientry-idm17537">cairo_user_font_face_get_render_glyph_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-get-render-glyph-func">cairo_user_font_face_get_render_glyph_func ()</a> +</dt> +<dt id="ientry-idm17689">cairo_user_font_face_get_text_to_glyphs_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-get-text-to-glyphs-func">cairo_user_font_face_get_text_to_glyphs_func ()</a> +</dt> +<dt id="ientry-idm17613">cairo_user_font_face_get_unicode_to_glyph_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-get-unicode-to-glyph-func">cairo_user_font_face_get_unicode_to_glyph_func ()</a> +</dt> +<dt id="ientry-idm17412">cairo_user_font_face_set_init_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-set-init-func">cairo_user_font_face_set_init_func ()</a> +</dt> +<dt id="ientry-idm17488">cairo_user_font_face_set_render_glyph_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-set-render-glyph-func">cairo_user_font_face_set_render_glyph_func ()</a> +</dt> +<dt id="ientry-idm17646">cairo_user_font_face_set_text_to_glyphs_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-set-text-to-glyphs-func">cairo_user_font_face_set_text_to_glyphs_func ()</a> +</dt> +<dt id="ientry-idm17570">cairo_user_font_face_set_unicode_to_glyph_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-set-unicode-to-glyph-func">cairo_user_font_face_set_unicode_to_glyph_func ()</a> +</dt> +<dt id="ientry-idm17005">cairo_user_scaled_font_init_func_t, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-scaled-font-init-func-t">cairo_user_scaled_font_init_func_t ()</a> +</dt> +<dt id="ientry-idm17069">cairo_user_scaled_font_render_glyph_func_t, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-scaled-font-render-glyph-func-t">cairo_user_scaled_font_render_glyph_func_t ()</a> +</dt> +<dt id="ientry-idm17166">cairo_user_scaled_font_text_to_glyphs_func_t, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-scaled-font-text-to-glyphs-func-t">cairo_user_scaled_font_text_to_glyphs_func_t ()</a> +</dt> +<dt id="ientry-idm17319">cairo_user_scaled_font_unicode_to_glyph_func_t, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-scaled-font-unicode-to-glyph-func-t">cairo_user_scaled_font_unicode_to_glyph_func_t ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>V</h3> +<dl> +<dt id="ientry-idm28332">CAIRO_VERSION_STRING, <a class="indexterm" href="cairo-Version-Information.html#CAIRO-VERSION-STRING:CAPS">CAIRO_VERSION_STRING</a> +</dt> +<dt id="ientry-idm28206">CAIRO_VERSION_STRINGIZE, <a class="indexterm" href="cairo-Version-Information.html#CAIRO-VERSION-STRINGIZE:CAPS">CAIRO_VERSION_STRINGIZE()</a> +</dt> +</dl> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/index-all.html b/libs/cairo-1.16.0/doc/public/html/index-all.html new file mode 100644 index 0000000..54b84f7 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/index-all.html @@ -0,0 +1,1163 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Index: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="cairo-Types.html" title="Types"> +<link rel="next" href="index-1.2.html" title="Index of new symbols in 1.2"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="cairo-Types.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="index-1.2.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="index"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="index-all"></a>Index</h1></div></div></div> +<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"> +<div class="indexdiv"> +<h3>A</h3> +<dl> +<dt id="ientry-idm3316">cairo_antialias_t, <a class="indexterm" href="cairo-cairo-t.html#cairo-antialias-t">enum cairo_antialias_t</a> +</dt> +<dt id="ientry-idm4127">cairo_append_path, <a class="indexterm" href="cairo-Paths.html#cairo-append-path">cairo_append_path ()</a> +</dt> +<dt id="ientry-idm4404">cairo_arc, <a class="indexterm" href="cairo-Paths.html#cairo-arc">cairo_arc ()</a> +</dt> +<dt id="ientry-idm4504">cairo_arc_negative, <a class="indexterm" href="cairo-Paths.html#cairo-arc-negative">cairo_arc_negative ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>B</h3> +<dl><dt id="ientry-idm28421">cairo_bool_t, <a class="indexterm" href="cairo-Types.html#cairo-bool-t">cairo_bool_t</a> +</dt></dl> +</div> +<div class="indexdiv"> +<h3>C</h3> +<dl> +<dt id="ientry-idm2118">cairo_clip, <a class="indexterm" href="cairo-cairo-t.html#cairo-clip">cairo_clip ()</a> +</dt> +<dt id="ientry-idm2212">cairo_clip_extents, <a class="indexterm" href="cairo-cairo-t.html#cairo-clip-extents">cairo_clip_extents ()</a> +</dt> +<dt id="ientry-idm2164">cairo_clip_preserve, <a class="indexterm" href="cairo-cairo-t.html#cairo-clip-preserve">cairo_clip_preserve ()</a> +</dt> +<dt id="ientry-idm4362">cairo_close_path, <a class="indexterm" href="cairo-Paths.html#cairo-close-path">cairo_close_path ()</a> +</dt> +<dt id="ientry-idm20584">cairo_content_t, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-content-t">enum cairo_content_t</a> +</dt> +<dt id="ientry-idm2399">cairo_copy_clip_rectangle_list, <a class="indexterm" href="cairo-cairo-t.html#cairo-copy-clip-rectangle-list">cairo_copy_clip_rectangle_list ()</a> +</dt> +<dt id="ientry-idm3069">cairo_copy_page, <a class="indexterm" href="cairo-cairo-t.html#cairo-copy-page">cairo_copy_page ()</a> +</dt> +<dt id="ientry-idm3978">cairo_copy_path, <a class="indexterm" href="cairo-Paths.html#cairo-copy-path">cairo_copy_path ()</a> +</dt> +<dt id="ientry-idm4029">cairo_copy_path_flat, <a class="indexterm" href="cairo-Paths.html#cairo-copy-path-flat">cairo_copy_path_flat ()</a> +</dt> +<dt id="ientry-idm510">cairo_create, <a class="indexterm" href="cairo-cairo-t.html#cairo-create">cairo_create ()</a> +</dt> +<dt id="ientry-idm4588">cairo_curve_to, <a class="indexterm" href="cairo-Paths.html#cairo-curve-to">cairo_curve_to ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>D</h3> +<dl> +<dt id="ientry-idm27724">cairo_debug_reset_static_data, <a class="indexterm" href="cairo-Error-handling.html#cairo-debug-reset-static-data">cairo_debug_reset_static_data ()</a> +</dt> +<dt id="ientry-idm612">cairo_destroy, <a class="indexterm" href="cairo-cairo-t.html#cairo-destroy">cairo_destroy ()</a> +</dt> +<dt id="ientry-idm28388">cairo_destroy_func_t, <a class="indexterm" href="cairo-Types.html#cairo-destroy-func-t">cairo_destroy_func_t ()</a> +</dt> +<dt id="ientry-idm18286">cairo_device_acquire, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-acquire">cairo_device_acquire ()</a> +</dt> +<dt id="ientry-idm17956">cairo_device_destroy, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-destroy">cairo_device_destroy ()</a> +</dt> +<dt id="ientry-idm18024">cairo_device_finish, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-finish">cairo_device_finish ()</a> +</dt> +<dt id="ientry-idm18064">cairo_device_flush, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-flush">cairo_device_flush ()</a> +</dt> +<dt id="ientry-idm18129">cairo_device_get_reference_count, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-get-reference-count">cairo_device_get_reference_count ()</a> +</dt> +<dt id="ientry-idm18094">cairo_device_get_type, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-get-type">cairo_device_get_type ()</a> +</dt> +<dt id="ientry-idm18238">cairo_device_get_user_data, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-get-user-data">cairo_device_get_user_data ()</a> +</dt> +<dt id="ientry-idm18364">cairo_device_observer_elapsed, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-observer-elapsed">cairo_device_observer_elapsed ()</a> +</dt> +<dt id="ientry-idm18374">cairo_device_observer_fill_elapsed, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-observer-fill-elapsed">cairo_device_observer_fill_elapsed ()</a> +</dt> +<dt id="ientry-idm18384">cairo_device_observer_glyphs_elapsed, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-observer-glyphs-elapsed">cairo_device_observer_glyphs_elapsed ()</a> +</dt> +<dt id="ientry-idm18394">cairo_device_observer_mask_elapsed, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-observer-mask-elapsed">cairo_device_observer_mask_elapsed ()</a> +</dt> +<dt id="ientry-idm18404">cairo_device_observer_paint_elapsed, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-observer-paint-elapsed">cairo_device_observer_paint_elapsed ()</a> +</dt> +<dt id="ientry-idm18414">cairo_device_observer_print, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-observer-print">cairo_device_observer_print ()</a> +</dt> +<dt id="ientry-idm18430">cairo_device_observer_stroke_elapsed, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-observer-stroke-elapsed">cairo_device_observer_stroke_elapsed ()</a> +</dt> +<dt id="ientry-idm17913">cairo_device_reference, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-reference">cairo_device_reference ()</a> +</dt> +<dt id="ientry-idm18332">cairo_device_release, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-release">cairo_device_release ()</a> +</dt> +<dt id="ientry-idm18163">cairo_device_set_user_data, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-set-user-data">cairo_device_set_user_data ()</a> +</dt> +<dt id="ientry-idm17990">cairo_device_status, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-status">cairo_device_status ()</a> +</dt> +<dt id="ientry-idm18442">cairo_device_t, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-t">cairo_device_t</a> +</dt> +<dt id="ientry-idm10183">cairo_device_to_user, <a class="indexterm" href="cairo-Transformations.html#cairo-device-to-user">cairo_device_to_user ()</a> +</dt> +<dt id="ientry-idm10228">cairo_device_to_user_distance, <a class="indexterm" href="cairo-Transformations.html#cairo-device-to-user-distance">cairo_device_to_user_distance ()</a> +</dt> +<dt id="ientry-idm18468">cairo_device_type_t, <a class="indexterm" href="cairo-cairo-device-t.html#cairo-device-type-t">enum cairo_device_type_t</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>E</h3> +<dl><dt id="ientry-idm8231">cairo_extend_t, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-extend-t">enum cairo_extend_t</a> +</dt></dl> +</div> +<div class="indexdiv"> +<h3>F</h3> +<dl> +<dt id="ientry-idm2436">cairo_fill, <a class="indexterm" href="cairo-cairo-t.html#cairo-fill">cairo_fill ()</a> +</dt> +<dt id="ientry-idm2505">cairo_fill_extents, <a class="indexterm" href="cairo-cairo-t.html#cairo-fill-extents">cairo_fill_extents ()</a> +</dt> +<dt id="ientry-idm2469">cairo_fill_preserve, <a class="indexterm" href="cairo-cairo-t.html#cairo-fill-preserve">cairo_fill_preserve ()</a> +</dt> +<dt id="ientry-idm3386">cairo_fill_rule_t, <a class="indexterm" href="cairo-cairo-t.html#cairo-fill-rule-t">enum cairo_fill_rule_t</a> +</dt> +<dt id="ientry-idm8279">cairo_filter_t, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-filter-t">enum cairo_filter_t</a> +</dt> +<dt id="ientry-idm11224">cairo_font_extents, <a class="indexterm" href="cairo-text.html#cairo-font-extents">cairo_font_extents ()</a> +</dt> +<dt id="ientry-idm14614">cairo_font_extents_t, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t">cairo_font_extents_t</a> +</dt> +<dt id="ientry-idm13150">cairo_font_face_destroy, <a class="indexterm" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy">cairo_font_face_destroy ()</a> +</dt> +<dt id="ientry-idm13252">cairo_font_face_get_reference_count, <a class="indexterm" href="cairo-cairo-font-face-t.html#cairo-font-face-get-reference-count">cairo_font_face_get_reference_count ()</a> +</dt> +<dt id="ientry-idm13219">cairo_font_face_get_type, <a class="indexterm" href="cairo-cairo-font-face-t.html#cairo-font-face-get-type">cairo_font_face_get_type ()</a> +</dt> +<dt id="ientry-idm13357">cairo_font_face_get_user_data, <a class="indexterm" href="cairo-cairo-font-face-t.html#cairo-font-face-get-user-data">cairo_font_face_get_user_data ()</a> +</dt> +<dt id="ientry-idm13105">cairo_font_face_reference, <a class="indexterm" href="cairo-cairo-font-face-t.html#cairo-font-face-reference">cairo_font_face_reference ()</a> +</dt> +<dt id="ientry-idm13286">cairo_font_face_set_user_data, <a class="indexterm" href="cairo-cairo-font-face-t.html#cairo-font-face-set-user-data">cairo_font_face_set_user_data ()</a> +</dt> +<dt id="ientry-idm13183">cairo_font_face_status, <a class="indexterm" href="cairo-cairo-font-face-t.html#cairo-font-face-status">cairo_font_face_status ()</a> +</dt> +<dt id="ientry-idm13407">cairo_font_face_t, <a class="indexterm" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> +</dt> +<dt id="ientry-idm14950">cairo_font_options_copy, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-copy">cairo_font_options_copy ()</a> +</dt> +<dt id="ientry-idm14929">cairo_font_options_create, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-create">cairo_font_options_create ()</a> +</dt> +<dt id="ientry-idm14989">cairo_font_options_destroy, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-destroy">cairo_font_options_destroy ()</a> +</dt> +<dt id="ientry-idm15140">cairo_font_options_equal, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-equal">cairo_font_options_equal ()</a> +</dt> +<dt id="ientry-idm15225">cairo_font_options_get_antialias, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-get-antialias">cairo_font_options_get_antialias ()</a> +</dt> +<dt id="ientry-idm15447">cairo_font_options_get_hint_metrics, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-get-hint-metrics">cairo_font_options_get_hint_metrics ()</a> +</dt> +<dt id="ientry-idm15373">cairo_font_options_get_hint_style, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-get-hint-style">cairo_font_options_get_hint_style ()</a> +</dt> +<dt id="ientry-idm15299">cairo_font_options_get_subpixel_order, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-get-subpixel-order">cairo_font_options_get_subpixel_order ()</a> +</dt> +<dt id="ientry-idm15481">cairo_font_options_get_variations, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-get-variations">cairo_font_options_get_variations ()</a> +</dt> +<dt id="ientry-idm15106">cairo_font_options_hash, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-hash">cairo_font_options_hash ()</a> +</dt> +<dt id="ientry-idm15060">cairo_font_options_merge, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-merge">cairo_font_options_merge ()</a> +</dt> +<dt id="ientry-idm15187">cairo_font_options_set_antialias, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-set-antialias">cairo_font_options_set_antialias ()</a> +</dt> +<dt id="ientry-idm15407">cairo_font_options_set_hint_metrics, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-set-hint-metrics">cairo_font_options_set_hint_metrics ()</a> +</dt> +<dt id="ientry-idm15333">cairo_font_options_set_hint_style, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-set-hint-style">cairo_font_options_set_hint_style ()</a> +</dt> +<dt id="ientry-idm15257">cairo_font_options_set_subpixel_order, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-set-subpixel-order">cairo_font_options_set_subpixel_order ()</a> +</dt> +<dt id="ientry-idm15518">cairo_font_options_set_variations, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-set-variations">cairo_font_options_set_variations ()</a> +</dt> +<dt id="ientry-idm15024">cairo_font_options_status, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-status">cairo_font_options_status ()</a> +</dt> +<dt id="ientry-idm15563">cairo_font_options_t, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-font-options-t">cairo_font_options_t</a> +</dt> +<dt id="ientry-idm11744">cairo_font_slant_t, <a class="indexterm" href="cairo-text.html#cairo-font-slant-t">enum cairo_font_slant_t</a> +</dt> +<dt id="ientry-idm13436">cairo_font_type_t, <a class="indexterm" href="cairo-cairo-font-face-t.html#cairo-font-type-t">enum cairo_font_type_t</a> +</dt> +<dt id="ientry-idm11777">cairo_font_weight_t, <a class="indexterm" href="cairo-text.html#cairo-font-weight-t">enum cairo_font_weight_t</a> +</dt> +<dt id="ientry-idm20909">cairo_format_stride_for_width, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-format-stride-for-width">cairo_format_stride_for_width ()</a> +</dt> +<dt id="ientry-idm21278">cairo_format_t, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-format-t">enum cairo_format_t</a> +</dt> +<dt id="ientry-idm15821">cairo_ft_font_face_create_for_ft_face, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-ft-face">cairo_ft_font_face_create_for_ft_face ()</a> +</dt> +<dt id="ientry-idm15897">cairo_ft_font_face_create_for_pattern, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-create-for-pattern">cairo_ft_font_face_create_for_pattern ()</a> +</dt> +<dt id="ientry-idm16107">cairo_ft_font_face_get_synthesize, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-get-synthesize">cairo_ft_font_face_get_synthesize ()</a> +</dt> +<dt id="ientry-idm16141">cairo_ft_font_face_set_synthesize, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-set-synthesize">cairo_ft_font_face_set_synthesize ()</a> +</dt> +<dt id="ientry-idm16181">cairo_ft_font_face_unset_synthesize, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-font-face-unset-synthesize">cairo_ft_font_face_unset_synthesize ()</a> +</dt> +<dt id="ientry-idm15963">cairo_ft_font_options_substitute, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-font-options-substitute">cairo_ft_font_options_substitute ()</a> +</dt> +<dt id="ientry-idm16011">cairo_ft_scaled_font_lock_face, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-lock-face">cairo_ft_scaled_font_lock_face ()</a> +</dt> +<dt id="ientry-idm16070">cairo_ft_scaled_font_unlock_face, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-unlock-face">cairo_ft_scaled_font_unlock_face ()</a> +</dt> +<dt id="ientry-idm16239">cairo_ft_synthesize_t, <a class="indexterm" href="cairo-FreeType-Fonts.html#cairo-ft-synthesize-t">enum cairo_ft_synthesize_t</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>G</h3> +<dl> +<dt id="ientry-idm1357">cairo_get_antialias, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-antialias">cairo_get_antialias ()</a> +</dt> +<dt id="ientry-idm4206">cairo_get_current_point, <a class="indexterm" href="cairo-Paths.html#cairo-get-current-point">cairo_get_current_point ()</a> +</dt> +<dt id="ientry-idm1503">cairo_get_dash, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-dash">cairo_get_dash ()</a> +</dt> +<dt id="ientry-idm1465">cairo_get_dash_count, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-dash-count">cairo_get_dash_count ()</a> +</dt> +<dt id="ientry-idm1608">cairo_get_fill_rule, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-fill-rule">cairo_get_fill_rule ()</a> +</dt> +<dt id="ientry-idm10869">cairo_get_font_face, <a class="indexterm" href="cairo-text.html#cairo-get-font-face">cairo_get_font_face ()</a> +</dt> +<dt id="ientry-idm10692">cairo_get_font_matrix, <a class="indexterm" href="cairo-text.html#cairo-get-font-matrix">cairo_get_font_matrix ()</a> +</dt> +<dt id="ientry-idm10776">cairo_get_font_options, <a class="indexterm" href="cairo-text.html#cairo-get-font-options">cairo_get_font_options ()</a> +</dt> +<dt id="ientry-idm989">cairo_get_group_target, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-group-target">cairo_get_group_target ()</a> +</dt> +<dt id="ientry-idm1688">cairo_get_line_cap, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-line-cap">cairo_get_line_cap ()</a> +</dt> +<dt id="ientry-idm1768">cairo_get_line_join, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-line-join">cairo_get_line_join ()</a> +</dt> +<dt id="ientry-idm1853">cairo_get_line_width, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-line-width">cairo_get_line_width ()</a> +</dt> +<dt id="ientry-idm10025">cairo_get_matrix, <a class="indexterm" href="cairo-Transformations.html#cairo-get-matrix">cairo_get_matrix ()</a> +</dt> +<dt id="ientry-idm1939">cairo_get_miter_limit, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-miter-limit">cairo_get_miter_limit ()</a> +</dt> +<dt id="ientry-idm2016">cairo_get_operator, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-operator">cairo_get_operator ()</a> +</dt> +<dt id="ientry-idm3135">cairo_get_reference_count, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-reference-count">cairo_get_reference_count ()</a> +</dt> +<dt id="ientry-idm10968">cairo_get_scaled_font, <a class="indexterm" href="cairo-text.html#cairo-get-scaled-font">cairo_get_scaled_font ()</a> +</dt> +<dt id="ientry-idm1281">cairo_get_source, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-source">cairo_get_source ()</a> +</dt> +<dt id="ientry-idm760">cairo_get_target, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-target">cairo_get_target ()</a> +</dt> +<dt id="ientry-idm2086">cairo_get_tolerance, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-tolerance">cairo_get_tolerance ()</a> +</dt> +<dt id="ientry-idm3244">cairo_get_user_data, <a class="indexterm" href="cairo-cairo-t.html#cairo-get-user-data">cairo_get_user_data ()</a> +</dt> +<dt id="ientry-idm11537">cairo_glyph_allocate, <a class="indexterm" href="cairo-text.html#cairo-glyph-allocate">cairo_glyph_allocate ()</a> +</dt> +<dt id="ientry-idm11320">cairo_glyph_extents, <a class="indexterm" href="cairo-text.html#cairo-glyph-extents">cairo_glyph_extents ()</a> +</dt> +<dt id="ientry-idm11580">cairo_glyph_free, <a class="indexterm" href="cairo-text.html#cairo-glyph-free">cairo_glyph_free ()</a> +</dt> +<dt id="ientry-idm4853">cairo_glyph_path, <a class="indexterm" href="cairo-Paths.html#cairo-glyph-path">cairo_glyph_path ()</a> +</dt> +<dt id="ientry-idm11695">cairo_glyph_t, <a class="indexterm" href="cairo-text.html#cairo-glyph-t">cairo_glyph_t</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>H</h3> +<dl> +<dt id="ientry-idm4174">cairo_has_current_point, <a class="indexterm" href="cairo-Paths.html#cairo-has-current-point">cairo_has_current_point ()</a> +</dt> +<dt id="ientry-idm16231">CAIRO_HAS_FC_FONT, <a class="indexterm" href="cairo-FreeType-Fonts.html#CAIRO-HAS-FC-FONT:CAPS">CAIRO_HAS_FC_FONT</a> +</dt> +<dt id="ientry-idm16223">CAIRO_HAS_FT_FONT, <a class="indexterm" href="cairo-FreeType-Fonts.html#CAIRO-HAS-FT-FONT:CAPS">CAIRO_HAS_FT_FONT</a> +</dt> +<dt id="ientry-idm21270">CAIRO_HAS_IMAGE_SURFACE, <a class="indexterm" href="cairo-Image-Surfaces.html#CAIRO-HAS-IMAGE-SURFACE:CAPS">CAIRO_HAS_IMAGE_SURFACE</a> +</dt> +<dt id="ientry-idm20441">CAIRO_HAS_MIME_SURFACE, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-HAS-MIME-SURFACE:CAPS">CAIRO_HAS_MIME_SURFACE</a> +</dt> +<dt id="ientry-idm22036">CAIRO_HAS_PDF_SURFACE, <a class="indexterm" href="cairo-PDF-Surfaces.html#CAIRO-HAS-PDF-SURFACE:CAPS">CAIRO_HAS_PDF_SURFACE</a> +</dt> +<dt id="ientry-idm22590">CAIRO_HAS_PNG_FUNCTIONS, <a class="indexterm" href="cairo-PNG-Support.html#CAIRO-HAS-PNG-FUNCTIONS:CAPS">CAIRO_HAS_PNG_FUNCTIONS</a> +</dt> +<dt id="ientry-idm23283">CAIRO_HAS_PS_SURFACE, <a class="indexterm" href="cairo-PostScript-Surfaces.html#CAIRO-HAS-PS-SURFACE:CAPS">CAIRO_HAS_PS_SURFACE</a> +</dt> +<dt id="ientry-idm16862">CAIRO_HAS_QUARTZ_FONT, <a class="indexterm" href="cairo-Quartz-(CGFont)-Fonts.html#CAIRO-HAS-QUARTZ-FONT:CAPS">CAIRO_HAS_QUARTZ_FONT</a> +</dt> +<dt id="ientry-idm24709">CAIRO_HAS_QUARTZ_SURFACE, <a class="indexterm" href="cairo-Quartz-Surfaces.html#CAIRO-HAS-QUARTZ-SURFACE:CAPS">CAIRO_HAS_QUARTZ_SURFACE</a> +</dt> +<dt id="ientry-idm23540">CAIRO_HAS_RECORDING_SURFACE, <a class="indexterm" href="cairo-Recording-Surfaces.html#CAIRO-HAS-RECORDING-SURFACE:CAPS">CAIRO_HAS_RECORDING_SURFACE</a> +</dt> +<dt id="ientry-idm26766">CAIRO_HAS_SCRIPT_SURFACE, <a class="indexterm" href="cairo-Script-Surfaces.html#CAIRO-HAS-SCRIPT-SURFACE:CAPS">CAIRO_HAS_SCRIPT_SURFACE</a> +</dt> +<dt id="ientry-idm24394">CAIRO_HAS_SVG_SURFACE, <a class="indexterm" href="cairo-SVG-Surfaces.html#CAIRO-HAS-SVG-SURFACE:CAPS">CAIRO_HAS_SVG_SURFACE</a> +</dt> +<dt id="ientry-idm17724">CAIRO_HAS_USER_FONT, <a class="indexterm" href="cairo-User-Fonts.html#CAIRO-HAS-USER-FONT:CAPS">CAIRO_HAS_USER_FONT</a> +</dt> +<dt id="ientry-idm16720">CAIRO_HAS_WIN32_FONT, <a class="indexterm" href="cairo-Win32-Fonts.html#CAIRO-HAS-WIN32-FONT:CAPS">CAIRO_HAS_WIN32_FONT</a> +</dt> +<dt id="ientry-idm23949">CAIRO_HAS_WIN32_SURFACE, <a class="indexterm" href="cairo-Win32-Surfaces.html#CAIRO-HAS-WIN32-SURFACE:CAPS">CAIRO_HAS_WIN32_SURFACE</a> +</dt> +<dt id="ientry-idm25395">CAIRO_HAS_XCB_SHM_FUNCTIONS, <a class="indexterm" href="cairo-XCB-Surfaces.html#CAIRO-HAS-XCB-SHM-FUNCTIONS:CAPS">CAIRO_HAS_XCB_SHM_FUNCTIONS</a> +</dt> +<dt id="ientry-idm25387">CAIRO_HAS_XCB_SURFACE, <a class="indexterm" href="cairo-XCB-Surfaces.html#CAIRO-HAS-XCB-SURFACE:CAPS">CAIRO_HAS_XCB_SURFACE</a> +</dt> +<dt id="ientry-idm26136">CAIRO_HAS_XLIB_SURFACE, <a class="indexterm" href="cairo-XLib-Surfaces.html#CAIRO-HAS-XLIB-SURFACE:CAPS">CAIRO_HAS_XLIB_SURFACE</a> +</dt> +<dt id="ientry-idm26317">CAIRO_HAS_XLIB_XRENDER_SURFACE, <a class="indexterm" href="cairo-XLib-XRender-Backend.html#CAIRO-HAS-XLIB-XRENDER-SURFACE:CAPS">CAIRO_HAS_XLIB_XRENDER_SURFACE</a> +</dt> +<dt id="ientry-idm15688">cairo_hint_metrics_t, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-hint-metrics-t">enum cairo_hint_metrics_t</a> +</dt> +<dt id="ientry-idm15642">cairo_hint_style_t, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-hint-style-t">enum cairo_hint_style_t</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>I</h3> +<dl> +<dt id="ientry-idm10062">cairo_identity_matrix, <a class="indexterm" href="cairo-Transformations.html#cairo-identity-matrix">cairo_identity_matrix ()</a> +</dt> +<dt id="ientry-idm20952">cairo_image_surface_create, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-image-surface-create">cairo_image_surface_create ()</a> +</dt> +<dt id="ientry-idm21005">cairo_image_surface_create_for_data, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-image-surface-create-for-data">cairo_image_surface_create_for_data ()</a> +</dt> +<dt id="ientry-idm22266">cairo_image_surface_create_from_png, <a class="indexterm" href="cairo-PNG-Support.html#cairo-image-surface-create-from-png">cairo_image_surface_create_from_png ()</a> +</dt> +<dt id="ientry-idm22366">cairo_image_surface_create_from_png_stream, <a class="indexterm" href="cairo-PNG-Support.html#cairo-image-surface-create-from-png-stream">cairo_image_surface_create_from_png_stream ()</a> +</dt> +<dt id="ientry-idm21097">cairo_image_surface_get_data, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-image-surface-get-data">cairo_image_surface_get_data ()</a> +</dt> +<dt id="ientry-idm21139">cairo_image_surface_get_format, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-image-surface-get-format">cairo_image_surface_get_format ()</a> +</dt> +<dt id="ientry-idm21203">cairo_image_surface_get_height, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-image-surface-get-height">cairo_image_surface_get_height ()</a> +</dt> +<dt id="ientry-idm21235">cairo_image_surface_get_stride, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-image-surface-get-stride">cairo_image_surface_get_stride ()</a> +</dt> +<dt id="ientry-idm21171">cairo_image_surface_get_width, <a class="indexterm" href="cairo-Image-Surfaces.html#cairo-image-surface-get-width">cairo_image_surface_get_width ()</a> +</dt> +<dt id="ientry-idm2275">cairo_in_clip, <a class="indexterm" href="cairo-cairo-t.html#cairo-in-clip">cairo_in_clip ()</a> +</dt> +<dt id="ientry-idm2585">cairo_in_fill, <a class="indexterm" href="cairo-cairo-t.html#cairo-in-fill">cairo_in_fill ()</a> +</dt> +<dt id="ientry-idm3006">cairo_in_stroke, <a class="indexterm" href="cairo-cairo-t.html#cairo-in-stroke">cairo_in_stroke ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>L</h3> +<dl> +<dt id="ientry-idm3419">cairo_line_cap_t, <a class="indexterm" href="cairo-cairo-t.html#cairo-line-cap-t">enum cairo_line_cap_t</a> +</dt> +<dt id="ientry-idm3455">cairo_line_join_t, <a class="indexterm" href="cairo-cairo-t.html#cairo-line-join-t">enum cairo_line_join_t</a> +</dt> +<dt id="ientry-idm4683">cairo_line_to, <a class="indexterm" href="cairo-Paths.html#cairo-line-to">cairo_line_to ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>M</h3> +<dl> +<dt id="ientry-idm2642">cairo_mask, <a class="indexterm" href="cairo-cairo-t.html#cairo-mask">cairo_mask ()</a> +</dt> +<dt id="ientry-idm2682">cairo_mask_surface, <a class="indexterm" href="cairo-cairo-t.html#cairo-mask-surface">cairo_mask_surface ()</a> +</dt> +<dt id="ientry-idm26939">cairo_matrix_init, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-init">cairo_matrix_init ()</a> +</dt> +<dt id="ientry-idm27030">cairo_matrix_init_identity, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-init-identity">cairo_matrix_init_identity ()</a> +</dt> +<dt id="ientry-idm27160">cairo_matrix_init_rotate, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-init-rotate">cairo_matrix_init_rotate ()</a> +</dt> +<dt id="ientry-idm27110">cairo_matrix_init_scale, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-init-scale">cairo_matrix_init_scale ()</a> +</dt> +<dt id="ientry-idm27060">cairo_matrix_init_translate, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-init-translate">cairo_matrix_init_translate ()</a> +</dt> +<dt id="ientry-idm27345">cairo_matrix_invert, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-invert">cairo_matrix_invert ()</a> +</dt> +<dt id="ientry-idm27385">cairo_matrix_multiply, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-multiply">cairo_matrix_multiply ()</a> +</dt> +<dt id="ientry-idm27304">cairo_matrix_rotate, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-rotate">cairo_matrix_rotate ()</a> +</dt> +<dt id="ientry-idm27252">cairo_matrix_scale, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-scale">cairo_matrix_scale ()</a> +</dt> +<dt id="ientry-idm27565">cairo_matrix_t, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> +</dt> +<dt id="ientry-idm27445">cairo_matrix_transform_distance, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-distance">cairo_matrix_transform_distance ()</a> +</dt> +<dt id="ientry-idm27513">cairo_matrix_transform_point, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-point">cairo_matrix_transform_point ()</a> +</dt> +<dt id="ientry-idm27200">cairo_matrix_translate, <a class="indexterm" href="cairo-cairo-matrix-t.html#cairo-matrix-translate">cairo_matrix_translate ()</a> +</dt> +<dt id="ientry-idm6746">cairo_mesh_pattern_begin_patch, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-begin-patch">cairo_mesh_pattern_begin_patch ()</a> +</dt> +<dt id="ientry-idm6961">cairo_mesh_pattern_curve_to, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-curve-to">cairo_mesh_pattern_curve_to ()</a> +</dt> +<dt id="ientry-idm6794">cairo_mesh_pattern_end_patch, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-end-patch">cairo_mesh_pattern_end_patch ()</a> +</dt> +<dt id="ientry-idm7425">cairo_mesh_pattern_get_control_point, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-control-point">cairo_mesh_pattern_get_control_point ()</a> +</dt> +<dt id="ientry-idm7517">cairo_mesh_pattern_get_corner_color_rgba, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-corner-color-rgba">cairo_mesh_pattern_get_corner_color_rgba ()</a> +</dt> +<dt id="ientry-idm7320">cairo_mesh_pattern_get_patch_count, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-patch-count">cairo_mesh_pattern_get_patch_count ()</a> +</dt> +<dt id="ientry-idm7371">cairo_mesh_pattern_get_path, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-get-path">cairo_mesh_pattern_get_path ()</a> +</dt> +<dt id="ientry-idm6894">cairo_mesh_pattern_line_to, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-line-to">cairo_mesh_pattern_line_to ()</a> +</dt> +<dt id="ientry-idm6835">cairo_mesh_pattern_move_to, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-move-to">cairo_mesh_pattern_move_to ()</a> +</dt> +<dt id="ientry-idm7068">cairo_mesh_pattern_set_control_point, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-control-point">cairo_mesh_pattern_set_control_point ()</a> +</dt> +<dt id="ientry-idm7141">cairo_mesh_pattern_set_corner_color_rgb, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb ()</a> +</dt> +<dt id="ientry-idm7226">cairo_mesh_pattern_set_corner_color_rgba, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-mesh-pattern-set-corner-color-rgba">cairo_mesh_pattern_set_corner_color_rgba ()</a> +</dt> +<dt id="ientry-idm20446">CAIRO_MIME_TYPE_CCITT_FAX, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX:CAPS">CAIRO_MIME_TYPE_CCITT_FAX</a> +</dt> +<dt id="ientry-idm20454">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</a> +</dt> +<dt id="ientry-idm20463">CAIRO_MIME_TYPE_EPS, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS:CAPS">CAIRO_MIME_TYPE_EPS</a> +</dt> +<dt id="ientry-idm20472">CAIRO_MIME_TYPE_EPS_PARAMS, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-EPS-PARAMS:CAPS">CAIRO_MIME_TYPE_EPS_PARAMS</a> +</dt> +<dt id="ientry-idm20481">CAIRO_MIME_TYPE_JBIG2, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2:CAPS">CAIRO_MIME_TYPE_JBIG2</a> +</dt> +<dt id="ientry-idm20489">CAIRO_MIME_TYPE_JBIG2_GLOBAL, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS">CAIRO_MIME_TYPE_JBIG2_GLOBAL</a> +</dt> +<dt id="ientry-idm20497">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</a> +</dt> +<dt id="ientry-idm20505">CAIRO_MIME_TYPE_JP2, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JP2:CAPS">CAIRO_MIME_TYPE_JP2</a> +</dt> +<dt id="ientry-idm20513">CAIRO_MIME_TYPE_JPEG, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JPEG:CAPS">CAIRO_MIME_TYPE_JPEG</a> +</dt> +<dt id="ientry-idm20521">CAIRO_MIME_TYPE_PNG, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-PNG:CAPS">CAIRO_MIME_TYPE_PNG</a> +</dt> +<dt id="ientry-idm20537">CAIRO_MIME_TYPE_UNIQUE_ID, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-UNIQUE-ID:CAPS">CAIRO_MIME_TYPE_UNIQUE_ID</a> +</dt> +<dt id="ientry-idm20529">CAIRO_MIME_TYPE_URI, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-URI:CAPS">CAIRO_MIME_TYPE_URI</a> +</dt> +<dt id="ientry-idm4738">cairo_move_to, <a class="indexterm" href="cairo-Paths.html#cairo-move-to">cairo_move_to ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>N</h3> +<dl> +<dt id="ientry-idm4298">cairo_new_path, <a class="indexterm" href="cairo-Paths.html#cairo-new-path">cairo_new_path ()</a> +</dt> +<dt id="ientry-idm4325">cairo_new_sub_path, <a class="indexterm" href="cairo-Paths.html#cairo-new-sub-path">cairo_new_sub_path ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>O</h3> +<dl><dt id="ientry-idm3493">cairo_operator_t, <a class="indexterm" href="cairo-cairo-t.html#cairo-operator-t">enum cairo_operator_t</a> +</dt></dl> +</div> +<div class="indexdiv"> +<h3>P</h3> +<dl> +<dt id="ientry-idm2742">cairo_paint, <a class="indexterm" href="cairo-cairo-t.html#cairo-paint">cairo_paint ()</a> +</dt> +<dt id="ientry-idm2769">cairo_paint_with_alpha, <a class="indexterm" href="cairo-cairo-t.html#cairo-paint-with-alpha">cairo_paint_with_alpha ()</a> +</dt> +<dt id="ientry-idm5326">cairo_path_data_t, <a class="indexterm" href="cairo-Paths.html#cairo-path-data-t">union cairo_path_data_t</a> +</dt> +<dt id="ientry-idm5358">cairo_path_data_type_t, <a class="indexterm" href="cairo-Paths.html#cairo-path-data-type-t">enum cairo_path_data_type_t</a> +</dt> +<dt id="ientry-idm4087">cairo_path_destroy, <a class="indexterm" href="cairo-Paths.html#cairo-path-destroy">cairo_path_destroy ()</a> +</dt> +<dt id="ientry-idm5183">cairo_path_extents, <a class="indexterm" href="cairo-Paths.html#cairo-path-extents">cairo_path_extents ()</a> +</dt> +<dt id="ientry-idm5271">cairo_path_t, <a class="indexterm" href="cairo-Paths.html#cairo-path-t">cairo_path_t</a> +</dt> +<dt id="ientry-idm5726">cairo_pattern_add_color_stop_rgb, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgb">cairo_pattern_add_color_stop_rgb ()</a> +</dt> +<dt id="ientry-idm5798">cairo_pattern_add_color_stop_rgba, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgba">cairo_pattern_add_color_stop_rgba ()</a> +</dt> +<dt id="ientry-idm6240">cairo_pattern_create_for_surface, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-create-for-surface">cairo_pattern_create_for_surface ()</a> +</dt> +<dt id="ientry-idm6329">cairo_pattern_create_linear, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-create-linear">cairo_pattern_create_linear ()</a> +</dt> +<dt id="ientry-idm6677">cairo_pattern_create_mesh, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-create-mesh">cairo_pattern_create_mesh ()</a> +</dt> +<dt id="ientry-idm6483">cairo_pattern_create_radial, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-create-radial">cairo_pattern_create_radial ()</a> +</dt> +<dt id="ientry-idm12022">cairo_pattern_create_raster_source, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-pattern-create-raster-source">cairo_pattern_create_raster_source ()</a> +</dt> +<dt id="ientry-idm6034">cairo_pattern_create_rgb, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-create-rgb">cairo_pattern_create_rgb ()</a> +</dt> +<dt id="ientry-idm6091">cairo_pattern_create_rgba, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-create-rgba">cairo_pattern_create_rgba ()</a> +</dt> +<dt id="ientry-idm7674">cairo_pattern_destroy, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-destroy">cairo_pattern_destroy ()</a> +</dt> +<dt id="ientry-idm5879">cairo_pattern_get_color_stop_count, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-color-stop-count">cairo_pattern_get_color_stop_count ()</a> +</dt> +<dt id="ientry-idm5927">cairo_pattern_get_color_stop_rgba, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-color-stop-rgba">cairo_pattern_get_color_stop_rgba ()</a> +</dt> +<dt id="ientry-idm7796">cairo_pattern_get_extend, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-extend">cairo_pattern_get_extend ()</a> +</dt> +<dt id="ientry-idm7883">cairo_pattern_get_filter, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-filter">cairo_pattern_get_filter ()</a> +</dt> +<dt id="ientry-idm6402">cairo_pattern_get_linear_points, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-linear-points">cairo_pattern_get_linear_points ()</a> +</dt> +<dt id="ientry-idm7967">cairo_pattern_get_matrix, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-matrix">cairo_pattern_get_matrix ()</a> +</dt> +<dt id="ientry-idm6574">cairo_pattern_get_radial_circles, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-radial-circles">cairo_pattern_get_radial_circles ()</a> +</dt> +<dt id="ientry-idm8041">cairo_pattern_get_reference_count, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-reference-count">cairo_pattern_get_reference_count ()</a> +</dt> +<dt id="ientry-idm6160">cairo_pattern_get_rgba, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-rgba">cairo_pattern_get_rgba ()</a> +</dt> +<dt id="ientry-idm6279">cairo_pattern_get_surface, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-surface">cairo_pattern_get_surface ()</a> +</dt> +<dt id="ientry-idm8006">cairo_pattern_get_type, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-type">cairo_pattern_get_type ()</a> +</dt> +<dt id="ientry-idm8150">cairo_pattern_get_user_data, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-get-user-data">cairo_pattern_get_user_data ()</a> +</dt> +<dt id="ientry-idm7631">cairo_pattern_reference, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-reference">cairo_pattern_reference ()</a> +</dt> +<dt id="ientry-idm7749">cairo_pattern_set_extend, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-set-extend">cairo_pattern_set_extend ()</a> +</dt> +<dt id="ientry-idm7830">cairo_pattern_set_filter, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-set-filter">cairo_pattern_set_filter ()</a> +</dt> +<dt id="ientry-idm7917">cairo_pattern_set_matrix, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-set-matrix">cairo_pattern_set_matrix ()</a> +</dt> +<dt id="ientry-idm8075">cairo_pattern_set_user_data, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-set-user-data">cairo_pattern_set_user_data ()</a> +</dt> +<dt id="ientry-idm7707">cairo_pattern_status, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-status">cairo_pattern_status ()</a> +</dt> +<dt id="ientry-idm8200">cairo_pattern_t, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-t">cairo_pattern_t</a> +</dt> +<dt id="ientry-idm8338">cairo_pattern_type_t, <a class="indexterm" href="cairo-cairo-pattern-t.html#cairo-pattern-type-t">enum cairo_pattern_type_t</a> +</dt> +<dt id="ientry-idm21693">cairo_pdf_get_versions, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-get-versions">cairo_pdf_get_versions ()</a> +</dt> +<dt id="ientry-idm22091">cairo_pdf_metadata_t, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-metadata-t">enum cairo_pdf_metadata_t</a> +</dt> +<dt id="ientry-idm22054">cairo_pdf_outline_flags_t, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-outline-flags-t">enum cairo_pdf_outline_flags_t</a> +</dt> +<dt id="ientry-idm22044">CAIRO_PDF_OUTLINE_ROOT, <a class="indexterm" href="cairo-PDF-Surfaces.html#CAIRO-PDF-OUTLINE-ROOT:CAPS">CAIRO_PDF_OUTLINE_ROOT</a> +</dt> +<dt id="ientry-idm21819">cairo_pdf_surface_add_outline, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-add-outline">cairo_pdf_surface_add_outline ()</a> +</dt> +<dt id="ientry-idm21524">cairo_pdf_surface_create, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-create">cairo_pdf_surface_create ()</a> +</dt> +<dt id="ientry-idm21580">cairo_pdf_surface_create_for_stream, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-create-for-stream">cairo_pdf_surface_create_for_stream ()</a> +</dt> +<dt id="ientry-idm21651">cairo_pdf_surface_restrict_to_version, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-restrict-to-version">cairo_pdf_surface_restrict_to_version ()</a> +</dt> +<dt id="ientry-idm21895">cairo_pdf_surface_set_metadata, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-metadata">cairo_pdf_surface_set_metadata ()</a> +</dt> +<dt id="ientry-idm21949">cairo_pdf_surface_set_page_label, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-page-label">cairo_pdf_surface_set_page_label ()</a> +</dt> +<dt id="ientry-idm21767">cairo_pdf_surface_set_size, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-size">cairo_pdf_surface_set_size ()</a> +</dt> +<dt id="ientry-idm21987">cairo_pdf_surface_set_thumbnail_size, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-surface-set-thumbnail-size">cairo_pdf_surface_set_thumbnail_size ()</a> +</dt> +<dt id="ientry-idm22152">cairo_pdf_version_t, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-version-t">enum cairo_pdf_version_t</a> +</dt> +<dt id="ientry-idm21731">cairo_pdf_version_to_string, <a class="indexterm" href="cairo-PDF-Surfaces.html#cairo-pdf-version-to-string">cairo_pdf_version_to_string ()</a> +</dt> +<dt id="ientry-idm904">cairo_pop_group, <a class="indexterm" href="cairo-cairo-t.html#cairo-pop-group">cairo_pop_group ()</a> +</dt> +<dt id="ientry-idm947">cairo_pop_group_to_source, <a class="indexterm" href="cairo-cairo-t.html#cairo-pop-group-to-source">cairo_pop_group_to_source ()</a> +</dt> +<dt id="ientry-idm22934">cairo_ps_get_levels, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-get-levels">cairo_ps_get_levels ()</a> +</dt> +<dt id="ientry-idm23291">cairo_ps_level_t, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-level-t">enum cairo_ps_level_t</a> +</dt> +<dt id="ientry-idm22972">cairo_ps_level_to_string, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-level-to-string">cairo_ps_level_to_string ()</a> +</dt> +<dt id="ientry-idm22755">cairo_ps_surface_create, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create">cairo_ps_surface_create ()</a> +</dt> +<dt id="ientry-idm22816">cairo_ps_surface_create_for_stream, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-create-for-stream">cairo_ps_surface_create_for_stream ()</a> +</dt> +<dt id="ientry-idm23175">cairo_ps_surface_dsc_begin_page_setup, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-page-setup">cairo_ps_surface_dsc_begin_page_setup ()</a> +</dt> +<dt id="ientry-idm23138">cairo_ps_surface_dsc_begin_setup, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-begin-setup">cairo_ps_surface_dsc_begin_setup ()</a> +</dt> +<dt id="ientry-idm23212">cairo_ps_surface_dsc_comment, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment ()</a> +</dt> +<dt id="ientry-idm23052">cairo_ps_surface_get_eps, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-get-eps">cairo_ps_surface_get_eps ()</a> +</dt> +<dt id="ientry-idm22892">cairo_ps_surface_restrict_to_level, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-restrict-to-level">cairo_ps_surface_restrict_to_level ()</a> +</dt> +<dt id="ientry-idm23008">cairo_ps_surface_set_eps, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-eps">cairo_ps_surface_set_eps ()</a> +</dt> +<dt id="ientry-idm23086">cairo_ps_surface_set_size, <a class="indexterm" href="cairo-PostScript-Surfaces.html#cairo-ps-surface-set-size">cairo_ps_surface_set_size ()</a> +</dt> +<dt id="ientry-idm806">cairo_push_group, <a class="indexterm" href="cairo-cairo-t.html#cairo-push-group">cairo_push_group ()</a> +</dt> +<dt id="ientry-idm858">cairo_push_group_with_content, <a class="indexterm" href="cairo-cairo-t.html#cairo-push-group-with-content">cairo_push_group_with_content ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>Q</h3> +<dl> +<dt id="ientry-idm16820">cairo_quartz_font_face_create_for_atsu_font_id, <a class="indexterm" href="cairo-Quartz-(CGFont)-Fonts.html#cairo-quartz-font-face-create-for-atsu-font-id">cairo_quartz_font_face_create_for_atsu_font_id ()</a> +</dt> +<dt id="ientry-idm16778">cairo_quartz_font_face_create_for_cgfont, <a class="indexterm" href="cairo-Quartz-(CGFont)-Fonts.html#cairo-quartz-font-face-create-for-cgfont">cairo_quartz_font_face_create_for_cgfont ()</a> +</dt> +<dt id="ientry-idm24573">cairo_quartz_surface_create, <a class="indexterm" href="cairo-Quartz-Surfaces.html#cairo-quartz-surface-create">cairo_quartz_surface_create ()</a> +</dt> +<dt id="ientry-idm24621">cairo_quartz_surface_create_for_cg_context, <a class="indexterm" href="cairo-Quartz-Surfaces.html#cairo-quartz-surface-create-for-cg-context">cairo_quartz_surface_create_for_cg_context ()</a> +</dt> +<dt id="ientry-idm24672">cairo_quartz_surface_get_cg_context, <a class="indexterm" href="cairo-Quartz-Surfaces.html#cairo-quartz-surface-get-cg-context">cairo_quartz_surface_get_cg_context ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>R</h3> +<dl> +<dt id="ientry-idm12444">cairo_raster_source_acquire_func_t, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-acquire-func-t">cairo_raster_source_acquire_func_t ()</a> +</dt> +<dt id="ientry-idm12605">cairo_raster_source_copy_func_t, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-copy-func-t">cairo_raster_source_copy_func_t ()</a> +</dt> +<dt id="ientry-idm12663">cairo_raster_source_finish_func_t, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-finish-func-t">cairo_raster_source_finish_func_t ()</a> +</dt> +<dt id="ientry-idm12201">cairo_raster_source_pattern_get_acquire, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-acquire">cairo_raster_source_pattern_get_acquire ()</a> +</dt> +<dt id="ientry-idm12120">cairo_raster_source_pattern_get_callback_data, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-callback-data">cairo_raster_source_pattern_get_callback_data ()</a> +</dt> +<dt id="ientry-idm12348">cairo_raster_source_pattern_get_copy, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-copy">cairo_raster_source_pattern_get_copy ()</a> +</dt> +<dt id="ientry-idm12414">cairo_raster_source_pattern_get_finish, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-finish">cairo_raster_source_pattern_get_finish ()</a> +</dt> +<dt id="ientry-idm12282">cairo_raster_source_pattern_get_snapshot, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-get-snapshot">cairo_raster_source_pattern_get_snapshot ()</a> +</dt> +<dt id="ientry-idm12150">cairo_raster_source_pattern_set_acquire, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-acquire">cairo_raster_source_pattern_set_acquire ()</a> +</dt> +<dt id="ientry-idm12084">cairo_raster_source_pattern_set_callback_data, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-callback-data">cairo_raster_source_pattern_set_callback_data ()</a> +</dt> +<dt id="ientry-idm12312">cairo_raster_source_pattern_set_copy, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-copy">cairo_raster_source_pattern_set_copy ()</a> +</dt> +<dt id="ientry-idm12378">cairo_raster_source_pattern_set_finish, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-finish">cairo_raster_source_pattern_set_finish ()</a> +</dt> +<dt id="ientry-idm12246">cairo_raster_source_pattern_set_snapshot, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-pattern-set-snapshot">cairo_raster_source_pattern_set_snapshot ()</a> +</dt> +<dt id="ientry-idm12511">cairo_raster_source_release_func_t, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-release-func-t">cairo_raster_source_release_func_t ()</a> +</dt> +<dt id="ientry-idm12560">cairo_raster_source_snapshot_func_t, <a class="indexterm" href="cairo-Raster-Sources.html#cairo-raster-source-snapshot-func-t">cairo_raster_source_snapshot_func_t ()</a> +</dt> +<dt id="ientry-idm22310">cairo_read_func_t, <a class="indexterm" href="cairo-PNG-Support.html#cairo-read-func-t">cairo_read_func_t ()</a> +</dt> +<dt id="ientry-idm23382">cairo_recording_surface_create, <a class="indexterm" href="cairo-Recording-Surfaces.html#cairo-recording-surface-create">cairo_recording_surface_create ()</a> +</dt> +<dt id="ientry-idm23491">cairo_recording_surface_get_extents, <a class="indexterm" href="cairo-Recording-Surfaces.html#cairo-recording-surface-get-extents">cairo_recording_surface_get_extents ()</a> +</dt> +<dt id="ientry-idm23426">cairo_recording_surface_ink_extents, <a class="indexterm" href="cairo-Recording-Surfaces.html#cairo-recording-surface-ink-extents">cairo_recording_surface_ink_extents ()</a> +</dt> +<dt id="ientry-idm4785">cairo_rectangle, <a class="indexterm" href="cairo-Paths.html#cairo-rectangle">cairo_rectangle ()</a> +</dt> +<dt id="ientry-idm28466">cairo_rectangle_int_t, <a class="indexterm" href="cairo-Types.html#cairo-rectangle-int-t">cairo_rectangle_int_t</a> +</dt> +<dt id="ientry-idm2368">cairo_rectangle_list_destroy, <a class="indexterm" href="cairo-cairo-t.html#cairo-rectangle-list-destroy">cairo_rectangle_list_destroy ()</a> +</dt> +<dt id="ientry-idm3744">cairo_rectangle_list_t, <a class="indexterm" href="cairo-cairo-t.html#cairo-rectangle-list-t">cairo_rectangle_list_t</a> +</dt> +<dt id="ientry-idm3692">cairo_rectangle_t, <a class="indexterm" href="cairo-cairo-t.html#cairo-rectangle-t">cairo_rectangle_t</a> +</dt> +<dt id="ientry-idm569">cairo_reference, <a class="indexterm" href="cairo-cairo-t.html#cairo-reference">cairo_reference ()</a> +</dt> +<dt id="ientry-idm9031">cairo_region_contains_point, <a class="indexterm" href="cairo-Regions.html#cairo-region-contains-point">cairo_region_contains_point ()</a> +</dt> +<dt id="ientry-idm9091">cairo_region_contains_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-contains-rectangle">cairo_region_contains_rectangle ()</a> +</dt> +<dt id="ientry-idm8717">cairo_region_copy, <a class="indexterm" href="cairo-Regions.html#cairo-region-copy">cairo_region_copy ()</a> +</dt> +<dt id="ientry-idm8610">cairo_region_create, <a class="indexterm" href="cairo-Regions.html#cairo-region-create">cairo_region_create ()</a> +</dt> +<dt id="ientry-idm8631">cairo_region_create_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-create-rectangle">cairo_region_create_rectangle ()</a> +</dt> +<dt id="ientry-idm8670">cairo_region_create_rectangles, <a class="indexterm" href="cairo-Regions.html#cairo-region-create-rectangles">cairo_region_create_rectangles ()</a> +</dt> +<dt id="ientry-idm8794">cairo_region_destroy, <a class="indexterm" href="cairo-Regions.html#cairo-region-destroy">cairo_region_destroy ()</a> +</dt> +<dt id="ientry-idm9148">cairo_region_equal, <a class="indexterm" href="cairo-Regions.html#cairo-region-equal">cairo_region_equal ()</a> +</dt> +<dt id="ientry-idm8867">cairo_region_get_extents, <a class="indexterm" href="cairo-Regions.html#cairo-region-get-extents">cairo_region_get_extents ()</a> +</dt> +<dt id="ientry-idm8942">cairo_region_get_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-get-rectangle">cairo_region_get_rectangle ()</a> +</dt> +<dt id="ientry-idm9253">cairo_region_intersect, <a class="indexterm" href="cairo-Regions.html#cairo-region-intersect">cairo_region_intersect ()</a> +</dt> +<dt id="ientry-idm9303">cairo_region_intersect_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-intersect-rectangle">cairo_region_intersect_rectangle ()</a> +</dt> +<dt id="ientry-idm8993">cairo_region_is_empty, <a class="indexterm" href="cairo-Regions.html#cairo-region-is-empty">cairo_region_is_empty ()</a> +</dt> +<dt id="ientry-idm8908">cairo_region_num_rectangles, <a class="indexterm" href="cairo-Regions.html#cairo-region-num-rectangles">cairo_region_num_rectangles ()</a> +</dt> +<dt id="ientry-idm9683">cairo_region_overlap_t, <a class="indexterm" href="cairo-Regions.html#cairo-region-overlap-t">enum cairo_region_overlap_t</a> +</dt> +<dt id="ientry-idm8756">cairo_region_reference, <a class="indexterm" href="cairo-Regions.html#cairo-region-reference">cairo_region_reference ()</a> +</dt> +<dt id="ientry-idm8831">cairo_region_status, <a class="indexterm" href="cairo-Regions.html#cairo-region-status">cairo_region_status ()</a> +</dt> +<dt id="ientry-idm9353">cairo_region_subtract, <a class="indexterm" href="cairo-Regions.html#cairo-region-subtract">cairo_region_subtract ()</a> +</dt> +<dt id="ientry-idm9403">cairo_region_subtract_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-subtract-rectangle">cairo_region_subtract_rectangle ()</a> +</dt> +<dt id="ientry-idm9661">cairo_region_t, <a class="indexterm" href="cairo-Regions.html#cairo-region-t">cairo_region_t</a> +</dt> +<dt id="ientry-idm9203">cairo_region_translate, <a class="indexterm" href="cairo-Regions.html#cairo-region-translate">cairo_region_translate ()</a> +</dt> +<dt id="ientry-idm9453">cairo_region_union, <a class="indexterm" href="cairo-Regions.html#cairo-region-union">cairo_region_union ()</a> +</dt> +<dt id="ientry-idm9503">cairo_region_union_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-union-rectangle">cairo_region_union_rectangle ()</a> +</dt> +<dt id="ientry-idm9553">cairo_region_xor, <a class="indexterm" href="cairo-Regions.html#cairo-region-xor">cairo_region_xor ()</a> +</dt> +<dt id="ientry-idm9606">cairo_region_xor_rectangle, <a class="indexterm" href="cairo-Regions.html#cairo-region-xor-rectangle">cairo_region_xor_rectangle ()</a> +</dt> +<dt id="ientry-idm4953">cairo_rel_curve_to, <a class="indexterm" href="cairo-Paths.html#cairo-rel-curve-to">cairo_rel_curve_to ()</a> +</dt> +<dt id="ientry-idm5063">cairo_rel_line_to, <a class="indexterm" href="cairo-Paths.html#cairo-rel-line-to">cairo_rel_line_to ()</a> +</dt> +<dt id="ientry-idm5125">cairo_rel_move_to, <a class="indexterm" href="cairo-Paths.html#cairo-rel-move-to">cairo_rel_move_to ()</a> +</dt> +<dt id="ientry-idm2330">cairo_reset_clip, <a class="indexterm" href="cairo-cairo-t.html#cairo-reset-clip">cairo_reset_clip ()</a> +</dt> +<dt id="ientry-idm728">cairo_restore, <a class="indexterm" href="cairo-cairo-t.html#cairo-restore">cairo_restore ()</a> +</dt> +<dt id="ientry-idm9914">cairo_rotate, <a class="indexterm" href="cairo-Transformations.html#cairo-rotate">cairo_rotate ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>S</h3> +<dl> +<dt id="ientry-idm677">cairo_save, <a class="indexterm" href="cairo-cairo-t.html#cairo-save">cairo_save ()</a> +</dt> +<dt id="ientry-idm9867">cairo_scale, <a class="indexterm" href="cairo-Transformations.html#cairo-scale">cairo_scale ()</a> +</dt> +<dt id="ientry-idm13670">cairo_scaled_font_create, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create">cairo_scaled_font_create ()</a> +</dt> +<dt id="ientry-idm13782">cairo_scaled_font_destroy, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy">cairo_scaled_font_destroy ()</a> +</dt> +<dt id="ientry-idm13851">cairo_scaled_font_extents, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-extents">cairo_scaled_font_extents ()</a> +</dt> +<dt id="ientry-idm14313">cairo_scaled_font_get_ctm, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-ctm">cairo_scaled_font_get_ctm ()</a> +</dt> +<dt id="ientry-idm14194">cairo_scaled_font_get_font_face, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-face">cairo_scaled_font_get_font_face ()</a> +</dt> +<dt id="ientry-idm14273">cairo_scaled_font_get_font_matrix, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-matrix">cairo_scaled_font_get_font_matrix ()</a> +</dt> +<dt id="ientry-idm14233">cairo_scaled_font_get_font_options, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-options">cairo_scaled_font_get_font_options ()</a> +</dt> +<dt id="ientry-idm14432">cairo_scaled_font_get_reference_count, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-reference-count">cairo_scaled_font_get_reference_count ()</a> +</dt> +<dt id="ientry-idm14355">cairo_scaled_font_get_scale_matrix, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-scale-matrix">cairo_scaled_font_get_scale_matrix ()</a> +</dt> +<dt id="ientry-idm14395">cairo_scaled_font_get_type, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-type">cairo_scaled_font_get_type ()</a> +</dt> +<dt id="ientry-idm14541">cairo_scaled_font_get_user_data, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-user-data">cairo_scaled_font_get_user_data ()</a> +</dt> +<dt id="ientry-idm13948">cairo_scaled_font_glyph_extents, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-glyph-extents">cairo_scaled_font_glyph_extents ()</a> +</dt> +<dt id="ientry-idm13737">cairo_scaled_font_reference, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference">cairo_scaled_font_reference ()</a> +</dt> +<dt id="ientry-idm14466">cairo_scaled_font_set_user_data, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-set-user-data">cairo_scaled_font_set_user_data ()</a> +</dt> +<dt id="ientry-idm13815">cairo_scaled_font_status, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-status">cairo_scaled_font_status ()</a> +</dt> +<dt id="ientry-idm14591">cairo_scaled_font_t, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t">cairo_scaled_font_t</a> +</dt> +<dt id="ientry-idm13893">cairo_scaled_font_text_extents, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-extents">cairo_scaled_font_text_extents ()</a> +</dt> +<dt id="ientry-idm14013">cairo_scaled_font_text_to_glyphs, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-to-glyphs">cairo_scaled_font_text_to_glyphs ()</a> +</dt> +<dt id="ientry-idm26421">cairo_script_create, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-create">cairo_script_create ()</a> +</dt> +<dt id="ientry-idm26456">cairo_script_create_for_stream, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-create-for-stream">cairo_script_create_for_stream ()</a> +</dt> +<dt id="ientry-idm26500">cairo_script_from_recording_surface, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-from-recording-surface">cairo_script_from_recording_surface ()</a> +</dt> +<dt id="ientry-idm26542">cairo_script_get_mode, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-get-mode">cairo_script_get_mode ()</a> +</dt> +<dt id="ientry-idm26774">cairo_script_mode_t, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-mode-t">enum cairo_script_mode_t</a> +</dt> +<dt id="ientry-idm26572">cairo_script_set_mode, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-set-mode">cairo_script_set_mode ()</a> +</dt> +<dt id="ientry-idm26608">cairo_script_surface_create, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-surface-create">cairo_script_surface_create ()</a> +</dt> +<dt id="ientry-idm26671">cairo_script_surface_create_for_target, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-surface-create-for-target">cairo_script_surface_create_for_target ()</a> +</dt> +<dt id="ientry-idm26717">cairo_script_write_comment, <a class="indexterm" href="cairo-Script-Surfaces.html#cairo-script-write-comment">cairo_script_write_comment ()</a> +</dt> +<dt id="ientry-idm10505">cairo_select_font_face, <a class="indexterm" href="cairo-text.html#cairo-select-font-face">cairo_select_font_face ()</a> +</dt> +<dt id="ientry-idm1314">cairo_set_antialias, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-antialias">cairo_set_antialias ()</a> +</dt> +<dt id="ientry-idm1389">cairo_set_dash, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-dash">cairo_set_dash ()</a> +</dt> +<dt id="ientry-idm1559">cairo_set_fill_rule, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-fill-rule">cairo_set_fill_rule ()</a> +</dt> +<dt id="ientry-idm10820">cairo_set_font_face, <a class="indexterm" href="cairo-text.html#cairo-set-font-face">cairo_set_font_face ()</a> +</dt> +<dt id="ientry-idm10649">cairo_set_font_matrix, <a class="indexterm" href="cairo-text.html#cairo-set-font-matrix">cairo_set_font_matrix ()</a> +</dt> +<dt id="ientry-idm10733">cairo_set_font_options, <a class="indexterm" href="cairo-text.html#cairo-set-font-options">cairo_set_font_options ()</a> +</dt> +<dt id="ientry-idm10596">cairo_set_font_size, <a class="indexterm" href="cairo-text.html#cairo-set-font-size">cairo_set_font_size ()</a> +</dt> +<dt id="ientry-idm1640">cairo_set_line_cap, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-line-cap">cairo_set_line_cap ()</a> +</dt> +<dt id="ientry-idm1720">cairo_set_line_join, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-line-join">cairo_set_line_join ()</a> +</dt> +<dt id="ientry-idm1800">cairo_set_line_width, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-line-width">cairo_set_line_width ()</a> +</dt> +<dt id="ientry-idm9988">cairo_set_matrix, <a class="indexterm" href="cairo-Transformations.html#cairo-set-matrix">cairo_set_matrix ()</a> +</dt> +<dt id="ientry-idm1889">cairo_set_miter_limit, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-miter-limit">cairo_set_miter_limit ()</a> +</dt> +<dt id="ientry-idm1971">cairo_set_operator, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-operator">cairo_set_operator ()</a> +</dt> +<dt id="ientry-idm10918">cairo_set_scaled_font, <a class="indexterm" href="cairo-text.html#cairo-set-scaled-font">cairo_set_scaled_font ()</a> +</dt> +<dt id="ientry-idm1165">cairo_set_source, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-source">cairo_set_source ()</a> +</dt> +<dt id="ientry-idm1039">cairo_set_source_rgb, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-source-rgb">cairo_set_source_rgb ()</a> +</dt> +<dt id="ientry-idm1099">cairo_set_source_rgba, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-source-rgba">cairo_set_source_rgba ()</a> +</dt> +<dt id="ientry-idm1211">cairo_set_source_surface, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-source-surface">cairo_set_source_surface ()</a> +</dt> +<dt id="ientry-idm2046">cairo_set_tolerance, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-tolerance">cairo_set_tolerance ()</a> +</dt> +<dt id="ientry-idm3169">cairo_set_user_data, <a class="indexterm" href="cairo-cairo-t.html#cairo-set-user-data">cairo_set_user_data ()</a> +</dt> +<dt id="ientry-idm11064">cairo_show_glyphs, <a class="indexterm" href="cairo-text.html#cairo-show-glyphs">cairo_show_glyphs ()</a> +</dt> +<dt id="ientry-idm3102">cairo_show_page, <a class="indexterm" href="cairo-cairo-t.html#cairo-show-page">cairo_show_page ()</a> +</dt> +<dt id="ientry-idm11017">cairo_show_text, <a class="indexterm" href="cairo-text.html#cairo-show-text">cairo_show_text ()</a> +</dt> +<dt id="ientry-idm11109">cairo_show_text_glyphs, <a class="indexterm" href="cairo-text.html#cairo-show-text-glyphs">cairo_show_text_glyphs ()</a> +</dt> +<dt id="ientry-idm645">cairo_status, <a class="indexterm" href="cairo-cairo-t.html#cairo-status">cairo_status ()</a> +</dt> +<dt id="ientry-idm27744">cairo_status_t, <a class="indexterm" href="cairo-Error-handling.html#cairo-status-t">enum cairo_status_t</a> +</dt> +<dt id="ientry-idm27692">cairo_status_to_string, <a class="indexterm" href="cairo-Error-handling.html#cairo-status-to-string">cairo_status_to_string ()</a> +</dt> +<dt id="ientry-idm2808">cairo_stroke, <a class="indexterm" href="cairo-cairo-t.html#cairo-stroke">cairo_stroke ()</a> +</dt> +<dt id="ientry-idm2918">cairo_stroke_extents, <a class="indexterm" href="cairo-cairo-t.html#cairo-stroke-extents">cairo_stroke_extents ()</a> +</dt> +<dt id="ientry-idm2876">cairo_stroke_preserve, <a class="indexterm" href="cairo-cairo-t.html#cairo-stroke-preserve">cairo_stroke_preserve ()</a> +</dt> +<dt id="ientry-idm15595">cairo_subpixel_order_t, <a class="indexterm" href="cairo-cairo-font-options-t.html#cairo-subpixel-order-t">enum cairo_subpixel_order_t</a> +</dt> +<dt id="ientry-idm19994">cairo_surface_copy_page, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-copy-page">cairo_surface_copy_page ()</a> +</dt> +<dt id="ientry-idm19019">cairo_surface_create_for_rectangle, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-create-for-rectangle">cairo_surface_create_for_rectangle ()</a> +</dt> +<dt id="ientry-idm18882">cairo_surface_create_similar, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-create-similar">cairo_surface_create_similar ()</a> +</dt> +<dt id="ientry-idm18951">cairo_surface_create_similar_image, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-create-similar-image">cairo_surface_create_similar_image ()</a> +</dt> +<dt id="ientry-idm19134">cairo_surface_destroy, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-destroy">cairo_surface_destroy ()</a> +</dt> +<dt id="ientry-idm19213">cairo_surface_finish, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-finish">cairo_surface_finish ()</a> +</dt> +<dt id="ientry-idm19251">cairo_surface_flush, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-flush">cairo_surface_flush ()</a> +</dt> +<dt id="ientry-idm19360">cairo_surface_get_content, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-content">cairo_surface_get_content ()</a> +</dt> +<dt id="ientry-idm19280">cairo_surface_get_device, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-device">cairo_surface_get_device ()</a> +</dt> +<dt id="ientry-idm19550">cairo_surface_get_device_offset, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-device-offset">cairo_surface_get_device_offset ()</a> +</dt> +<dt id="ientry-idm19599">cairo_surface_get_device_scale, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-device-scale">cairo_surface_get_device_scale ()</a> +</dt> +<dt id="ientry-idm19757">cairo_surface_get_fallback_resolution, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-fallback-resolution">cairo_surface_get_fallback_resolution ()</a> +</dt> +<dt id="ientry-idm19318">cairo_surface_get_font_options, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-font-options">cairo_surface_get_font_options ()</a> +</dt> +<dt id="ientry-idm20230">cairo_surface_get_mime_data, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-mime-data">cairo_surface_get_mime_data ()</a> +</dt> +<dt id="ientry-idm19841">cairo_surface_get_reference_count, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-reference-count">cairo_surface_get_reference_count ()</a> +</dt> +<dt id="ientry-idm19806">cairo_surface_get_type, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-type">cairo_surface_get_type ()</a> +</dt> +<dt id="ientry-idm19946">cairo_surface_get_user_data, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-user-data">cairo_surface_get_user_data ()</a> +</dt> +<dt id="ientry-idm20066">cairo_surface_has_show_text_glyphs, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-has-show-text-glyphs">cairo_surface_has_show_text_glyphs ()</a> +</dt> +<dt id="ientry-idm20339">cairo_surface_map_to_image, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-map-to-image">cairo_surface_map_to_image ()</a> +</dt> +<dt id="ientry-idm19396">cairo_surface_mark_dirty, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty">cairo_surface_mark_dirty ()</a> +</dt> +<dt id="ientry-idm19427">cairo_surface_mark_dirty_rectangle, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty-rectangle">cairo_surface_mark_dirty_rectangle ()</a> +</dt> +<dt id="ientry-idm19091">cairo_surface_reference, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-reference">cairo_surface_reference ()</a> +</dt> +<dt id="ientry-idm19495">cairo_surface_set_device_offset, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-set-device-offset">cairo_surface_set_device_offset ()</a> +</dt> +<dt id="ientry-idm19648">cairo_surface_set_device_scale, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-set-device-scale">cairo_surface_set_device_scale ()</a> +</dt> +<dt id="ientry-idm19701">cairo_surface_set_fallback_resolution, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-set-fallback-resolution">cairo_surface_set_fallback_resolution ()</a> +</dt> +<dt id="ientry-idm20117">cairo_surface_set_mime_data, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-set-mime-data">cairo_surface_set_mime_data ()</a> +</dt> +<dt id="ientry-idm19875">cairo_surface_set_user_data, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-set-user-data">cairo_surface_set_user_data ()</a> +</dt> +<dt id="ientry-idm20030">cairo_surface_show_page, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-show-page">cairo_surface_show_page ()</a> +</dt> +<dt id="ientry-idm19167">cairo_surface_status, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-status">cairo_surface_status ()</a> +</dt> +<dt id="ientry-idm20290">cairo_surface_supports_mime_type, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-supports-mime-type">cairo_surface_supports_mime_type ()</a> +</dt> +<dt id="ientry-idm20545">cairo_surface_t, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> +</dt> +<dt id="ientry-idm20624">cairo_surface_type_t, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-type-t">enum cairo_surface_type_t</a> +</dt> +<dt id="ientry-idm20393">cairo_surface_unmap_image, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-unmap-image">cairo_surface_unmap_image ()</a> +</dt> +<dt id="ientry-idm22419">cairo_surface_write_to_png, <a class="indexterm" href="cairo-PNG-Support.html#cairo-surface-write-to-png">cairo_surface_write_to_png ()</a> +</dt> +<dt id="ientry-idm22528">cairo_surface_write_to_png_stream, <a class="indexterm" href="cairo-PNG-Support.html#cairo-surface-write-to-png-stream">cairo_surface_write_to_png_stream ()</a> +</dt> +<dt id="ientry-idm24318">cairo_svg_get_versions, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-get-versions">cairo_svg_get_versions ()</a> +</dt> +<dt id="ientry-idm24050">cairo_svg_surface_create, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-surface-create">cairo_svg_surface_create ()</a> +</dt> +<dt id="ientry-idm24128">cairo_svg_surface_create_for_stream, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-surface-create-for-stream">cairo_svg_surface_create_for_stream ()</a> +</dt> +<dt id="ientry-idm24199">cairo_svg_surface_get_document_unit, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-surface-get-document-unit">cairo_svg_surface_get_document_unit ()</a> +</dt> +<dt id="ientry-idm24276">cairo_svg_surface_restrict_to_version, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-surface-restrict-to-version">cairo_svg_surface_restrict_to_version ()</a> +</dt> +<dt id="ientry-idm24232">cairo_svg_surface_set_document_unit, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-surface-set-document-unit">cairo_svg_surface_set_document_unit ()</a> +</dt> +<dt id="ientry-idm24431">cairo_svg_unit_t, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-unit-t">enum cairo_svg_unit_t</a> +</dt> +<dt id="ientry-idm24402">cairo_svg_version_t, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-version-t">enum cairo_svg_version_t</a> +</dt> +<dt id="ientry-idm24356">cairo_svg_version_to_string, <a class="indexterm" href="cairo-SVG-Surfaces.html#cairo-svg-version-to-string">cairo_svg_version_to_string ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>T</h3> +<dl> +<dt id="ientry-idm3294">cairo_t, <a class="indexterm" href="cairo-cairo-t.html#cairo-t">cairo_t</a> +</dt> +<dt id="ientry-idm12875">cairo_tag_begin, <a class="indexterm" href="cairo-Tags-and-Links.html#cairo-tag-begin">cairo_tag_begin ()</a> +</dt> +<dt id="ientry-idm12985">CAIRO_TAG_DEST, <a class="indexterm" href="cairo-Tags-and-Links.html#CAIRO-TAG-DEST:CAPS">CAIRO_TAG_DEST</a> +</dt> +<dt id="ientry-idm12939">cairo_tag_end, <a class="indexterm" href="cairo-Tags-and-Links.html#cairo-tag-end">cairo_tag_end ()</a> +</dt> +<dt id="ientry-idm12994">CAIRO_TAG_LINK, <a class="indexterm" href="cairo-Tags-and-Links.html#CAIRO-TAG-LINK:CAPS">CAIRO_TAG_LINK</a> +</dt> +<dt id="ientry-idm11615">cairo_text_cluster_allocate, <a class="indexterm" href="cairo-text.html#cairo-text-cluster-allocate">cairo_text_cluster_allocate ()</a> +</dt> +<dt id="ientry-idm11847">cairo_text_cluster_flags_t, <a class="indexterm" href="cairo-text.html#cairo-text-cluster-flags-t">enum cairo_text_cluster_flags_t</a> +</dt> +<dt id="ientry-idm11658">cairo_text_cluster_free, <a class="indexterm" href="cairo-text.html#cairo-text-cluster-free">cairo_text_cluster_free ()</a> +</dt> +<dt id="ientry-idm11804">cairo_text_cluster_t, <a class="indexterm" href="cairo-text.html#cairo-text-cluster-t">cairo_text_cluster_t</a> +</dt> +<dt id="ientry-idm11264">cairo_text_extents, <a class="indexterm" href="cairo-text.html#cairo-text-extents">cairo_text_extents ()</a> +</dt> +<dt id="ientry-idm14685">cairo_text_extents_t, <a class="indexterm" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t">cairo_text_extents_t</a> +</dt> +<dt id="ientry-idm4900">cairo_text_path, <a class="indexterm" href="cairo-Paths.html#cairo-text-path">cairo_text_path ()</a> +</dt> +<dt id="ientry-idm11386">cairo_toy_font_face_create, <a class="indexterm" href="cairo-text.html#cairo-toy-font-face-create">cairo_toy_font_face_create ()</a> +</dt> +<dt id="ientry-idm11447">cairo_toy_font_face_get_family, <a class="indexterm" href="cairo-text.html#cairo-toy-font-face-get-family">cairo_toy_font_face_get_family ()</a> +</dt> +<dt id="ientry-idm11477">cairo_toy_font_face_get_slant, <a class="indexterm" href="cairo-text.html#cairo-toy-font-face-get-slant">cairo_toy_font_face_get_slant ()</a> +</dt> +<dt id="ientry-idm11507">cairo_toy_font_face_get_weight, <a class="indexterm" href="cairo-text.html#cairo-toy-font-face-get-weight">cairo_toy_font_face_get_weight ()</a> +</dt> +<dt id="ientry-idm9951">cairo_transform, <a class="indexterm" href="cairo-Transformations.html#cairo-transform">cairo_transform ()</a> +</dt> +<dt id="ientry-idm9818">cairo_translate, <a class="indexterm" href="cairo-Transformations.html#cairo-translate">cairo_translate ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>U</h3> +<dl> +<dt id="ientry-idm28435">cairo_user_data_key_t, <a class="indexterm" href="cairo-Types.html#cairo-user-data-key-t">cairo_user_data_key_t</a> +</dt> +<dt id="ientry-idm17385">cairo_user_font_face_create, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-create">cairo_user_font_face_create ()</a> +</dt> +<dt id="ientry-idm17455">cairo_user_font_face_get_init_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-get-init-func">cairo_user_font_face_get_init_func ()</a> +</dt> +<dt id="ientry-idm17537">cairo_user_font_face_get_render_glyph_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-get-render-glyph-func">cairo_user_font_face_get_render_glyph_func ()</a> +</dt> +<dt id="ientry-idm17689">cairo_user_font_face_get_text_to_glyphs_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-get-text-to-glyphs-func">cairo_user_font_face_get_text_to_glyphs_func ()</a> +</dt> +<dt id="ientry-idm17613">cairo_user_font_face_get_unicode_to_glyph_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-get-unicode-to-glyph-func">cairo_user_font_face_get_unicode_to_glyph_func ()</a> +</dt> +<dt id="ientry-idm17412">cairo_user_font_face_set_init_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-set-init-func">cairo_user_font_face_set_init_func ()</a> +</dt> +<dt id="ientry-idm17488">cairo_user_font_face_set_render_glyph_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-set-render-glyph-func">cairo_user_font_face_set_render_glyph_func ()</a> +</dt> +<dt id="ientry-idm17646">cairo_user_font_face_set_text_to_glyphs_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-set-text-to-glyphs-func">cairo_user_font_face_set_text_to_glyphs_func ()</a> +</dt> +<dt id="ientry-idm17570">cairo_user_font_face_set_unicode_to_glyph_func, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-font-face-set-unicode-to-glyph-func">cairo_user_font_face_set_unicode_to_glyph_func ()</a> +</dt> +<dt id="ientry-idm17005">cairo_user_scaled_font_init_func_t, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-scaled-font-init-func-t">cairo_user_scaled_font_init_func_t ()</a> +</dt> +<dt id="ientry-idm17069">cairo_user_scaled_font_render_glyph_func_t, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-scaled-font-render-glyph-func-t">cairo_user_scaled_font_render_glyph_func_t ()</a> +</dt> +<dt id="ientry-idm17166">cairo_user_scaled_font_text_to_glyphs_func_t, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-scaled-font-text-to-glyphs-func-t">cairo_user_scaled_font_text_to_glyphs_func_t ()</a> +</dt> +<dt id="ientry-idm17319">cairo_user_scaled_font_unicode_to_glyph_func_t, <a class="indexterm" href="cairo-User-Fonts.html#cairo-user-scaled-font-unicode-to-glyph-func-t">cairo_user_scaled_font_unicode_to_glyph_func_t ()</a> +</dt> +<dt id="ientry-idm10089">cairo_user_to_device, <a class="indexterm" href="cairo-Transformations.html#cairo-user-to-device">cairo_user_to_device ()</a> +</dt> +<dt id="ientry-idm10134">cairo_user_to_device_distance, <a class="indexterm" href="cairo-Transformations.html#cairo-user-to-device-distance">cairo_user_to_device_distance ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>V</h3> +<dl> +<dt id="ientry-idm28247">cairo_version, <a class="indexterm" href="cairo-Version-Information.html#cairo-version">cairo_version ()</a> +</dt> +<dt id="ientry-idm28298">CAIRO_VERSION, <a class="indexterm" href="cairo-Version-Information.html#CAIRO-VERSION:CAPS">CAIRO_VERSION</a> +</dt> +<dt id="ientry-idm28165">CAIRO_VERSION_ENCODE, <a class="indexterm" href="cairo-Version-Information.html#CAIRO-VERSION-ENCODE:CAPS">CAIRO_VERSION_ENCODE()</a> +</dt> +<dt id="ientry-idm28308">CAIRO_VERSION_MAJOR, <a class="indexterm" href="cairo-Version-Information.html#CAIRO-VERSION-MAJOR:CAPS">CAIRO_VERSION_MAJOR</a> +</dt> +<dt id="ientry-idm28324">CAIRO_VERSION_MICRO, <a class="indexterm" href="cairo-Version-Information.html#CAIRO-VERSION-MICRO:CAPS">CAIRO_VERSION_MICRO</a> +</dt> +<dt id="ientry-idm28316">CAIRO_VERSION_MINOR, <a class="indexterm" href="cairo-Version-Information.html#CAIRO-VERSION-MINOR:CAPS">CAIRO_VERSION_MINOR</a> +</dt> +<dt id="ientry-idm28274">cairo_version_string, <a class="indexterm" href="cairo-Version-Information.html#cairo-version-string">cairo_version_string ()</a> +</dt> +<dt id="ientry-idm28332">CAIRO_VERSION_STRING, <a class="indexterm" href="cairo-Version-Information.html#CAIRO-VERSION-STRING:CAPS">CAIRO_VERSION_STRING</a> +</dt> +<dt id="ientry-idm28206">CAIRO_VERSION_STRINGIZE, <a class="indexterm" href="cairo-Version-Information.html#CAIRO-VERSION-STRINGIZE:CAPS">CAIRO_VERSION_STRINGIZE()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>W</h3> +<dl> +<dt id="ientry-idm16416">cairo_win32_font_face_create_for_hfont, <a class="indexterm" href="cairo-Win32-Fonts.html#cairo-win32-font-face-create-for-hfont">cairo_win32_font_face_create_for_hfont ()</a> +</dt> +<dt id="ientry-idm16368">cairo_win32_font_face_create_for_logfontw, <a class="indexterm" href="cairo-Win32-Fonts.html#cairo-win32-font-face-create-for-logfontw">cairo_win32_font_face_create_for_logfontw ()</a> +</dt> +<dt id="ientry-idm16464">cairo_win32_font_face_create_for_logfontw_hfont, <a class="indexterm" href="cairo-Win32-Fonts.html#cairo-win32-font-face-create-for-logfontw-hfont">cairo_win32_font_face_create_for_logfontw_hfont ()</a> +</dt> +<dt id="ientry-idm23829">cairo_win32_printing_surface_create, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-printing-surface-create">cairo_win32_printing_surface_create ()</a> +</dt> +<dt id="ientry-idm16583">cairo_win32_scaled_font_done_font, <a class="indexterm" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-done-font">cairo_win32_scaled_font_done_font ()</a> +</dt> +<dt id="ientry-idm16681">cairo_win32_scaled_font_get_device_to_logical, <a class="indexterm" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-get-device-to-logical">cairo_win32_scaled_font_get_device_to_logical ()</a> +</dt> +<dt id="ientry-idm16644">cairo_win32_scaled_font_get_logical_to_device, <a class="indexterm" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-get-logical-to-device">cairo_win32_scaled_font_get_logical_to_device ()</a> +</dt> +<dt id="ientry-idm16612">cairo_win32_scaled_font_get_metrics_factor, <a class="indexterm" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-get-metrics-factor">cairo_win32_scaled_font_get_metrics_factor ()</a> +</dt> +<dt id="ientry-idm16526">cairo_win32_scaled_font_select_font, <a class="indexterm" href="cairo-Win32-Fonts.html#cairo-win32-scaled-font-select-font">cairo_win32_scaled_font_select_font ()</a> +</dt> +<dt id="ientry-idm23641">cairo_win32_surface_create, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create">cairo_win32_surface_create ()</a> +</dt> +<dt id="ientry-idm23725">cairo_win32_surface_create_with_ddb, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-ddb">cairo_win32_surface_create_with_ddb ()</a> +</dt> +<dt id="ientry-idm23677">cairo_win32_surface_create_with_dib, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-dib">cairo_win32_surface_create_with_dib ()</a> +</dt> +<dt id="ientry-idm23782">cairo_win32_surface_create_with_format, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-surface-create-with-format">cairo_win32_surface_create_with_format ()</a> +</dt> +<dt id="ientry-idm23862">cairo_win32_surface_get_dc, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-surface-get-dc">cairo_win32_surface_get_dc ()</a> +</dt> +<dt id="ientry-idm23905">cairo_win32_surface_get_image, <a class="indexterm" href="cairo-Win32-Surfaces.html#cairo-win32-surface-get-image">cairo_win32_surface_get_image ()</a> +</dt> +<dt id="ientry-idm22472">cairo_write_func_t, <a class="indexterm" href="cairo-PNG-Support.html#cairo-write-func-t">cairo_write_func_t ()</a> +</dt> +</dl> +</div> +<div class="indexdiv"> +<h3>X</h3> +<dl> +<dt id="ientry-idm25219">cairo_xcb_device_debug_cap_xrender_version, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-cap-xrender-version">cairo_xcb_device_debug_cap_xrender_version ()</a> +</dt> +<dt id="ientry-idm25267">cairo_xcb_device_debug_cap_xshm_version, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-cap-xshm-version">cairo_xcb_device_debug_cap_xshm_version ()</a> +</dt> +<dt id="ientry-idm25315">cairo_xcb_device_debug_get_precision, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-get-precision">cairo_xcb_device_debug_get_precision ()</a> +</dt> +<dt id="ientry-idm25347">cairo_xcb_device_debug_set_precision, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-device-debug-set-precision">cairo_xcb_device_debug_set_precision ()</a> +</dt> +<dt id="ientry-idm25185">cairo_xcb_device_get_connection, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-device-get-connection">cairo_xcb_device_get_connection ()</a> +</dt> +<dt id="ientry-idm24828">cairo_xcb_surface_create, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-create">cairo_xcb_surface_create ()</a> +</dt> +<dt id="ientry-idm24908">cairo_xcb_surface_create_for_bitmap, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-create-for-bitmap">cairo_xcb_surface_create_for_bitmap ()</a> +</dt> +<dt id="ientry-idm24984">cairo_xcb_surface_create_with_xrender_format, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-create-with-xrender-format">cairo_xcb_surface_create_with_xrender_format ()</a> +</dt> +<dt id="ientry-idm25126">cairo_xcb_surface_set_drawable, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-drawable">cairo_xcb_surface_set_drawable ()</a> +</dt> +<dt id="ientry-idm25075">cairo_xcb_surface_set_size, <a class="indexterm" href="cairo-XCB-Surfaces.html#cairo-xcb-surface-set-size">cairo_xcb_surface_set_size ()</a> +</dt> +<dt id="ientry-idm26016">cairo_xlib_device_debug_cap_xrender_version, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-device-debug-cap-xrender-version">cairo_xlib_device_debug_cap_xrender_version ()</a> +</dt> +<dt id="ientry-idm26064">cairo_xlib_device_debug_get_precision, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-device-debug-get-precision">cairo_xlib_device_debug_get_precision ()</a> +</dt> +<dt id="ientry-idm26096">cairo_xlib_device_debug_set_precision, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-device-debug-set-precision">cairo_xlib_device_debug_set_precision ()</a> +</dt> +<dt id="ientry-idm25535">cairo_xlib_surface_create, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-create">cairo_xlib_surface_create ()</a> +</dt> +<dt id="ientry-idm25610">cairo_xlib_surface_create_for_bitmap, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-create-for-bitmap">cairo_xlib_surface_create_for_bitmap ()</a> +</dt> +<dt id="ientry-idm26195">cairo_xlib_surface_create_with_xrender_format, <a class="indexterm" href="cairo-XLib-XRender-Backend.html#cairo-xlib-surface-create-with-xrender-format">cairo_xlib_surface_create_with_xrender_format ()</a> +</dt> +<dt id="ientry-idm25984">cairo_xlib_surface_get_depth, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-depth">cairo_xlib_surface_get_depth ()</a> +</dt> +<dt id="ientry-idm25729">cairo_xlib_surface_get_display, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-display">cairo_xlib_surface_get_display ()</a> +</dt> +<dt id="ientry-idm25849">cairo_xlib_surface_get_drawable, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-drawable">cairo_xlib_surface_get_drawable ()</a> +</dt> +<dt id="ientry-idm25952">cairo_xlib_surface_get_height, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-height">cairo_xlib_surface_get_height ()</a> +</dt> +<dt id="ientry-idm25761">cairo_xlib_surface_get_screen, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-screen">cairo_xlib_surface_get_screen ()</a> +</dt> +<dt id="ientry-idm25881">cairo_xlib_surface_get_visual, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-visual">cairo_xlib_surface_get_visual ()</a> +</dt> +<dt id="ientry-idm25920">cairo_xlib_surface_get_width, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-get-width">cairo_xlib_surface_get_width ()</a> +</dt> +<dt id="ientry-idm26279">cairo_xlib_surface_get_xrender_format, <a class="indexterm" href="cairo-XLib-XRender-Backend.html#cairo-xlib-surface-get-xrender-format">cairo_xlib_surface_get_xrender_format ()</a> +</dt> +<dt id="ientry-idm25793">cairo_xlib_surface_set_drawable, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-set-drawable">cairo_xlib_surface_set_drawable ()</a> +</dt> +<dt id="ientry-idm25681">cairo_xlib_surface_set_size, <a class="indexterm" href="cairo-XLib-Surfaces.html#cairo-xlib-surface-set-size">cairo_xlib_surface_set_size ()</a> +</dt> +</dl> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/index.html b/libs/cairo-1.16.0/doc/public/html/index.html new file mode 100644 index 0000000..e822e21 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/index.html @@ -0,0 +1,161 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Cairo: A Vector Graphics Library: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> +<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library"> +<link rel="next" href="cairo-drawing.html" title="Drawing"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<div lang="en" class="book"> +<div class="titlepage"> +<div> +<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Cairo: A Vector Graphics Library</p></th></tr></table></div> +<div><p class="releaseinfo">for Cairo 1.16.0 +</p></div> +</div> +<hr> +</div> +<div class="toc"><dl class="toc"> +<dt><span class="chapter"><a href="cairo-drawing.html">Drawing</a></span></dt> +<dd><dl> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-t.html">cairo_t</a></span><span class="refpurpose"> — The cairo drawing context</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Paths.html">Paths</a></span><span class="refpurpose"> — Creating paths and manipulating path data</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-pattern-t.html">cairo_pattern_t</a></span><span class="refpurpose"> — Sources for drawing</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Regions.html">Regions</a></span><span class="refpurpose"> — Representing a pixel-aligned area</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Transformations.html">Transformations</a></span><span class="refpurpose"> — Manipulating the current transformation matrix</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-text.html">text</a></span><span class="refpurpose"> — Rendering text and glyphs</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Raster-Sources.html">Raster Sources</a></span><span class="refpurpose"> — Supplying arbitrary image data</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Tags-and-Links.html">Tags and Links</a></span><span class="refpurpose"> — Hyperlinks and document structure</span> +</dt> +</dl></dd> +<dt><span class="chapter"><a href="cairo-fonts.html">Fonts</a></span></dt> +<dd><dl> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-font-face-t.html">cairo_font_face_t</a></span><span class="refpurpose"> — Base class for font faces</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-scaled-font-t.html">cairo_scaled_font_t</a></span><span class="refpurpose"> — Font face at particular size and options</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-font-options-t.html">cairo_font_options_t</a></span><span class="refpurpose"> — How a font should be rendered</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-FreeType-Fonts.html">FreeType Fonts</a></span><span class="refpurpose"> — Font support for FreeType</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Win32-Fonts.html">Win32 Fonts</a></span><span class="refpurpose"> — Font support for Microsoft Windows</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Quartz-(CGFont)-Fonts.html">Quartz (CGFont) Fonts</a></span><span class="refpurpose"> — Font support via CGFont on OS X</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-User-Fonts.html">User Fonts</a></span><span class="refpurpose"> — Font support with font data provided by the user</span> +</dt> +</dl></dd> +<dt><span class="chapter"><a href="cairo-surfaces.html">Surfaces</a></span></dt> +<dd><dl> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-device-t.html">cairo_device_t</a></span><span class="refpurpose"> — interface to underlying rendering system</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-surface-t.html">cairo_surface_t</a></span><span class="refpurpose"> — Base class for surfaces</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Image-Surfaces.html">Image Surfaces</a></span><span class="refpurpose"> — Rendering to memory buffers</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-PDF-Surfaces.html">PDF Surfaces</a></span><span class="refpurpose"> — Rendering PDF documents</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-PNG-Support.html">PNG Support</a></span><span class="refpurpose"> — Reading and writing PNG images</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-PostScript-Surfaces.html">PostScript Surfaces</a></span><span class="refpurpose"> — Rendering PostScript documents</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Recording-Surfaces.html">Recording Surfaces</a></span><span class="refpurpose"> — Records all drawing operations</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Win32-Surfaces.html">Win32 Surfaces</a></span><span class="refpurpose"> — Microsoft Windows surface support</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-SVG-Surfaces.html">SVG Surfaces</a></span><span class="refpurpose"> — Rendering SVG documents</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Quartz-Surfaces.html">Quartz Surfaces</a></span><span class="refpurpose"> — Rendering to Quartz surfaces</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-XCB-Surfaces.html">XCB Surfaces</a></span><span class="refpurpose"> — X Window System rendering using the XCB library</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-XLib-Surfaces.html">XLib Surfaces</a></span><span class="refpurpose"> — X Window System rendering using XLib</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-XLib-XRender-Backend.html">XLib-XRender Backend</a></span><span class="refpurpose"> — X Window System rendering using XLib and the X Render extension</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Script-Surfaces.html">Script Surfaces</a></span><span class="refpurpose"> — Rendering to replayable scripts</span> +</dt> +</dl></dd> +<dt><span class="chapter"><a href="cairo-support.html">Utilities</a></span></dt> +<dd><dl> +<dt> +<span class="refentrytitle"><a href="cairo-cairo-matrix-t.html">cairo_matrix_t</a></span><span class="refpurpose"> — Generic matrix operations</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Error-handling.html">Error handling</a></span><span class="refpurpose"> — Decoding cairo's status</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Version-Information.html">Version Information</a></span><span class="refpurpose"> — Compile-time and run-time version checks.</span> +</dt> +<dt> +<span class="refentrytitle"><a href="cairo-Types.html">Types</a></span><span class="refpurpose"> — Generic data types</span> +</dt> +</dl></dd> +<dt><span class="index"><a href="index-all.html">Index</a></span></dt> +<dt><span class="index"><a href="index-1.2.html">Index of new symbols in 1.2</a></span></dt> +<dt><span class="index"><a href="index-1.4.html">Index of new symbols in 1.4</a></span></dt> +<dt><span class="index"><a href="index-1.6.html">Index of new symbols in 1.6</a></span></dt> +<dt><span class="index"><a href="index-1.8.html">Index of new symbols in 1.8</a></span></dt> +<dt><span class="index"><a href="index-1.10.html">Index of new symbols in 1.10</a></span></dt> +<dt><span class="index"><a href="index-1.12.html">Index of new symbols in 1.12</a></span></dt> +<dt><span class="index"><a href="index-1.14.html">Index of new symbols in 1.14</a></span></dt> +<dt><span class="index"><a href="index-1.16.html">Index of new symbols in 1.16</a></span></dt> +<dt><span class="appendix"><a href="language-bindings.html">A. Creating a language binding for cairo</a></span></dt> +<dd><dl> +<dt><span class="sect1"><a href="language-bindings.html#bindings-general">General considerations</a></span></dt> +<dt><span class="sect1"><a href="bindings-memory.html">Memory management</a></span></dt> +<dt><span class="sect1"><a href="bindings-return-values.html">Multiple return values</a></span></dt> +<dt><span class="sect1"><a href="bindings-overloading.html">Overloading and optional arguments</a></span></dt> +<dt><span class="sect1"><a href="bindings-streams.html">Streams and File I/O</a></span></dt> +<dt><span class="sect1"><a href="bindings-errors.html">Error handling</a></span></dt> +<dt><span class="sect1"><a href="bindings-patterns.html">Patterns</a></span></dt> +<dt><span class="sect1"><a href="bindings-surfaces.html">Surfaces</a></span></dt> +<dt><span class="sect1"><a href="bindings-fonts.html">Fonts</a></span></dt> +<dt><span class="sect1"><a href="bindings-path.html">cairo_path_t</a></span></dt> +</dl></dd> +</dl></div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/language-bindings.html b/libs/cairo-1.16.0/doc/public/html/language-bindings.html new file mode 100644 index 0000000..82643db --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/language-bindings.html @@ -0,0 +1,72 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Appendix A. Creating a language binding for cairo: Cairo: A Vector Graphics Library</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="prev" href="index-1.16.html" title="Index of new symbols in 1.16"> +<link rel="next" href="bindings-memory.html" title="Memory management"> +<meta name="generator" content="GTK-Doc V1.27 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> +<td width="100%" align="left" class="shortcuts"></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> +<td><img src="up-insensitive.png" width="16" height="16" border="0"></td> +<td><a accesskey="p" href="index-1.16.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="bindings-memory.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="appendix"> +<div class="titlepage"><div><div><h1 class="title"> +<a name="language-bindings"></a>Appendix A. Creating a language binding for cairo</h1></div></div></div> +<p> + While cairo is implemented and C, and has a C API, it is expected + that many users of cairo will be using it from languages other + than C. The glue that connects the core cairo library to another + language is known as a <em class="firstterm">language + binding</em>. This appendix attempts to collect together + issues that come up when creating a language bindings for cairo + and present standardized solutions to promote consistency among + the different language bindings. + </p> +<div class="sect1"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="bindings-general"></a>General considerations</h2></div></div></div> +<p> + The naming of the central <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> type is a + special exception. The object is “a cairo context” not “a + cairo”, and names such as <span class="type">cairo_t</span> rather than + <span class="type">cairo_context_t</span> and + <code class="function">cairo_set_source()</code> rather than + <code class="function">cairo_context_set_source()</code> are simply + abbreviations to make the C API more palatable. In languages + which have object-oriented syntax, this abbreviation is much + less useful. In fact, if ‘Cairo’ is used as a namespace, then + in many languages, you'd end up with a ridiculous type name + like ‘Cairo.Cairo’. For this reason, and for inter-language + consistency all object-oriented languages should name this + type as if it were <span class="type">cairo_context_t</span>. + </p> +<p> + The punctuation and casing of the type names and + method names of cairo should be changed to match the general + convention of the language. In Java, where type names are written + in StudlyCaps and method names in javaCaps, cairo_font_extents_t + will become FontExtents and + <code class="literal">cairo_set_source(cr,source)</code>, + <code class="literal">cr.setSource(source)</code>. + As compared to changing the punctuation, and casing, much + more reluctance should be used in changing the method names + themselves. Even if get is usually omitted from getters in + your language, you shouldn't bind cairo_get_source() as + cr.source(). + </p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.27</div> +</body> +</html>
\ No newline at end of file diff --git a/libs/cairo-1.16.0/doc/public/html/left-insensitive.png b/libs/cairo-1.16.0/doc/public/html/left-insensitive.png Binary files differnew file mode 100644 index 0000000..903790a --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/left-insensitive.png diff --git a/libs/cairo-1.16.0/doc/public/html/left.png b/libs/cairo-1.16.0/doc/public/html/left.png Binary files differnew file mode 100644 index 0000000..21b31e3 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/left.png diff --git a/libs/cairo-1.16.0/doc/public/html/right-insensitive.png b/libs/cairo-1.16.0/doc/public/html/right-insensitive.png Binary files differnew file mode 100644 index 0000000..a3696bf --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/right-insensitive.png diff --git a/libs/cairo-1.16.0/doc/public/html/right.png b/libs/cairo-1.16.0/doc/public/html/right.png Binary files differnew file mode 100644 index 0000000..73d25da --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/right.png diff --git a/libs/cairo-1.16.0/doc/public/html/style.css b/libs/cairo-1.16.0/doc/public/html/style.css new file mode 100644 index 0000000..3675420 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/style.css @@ -0,0 +1,479 @@ +body +{ + font-family: cantarell, sans-serif; +} +.synopsis, .classsynopsis +{ + /* tango:aluminium 1/2 */ + background: #eeeeec; + background: rgba(238, 238, 236, 0.5); + border: solid 1px rgb(238, 238, 236); + padding: 0.5em; +} +.programlisting +{ + /* tango:sky blue 0/1 */ + /* fallback for no rgba support */ + background: #e6f3ff; + border: solid 1px #729fcf; + background: rgba(114, 159, 207, 0.1); + border: solid 1px rgba(114, 159, 207, 0.2); + padding: 0.5em; +} +.variablelist +{ + padding: 4px; + margin-left: 3em; +} +.variablelist td:first-child +{ + vertical-align: top; +} + +div.gallery-float +{ + float: left; + padding: 10px; +} +div.gallery-float img +{ + border-style: none; +} +div.gallery-spacer +{ + clear: both; +} + +a, a:visited +{ + text-decoration: none; + /* tango:sky blue 2 */ + color: #3465a4; +} +a:hover +{ + text-decoration: underline; + /* tango:sky blue 1 */ + color: #729fcf; +} + +div.informaltable table +{ + border-collapse: separate; + border-spacing: 1em 0.3em; + border: none; +} + +div.informaltable table td, div.informaltable table th +{ + vertical-align: top; +} + +.function_type, +.variable_type, +.property_type, +.signal_type, +.parameter_name, +.struct_member_name, +.union_member_name, +.define_keyword, +.datatype_keyword, +.typedef_keyword +{ + text-align: right; +} + +/* dim non-primary columns */ +.c_punctuation, +.function_type, +.variable_type, +.property_type, +.signal_type, +.define_keyword, +.datatype_keyword, +.typedef_keyword, +.property_flags, +.signal_flags, +.parameter_annotations, +.enum_member_annotations, +.struct_member_annotations, +.union_member_annotations +{ + color: #888a85; +} + +.function_type a, +.function_type a:visited, +.function_type a:hover, +.property_type a, +.property_type a:visited, +.property_type a:hover, +.signal_type a, +.signal_type a:visited, +.signal_type a:hover, +.signal_flags a, +.signal_flags a:visited, +.signal_flags a:hover +{ + color: #729fcf; +} + +td p +{ + margin: 0.25em; +} + +div.table table +{ + border-collapse: collapse; + border-spacing: 0px; + /* tango:aluminium 3 */ + border: solid 1px #babdb6; +} + +div.table table td, div.table table th +{ + /* tango:aluminium 3 */ + border: solid 1px #babdb6; + padding: 3px; + vertical-align: top; +} + +div.table table th +{ + /* tango:aluminium 2 */ + background-color: #d3d7cf; +} + +h4 +{ + color: #555753; + margin-top: 1em; + margin-bottom: 1em; +} + +hr +{ + /* tango:aluminium 1 */ + color: #d3d7cf; + background: #d3d7cf; + border: none 0px; + height: 1px; + clear: both; + margin: 2.0em 0em 2.0em 0em; +} + +dl.toc dt +{ + padding-bottom: 0.25em; +} + +dl.toc > dt +{ + padding-top: 0.25em; + padding-bottom: 0.25em; + font-weight: bold; +} + +dl.toc > dl +{ + padding-bottom: 0.5em; +} + +.parameter +{ + font-style: normal; +} + +.footer +{ + padding-top: 3.5em; + /* tango:aluminium 3 */ + color: #babdb6; + text-align: center; + font-size: 80%; +} + +.informalfigure, +.figure +{ + margin: 1em; +} + +.informalexample, +.example +{ + margin-top: 1em; + margin-bottom: 1em; +} + +.warning +{ + /* tango:orange 0/1 */ + background: #ffeed9; + background: rgba(252, 175, 62, 0.1); + border-color: #ffb04f; + border-color: rgba(252, 175, 62, 0.2); +} +.note +{ + /* tango:chameleon 0/0.5 */ + background: #d8ffb2; + background: rgba(138, 226, 52, 0.1); + border-color: #abf562; + border-color: rgba(138, 226, 52, 0.2); +} +div.blockquote +{ + border-color: #eeeeec; +} +.note, .warning, div.blockquote +{ + padding: 0.5em; + border-width: 1px; + border-style: solid; + margin: 2em; +} +.note p, .warning p +{ + margin: 0; +} + +div.warning h3.title, +div.note h3.title +{ + display: none; +} + +p + div.section +{ + margin-top: 1em; +} + +div.refnamediv, +div.refsynopsisdiv, +div.refsect1, +div.refsect2, +div.toc, +div.section +{ + margin-bottom: 1em; +} + +/* blob links */ +h2 .extralinks, h3 .extralinks +{ + float: right; + /* tango:aluminium 3 */ + color: #babdb6; + font-size: 80%; + font-weight: normal; +} + +.lineart +{ + color: #d3d7cf; + font-weight: normal; +} + +.annotation +{ + /* tango:aluminium 5 */ + color: #555753; + font-weight: normal; +} + +.structfield +{ + font-style: normal; + font-weight: normal; +} + +acronym,abbr +{ + border-bottom: 1px dotted gray; +} + +/* code listings */ + +.listing_code .programlisting .normal, +.listing_code .programlisting .normal a, +.listing_code .programlisting .number, +.listing_code .programlisting .cbracket, +.listing_code .programlisting .symbol { color: #555753; } +.listing_code .programlisting .comment, +.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */ +.listing_code .programlisting .function, +.listing_code .programlisting .function a, +.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */ +.listing_code .programlisting .string { color: #ad7fa8; } /* tango: plum */ +.listing_code .programlisting .keyword, +.listing_code .programlisting .usertype, +.listing_code .programlisting .type, +.listing_code .programlisting .type a { color: #4e9a06; } /* tango: chameleon 3 */ + +.listing_frame { + /* tango:sky blue 1 */ + border: solid 1px #729fcf; + border: solid 1px rgba(114, 159, 207, 0.2); + padding: 0px; +} + +.listing_lines, .listing_code { + margin-top: 0px; + margin-bottom: 0px; + padding: 0.5em; +} +.listing_lines { + /* tango:sky blue 0.5 */ + background: #a6c5e3; + background: rgba(114, 159, 207, 0.2); + /* tango:aluminium 6 */ + color: #2e3436; +} +.listing_code { + /* tango:sky blue 0 */ + background: #e6f3ff; + background: rgba(114, 159, 207, 0.1); +} +.listing_code .programlisting { + /* override from previous */ + border: none 0px; + padding: 0px; + background: none; +} +.listing_lines pre, .listing_code pre { + margin: 0px; +} + +@media screen { + /* these have a <sup> as a first child, but since there are no parent selectors + * we can't use that. */ + a.footnote + { + position: relative; + top: 0em ! important; + } + /* this is needed so that the local anchors are displayed below the naviagtion */ + div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name] + { + display: inline-block; + position: relative; + top:-5em; + } + /* this seems to be a bug in the xsl style sheets when generating indexes */ + div.index div.index + { + top: 0em; + } + /* make space for the fixed navigation bar and add space at the bottom so that + * link targets appear somewhat close to top + */ + body + { + padding-top: 2.5em; + padding-bottom: 500px; + max-width: 60em; + } + p + { + max-width: 60em; + } + /* style and size the navigation bar */ + table.navigation#top + { + position: fixed; + background: #e2e2e2; + border-bottom: solid 1px #babdb6; + border-spacing: 5px; + margin-top: 0; + margin-bottom: 0; + top: 0; + left: 0; + z-index: 10; + } + table.navigation#top td + { + padding-left: 6px; + padding-right: 6px; + } + .navigation a, .navigation a:visited + { + /* tango:sky blue 3 */ + color: #204a87; + } + .navigation a:hover + { + /* tango:sky blue 2 */ + color: #3465a4; + } + td.shortcuts + { + /* tango:sky blue 2 */ + color: #3465a4; + font-size: 80%; + white-space: nowrap; + } + td.shortcuts .dim + { + color: #babdb6; + } + .navigation .title + { + font-size: 80%; + max-width: none; + margin: 0px; + font-weight: normal; + } +} +@media screen and (min-width: 60em) { + /* screen larger than 60em */ + body { margin: auto; } +} +@media screen and (max-width: 60em) { + /* screen less than 60em */ + #nav_hierarchy { display: none; } + #nav_interfaces { display: none; } + #nav_prerequisites { display: none; } + #nav_derived_interfaces { display: none; } + #nav_implementations { display: none; } + #nav_child_properties { display: none; } + #nav_style_properties { display: none; } + #nav_index { display: none; } + #nav_glossary { display: none; } + .gallery_image { display: none; } + .property_flags { display: none; } + .signal_flags { display: none; } + .parameter_annotations { display: none; } + .enum_member_annotations { display: none; } + .struct_member_annotations { display: none; } + .union_member_annotations { display: none; } + /* now that a column is hidden, optimize space */ + col.parameters_name { width: auto; } + col.parameters_description { width: auto; } + col.struct_members_name { width: auto; } + col.struct_members_description { width: auto; } + col.enum_members_name { width: auto; } + col.enum_members_description { width: auto; } + col.union_members_name { width: auto; } + col.union_members_description { width: auto; } + .listing_lines { display: none; } +} +@media print { + table.navigation { + visibility: collapse; + display: none; + } + div.titlepage table.navigation { + visibility: visible; + display: table; + background: #e2e2e2; + border: solid 1px #babdb6; + margin-top: 0; + margin-bottom: 0; + top: 0; + left: 0; + height: 3em; + } +} + diff --git a/libs/cairo-1.16.0/doc/public/html/up-insensitive.png b/libs/cairo-1.16.0/doc/public/html/up-insensitive.png Binary files differnew file mode 100644 index 0000000..674be9c --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/up-insensitive.png diff --git a/libs/cairo-1.16.0/doc/public/html/up.png b/libs/cairo-1.16.0/doc/public/html/up.png Binary files differnew file mode 100644 index 0000000..ae83f66 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/html/up.png diff --git a/libs/cairo-1.16.0/doc/public/language-bindings.xml b/libs/cairo-1.16.0/doc/public/language-bindings.xml new file mode 100644 index 0000000..ce437ef --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/language-bindings.xml @@ -0,0 +1,745 @@ +<appendix id="language-bindings"> + <title>Creating a language binding for cairo</title> + <para> + While cairo is implemented and C, and has a C API, it is expected + that many users of cairo will be using it from languages other + than C. The glue that connects the core cairo library to another + language is known as a <firstterm>language + binding</firstterm>. This appendix attempts to collect together + issues that come up when creating a language bindings for cairo + and present standardized solutions to promote consistency among + the different language bindings. + </para> + <sect1 id="bindings-general"> + <title>General considerations</title> + <para> + The naming of the central <link + linkend="cairo-t"><type>cairo_t</type></link> type is a + special exception. The object is “a cairo context” not “a + cairo”, and names such as <type>cairo_t</type> rather than + <type>cairo_context_t</type> and + <function>cairo_set_source()</function> rather than + <function>cairo_context_set_source()</function> are simply + abbreviations to make the C API more palatable. In languages + which have object-oriented syntax, this abbreviation is much + less useful. In fact, if ‘Cairo’ is used as a namespace, then + in many languages, you'd end up with a ridiculous type name + like ‘Cairo.Cairo’. For this reason, and for inter-language + consistency all object-oriented languages should name this + type as if it were <type>cairo_context_t</type>. + </para> + <para> + The punctuation and casing of the type names and + method names of cairo should be changed to match the general + convention of the language. In Java, where type names are written + in StudlyCaps and method names in javaCaps, cairo_font_extents_t + will become FontExtents and + <literal>cairo_set_source(cr,source)</literal>, + <literal>cr.setSource(source)</literal>. + As compared to changing the punctuation, and casing, much + more reluctance should be used in changing the method names + themselves. Even if get is usually omitted from getters in + your language, you shouldn't bind cairo_get_source() as + cr.source(). + </para> + </sect1> + <sect1 id="bindings-memory"> + <title>Memory management</title> + <para> + The objects in cairo can roughly be divided into two types: + reference-counted, opaque types like + <link + linkend="cairo-surface-t"><type>cairo_surface_t</type></link> + and plain structures like + <link + linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link>. + <link + linkend="cairo-path-t"><type>cairo_path_t</type></link> + and + <link + linkend="cairo-path-data-t"><type>cairo_path_data_t</type></link> + are special cases and are treated separately in this appendix. + </para> + <para> + Refcounted opaque types all have a + <function>..._reference()</function> + function to increase the refcount by one and a + <function>..._destroy()</function> to decrease the refcount + by one. These should not be exposed to the user of the language + binding, but rather used to implement memory management within + the language binding. The simplest way to do memory management + for a language binding is to treat the language binding object + as a simple handle to the cairo object. The language binding + object references the cairo object, and unreferences it when + finalized. This is the recommended method, though there are + a couple of caveats to be noted: + </para> + <itemizedlist> + <listitem> + <para> + Equality won't work as expected. You can have two language + objects for the same cairo and they won't necessarily + compare equal. If the language allows customizing the + equality operation, then this is fixable by comparing + the underlying pointers. It also can be fixed by creating + at most one language object per cairo object, and + uniquifying via a <firstterm>pin table</firstterm> (a hash + table that goes from cairo object to language object). + For <type>cairo_surface_t</type> you can use also + <link + linkend="cairo-surface-set-user-data"><function>cairo_surface_set_user_data()</function></link> + instead of a separate pin table. + </para> + </listitem> + <listitem> + <para> + Derivation from the language object doesn't work because + you can lose the language object while keeping the Cairo + object. Code like: + </para> +<programlisting> +public class MySurface (ImageSurface) { + public MySurface (width, height) { + super (Format.ARGB32, width, height); + } + public int get42 () { + return 42; + } +} + + cr = Cairo(MySurface(width, height)); + surface = cr.getTarget(); +</programlisting> + <para> + Can result in <varname>surface</varname> containing an + <classname>ImageSurface</classname> not a <classname>MySurface</classname>. + This is not easily fixable without creating memory leaks, + and it's probably best to simply forbid deriving from the + language objects. + </para> + </listitem> + </itemizedlist> + <para> + When a plain structure is used as a return value from cairo, + this is done by passing it as a “out parameter”. + </para> +<programlisting> +cairo_font_extents_t extents; + +cairo_font_extents (cr, &extents);</programlisting> + <para> + In a language binding, this should typically be treated + as a return value: + </para> +<programlisting> +FontExtents extents = cr.fontExtents ();</programlisting> + <para> + A language binding has a choice in how it implements the + language objects for plain structures. It can use a pure + language object with fields corresponding to those of the C + structure, and convert from and to the C structure when calling + cairo functions or converting cairo return values. Or it + can keep a pointer to the C structure internally and wrap + it inside a language object much like occurs for refcounted + objects. The choice should be invisible to the user: they should + be able to imagine that it is implemented as a pure language + object. + </para> + </sect1> + <sect1 id="bindings-return-values"> + <title>Multiple return values</title> + <para> + There are a number of functions in the cairo API that have + multiple <firstterm>out parameters</firstterm> or + <firstterm>in-out parameters</firstterm>. In some languages + these can be translated into multiple return values. In Python, + what is: + </para> + <programlisting> +cairo_user_to_device (cr, &x, &y);</programlisting> + <para> + can by mapped to: + </para> + <programlisting> +(x, y) = cr.user_to_device (cr, x, y);</programlisting> + <para> + but many languages don't have provisions for multiple return + values, so it is necessary to introduce auxiliary types. + Most of the functions that require the auxiliary types + require a type that would, in C, look like + </para> + <programlisting> +typedef struct _cairo_point cairo_point_t; +struct _cairo_point { + double x; + double y; +}</programlisting> + <para> + The same type should be used both for functions that use a pair + of coordinates as an absolute position, and functions that use + a pair of coordinates as a displacement. While an argument could + be made that having a separate “distance” type is more correct, + it is more likely just to confuse users. + </para> + <programlisting> +void +cairo_user_to_device (cairo_t *cr, double *x, double *y); + +void +cairo_user_to_device_distance (cairo_t *cr, double *dx, double *dy); + +void +cairo_device_to_user (cairo_t *cr, double *x, double *y); + +void +cairo_device_to_user_distance (cairo_t *cr, double *dx, double *dy); + +void +cairo_matrix_transform_distance (cairo_matrix_t *matrix, double *dx, double *dy); + +void +cairo_matrix_transform_point (cairo_matrix_t *matrix, double *x, double *y); + +void +cairo_get_current_point (cairo_t *cr, double *x, double *y); + </programlisting> + <para> + There are also a couple of functions that return four values + representing a rectangle. These should be mapped to a + “rectangle” type that looks like: + </para> + <programlisting> +typedef struct _cairo_rectangle cairo_rectangle_t; +struct _cairo_rectangle { + double x; + double y; + double width; + double height; +}</programlisting> + <para> + The C function returns the rectangle as a set of two points to + facilitate rounding to integral extents, but this isn't worth + adding a “box” type to go along with the more obvious + “rectangle” representation. + </para> + <remark> + Q: Would it make sense here to define a standard + <function>cairo_rectangle_round()</function> method + that language bindings should map? + </remark> + <programlisting> +void +cairo_stroke_extents (cairo_t *cr, + double *x1, double *y1, + double *x2, double *y2); + +void +cairo_fill_extents (cairo_t *cr, + double *x1, double *y1, + double *x2, double *y2); + </programlisting> + </sect1> + <sect1 id="bindings-overloading"> + <title>Overloading and optional arguments</title> + <para> + Function overloading (having a several variants of a function + with the same name and different arguments) is a language + feature available in many languages but not in C. + </para> + <para> + In general, language binding authors should use restraint in + combining functions in the cairo API via function + overloading. What may seem like an obvious overload now may + turn out to be strange with future additions to cairo. + It might seem logical to make + <link + linkend="cairo-set-source-rgb"><function>cairo_set_source_rgb()</function></link> + an overload of <function>cairo_set_source()</function>, but future plans to add + <function>cairo_set_source_rgb_premultiplied()</function>, + which will also take three doubles make this a bad idea. For + this reason, only the following pairs of functions should + be combined via overloading + </para> + <programlisting> +void +cairo_set_source (cairo_t *cr, cairo_pattern_t *source); + +void +cairo_set_source_surface (cairo_t *cr, + cairo_surface_t *source, + double surface_x, + double surface_y); + +void +cairo_mask (cairo_t *cr, + cairo_pattern_t *pattern); + +void +cairo_mask_surface (cairo_t *cr, + cairo_surface_t *surface, + double surface_x, + double surface_y); + +cairo_surface_t * +cairo_image_surface_create (cairo_format_t format, + int width, + int height); +cairo_surface_t * +cairo_image_surface_create_for_data (unsigned char *data, + cairo_format_t format, + int width, + int height, + int stride); + +cairo_status_t +cairo_surface_write_to_png (cairo_surface_t *surface, + const char *filename); + +cairo_status_t +cairo_surface_write_to_png_stream (cairo_surface_t *surface, + cairo_write_func_t write_func, + void *closure); + +cairo_surface_t * +cairo_image_surface_create_from_png (const char *filename); + +cairo_surface_t * +cairo_image_surface_create_from_png_stream (cairo_read_func_t read_func, + void *closure); + </programlisting> + <para> + Note that there are cases where all constructors for a type + aren't overloaded together. For example + <link + linkend="cairo-image-surface-create-from-png"><function>cairo_image_surface_create_from_png()</function></link> + should <emphasis>not</emphasis> be overloaded together with + <link + linkend="cairo-image-surface-create"><function>cairo_image_surface_create()</function></link>. + In such cases, the remaining constructors will typically need to + be bound as static methods. In Java, for example, we might have: + </para> +<programlisting> +Surface surface1 = ImageSurface(Format.RGB24, 100, 100); +Surface surface2 = ImageSurface.createFromPNG("camera.png");</programlisting> + <para> + Some other overloads that add combinations not found in C may be + convenient for users for language bindings that provide + <type>cairo_point_t</type> and <type>cairo_rectangle_t</type> + types, for example: + </para> + <programlisting> +void +cairo_move_to (cairo_t *cr, + cairo_point_t *point); +void +cairo_rectangle (cairo_t *cr, + cairo_rectangle_t *rectangle); + </programlisting> + </sect1> + <sect1 id="bindings-streams"> + <title>Streams and File I/O</title> + <para> + Various places in the cairo API deal with reading and writing + data, whether from and to files, or to other sources and + destinations. In these cases, what is typically provided in the + C API is a simple version that just takes a filename, and a + complex version that takes a callback function. + An example is the PNG handling functions: + </para> +<programlisting> +cairo_surface_t * +cairo_image_surface_create_from_png (const char *filename); + +cairo_surface_t * +cairo_image_surface_create_from_png_stream (cairo_read_func_t read_func, + void *closure); + +cairo_status_t +cairo_surface_write_to_png (cairo_surface_t *surface, + const char *filename); + +cairo_status_t +cairo_surface_write_to_png_stream (cairo_surface_t *surface, + cairo_write_func_t write_func, + void *closure);</programlisting> + <para> + The expectation is that the filename version will be mapped + literally in the language binding, but the callback version + will be mapped to a version that takes a language stream + object. For example, in Java, the four functions above + might be mapped to: + </para> +<programlisting> +static public ImageSurface createFromPNG (String filename) throws IOException; +static public ImageSurface createFromPNG (InputStream stream) throws IOException; +public void writeToPNG (String filename) throws IOException; +public void writeToPNG (OutputStream stream) throws IOException; +</programlisting> + <para> + In many cases, it will be better to + implement the filename version internally + using the stream version, rather than building it on top of the + filename version in C. The reason for this is that will + naturally give a more standard handling of file errors for + the language, as seen in the above Java example, where + <methodname>createFromPNG()</methodname> is marked as raising + an exception. Propagating exceptions from inside the callback + function to the caller will pose a challenge to the language + binding implementor, since an exception must not propagate + through the Cairo code. A technique that will be useful in + some cases is to catch the exception in the callback, + store the exception object inside a structure pointed to by + <parameter>closure</parameter>, and then rethrow it once + the function returns. + </para> + <remark> + I'm not sure how to handle this for + <link + linkend="cairo-pdf-surface-create-for-stream"><function>cairo_pdf_surface_create_for_stream()</function></link>. + Other than keep a “exception to rethrow” thread-specific + variable + that is checked after <emphasis>every</emphasis> call to a Cairo + function. + </remark> + </sect1> + <sect1 id="bindings-errors"> + <title>Error handling</title> + <para> + The error handling approach in C for Cairo has multiple + elements: + </para> + <itemizedlist> + <listitem><para> + When a method on an object fails, the object is put into + an error state. Subsequent operations on the object do + nothing. The status of the object can be queried with + a function like <link + linkend="cairo-status"><function>status()</function></link>. + </para></listitem> + <listitem><para> + Constructors, rather than + returning <constant>NULL</constant> on out-of-memory failure, + return a special singleton object on which all + operations do nothing. Retrieving the status of the + singleton object returns <constant>CAIRO_STATUS_NO_MEMORY</constant> + </para> + <remark> + Is this going to apply to + <type>cairo_surface_t</type> as well? + </remark> + <remark> + What about cairo_copy_path_data()? It's probably going to + have to return <constant>NULL</constant>. + </remark> + </listitem> + <listitem><para> + Errors propagate from object to object. Setting a pattern + in an out-of-memory state as the source of a + <type>cairo_t</type> puts the type into an error state. + </para></listitem> + </itemizedlist> + <remark>Much of the above is not yet implemented at the time of + this writing</remark> + <para> + A language binding could copy the C approach, and for a + language without exceptions, this is likely the right thing + to do. However, for a language with exceptions, exposing + a completely different style of error handling for cairo + would be strange. So, instead, status should be checked + after every call to cairo, and exceptions thrown as necessary. + </para> + <para> + One problem that can arise with this, in languages + where handling exceptions is mandatory (like Java), is that almost + every cairo function can result in a status being set, + usually because of an out-of-memory condition. This could make + cairo hard to use. To resolve this problem, let's classify then + cairo status codes: + </para> +<programlisting> +/* Memory */ +CAIRO_STATUS_NO_MEMORY, + +/* Programmer error */ +CAIRO_STATUS_INVALID_RESTORE +CAIRO_STATUS_INVALID_POP_GROUP +CAIRO_STATUS_NO_CURRENT_POINT +CAIRO_STATUS_INVALID_MATRIX +CAIRO_STATUS_NO_TARGET_SURFACE +CAIRO_STATUS_INVALID_STRING +CAIRO_STATUS_SURFACE_FINISHED +CAIRO_STATUS_BAD_NESTING + +/* Language binding implementation */ +CAIRO_STATUS_NULL_POINTER +CAIRO_STATUS_INVALID_PATH_DATA +CAIRO_STATUS_SURFACE_TYPE_MISMATCH + +/* Other */ +CAIRO_STATUS_READ_ERROR +CAIRO_STATUS_WRITE_ERROR +</programlisting> + <para> + If we look at these, the + <constant>CAIRO_STATUS_NO_MEMORY</constant> + should map to the native out-of-memory exception, which could + happen at any point in any case. Most of the others indicate + programmer error, and handling them in user code would be + silly. These should be mapped into whatever the language uses + for assertion failures, rather than errors that are normally + handled. (In Java, a subclass of Error rather than Exception, + perhaps.) And <constant>CAIRO_STATUS_READ_ERROR</constant>, + and <constant>CAIRO_STATUS_WRITE_ERROR</constant> can occur + only in very specific places. (In fact, as described + in <xref linkend="bindings-streams"/>, these errors may be + mapped into the language's native I/O error types.) + So, there really aren't exceptions that the programmer must + handle at most points in the Cairo API. + </para> + </sect1> + <sect1 id="bindings-patterns"> + <title>Patterns</title> + <para> + The cairo C API allows for creating a number of different types + of patterns. All of these different types of patterns map to + <link + linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> + in C, but in an object oriented language, there should instead + be a hierarchy of types. (The functions that should map to + constructors or static methods for the various types are listed + after the type, methods on that type are listed below. Note that + cairo_pattern_create_rgb() and cairo_pattern_create_rgba() + should not be overloaded with each other as a SolidPattern() + constructor, but should appear as static methods instead. This + is to maintain code clarity by making it clear how the arguments + relate to color components.) + </para> + <programlisting> +cairo_pattern_t + <link linkend="cairo-pattern-set-matrix"><function>cairo_pattern_set_matrix()</function></link> + <link linkend="cairo-pattern-get-matrix"><function>cairo_pattern_get_matrix()</function></link> + cairo_solid_pattern_t (<link linkend="cairo-pattern-create-rgb"><function>cairo_pattern_create_rgb()</function></link> and <link linkend="cairo-pattern-create-rgba"><function>cairo_pattern_create_rgba()</function></link>) + cairo_surface_pattern_t (<link linkend="cairo-pattern-create-for-surface"><function>cairo_pattern_create_for_surface()</function></link>) + <link linkend="cairo-pattern-set-extend"><function>cairo_pattern_set_extend()</function></link> + <link linkend="cairo-pattern-get-extend"><function>cairo_pattern_get_extend()</function></link> + <link linkend="cairo-pattern-set-filter"><function>cairo_pattern_set_filter()</function></link> + <link linkend="cairo-pattern-get-filter"><function>cairo_pattern_get_filter()</function></link> + cairo_gradient_t + <link linkend="cairo-pattern-add-color-stop-rgb"><function>cairo_pattern_add_color_stop_rgb()</function></link> + <link linkend="cairo-pattern-add-color-stop-rgba"><function>cairo_pattern_add_color_stop_rgba()</function></link> + cairo_linear_gradient_t (<link linkend="cairo-pattern-create-linear"><function>cairo_pattern_create_linear()</function></link>) + cairo_radial_gradient_t (<link linkend="cairo-pattern-create-radial"><function>cairo_pattern_create_radial()</function></link>) + cairo_mesh_t (<link linkend="cairo-pattern-create-mesh"><function>cairo_pattern_create_mesh()</function></link>) + <link linkend="cairo-mesh-pattern-begin-patch"><function>cairo_mesh_pattern_begin_patch()</function></link> + <link linkend="cairo-mesh-pattern-end-patch"><function>cairo_mesh_pattern_end_patch()</function></link> + <link linkend="cairo-mesh-pattern-move-to"><function>cairo_mesh_pattern_move_to()</function></link> + <link linkend="cairo-mesh-pattern-line-to"><function>cairo_mesh_pattern_line_to()</function></link> + <link linkend="cairo-mesh-pattern-curve-to"><function>cairo_mesh_pattern_curve_to()</function></link> + <link linkend="cairo-mesh-pattern-set-control-point"><function>cairo_mesh_pattern_set_control_point()</function></link> + <link linkend="cairo-mesh-pattern-set-corner-color-rgb"><function>cairo_mesh_pattern_set_corner_color_rgb()</function></link> + <link linkend="cairo-mesh-pattern-set-corner-color-rgba"><function>cairo_mesh_pattern_set_corner_color_rgba()</function></link> + <link linkend="cairo-mesh-pattern-get-patch-count"><function>cairo_mesh_pattern_get_patch_count()</function></link> + <link linkend="cairo-mesh-pattern-get-path"><function>cairo_mesh_pattern_get_path()</function></link> + <link linkend="cairo-mesh-pattern-get-control-point"><function>cairo_mesh_pattern_get_control_point()</function></link> + <link linkend="cairo-mesh-pattern-get-corner-color-rgba"><function>cairo_mesh_pattern_get_corner_color_rgba()</function></link> + </programlisting> + <para> + </para> + </sect1> + <sect1 id="bindings-surfaces"> + <title>Surfaces</title> + <para> + Like patterns, surfaces, which use only the + <link + linkend="cairo-surface-t"><type>cairo_surface_t</type></link> + type in the C API should be broken up into a hierarchy of types + in a language binding. + </para> + <programlisting> +cairo_surface_t + cairo_image_surface_t + cairo_atsui_surface_t + cairo_win32_surface_t + cairo_xlib_surface_t + cairo_beos_surface_t + </programlisting> + <para> + Unlike patterns, the constructors and methods on these types are + clearly named, and can be trivially associated with the + appropriate subtype. Many language bindings will want to avoid + binding the platform-specific subtypes at all, since the + methods on these types are not useful without passing in native + C types. Unless there is a language binding for Xlib available, + there is no way to represent a XLib <type>Display</type> * in + that language. + </para> + <para> + This doesn't mean that platform-specific surface types can't + be used in a language binding that doesn't bind the constructor. + A very common situation is to use a cairo language binding in + combination with a binding for a higher level system like + the <ulink url="http://www.gtk.org/">GTK+</ulink> widget + toolkit. In such a situation, the higher level toolkit provides + ways to get references to platform specific surfaces. + </para> + <para> + The <link + linkend="cairo-surface-set-user-data"><function>cairo_surface_set_user_data()</function></link>, + and <link + linkend="cairo-surface-get-user-data"><function>cairo_surface_get_user_data()</function></link> + methods are provided for use in language bindings, and should + not be directly exposed to applications. One example of the use + of these functions in a language binding is creating a binding for: + </para> +<programlisting> +cairo_surface_t * +<link linkend="cairo-image-surface-create-for-data"><function>cairo_image_surface_create_for_data</function></link> (unsigned char *data, + cairo_format_t format, + int width, + int height, + int stride); +</programlisting> + <para> + The memory block passed in for <parameter>data</parameter> must be + kept around until the surface is destroyed, so the language + binding must have some way of determining when that happens. The + way to do this is to use the <parameter>destroy</parameter> + argument to <function>cairo_surface_set_user_data()</function>. + </para> + <remark> + Some languages may not have a suitable “pointer to a block of + data” type to pass in for <parameter>data</parameter>. And even + where a language does have such a type, the user will be + frequently able to cause the backing store to be reallocated + to a different location or truncated. Should we recommend a + standard type name and binding for a buffer object here? + </remark> + </sect1> + <sect1 id="bindings-fonts"> + <title>Fonts</title> + <para> + Fonts are once more an area where there is a hierarchy of types: + </para> +<programlisting> +cairo_font_face_t + cairo_ft_font_face_t + cairo_win32_font_face_t +cairo_scaled_font_t + cairo_ft_scaled_font_t + cairo_win32_scaled_font_t +</programlisting> + <para> + The methods on the subtypes are, however, not useful without + bindings for fontconfig and FreeType or for the Win32 GDI, + so most language bindings will choose not to bind these + types. + </para> + <para> + The <link + linkend="cairo-font-face-set-user-data"><function>cairo_font_face_set_user_data()</function></link>, + and <link + linkend="cairo-font-face-get-user-data"><function>cairo_font_face_get_user_data()</function></link> + methods are provided for use in language bindings, and should + not be directly exposed to applications. + </para> + </sect1> + <sect1 id="bindings-path"> + <title>cairo_path_t</title> + <para> + The <link linkend="cairo-path-t"><type>cairo_path_t</type></link> type is one + area in which most language bindings will differ significantly + from the C API. The C API for <type>cairo_path_t</type> is + designed for efficiency and to avoid auxiliary objects that + would be have to be manually memory managed by the + application. However, + a language binding should not present <type>cairo_path_t</type> as an + array, but rather as an opaque that can be iterated + over. Different languages have quite different conventions for + how iterators work, so it is impossible to give an exact + specification for how this API should work, but the type names + and methods should be similar to the language's mapping of the following: + </para> + <programlisting> +typedef struct cairo_path_iterator cairo_path_iterator_t; +typedef struct cairo_path_element cairo_path_element_t; + +cairo_path_iterator_t * +cairo_path_get_iterator (cairo_path_t *path); + +cairo_bool_t +cairo_path_iterator_has_next (cairo_path_iterator_t *iterator); + +cairo_path_element_t * +cairo_path_iterator_next (cairo_path_iterator_t *iterator); + +cairo_path_element_type_t +cairo_path_element_get_type (cairo_path_element_t *element); + +void +cairo_path_element_get_point (cairo_path_element_t *element, + int index, + double *x, + double *y); + </programlisting> + <para> + The above is written using the Java conventions for + iterators. To illustrate how the API for PathIterator might + depend on the native iteration conventions of the API, examine + three versions of the loop, first written in a hypothetical Java + binding: + </para> + <programlisting> +PathIterator iter = cr.copyPath().iterator(); +while (cr.hasNext()) { + PathElement element = iter.next(); + if (element.getType() == PathElementType.MOVE_TO) { + Point p = element.getPoint(0); + doMoveTo (p.x, p.y); + } +}</programlisting> + <para> + And then in a hypothetical C++ binding: + </para> + <programlisting> +Path path = cr.copyPath(); +for (PathIterator iter = path.begin(); iter != path.end(); iter++) { + PathElement element = *iter; + if (element.getType() == PathElementType.MOVE_TO) { + Point p = element.getPoint(0); + doMoveTo (p.x, p.y); + } +}</programlisting> + <para> + And then finally in a Python binding: + </para> +<programlisting> +for element in cr.copy_path(): + if element.getType == cairo.PATH_ELEMENT_MOVE_TO: + (x, y) = element.getPoint(0) + doMoveTo (x, y);</programlisting> + <para> + While many of the API elements stay the same in the three + examples, the exact iteration mechanism is quite different, to + match how users of the language would expect to iterate over + a container. + </para> + <para> + You should not present an API for mutating or for creating new + <type>cairo_path_t</type> objects. In the future, these + guidelines may be extended to present an API for creating a + <type>cairo_path_t</type> from scratch for use with + <link + linkend="cairo-append-path"><function>cairo_append_path()</function></link> + but the current expectation is that <function>cairo_append_path()</function> will + mostly be used with paths from + <link + linkend="cairo-append-path"><function>cairo_copy_path()</function></link>. + </para> + </sect1> +</appendix> +<!-- +Local variables: +mode: sgml +sgml-parent-document: ("cairo-docs.xml" "book" "book" "appendix") +End: +--> diff --git a/libs/cairo-1.16.0/doc/public/version.xml b/libs/cairo-1.16.0/doc/public/version.xml new file mode 100644 index 0000000..15b989e --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/version.xml @@ -0,0 +1 @@ +1.16.0 diff --git a/libs/cairo-1.16.0/doc/public/xml/api-index-1.0.xml b/libs/cairo-1.16.0/doc/public/xml/api-index-1.0.xml new file mode 100644 index 0000000..a94e58d --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/api-index-1.0.xml @@ -0,0 +1,272 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<indexdiv id="api-index-1.0"> +<indexdiv><title>A</title> +<indexentry><primaryie linkends="cairo-antialias-t"><link linkend="cairo-antialias-t">cairo_antialias_t</link>, enum in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-append-path"><link linkend="cairo-append-path">cairo_append_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-arc"><link linkend="cairo-arc">cairo_arc</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-arc-negative"><link linkend="cairo-arc-negative">cairo_arc_negative</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>B</title> +<indexentry><primaryie linkends="cairo-bool-t"><link linkend="cairo-bool-t">cairo_bool_t</link>, typedef in <link linkend="cairo-Types">Types</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>C</title> +<indexentry><primaryie linkends="cairo-clip"><link linkend="cairo-clip">cairo_clip</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-clip-preserve"><link linkend="cairo-clip-preserve">cairo_clip_preserve</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-close-path"><link linkend="cairo-close-path">cairo_close_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-content-t"><link linkend="cairo-content-t">cairo_content_t</link>, enum in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-copy-page"><link linkend="cairo-copy-page">cairo_copy_page</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-copy-path"><link linkend="cairo-copy-path">cairo_copy_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-copy-path-flat"><link linkend="cairo-copy-path-flat">cairo_copy_path_flat</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-create"><link linkend="cairo-create">cairo_create</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-curve-to"><link linkend="cairo-curve-to">cairo_curve_to</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>D</title> +<indexentry><primaryie linkends="cairo-debug-reset-static-data"><link linkend="cairo-debug-reset-static-data">cairo_debug_reset_static_data</link>, function in <link linkend="cairo-Error-handling">Error handling</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-destroy"><link linkend="cairo-destroy">cairo_destroy</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-destroy-func-t"><link linkend="cairo-destroy-func-t">cairo_destroy_func_t</link>, user_function in <link linkend="cairo-Types">Types</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-to-user"><link linkend="cairo-device-to-user">cairo_device_to_user</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-to-user-distance"><link linkend="cairo-device-to-user-distance">cairo_device_to_user_distance</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>E</title> +<indexentry><primaryie linkends="cairo-extend-t"><link linkend="cairo-extend-t">cairo_extend_t</link>, enum in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>F</title> +<indexentry><primaryie linkends="cairo-fill"><link linkend="cairo-fill">cairo_fill</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-fill-extents"><link linkend="cairo-fill-extents">cairo_fill_extents</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-fill-preserve"><link linkend="cairo-fill-preserve">cairo_fill_preserve</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-fill-rule-t"><link linkend="cairo-fill-rule-t">cairo_fill_rule_t</link>, enum in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-filter-t"><link linkend="cairo-filter-t">cairo_filter_t</link>, enum in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-extents"><link linkend="cairo-font-extents">cairo_font_extents</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-extents-t"><link linkend="cairo-font-extents-t">cairo_font_extents_t</link>, struct in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-destroy"><link linkend="cairo-font-face-destroy">cairo_font_face_destroy</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-get-user-data"><link linkend="cairo-font-face-get-user-data">cairo_font_face_get_user_data</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-reference"><link linkend="cairo-font-face-reference">cairo_font_face_reference</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-set-user-data"><link linkend="cairo-font-face-set-user-data">cairo_font_face_set_user_data</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-status"><link linkend="cairo-font-face-status">cairo_font_face_status</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-t"><link linkend="cairo-font-face-t">cairo_font_face_t</link>, typedef in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-copy"><link linkend="cairo-font-options-copy">cairo_font_options_copy</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-create"><link linkend="cairo-font-options-create">cairo_font_options_create</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-destroy"><link linkend="cairo-font-options-destroy">cairo_font_options_destroy</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-equal"><link linkend="cairo-font-options-equal">cairo_font_options_equal</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-get-antialias"><link linkend="cairo-font-options-get-antialias">cairo_font_options_get_antialias</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-get-hint-metrics"><link linkend="cairo-font-options-get-hint-metrics">cairo_font_options_get_hint_metrics</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-get-hint-style"><link linkend="cairo-font-options-get-hint-style">cairo_font_options_get_hint_style</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-get-subpixel-order"><link linkend="cairo-font-options-get-subpixel-order">cairo_font_options_get_subpixel_order</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-hash"><link linkend="cairo-font-options-hash">cairo_font_options_hash</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-merge"><link linkend="cairo-font-options-merge">cairo_font_options_merge</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-set-antialias"><link linkend="cairo-font-options-set-antialias">cairo_font_options_set_antialias</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-set-hint-metrics"><link linkend="cairo-font-options-set-hint-metrics">cairo_font_options_set_hint_metrics</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-set-hint-style"><link linkend="cairo-font-options-set-hint-style">cairo_font_options_set_hint_style</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-set-subpixel-order"><link linkend="cairo-font-options-set-subpixel-order">cairo_font_options_set_subpixel_order</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-status"><link linkend="cairo-font-options-status">cairo_font_options_status</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-t"><link linkend="cairo-font-options-t">cairo_font_options_t</link>, typedef in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-slant-t"><link linkend="cairo-font-slant-t">cairo_font_slant_t</link>, enum in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-weight-t"><link linkend="cairo-font-weight-t">cairo_font_weight_t</link>, enum in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-format-t"><link linkend="cairo-format-t">cairo_format_t</link>, enum in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-font-face-create-for-ft-face"><link linkend="cairo-ft-font-face-create-for-ft-face">cairo_ft_font_face_create_for_ft_face</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-font-face-create-for-pattern"><link linkend="cairo-ft-font-face-create-for-pattern">cairo_ft_font_face_create_for_pattern</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-font-options-substitute"><link linkend="cairo-ft-font-options-substitute">cairo_ft_font_options_substitute</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-scaled-font-lock-face"><link linkend="cairo-ft-scaled-font-lock-face">cairo_ft_scaled_font_lock_face</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-scaled-font-unlock-face"><link linkend="cairo-ft-scaled-font-unlock-face">cairo_ft_scaled_font_unlock_face</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>G</title> +<indexentry><primaryie linkends="cairo-get-antialias"><link linkend="cairo-get-antialias">cairo_get_antialias</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-current-point"><link linkend="cairo-get-current-point">cairo_get_current_point</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-fill-rule"><link linkend="cairo-get-fill-rule">cairo_get_fill_rule</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-font-face"><link linkend="cairo-get-font-face">cairo_get_font_face</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-font-matrix"><link linkend="cairo-get-font-matrix">cairo_get_font_matrix</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-font-options"><link linkend="cairo-get-font-options">cairo_get_font_options</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-line-cap"><link linkend="cairo-get-line-cap">cairo_get_line_cap</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-line-join"><link linkend="cairo-get-line-join">cairo_get_line_join</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-line-width"><link linkend="cairo-get-line-width">cairo_get_line_width</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-matrix"><link linkend="cairo-get-matrix">cairo_get_matrix</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-miter-limit"><link linkend="cairo-get-miter-limit">cairo_get_miter_limit</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-operator"><link linkend="cairo-get-operator">cairo_get_operator</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-source"><link linkend="cairo-get-source">cairo_get_source</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-target"><link linkend="cairo-get-target">cairo_get_target</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-tolerance"><link linkend="cairo-get-tolerance">cairo_get_tolerance</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-glyph-extents"><link linkend="cairo-glyph-extents">cairo_glyph_extents</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-glyph-path"><link linkend="cairo-glyph-path">cairo_glyph_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-glyph-t"><link linkend="cairo-glyph-t">cairo_glyph_t</link>, struct in <link linkend="cairo-text">text</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>H</title> +<indexentry><primaryie linkends="CAIRO-HAS-FT-FONT:CAPS"><link linkend="CAIRO-HAS-FT-FONT:CAPS">CAIRO_HAS_FT_FONT</link>, macro in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-PNG-FUNCTIONS:CAPS"><link linkend="CAIRO-HAS-PNG-FUNCTIONS:CAPS">CAIRO_HAS_PNG_FUNCTIONS</link>, macro in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-WIN32-SURFACE:CAPS"><link linkend="CAIRO-HAS-WIN32-SURFACE:CAPS">CAIRO_HAS_WIN32_SURFACE</link>, macro in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-XLIB-SURFACE:CAPS"><link linkend="CAIRO-HAS-XLIB-SURFACE:CAPS">CAIRO_HAS_XLIB_SURFACE</link>, macro in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-hint-metrics-t"><link linkend="cairo-hint-metrics-t">cairo_hint_metrics_t</link>, enum in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-hint-style-t"><link linkend="cairo-hint-style-t">cairo_hint_style_t</link>, enum in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>I</title> +<indexentry><primaryie linkends="cairo-identity-matrix"><link linkend="cairo-identity-matrix">cairo_identity_matrix</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-create"><link linkend="cairo-image-surface-create">cairo_image_surface_create</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-create-for-data"><link linkend="cairo-image-surface-create-for-data">cairo_image_surface_create_for_data</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-create-from-png"><link linkend="cairo-image-surface-create-from-png">cairo_image_surface_create_from_png</link>, function in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-create-from-png-stream"><link linkend="cairo-image-surface-create-from-png-stream">cairo_image_surface_create_from_png_stream</link>, function in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-get-height"><link linkend="cairo-image-surface-get-height">cairo_image_surface_get_height</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-get-width"><link linkend="cairo-image-surface-get-width">cairo_image_surface_get_width</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-in-fill"><link linkend="cairo-in-fill">cairo_in_fill</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-in-stroke"><link linkend="cairo-in-stroke">cairo_in_stroke</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>L</title> +<indexentry><primaryie linkends="cairo-line-cap-t"><link linkend="cairo-line-cap-t">cairo_line_cap_t</link>, enum in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-line-join-t"><link linkend="cairo-line-join-t">cairo_line_join_t</link>, enum in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-line-to"><link linkend="cairo-line-to">cairo_line_to</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>M</title> +<indexentry><primaryie linkends="cairo-mask"><link linkend="cairo-mask">cairo_mask</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mask-surface"><link linkend="cairo-mask-surface">cairo_mask_surface</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-init"><link linkend="cairo-matrix-init">cairo_matrix_init</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-init-identity"><link linkend="cairo-matrix-init-identity">cairo_matrix_init_identity</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-init-rotate"><link linkend="cairo-matrix-init-rotate">cairo_matrix_init_rotate</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-init-scale"><link linkend="cairo-matrix-init-scale">cairo_matrix_init_scale</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-init-translate"><link linkend="cairo-matrix-init-translate">cairo_matrix_init_translate</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-invert"><link linkend="cairo-matrix-invert">cairo_matrix_invert</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-multiply"><link linkend="cairo-matrix-multiply">cairo_matrix_multiply</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-rotate"><link linkend="cairo-matrix-rotate">cairo_matrix_rotate</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-scale"><link linkend="cairo-matrix-scale">cairo_matrix_scale</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-t"><link linkend="cairo-matrix-t">cairo_matrix_t</link>, struct in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-transform-distance"><link linkend="cairo-matrix-transform-distance">cairo_matrix_transform_distance</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-transform-point"><link linkend="cairo-matrix-transform-point">cairo_matrix_transform_point</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-translate"><link linkend="cairo-matrix-translate">cairo_matrix_translate</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-move-to"><link linkend="cairo-move-to">cairo_move_to</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>N</title> +<indexentry><primaryie linkends="cairo-new-path"><link linkend="cairo-new-path">cairo_new_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>O</title> +<indexentry><primaryie linkends="cairo-operator-t"><link linkend="cairo-operator-t">cairo_operator_t</link>, enum in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>P</title> +<indexentry><primaryie linkends="cairo-paint"><link linkend="cairo-paint">cairo_paint</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-paint-with-alpha"><link linkend="cairo-paint-with-alpha">cairo_paint_with_alpha</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-path-data-t"><link linkend="cairo-path-data-t">cairo_path_data_t</link>, union in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-path-data-type-t"><link linkend="cairo-path-data-type-t">cairo_path_data_type_t</link>, enum in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-path-destroy"><link linkend="cairo-path-destroy">cairo_path_destroy</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-path-t"><link linkend="cairo-path-t">cairo_path_t</link>, struct in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-add-color-stop-rgb"><link linkend="cairo-pattern-add-color-stop-rgb">cairo_pattern_add_color_stop_rgb</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-add-color-stop-rgba"><link linkend="cairo-pattern-add-color-stop-rgba">cairo_pattern_add_color_stop_rgba</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-for-surface"><link linkend="cairo-pattern-create-for-surface">cairo_pattern_create_for_surface</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-linear"><link linkend="cairo-pattern-create-linear">cairo_pattern_create_linear</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-radial"><link linkend="cairo-pattern-create-radial">cairo_pattern_create_radial</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-rgb"><link linkend="cairo-pattern-create-rgb">cairo_pattern_create_rgb</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-rgba"><link linkend="cairo-pattern-create-rgba">cairo_pattern_create_rgba</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-destroy"><link linkend="cairo-pattern-destroy">cairo_pattern_destroy</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-extend"><link linkend="cairo-pattern-get-extend">cairo_pattern_get_extend</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-filter"><link linkend="cairo-pattern-get-filter">cairo_pattern_get_filter</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-matrix"><link linkend="cairo-pattern-get-matrix">cairo_pattern_get_matrix</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-reference"><link linkend="cairo-pattern-reference">cairo_pattern_reference</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-set-extend"><link linkend="cairo-pattern-set-extend">cairo_pattern_set_extend</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-set-filter"><link linkend="cairo-pattern-set-filter">cairo_pattern_set_filter</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-set-matrix"><link linkend="cairo-pattern-set-matrix">cairo_pattern_set_matrix</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-status"><link linkend="cairo-pattern-status">cairo_pattern_status</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-t"><link linkend="cairo-pattern-t">cairo_pattern_t</link>, typedef in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>R</title> +<indexentry><primaryie linkends="cairo-read-func-t"><link linkend="cairo-read-func-t">cairo_read_func_t</link>, user_function in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rectangle"><link linkend="cairo-rectangle">cairo_rectangle</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-reference"><link linkend="cairo-reference">cairo_reference</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rel-curve-to"><link linkend="cairo-rel-curve-to">cairo_rel_curve_to</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rel-line-to"><link linkend="cairo-rel-line-to">cairo_rel_line_to</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rel-move-to"><link linkend="cairo-rel-move-to">cairo_rel_move_to</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-reset-clip"><link linkend="cairo-reset-clip">cairo_reset_clip</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-restore"><link linkend="cairo-restore">cairo_restore</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rotate"><link linkend="cairo-rotate">cairo_rotate</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>S</title> +<indexentry><primaryie linkends="cairo-save"><link linkend="cairo-save">cairo_save</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scale"><link linkend="cairo-scale">cairo_scale</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-create"><link linkend="cairo-scaled-font-create">cairo_scaled_font_create</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-destroy"><link linkend="cairo-scaled-font-destroy">cairo_scaled_font_destroy</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-extents"><link linkend="cairo-scaled-font-extents">cairo_scaled_font_extents</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-glyph-extents"><link linkend="cairo-scaled-font-glyph-extents">cairo_scaled_font_glyph_extents</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-reference"><link linkend="cairo-scaled-font-reference">cairo_scaled_font_reference</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-status"><link linkend="cairo-scaled-font-status">cairo_scaled_font_status</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-t"><link linkend="cairo-scaled-font-t">cairo_scaled_font_t</link>, typedef in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-select-font-face"><link linkend="cairo-select-font-face">cairo_select_font_face</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-antialias"><link linkend="cairo-set-antialias">cairo_set_antialias</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-dash"><link linkend="cairo-set-dash">cairo_set_dash</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-fill-rule"><link linkend="cairo-set-fill-rule">cairo_set_fill_rule</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-font-face"><link linkend="cairo-set-font-face">cairo_set_font_face</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-font-matrix"><link linkend="cairo-set-font-matrix">cairo_set_font_matrix</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-font-options"><link linkend="cairo-set-font-options">cairo_set_font_options</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-font-size"><link linkend="cairo-set-font-size">cairo_set_font_size</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-line-cap"><link linkend="cairo-set-line-cap">cairo_set_line_cap</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-line-join"><link linkend="cairo-set-line-join">cairo_set_line_join</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-line-width"><link linkend="cairo-set-line-width">cairo_set_line_width</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-matrix"><link linkend="cairo-set-matrix">cairo_set_matrix</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-miter-limit"><link linkend="cairo-set-miter-limit">cairo_set_miter_limit</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-operator"><link linkend="cairo-set-operator">cairo_set_operator</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-source"><link linkend="cairo-set-source">cairo_set_source</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-source-rgb"><link linkend="cairo-set-source-rgb">cairo_set_source_rgb</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-source-rgba"><link linkend="cairo-set-source-rgba">cairo_set_source_rgba</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-source-surface"><link linkend="cairo-set-source-surface">cairo_set_source_surface</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-tolerance"><link linkend="cairo-set-tolerance">cairo_set_tolerance</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-show-glyphs"><link linkend="cairo-show-glyphs">cairo_show_glyphs</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-show-page"><link linkend="cairo-show-page">cairo_show_page</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-show-text"><link linkend="cairo-show-text">cairo_show_text</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-status"><link linkend="cairo-status">cairo_status</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-status-t"><link linkend="cairo-status-t">cairo_status_t</link>, enum in <link linkend="cairo-Error-handling">Error handling</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-status-to-string"><link linkend="cairo-status-to-string">cairo_status_to_string</link>, function in <link linkend="cairo-Error-handling">Error handling</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-stroke"><link linkend="cairo-stroke">cairo_stroke</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-stroke-extents"><link linkend="cairo-stroke-extents">cairo_stroke_extents</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-stroke-preserve"><link linkend="cairo-stroke-preserve">cairo_stroke_preserve</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-subpixel-order-t"><link linkend="cairo-subpixel-order-t">cairo_subpixel_order_t</link>, enum in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-create-similar"><link linkend="cairo-surface-create-similar">cairo_surface_create_similar</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-destroy"><link linkend="cairo-surface-destroy">cairo_surface_destroy</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-finish"><link linkend="cairo-surface-finish">cairo_surface_finish</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-flush"><link linkend="cairo-surface-flush">cairo_surface_flush</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-font-options"><link linkend="cairo-surface-get-font-options">cairo_surface_get_font_options</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-user-data"><link linkend="cairo-surface-get-user-data">cairo_surface_get_user_data</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-mark-dirty"><link linkend="cairo-surface-mark-dirty">cairo_surface_mark_dirty</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-mark-dirty-rectangle"><link linkend="cairo-surface-mark-dirty-rectangle">cairo_surface_mark_dirty_rectangle</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-reference"><link linkend="cairo-surface-reference">cairo_surface_reference</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-set-device-offset"><link linkend="cairo-surface-set-device-offset">cairo_surface_set_device_offset</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-set-user-data"><link linkend="cairo-surface-set-user-data">cairo_surface_set_user_data</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-status"><link linkend="cairo-surface-status">cairo_surface_status</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-t"><link linkend="cairo-surface-t">cairo_surface_t</link>, typedef in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-write-to-png"><link linkend="cairo-surface-write-to-png">cairo_surface_write_to_png</link>, function in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-write-to-png-stream"><link linkend="cairo-surface-write-to-png-stream">cairo_surface_write_to_png_stream</link>, function in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>T</title> +<indexentry><primaryie linkends="cairo-t"><link linkend="cairo-t">cairo_t</link>, typedef in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-extents"><link linkend="cairo-text-extents">cairo_text_extents</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-extents-t"><link linkend="cairo-text-extents-t">cairo_text_extents_t</link>, struct in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-path"><link linkend="cairo-text-path">cairo_text_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-transform"><link linkend="cairo-transform">cairo_transform</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-translate"><link linkend="cairo-translate">cairo_translate</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>U</title> +<indexentry><primaryie linkends="cairo-user-data-key-t"><link linkend="cairo-user-data-key-t">cairo_user_data_key_t</link>, struct in <link linkend="cairo-Types">Types</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-to-device"><link linkend="cairo-user-to-device">cairo_user_to_device</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-to-device-distance"><link linkend="cairo-user-to-device-distance">cairo_user_to_device_distance</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>V</title> +<indexentry><primaryie linkends="CAIRO-VERSION:CAPS"><link linkend="CAIRO-VERSION:CAPS">CAIRO_VERSION</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-version"><link linkend="cairo-version">cairo_version</link>, function in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-VERSION-ENCODE:CAPS"><link linkend="CAIRO-VERSION-ENCODE:CAPS">CAIRO_VERSION_ENCODE</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-VERSION-MAJOR:CAPS"><link linkend="CAIRO-VERSION-MAJOR:CAPS">CAIRO_VERSION_MAJOR</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-VERSION-MICRO:CAPS"><link linkend="CAIRO-VERSION-MICRO:CAPS">CAIRO_VERSION_MICRO</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-VERSION-MINOR:CAPS"><link linkend="CAIRO-VERSION-MINOR:CAPS">CAIRO_VERSION_MINOR</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-version-string"><link linkend="cairo-version-string">cairo_version_string</link>, function in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>W</title> +<indexentry><primaryie linkends="cairo-win32-font-face-create-for-logfontw"><link linkend="cairo-win32-font-face-create-for-logfontw">cairo_win32_font_face_create_for_logfontw</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-scaled-font-done-font"><link linkend="cairo-win32-scaled-font-done-font">cairo_win32_scaled_font_done_font</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-scaled-font-get-metrics-factor"><link linkend="cairo-win32-scaled-font-get-metrics-factor">cairo_win32_scaled_font_get_metrics_factor</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-scaled-font-select-font"><link linkend="cairo-win32-scaled-font-select-font">cairo_win32_scaled_font_select_font</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-surface-create"><link linkend="cairo-win32-surface-create">cairo_win32_surface_create</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-write-func-t"><link linkend="cairo-write-func-t">cairo_write_func_t</link>, user_function in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>X</title> +<indexentry><primaryie linkends="cairo-xlib-surface-create"><link linkend="cairo-xlib-surface-create">cairo_xlib_surface_create</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-create-for-bitmap"><link linkend="cairo-xlib-surface-create-for-bitmap">cairo_xlib_surface_create_for_bitmap</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-create-with-xrender-format"><link linkend="cairo-xlib-surface-create-with-xrender-format">cairo_xlib_surface_create_with_xrender_format</link>, function in <link linkend="cairo-XLib-XRender-Backend">XLib-XRender Backend</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-set-drawable"><link linkend="cairo-xlib-surface-set-drawable">cairo_xlib_surface_set_drawable</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-set-size"><link linkend="cairo-xlib-surface-set-size">cairo_xlib_surface_set_size</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +</indexdiv> +</indexdiv> diff --git a/libs/cairo-1.16.0/doc/public/xml/api-index-1.10.xml b/libs/cairo-1.16.0/doc/public/xml/api-index-1.10.xml new file mode 100644 index 0000000..039c9d9 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/api-index-1.10.xml @@ -0,0 +1,77 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<indexdiv id="api-index-1.10"> +<indexdiv><title>D</title> +<indexentry><primaryie linkends="cairo-device-acquire"><link linkend="cairo-device-acquire">cairo_device_acquire</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-destroy"><link linkend="cairo-device-destroy">cairo_device_destroy</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-finish"><link linkend="cairo-device-finish">cairo_device_finish</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-flush"><link linkend="cairo-device-flush">cairo_device_flush</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-get-reference-count"><link linkend="cairo-device-get-reference-count">cairo_device_get_reference_count</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-get-type"><link linkend="cairo-device-get-type">cairo_device_get_type</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-get-user-data"><link linkend="cairo-device-get-user-data">cairo_device_get_user_data</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-reference"><link linkend="cairo-device-reference">cairo_device_reference</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-release"><link linkend="cairo-device-release">cairo_device_release</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-set-user-data"><link linkend="cairo-device-set-user-data">cairo_device_set_user_data</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-status"><link linkend="cairo-device-status">cairo_device_status</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-t"><link linkend="cairo-device-t">cairo_device_t</link>, typedef in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-type-t"><link linkend="cairo-device-type-t">cairo_device_type_t</link>, enum in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>H</title> +<indexentry><primaryie linkends="CAIRO-HAS-FC-FONT:CAPS"><link linkend="CAIRO-HAS-FC-FONT:CAPS">CAIRO_HAS_FC_FONT</link>, macro in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-RECORDING-SURFACE:CAPS"><link linkend="CAIRO-HAS-RECORDING-SURFACE:CAPS">CAIRO_HAS_RECORDING_SURFACE</link>, macro in <link linkend="cairo-Recording-Surfaces">Recording Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>I</title> +<indexentry><primaryie linkends="cairo-in-clip"><link linkend="cairo-in-clip">cairo_in_clip</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>M</title> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-JP2:CAPS"><link linkend="CAIRO-MIME-TYPE-JP2:CAPS">CAIRO_MIME_TYPE_JP2</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-JPEG:CAPS"><link linkend="CAIRO-MIME-TYPE-JPEG:CAPS">CAIRO_MIME_TYPE_JPEG</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-PNG:CAPS"><link linkend="CAIRO-MIME-TYPE-PNG:CAPS">CAIRO_MIME_TYPE_PNG</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-URI:CAPS"><link linkend="CAIRO-MIME-TYPE-URI:CAPS">CAIRO_MIME_TYPE_URI</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>P</title> +<indexentry><primaryie linkends="cairo-pdf-get-versions"><link linkend="cairo-pdf-get-versions">cairo_pdf_get_versions</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-restrict-to-version"><link linkend="cairo-pdf-surface-restrict-to-version">cairo_pdf_surface_restrict_to_version</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-version-t"><link linkend="cairo-pdf-version-t">cairo_pdf_version_t</link>, enum in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-version-to-string"><link linkend="cairo-pdf-version-to-string">cairo_pdf_version_to_string</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>R</title> +<indexentry><primaryie linkends="cairo-recording-surface-create"><link linkend="cairo-recording-surface-create">cairo_recording_surface_create</link>, function in <link linkend="cairo-Recording-Surfaces">Recording Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-recording-surface-ink-extents"><link linkend="cairo-recording-surface-ink-extents">cairo_recording_surface_ink_extents</link>, function in <link linkend="cairo-Recording-Surfaces">Recording Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rectangle-int-t"><link linkend="cairo-rectangle-int-t">cairo_rectangle_int_t</link>, struct in <link linkend="cairo-Types">Types</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-contains-point"><link linkend="cairo-region-contains-point">cairo_region_contains_point</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-contains-rectangle"><link linkend="cairo-region-contains-rectangle">cairo_region_contains_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-copy"><link linkend="cairo-region-copy">cairo_region_copy</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-create"><link linkend="cairo-region-create">cairo_region_create</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-create-rectangle"><link linkend="cairo-region-create-rectangle">cairo_region_create_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-create-rectangles"><link linkend="cairo-region-create-rectangles">cairo_region_create_rectangles</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-destroy"><link linkend="cairo-region-destroy">cairo_region_destroy</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-equal"><link linkend="cairo-region-equal">cairo_region_equal</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-get-extents"><link linkend="cairo-region-get-extents">cairo_region_get_extents</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-get-rectangle"><link linkend="cairo-region-get-rectangle">cairo_region_get_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-intersect"><link linkend="cairo-region-intersect">cairo_region_intersect</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-intersect-rectangle"><link linkend="cairo-region-intersect-rectangle">cairo_region_intersect_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-is-empty"><link linkend="cairo-region-is-empty">cairo_region_is_empty</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-num-rectangles"><link linkend="cairo-region-num-rectangles">cairo_region_num_rectangles</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-overlap-t"><link linkend="cairo-region-overlap-t">cairo_region_overlap_t</link>, enum in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-reference"><link linkend="cairo-region-reference">cairo_region_reference</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-status"><link linkend="cairo-region-status">cairo_region_status</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-subtract"><link linkend="cairo-region-subtract">cairo_region_subtract</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-subtract-rectangle"><link linkend="cairo-region-subtract-rectangle">cairo_region_subtract_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-t"><link linkend="cairo-region-t">cairo_region_t</link>, typedef in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-translate"><link linkend="cairo-region-translate">cairo_region_translate</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-union"><link linkend="cairo-region-union">cairo_region_union</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-union-rectangle"><link linkend="cairo-region-union-rectangle">cairo_region_union_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-xor"><link linkend="cairo-region-xor">cairo_region_xor</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-xor-rectangle"><link linkend="cairo-region-xor-rectangle">cairo_region_xor_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>S</title> +<indexentry><primaryie linkends="cairo-surface-create-for-rectangle"><link linkend="cairo-surface-create-for-rectangle">cairo_surface_create_for_rectangle</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-device"><link linkend="cairo-surface-get-device">cairo_surface_get_device</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-mime-data"><link linkend="cairo-surface-get-mime-data">cairo_surface_get_mime_data</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-set-mime-data"><link linkend="cairo-surface-set-mime-data">cairo_surface_set_mime_data</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +</indexdiv> +</indexdiv> diff --git a/libs/cairo-1.16.0/doc/public/xml/api-index-1.12.xml b/libs/cairo-1.16.0/doc/public/xml/api-index-1.12.xml new file mode 100644 index 0000000..3ce4db6 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/api-index-1.12.xml @@ -0,0 +1,86 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<indexdiv id="api-index-1.12"> +<indexdiv><title>F</title> +<indexentry><primaryie linkends="cairo-ft-font-face-get-synthesize"><link linkend="cairo-ft-font-face-get-synthesize">cairo_ft_font_face_get_synthesize</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-font-face-set-synthesize"><link linkend="cairo-ft-font-face-set-synthesize">cairo_ft_font_face_set_synthesize</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-font-face-unset-synthesize"><link linkend="cairo-ft-font-face-unset-synthesize">cairo_ft_font_face_unset_synthesize</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-synthesize-t"><link linkend="cairo-ft-synthesize-t">cairo_ft_synthesize_t</link>, enum in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>H</title> +<indexentry><primaryie linkends="CAIRO-HAS-SCRIPT-SURFACE:CAPS"><link linkend="CAIRO-HAS-SCRIPT-SURFACE:CAPS">CAIRO_HAS_SCRIPT_SURFACE</link>, macro in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-XCB-SURFACE:CAPS"><link linkend="CAIRO-HAS-XCB-SURFACE:CAPS">CAIRO_HAS_XCB_SURFACE</link>, macro in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>M</title> +<indexentry><primaryie linkends="cairo-mesh-pattern-begin-patch"><link linkend="cairo-mesh-pattern-begin-patch">cairo_mesh_pattern_begin_patch</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-curve-to"><link linkend="cairo-mesh-pattern-curve-to">cairo_mesh_pattern_curve_to</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-end-patch"><link linkend="cairo-mesh-pattern-end-patch">cairo_mesh_pattern_end_patch</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-get-control-point"><link linkend="cairo-mesh-pattern-get-control-point">cairo_mesh_pattern_get_control_point</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-get-corner-color-rgba"><link linkend="cairo-mesh-pattern-get-corner-color-rgba">cairo_mesh_pattern_get_corner_color_rgba</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-get-patch-count"><link linkend="cairo-mesh-pattern-get-patch-count">cairo_mesh_pattern_get_patch_count</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-get-path"><link linkend="cairo-mesh-pattern-get-path">cairo_mesh_pattern_get_path</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-line-to"><link linkend="cairo-mesh-pattern-line-to">cairo_mesh_pattern_line_to</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-move-to"><link linkend="cairo-mesh-pattern-move-to">cairo_mesh_pattern_move_to</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-set-control-point"><link linkend="cairo-mesh-pattern-set-control-point">cairo_mesh_pattern_set_control_point</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-set-corner-color-rgb"><link linkend="cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-set-corner-color-rgba"><link linkend="cairo-mesh-pattern-set-corner-color-rgba">cairo_mesh_pattern_set_corner_color_rgba</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS"><link linkend="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS">CAIRO_MIME_TYPE_UNIQUE_ID</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>P</title> +<indexentry><primaryie linkends="cairo-pattern-create-mesh"><link linkend="cairo-pattern-create-mesh">cairo_pattern_create_mesh</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-raster-source"><link linkend="cairo-pattern-create-raster-source">cairo_pattern_create_raster_source</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>R</title> +<indexentry><primaryie linkends="cairo-raster-source-acquire-func-t"><link linkend="cairo-raster-source-acquire-func-t">cairo_raster_source_acquire_func_t</link>, user_function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-copy-func-t"><link linkend="cairo-raster-source-copy-func-t">cairo_raster_source_copy_func_t</link>, user_function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-finish-func-t"><link linkend="cairo-raster-source-finish-func-t">cairo_raster_source_finish_func_t</link>, user_function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-get-acquire"><link linkend="cairo-raster-source-pattern-get-acquire">cairo_raster_source_pattern_get_acquire</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-get-callback-data"><link linkend="cairo-raster-source-pattern-get-callback-data">cairo_raster_source_pattern_get_callback_data</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-get-copy"><link linkend="cairo-raster-source-pattern-get-copy">cairo_raster_source_pattern_get_copy</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-get-finish"><link linkend="cairo-raster-source-pattern-get-finish">cairo_raster_source_pattern_get_finish</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-get-snapshot"><link linkend="cairo-raster-source-pattern-get-snapshot">cairo_raster_source_pattern_get_snapshot</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-set-acquire"><link linkend="cairo-raster-source-pattern-set-acquire">cairo_raster_source_pattern_set_acquire</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-set-callback-data"><link linkend="cairo-raster-source-pattern-set-callback-data">cairo_raster_source_pattern_set_callback_data</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-set-copy"><link linkend="cairo-raster-source-pattern-set-copy">cairo_raster_source_pattern_set_copy</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-set-finish"><link linkend="cairo-raster-source-pattern-set-finish">cairo_raster_source_pattern_set_finish</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-set-snapshot"><link linkend="cairo-raster-source-pattern-set-snapshot">cairo_raster_source_pattern_set_snapshot</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-release-func-t"><link linkend="cairo-raster-source-release-func-t">cairo_raster_source_release_func_t</link>, user_function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-snapshot-func-t"><link linkend="cairo-raster-source-snapshot-func-t">cairo_raster_source_snapshot_func_t</link>, user_function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-recording-surface-get-extents"><link linkend="cairo-recording-surface-get-extents">cairo_recording_surface_get_extents</link>, function in <link linkend="cairo-Recording-Surfaces">Recording Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>S</title> +<indexentry><primaryie linkends="cairo-script-create"><link linkend="cairo-script-create">cairo_script_create</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-create-for-stream"><link linkend="cairo-script-create-for-stream">cairo_script_create_for_stream</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-from-recording-surface"><link linkend="cairo-script-from-recording-surface">cairo_script_from_recording_surface</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-get-mode"><link linkend="cairo-script-get-mode">cairo_script_get_mode</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-mode-t"><link linkend="cairo-script-mode-t">cairo_script_mode_t</link>, enum in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-set-mode"><link linkend="cairo-script-set-mode">cairo_script_set_mode</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-surface-create"><link linkend="cairo-script-surface-create">cairo_script_surface_create</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-surface-create-for-target"><link linkend="cairo-script-surface-create-for-target">cairo_script_surface_create_for_target</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-write-comment"><link linkend="cairo-script-write-comment">cairo_script_write_comment</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-create-observer"><link linkend="cairo-surface-create-observer">cairo_surface_create_observer</link>, function in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-create-similar-image"><link linkend="cairo-surface-create-similar-image">cairo_surface_create_similar_image</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-map-to-image"><link linkend="cairo-surface-map-to-image">cairo_surface_map_to_image</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-observer-mode-t"><link linkend="cairo-surface-observer-mode-t">cairo_surface_observer_mode_t</link>, enum in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-supports-mime-type"><link linkend="cairo-surface-supports-mime-type">cairo_surface_supports_mime_type</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-unmap-image"><link linkend="cairo-surface-unmap-image">cairo_surface_unmap_image</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>X</title> +<indexentry><primaryie linkends="cairo-xcb-device-debug-cap-xrender-version"><link linkend="cairo-xcb-device-debug-cap-xrender-version">cairo_xcb_device_debug_cap_xrender_version</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-device-debug-cap-xshm-version"><link linkend="cairo-xcb-device-debug-cap-xshm-version">cairo_xcb_device_debug_cap_xshm_version</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-device-debug-get-precision"><link linkend="cairo-xcb-device-debug-get-precision">cairo_xcb_device_debug_get_precision</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-device-debug-set-precision"><link linkend="cairo-xcb-device-debug-set-precision">cairo_xcb_device_debug_set_precision</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-device-get-connection"><link linkend="cairo-xcb-device-get-connection">cairo_xcb_device_get_connection</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-surface-create"><link linkend="cairo-xcb-surface-create">cairo_xcb_surface_create</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-surface-create-for-bitmap"><link linkend="cairo-xcb-surface-create-for-bitmap">cairo_xcb_surface_create_for_bitmap</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-surface-create-with-xrender-format"><link linkend="cairo-xcb-surface-create-with-xrender-format">cairo_xcb_surface_create_with_xrender_format</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-surface-set-drawable"><link linkend="cairo-xcb-surface-set-drawable">cairo_xcb_surface_set_drawable</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-surface-set-size"><link linkend="cairo-xcb-surface-set-size">cairo_xcb_surface_set_size</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-device-debug-cap-xrender-version"><link linkend="cairo-xlib-device-debug-cap-xrender-version">cairo_xlib_device_debug_cap_xrender_version</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-device-debug-get-precision"><link linkend="cairo-xlib-device-debug-get-precision">cairo_xlib_device_debug_get_precision</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-device-debug-set-precision"><link linkend="cairo-xlib-device-debug-set-precision">cairo_xlib_device_debug_set_precision</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +</indexdiv> +</indexdiv> diff --git a/libs/cairo-1.16.0/doc/public/xml/api-index-1.14.xml b/libs/cairo-1.16.0/doc/public/xml/api-index-1.14.xml new file mode 100644 index 0000000..9b61670 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/api-index-1.14.xml @@ -0,0 +1,19 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<indexdiv id="api-index-1.14"> +<indexdiv><title>M</title> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-JBIG2:CAPS"><link linkend="CAIRO-MIME-TYPE-JBIG2:CAPS">CAIRO_MIME_TYPE_JBIG2</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS"><link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS">CAIRO_MIME_TYPE_JBIG2_GLOBAL</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS"><link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>S</title> +<indexentry><primaryie linkends="cairo-surface-get-device-scale"><link linkend="cairo-surface-get-device-scale">cairo_surface_get_device_scale</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-set-device-scale"><link linkend="cairo-surface-set-device-scale">cairo_surface_set_device_scale</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>W</title> +<indexentry><primaryie linkends="cairo-win32-surface-create-with-format"><link linkend="cairo-win32-surface-create-with-format">cairo_win32_surface_create_with_format</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +</indexdiv> +</indexdiv> diff --git a/libs/cairo-1.16.0/doc/public/xml/api-index-1.16.xml b/libs/cairo-1.16.0/doc/public/xml/api-index-1.16.xml new file mode 100644 index 0000000..724a0da --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/api-index-1.16.xml @@ -0,0 +1,37 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<indexdiv id="api-index-1.16"> +<indexdiv><title>F</title> +<indexentry><primaryie linkends="cairo-font-options-get-variations"><link linkend="cairo-font-options-get-variations">cairo_font_options_get_variations</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-set-variations"><link linkend="cairo-font-options-set-variations">cairo_font_options_set_variations</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>M</title> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-CCITT-FAX:CAPS"><link linkend="CAIRO-MIME-TYPE-CCITT-FAX:CAPS">CAIRO_MIME_TYPE_CCITT_FAX</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"><link linkend="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-EPS:CAPS"><link linkend="CAIRO-MIME-TYPE-EPS:CAPS">CAIRO_MIME_TYPE_EPS</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS"><link linkend="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS">CAIRO_MIME_TYPE_EPS_PARAMS</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>P</title> +<indexentry><primaryie linkends="cairo-pdf-metadata-t"><link linkend="cairo-pdf-metadata-t">cairo_pdf_metadata_t</link>, enum in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-outline-flags-t"><link linkend="cairo-pdf-outline-flags-t">cairo_pdf_outline_flags_t</link>, enum in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-PDF-OUTLINE-ROOT:CAPS"><link linkend="CAIRO-PDF-OUTLINE-ROOT:CAPS">CAIRO_PDF_OUTLINE_ROOT</link>, macro in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-add-outline"><link linkend="cairo-pdf-surface-add-outline">cairo_pdf_surface_add_outline</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-set-metadata"><link linkend="cairo-pdf-surface-set-metadata">cairo_pdf_surface_set_metadata</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-set-page-label"><link linkend="cairo-pdf-surface-set-page-label">cairo_pdf_surface_set_page_label</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-set-thumbnail-size"><link linkend="cairo-pdf-surface-set-thumbnail-size">cairo_pdf_surface_set_thumbnail_size</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>S</title> +<indexentry><primaryie linkends="cairo-svg-surface-get-document-unit"><link linkend="cairo-svg-surface-get-document-unit">cairo_svg_surface_get_document_unit</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-surface-set-document-unit"><link linkend="cairo-svg-surface-set-document-unit">cairo_svg_surface_set_document_unit</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-unit-t"><link linkend="cairo-svg-unit-t">cairo_svg_unit_t</link>, enum in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>T</title> +<indexentry><primaryie linkends="cairo-tag-begin"><link linkend="cairo-tag-begin">cairo_tag_begin</link>, function in <link linkend="cairo-Tags-and-Links">Tags and Links</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-TAG-DEST:CAPS"><link linkend="CAIRO-TAG-DEST:CAPS">CAIRO_TAG_DEST</link>, macro in <link linkend="cairo-Tags-and-Links">Tags and Links</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-tag-end"><link linkend="cairo-tag-end">cairo_tag_end</link>, function in <link linkend="cairo-Tags-and-Links">Tags and Links</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-TAG-LINK:CAPS"><link linkend="CAIRO-TAG-LINK:CAPS">CAIRO_TAG_LINK</link>, macro in <link linkend="cairo-Tags-and-Links">Tags and Links</link></primaryie></indexentry> +</indexdiv> +</indexdiv> diff --git a/libs/cairo-1.16.0/doc/public/xml/api-index-1.2.xml b/libs/cairo-1.16.0/doc/public/xml/api-index-1.2.xml new file mode 100644 index 0000000..144d870 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/api-index-1.2.xml @@ -0,0 +1,78 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<indexdiv id="api-index-1.2"> +<indexdiv><title>F</title> +<indexentry><primaryie linkends="cairo-font-face-get-type"><link linkend="cairo-font-face-get-type">cairo_font_face_get_type</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-type-t"><link linkend="cairo-font-type-t">cairo_font_type_t</link>, enum in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>G</title> +<indexentry><primaryie linkends="cairo-get-group-target"><link linkend="cairo-get-group-target">cairo_get_group_target</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>H</title> +<indexentry><primaryie linkends="CAIRO-HAS-PDF-SURFACE:CAPS"><link linkend="CAIRO-HAS-PDF-SURFACE:CAPS">CAIRO_HAS_PDF_SURFACE</link>, macro in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-PS-SURFACE:CAPS"><link linkend="CAIRO-HAS-PS-SURFACE:CAPS">CAIRO_HAS_PS_SURFACE</link>, macro in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-SVG-SURFACE:CAPS"><link linkend="CAIRO-HAS-SVG-SURFACE:CAPS">CAIRO_HAS_SVG_SURFACE</link>, macro in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>I</title> +<indexentry><primaryie linkends="cairo-image-surface-get-data"><link linkend="cairo-image-surface-get-data">cairo_image_surface_get_data</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-get-format"><link linkend="cairo-image-surface-get-format">cairo_image_surface_get_format</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-get-stride"><link linkend="cairo-image-surface-get-stride">cairo_image_surface_get_stride</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>N</title> +<indexentry><primaryie linkends="cairo-new-sub-path"><link linkend="cairo-new-sub-path">cairo_new_sub_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>P</title> +<indexentry><primaryie linkends="cairo-pattern-get-type"><link linkend="cairo-pattern-get-type">cairo_pattern_get_type</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-type-t"><link linkend="cairo-pattern-type-t">cairo_pattern_type_t</link>, enum in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-create"><link linkend="cairo-pdf-surface-create">cairo_pdf_surface_create</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-create-for-stream"><link linkend="cairo-pdf-surface-create-for-stream">cairo_pdf_surface_create_for_stream</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-set-size"><link linkend="cairo-pdf-surface-set-size">cairo_pdf_surface_set_size</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pop-group"><link linkend="cairo-pop-group">cairo_pop_group</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pop-group-to-source"><link linkend="cairo-pop-group-to-source">cairo_pop_group_to_source</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-create"><link linkend="cairo-ps-surface-create">cairo_ps_surface_create</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-create-for-stream"><link linkend="cairo-ps-surface-create-for-stream">cairo_ps_surface_create_for_stream</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-dsc-begin-page-setup"><link linkend="cairo-ps-surface-dsc-begin-page-setup">cairo_ps_surface_dsc_begin_page_setup</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-dsc-begin-setup"><link linkend="cairo-ps-surface-dsc-begin-setup">cairo_ps_surface_dsc_begin_setup</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-dsc-comment"><link linkend="cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-set-size"><link linkend="cairo-ps-surface-set-size">cairo_ps_surface_set_size</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-push-group"><link linkend="cairo-push-group">cairo_push_group</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-push-group-with-content"><link linkend="cairo-push-group-with-content">cairo_push_group_with_content</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>S</title> +<indexentry><primaryie linkends="cairo-scaled-font-get-ctm"><link linkend="cairo-scaled-font-get-ctm">cairo_scaled_font_get_ctm</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-font-face"><link linkend="cairo-scaled-font-get-font-face">cairo_scaled_font_get_font_face</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-font-matrix"><link linkend="cairo-scaled-font-get-font-matrix">cairo_scaled_font_get_font_matrix</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-font-options"><link linkend="cairo-scaled-font-get-font-options">cairo_scaled_font_get_font_options</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-type"><link linkend="cairo-scaled-font-get-type">cairo_scaled_font_get_type</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-text-extents"><link linkend="cairo-scaled-font-text-extents">cairo_scaled_font_text_extents</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-scaled-font"><link linkend="cairo-set-scaled-font">cairo_set_scaled_font</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-content"><link linkend="cairo-surface-get-content">cairo_surface_get_content</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-device-offset"><link linkend="cairo-surface-get-device-offset">cairo_surface_get_device_offset</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-type"><link linkend="cairo-surface-get-type">cairo_surface_get_type</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-set-fallback-resolution"><link linkend="cairo-surface-set-fallback-resolution">cairo_surface_set_fallback_resolution</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-type-t"><link linkend="cairo-surface-type-t">cairo_surface_type_t</link>, enum in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-get-versions"><link linkend="cairo-svg-get-versions">cairo_svg_get_versions</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-surface-create"><link linkend="cairo-svg-surface-create">cairo_svg_surface_create</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-surface-create-for-stream"><link linkend="cairo-svg-surface-create-for-stream">cairo_svg_surface_create_for_stream</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-surface-restrict-to-version"><link linkend="cairo-svg-surface-restrict-to-version">cairo_svg_surface_restrict_to_version</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-version-t"><link linkend="cairo-svg-version-t">cairo_svg_version_t</link>, enum in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-version-to-string"><link linkend="cairo-svg-version-to-string">cairo_svg_version_to_string</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>W</title> +<indexentry><primaryie linkends="cairo-win32-font-face-create-for-hfont"><link linkend="cairo-win32-font-face-create-for-hfont">cairo_win32_font_face_create_for_hfont</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-surface-create-with-dib"><link linkend="cairo-win32-surface-create-with-dib">cairo_win32_surface_create_with_dib</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-surface-get-dc"><link linkend="cairo-win32-surface-get-dc">cairo_win32_surface_get_dc</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>X</title> +<indexentry><primaryie linkends="cairo-xlib-surface-get-depth"><link linkend="cairo-xlib-surface-get-depth">cairo_xlib_surface_get_depth</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-display"><link linkend="cairo-xlib-surface-get-display">cairo_xlib_surface_get_display</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-drawable"><link linkend="cairo-xlib-surface-get-drawable">cairo_xlib_surface_get_drawable</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-height"><link linkend="cairo-xlib-surface-get-height">cairo_xlib_surface_get_height</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-screen"><link linkend="cairo-xlib-surface-get-screen">cairo_xlib_surface_get_screen</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-visual"><link linkend="cairo-xlib-surface-get-visual">cairo_xlib_surface_get_visual</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-width"><link linkend="cairo-xlib-surface-get-width">cairo_xlib_surface_get_width</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +</indexdiv> +</indexdiv> diff --git a/libs/cairo-1.16.0/doc/public/xml/api-index-1.4.xml b/libs/cairo-1.16.0/doc/public/xml/api-index-1.4.xml new file mode 100644 index 0000000..32c51f2 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/api-index-1.4.xml @@ -0,0 +1,50 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<indexdiv id="api-index-1.4"> +<indexdiv><title>C</title> +<indexentry><primaryie linkends="cairo-clip-extents"><link linkend="cairo-clip-extents">cairo_clip_extents</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-copy-clip-rectangle-list"><link linkend="cairo-copy-clip-rectangle-list">cairo_copy_clip_rectangle_list</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>F</title> +<indexentry><primaryie linkends="cairo-font-face-get-reference-count"><link linkend="cairo-font-face-get-reference-count">cairo_font_face_get_reference_count</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>G</title> +<indexentry><primaryie linkends="cairo-get-dash"><link linkend="cairo-get-dash">cairo_get_dash</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-dash-count"><link linkend="cairo-get-dash-count">cairo_get_dash_count</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-reference-count"><link linkend="cairo-get-reference-count">cairo_get_reference_count</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-scaled-font"><link linkend="cairo-get-scaled-font">cairo_get_scaled_font</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-user-data"><link linkend="cairo-get-user-data">cairo_get_user_data</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>P</title> +<indexentry><primaryie linkends="cairo-pattern-get-color-stop-count"><link linkend="cairo-pattern-get-color-stop-count">cairo_pattern_get_color_stop_count</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-color-stop-rgba"><link linkend="cairo-pattern-get-color-stop-rgba">cairo_pattern_get_color_stop_rgba</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-linear-points"><link linkend="cairo-pattern-get-linear-points">cairo_pattern_get_linear_points</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-radial-circles"><link linkend="cairo-pattern-get-radial-circles">cairo_pattern_get_radial_circles</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-reference-count"><link linkend="cairo-pattern-get-reference-count">cairo_pattern_get_reference_count</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-rgba"><link linkend="cairo-pattern-get-rgba">cairo_pattern_get_rgba</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-surface"><link linkend="cairo-pattern-get-surface">cairo_pattern_get_surface</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-user-data"><link linkend="cairo-pattern-get-user-data">cairo_pattern_get_user_data</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-set-user-data"><link linkend="cairo-pattern-set-user-data">cairo_pattern_set_user_data</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>R</title> +<indexentry><primaryie linkends="cairo-rectangle-list-destroy"><link linkend="cairo-rectangle-list-destroy">cairo_rectangle_list_destroy</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rectangle-list-t"><link linkend="cairo-rectangle-list-t">cairo_rectangle_list_t</link>, struct in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rectangle-t"><link linkend="cairo-rectangle-t">cairo_rectangle_t</link>, struct in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>S</title> +<indexentry><primaryie linkends="cairo-scaled-font-get-reference-count"><link linkend="cairo-scaled-font-get-reference-count">cairo_scaled_font_get_reference_count</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-user-data"><link linkend="cairo-scaled-font-get-user-data">cairo_scaled_font_get_user_data</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-set-user-data"><link linkend="cairo-scaled-font-set-user-data">cairo_scaled_font_set_user_data</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-user-data"><link linkend="cairo-set-user-data">cairo_set_user_data</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-reference-count"><link linkend="cairo-surface-get-reference-count">cairo_surface_get_reference_count</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>W</title> +<indexentry><primaryie linkends="cairo-win32-scaled-font-get-device-to-logical"><link linkend="cairo-win32-scaled-font-get-device-to-logical">cairo_win32_scaled_font_get_device_to_logical</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-scaled-font-get-logical-to-device"><link linkend="cairo-win32-scaled-font-get-logical-to-device">cairo_win32_scaled_font_get_logical_to_device</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-surface-create-with-ddb"><link linkend="cairo-win32-surface-create-with-ddb">cairo_win32_surface_create_with_ddb</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-surface-get-image"><link linkend="cairo-win32-surface-get-image">cairo_win32_surface_get_image</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +</indexdiv> +</indexdiv> diff --git a/libs/cairo-1.16.0/doc/public/xml/api-index-1.6.xml b/libs/cairo-1.16.0/doc/public/xml/api-index-1.6.xml new file mode 100644 index 0000000..cd7aa99 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/api-index-1.6.xml @@ -0,0 +1,43 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<indexdiv id="api-index-1.6"> +<indexdiv><title>F</title> +<indexentry><primaryie linkends="cairo-format-stride-for-width"><link linkend="cairo-format-stride-for-width">cairo_format_stride_for_width</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>H</title> +<indexentry><primaryie linkends="cairo-has-current-point"><link linkend="cairo-has-current-point">cairo_has_current_point</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-QUARTZ-FONT:CAPS"><link linkend="CAIRO-HAS-QUARTZ-FONT:CAPS">CAIRO_HAS_QUARTZ_FONT</link>, macro in <link linkend="cairo-Quartz-(CGFont)-Fonts">Quartz (CGFont) Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-QUARTZ-SURFACE:CAPS"><link linkend="CAIRO-HAS-QUARTZ-SURFACE:CAPS">CAIRO_HAS_QUARTZ_SURFACE</link>, macro in <link linkend="cairo-Quartz-Surfaces">Quartz Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-XLIB-XRENDER-SURFACE:CAPS"><link linkend="CAIRO-HAS-XLIB-XRENDER-SURFACE:CAPS">CAIRO_HAS_XLIB_XRENDER_SURFACE</link>, macro in <link linkend="cairo-XLib-XRender-Backend">XLib-XRender Backend</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>P</title> +<indexentry><primaryie linkends="cairo-path-extents"><link linkend="cairo-path-extents">cairo_path_extents</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-get-levels"><link linkend="cairo-ps-get-levels">cairo_ps_get_levels</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-level-t"><link linkend="cairo-ps-level-t">cairo_ps_level_t</link>, enum in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-level-to-string"><link linkend="cairo-ps-level-to-string">cairo_ps_level_to_string</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-get-eps"><link linkend="cairo-ps-surface-get-eps">cairo_ps_surface_get_eps</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-restrict-to-level"><link linkend="cairo-ps-surface-restrict-to-level">cairo_ps_surface_restrict_to_level</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-set-eps"><link linkend="cairo-ps-surface-set-eps">cairo_ps_surface_set_eps</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>Q</title> +<indexentry><primaryie linkends="cairo-quartz-font-face-create-for-atsu-font-id"><link linkend="cairo-quartz-font-face-create-for-atsu-font-id">cairo_quartz_font_face_create_for_atsu_font_id</link>, function in <link linkend="cairo-Quartz-(CGFont)-Fonts">Quartz (CGFont) Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-quartz-font-face-create-for-cgfont"><link linkend="cairo-quartz-font-face-create-for-cgfont">cairo_quartz_font_face_create_for_cgfont</link>, function in <link linkend="cairo-Quartz-(CGFont)-Fonts">Quartz (CGFont) Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-quartz-surface-create"><link linkend="cairo-quartz-surface-create">cairo_quartz_surface_create</link>, function in <link linkend="cairo-Quartz-Surfaces">Quartz Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-quartz-surface-create-for-cg-context"><link linkend="cairo-quartz-surface-create-for-cg-context">cairo_quartz_surface_create_for_cg_context</link>, function in <link linkend="cairo-Quartz-Surfaces">Quartz Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-quartz-surface-get-cg-context"><link linkend="cairo-quartz-surface-get-cg-context">cairo_quartz_surface_get_cg_context</link>, function in <link linkend="cairo-Quartz-Surfaces">Quartz Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>S</title> +<indexentry><primaryie linkends="cairo-surface-copy-page"><link linkend="cairo-surface-copy-page">cairo_surface_copy_page</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-show-page"><link linkend="cairo-surface-show-page">cairo_surface_show_page</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>W</title> +<indexentry><primaryie linkends="cairo-win32-font-face-create-for-logfontw-hfont"><link linkend="cairo-win32-font-face-create-for-logfontw-hfont">cairo_win32_font_face_create_for_logfontw_hfont</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-printing-surface-create"><link linkend="cairo-win32-printing-surface-create">cairo_win32_printing_surface_create</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>X</title> +<indexentry><primaryie linkends="cairo-xlib-surface-get-xrender-format"><link linkend="cairo-xlib-surface-get-xrender-format">cairo_xlib_surface_get_xrender_format</link>, function in <link linkend="cairo-XLib-XRender-Backend">XLib-XRender Backend</link></primaryie></indexentry> +</indexdiv> +</indexdiv> diff --git a/libs/cairo-1.16.0/doc/public/xml/api-index-1.8.xml b/libs/cairo-1.16.0/doc/public/xml/api-index-1.8.xml new file mode 100644 index 0000000..fc9b05e --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/api-index-1.8.xml @@ -0,0 +1,52 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<indexdiv id="api-index-1.8"> +<indexdiv><title>G</title> +<indexentry><primaryie linkends="cairo-glyph-allocate"><link linkend="cairo-glyph-allocate">cairo_glyph_allocate</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-glyph-free"><link linkend="cairo-glyph-free">cairo_glyph_free</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>H</title> +<indexentry><primaryie linkends="CAIRO-HAS-IMAGE-SURFACE:CAPS"><link linkend="CAIRO-HAS-IMAGE-SURFACE:CAPS">CAIRO_HAS_IMAGE_SURFACE</link>, macro in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-USER-FONT:CAPS"><link linkend="CAIRO-HAS-USER-FONT:CAPS">CAIRO_HAS_USER_FONT</link>, macro in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-WIN32-FONT:CAPS"><link linkend="CAIRO-HAS-WIN32-FONT:CAPS">CAIRO_HAS_WIN32_FONT</link>, macro in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>S</title> +<indexentry><primaryie linkends="cairo-scaled-font-get-scale-matrix"><link linkend="cairo-scaled-font-get-scale-matrix">cairo_scaled_font_get_scale_matrix</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-text-to-glyphs"><link linkend="cairo-scaled-font-text-to-glyphs">cairo_scaled_font_text_to_glyphs</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-show-text-glyphs"><link linkend="cairo-show-text-glyphs">cairo_show_text_glyphs</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-fallback-resolution"><link linkend="cairo-surface-get-fallback-resolution">cairo_surface_get_fallback_resolution</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-has-show-text-glyphs"><link linkend="cairo-surface-has-show-text-glyphs">cairo_surface_has_show_text_glyphs</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>T</title> +<indexentry><primaryie linkends="cairo-text-cluster-allocate"><link linkend="cairo-text-cluster-allocate">cairo_text_cluster_allocate</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-cluster-flags-t"><link linkend="cairo-text-cluster-flags-t">cairo_text_cluster_flags_t</link>, enum in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-cluster-free"><link linkend="cairo-text-cluster-free">cairo_text_cluster_free</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-cluster-t"><link linkend="cairo-text-cluster-t">cairo_text_cluster_t</link>, struct in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-toy-font-face-create"><link linkend="cairo-toy-font-face-create">cairo_toy_font_face_create</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-toy-font-face-get-family"><link linkend="cairo-toy-font-face-get-family">cairo_toy_font_face_get_family</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-toy-font-face-get-slant"><link linkend="cairo-toy-font-face-get-slant">cairo_toy_font_face_get_slant</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-toy-font-face-get-weight"><link linkend="cairo-toy-font-face-get-weight">cairo_toy_font_face_get_weight</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>U</title> +<indexentry><primaryie linkends="cairo-user-font-face-create"><link linkend="cairo-user-font-face-create">cairo_user_font_face_create</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-get-init-func"><link linkend="cairo-user-font-face-get-init-func">cairo_user_font_face_get_init_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-get-render-glyph-func"><link linkend="cairo-user-font-face-get-render-glyph-func">cairo_user_font_face_get_render_glyph_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-get-text-to-glyphs-func"><link linkend="cairo-user-font-face-get-text-to-glyphs-func">cairo_user_font_face_get_text_to_glyphs_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-get-unicode-to-glyph-func"><link linkend="cairo-user-font-face-get-unicode-to-glyph-func">cairo_user_font_face_get_unicode_to_glyph_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-set-init-func"><link linkend="cairo-user-font-face-set-init-func">cairo_user_font_face_set_init_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-set-render-glyph-func"><link linkend="cairo-user-font-face-set-render-glyph-func">cairo_user_font_face_set_render_glyph_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-set-text-to-glyphs-func"><link linkend="cairo-user-font-face-set-text-to-glyphs-func">cairo_user_font_face_set_text_to_glyphs_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-set-unicode-to-glyph-func"><link linkend="cairo-user-font-face-set-unicode-to-glyph-func">cairo_user_font_face_set_unicode_to_glyph_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-scaled-font-init-func-t"><link linkend="cairo-user-scaled-font-init-func-t">cairo_user_scaled_font_init_func_t</link>, user_function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-scaled-font-render-glyph-func-t"><link linkend="cairo-user-scaled-font-render-glyph-func-t">cairo_user_scaled_font_render_glyph_func_t</link>, user_function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-scaled-font-text-to-glyphs-func-t"><link linkend="cairo-user-scaled-font-text-to-glyphs-func-t">cairo_user_scaled_font_text_to_glyphs_func_t</link>, user_function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-scaled-font-unicode-to-glyph-func-t"><link linkend="cairo-user-scaled-font-unicode-to-glyph-func-t">cairo_user_scaled_font_unicode_to_glyph_func_t</link>, user_function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>V</title> +<indexentry><primaryie linkends="CAIRO-VERSION-STRING:CAPS"><link linkend="CAIRO-VERSION-STRING:CAPS">CAIRO_VERSION_STRING</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-VERSION-STRINGIZE:CAPS"><link linkend="CAIRO-VERSION-STRINGIZE:CAPS">CAIRO_VERSION_STRINGIZE</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +</indexdiv> +</indexdiv> diff --git a/libs/cairo-1.16.0/doc/public/xml/api-index-TBD.xml b/libs/cairo-1.16.0/doc/public/xml/api-index-TBD.xml new file mode 100644 index 0000000..41821f8 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/api-index-TBD.xml @@ -0,0 +1,7 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<indexdiv id="api-index-TBD"> +</indexdiv> diff --git a/libs/cairo-1.16.0/doc/public/xml/api-index-deprecated.xml b/libs/cairo-1.16.0/doc/public/xml/api-index-deprecated.xml new file mode 100644 index 0000000..4371747 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/api-index-deprecated.xml @@ -0,0 +1,7 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<indexdiv id="api-index-deprecated"> +</indexdiv> diff --git a/libs/cairo-1.16.0/doc/public/xml/api-index-full.xml b/libs/cairo-1.16.0/doc/public/xml/api-index-full.xml new file mode 100644 index 0000000..392867c --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/api-index-full.xml @@ -0,0 +1,578 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<indexdiv id="api-index-full"> +<indexdiv><title>A</title> +<indexentry><primaryie linkends="cairo-antialias-t"><link linkend="cairo-antialias-t">cairo_antialias_t</link>, enum in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-append-path"><link linkend="cairo-append-path">cairo_append_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-arc"><link linkend="cairo-arc">cairo_arc</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-arc-negative"><link linkend="cairo-arc-negative">cairo_arc_negative</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>B</title> +<indexentry><primaryie linkends="cairo-bool-t"><link linkend="cairo-bool-t">cairo_bool_t</link>, typedef in <link linkend="cairo-Types">Types</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>C</title> +<indexentry><primaryie linkends="cairo-clip"><link linkend="cairo-clip">cairo_clip</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-clip-extents"><link linkend="cairo-clip-extents">cairo_clip_extents</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-clip-preserve"><link linkend="cairo-clip-preserve">cairo_clip_preserve</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-close-path"><link linkend="cairo-close-path">cairo_close_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-content-t"><link linkend="cairo-content-t">cairo_content_t</link>, enum in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-copy-clip-rectangle-list"><link linkend="cairo-copy-clip-rectangle-list">cairo_copy_clip_rectangle_list</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-copy-page"><link linkend="cairo-copy-page">cairo_copy_page</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-copy-path"><link linkend="cairo-copy-path">cairo_copy_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-copy-path-flat"><link linkend="cairo-copy-path-flat">cairo_copy_path_flat</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-create"><link linkend="cairo-create">cairo_create</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-curve-to"><link linkend="cairo-curve-to">cairo_curve_to</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>D</title> +<indexentry><primaryie linkends="cairo-debug-reset-static-data"><link linkend="cairo-debug-reset-static-data">cairo_debug_reset_static_data</link>, function in <link linkend="cairo-Error-handling">Error handling</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-destroy"><link linkend="cairo-destroy">cairo_destroy</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-destroy-func-t"><link linkend="cairo-destroy-func-t">cairo_destroy_func_t</link>, user_function in <link linkend="cairo-Types">Types</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-acquire"><link linkend="cairo-device-acquire">cairo_device_acquire</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-destroy"><link linkend="cairo-device-destroy">cairo_device_destroy</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-finish"><link linkend="cairo-device-finish">cairo_device_finish</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-flush"><link linkend="cairo-device-flush">cairo_device_flush</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-get-reference-count"><link linkend="cairo-device-get-reference-count">cairo_device_get_reference_count</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-get-type"><link linkend="cairo-device-get-type">cairo_device_get_type</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-get-user-data"><link linkend="cairo-device-get-user-data">cairo_device_get_user_data</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-observer-elapsed"><link linkend="cairo-device-observer-elapsed">cairo_device_observer_elapsed</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-observer-fill-elapsed"><link linkend="cairo-device-observer-fill-elapsed">cairo_device_observer_fill_elapsed</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-observer-glyphs-elapsed"><link linkend="cairo-device-observer-glyphs-elapsed">cairo_device_observer_glyphs_elapsed</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-observer-mask-elapsed"><link linkend="cairo-device-observer-mask-elapsed">cairo_device_observer_mask_elapsed</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-observer-paint-elapsed"><link linkend="cairo-device-observer-paint-elapsed">cairo_device_observer_paint_elapsed</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-observer-print"><link linkend="cairo-device-observer-print">cairo_device_observer_print</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-observer-stroke-elapsed"><link linkend="cairo-device-observer-stroke-elapsed">cairo_device_observer_stroke_elapsed</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-reference"><link linkend="cairo-device-reference">cairo_device_reference</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-release"><link linkend="cairo-device-release">cairo_device_release</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-set-user-data"><link linkend="cairo-device-set-user-data">cairo_device_set_user_data</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-status"><link linkend="cairo-device-status">cairo_device_status</link>, function in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-t"><link linkend="cairo-device-t">cairo_device_t</link>, typedef in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-to-user"><link linkend="cairo-device-to-user">cairo_device_to_user</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-to-user-distance"><link linkend="cairo-device-to-user-distance">cairo_device_to_user_distance</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-device-type-t"><link linkend="cairo-device-type-t">cairo_device_type_t</link>, enum in <link linkend="cairo-cairo-device-t">cairo_device_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>E</title> +<indexentry><primaryie linkends="cairo-extend-t"><link linkend="cairo-extend-t">cairo_extend_t</link>, enum in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>F</title> +<indexentry><primaryie linkends="cairo-fill"><link linkend="cairo-fill">cairo_fill</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-fill-extents"><link linkend="cairo-fill-extents">cairo_fill_extents</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-fill-preserve"><link linkend="cairo-fill-preserve">cairo_fill_preserve</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-fill-rule-t"><link linkend="cairo-fill-rule-t">cairo_fill_rule_t</link>, enum in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-filter-t"><link linkend="cairo-filter-t">cairo_filter_t</link>, enum in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-extents"><link linkend="cairo-font-extents">cairo_font_extents</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-extents-t"><link linkend="cairo-font-extents-t">cairo_font_extents_t</link>, struct in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-destroy"><link linkend="cairo-font-face-destroy">cairo_font_face_destroy</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-get-reference-count"><link linkend="cairo-font-face-get-reference-count">cairo_font_face_get_reference_count</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-get-type"><link linkend="cairo-font-face-get-type">cairo_font_face_get_type</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-get-user-data"><link linkend="cairo-font-face-get-user-data">cairo_font_face_get_user_data</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-reference"><link linkend="cairo-font-face-reference">cairo_font_face_reference</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-set-user-data"><link linkend="cairo-font-face-set-user-data">cairo_font_face_set_user_data</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-status"><link linkend="cairo-font-face-status">cairo_font_face_status</link>, function in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-face-t"><link linkend="cairo-font-face-t">cairo_font_face_t</link>, typedef in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-copy"><link linkend="cairo-font-options-copy">cairo_font_options_copy</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-create"><link linkend="cairo-font-options-create">cairo_font_options_create</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-destroy"><link linkend="cairo-font-options-destroy">cairo_font_options_destroy</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-equal"><link linkend="cairo-font-options-equal">cairo_font_options_equal</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-get-antialias"><link linkend="cairo-font-options-get-antialias">cairo_font_options_get_antialias</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-get-hint-metrics"><link linkend="cairo-font-options-get-hint-metrics">cairo_font_options_get_hint_metrics</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-get-hint-style"><link linkend="cairo-font-options-get-hint-style">cairo_font_options_get_hint_style</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-get-subpixel-order"><link linkend="cairo-font-options-get-subpixel-order">cairo_font_options_get_subpixel_order</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-get-variations"><link linkend="cairo-font-options-get-variations">cairo_font_options_get_variations</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-hash"><link linkend="cairo-font-options-hash">cairo_font_options_hash</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-merge"><link linkend="cairo-font-options-merge">cairo_font_options_merge</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-set-antialias"><link linkend="cairo-font-options-set-antialias">cairo_font_options_set_antialias</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-set-hint-metrics"><link linkend="cairo-font-options-set-hint-metrics">cairo_font_options_set_hint_metrics</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-set-hint-style"><link linkend="cairo-font-options-set-hint-style">cairo_font_options_set_hint_style</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-set-subpixel-order"><link linkend="cairo-font-options-set-subpixel-order">cairo_font_options_set_subpixel_order</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-set-variations"><link linkend="cairo-font-options-set-variations">cairo_font_options_set_variations</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-status"><link linkend="cairo-font-options-status">cairo_font_options_status</link>, function in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-options-t"><link linkend="cairo-font-options-t">cairo_font_options_t</link>, typedef in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-slant-t"><link linkend="cairo-font-slant-t">cairo_font_slant_t</link>, enum in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-type-t"><link linkend="cairo-font-type-t">cairo_font_type_t</link>, enum in <link linkend="cairo-cairo-font-face-t">cairo_font_face_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-font-weight-t"><link linkend="cairo-font-weight-t">cairo_font_weight_t</link>, enum in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-format-stride-for-width"><link linkend="cairo-format-stride-for-width">cairo_format_stride_for_width</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-format-t"><link linkend="cairo-format-t">cairo_format_t</link>, enum in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-font-face-create-for-ft-face"><link linkend="cairo-ft-font-face-create-for-ft-face">cairo_ft_font_face_create_for_ft_face</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-font-face-create-for-pattern"><link linkend="cairo-ft-font-face-create-for-pattern">cairo_ft_font_face_create_for_pattern</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-font-face-get-synthesize"><link linkend="cairo-ft-font-face-get-synthesize">cairo_ft_font_face_get_synthesize</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-font-face-set-synthesize"><link linkend="cairo-ft-font-face-set-synthesize">cairo_ft_font_face_set_synthesize</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-font-face-unset-synthesize"><link linkend="cairo-ft-font-face-unset-synthesize">cairo_ft_font_face_unset_synthesize</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-font-options-substitute"><link linkend="cairo-ft-font-options-substitute">cairo_ft_font_options_substitute</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-scaled-font-lock-face"><link linkend="cairo-ft-scaled-font-lock-face">cairo_ft_scaled_font_lock_face</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-scaled-font-unlock-face"><link linkend="cairo-ft-scaled-font-unlock-face">cairo_ft_scaled_font_unlock_face</link>, function in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ft-synthesize-t"><link linkend="cairo-ft-synthesize-t">cairo_ft_synthesize_t</link>, enum in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>G</title> +<indexentry><primaryie linkends="cairo-get-antialias"><link linkend="cairo-get-antialias">cairo_get_antialias</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-current-point"><link linkend="cairo-get-current-point">cairo_get_current_point</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-dash"><link linkend="cairo-get-dash">cairo_get_dash</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-dash-count"><link linkend="cairo-get-dash-count">cairo_get_dash_count</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-fill-rule"><link linkend="cairo-get-fill-rule">cairo_get_fill_rule</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-font-face"><link linkend="cairo-get-font-face">cairo_get_font_face</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-font-matrix"><link linkend="cairo-get-font-matrix">cairo_get_font_matrix</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-font-options"><link linkend="cairo-get-font-options">cairo_get_font_options</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-group-target"><link linkend="cairo-get-group-target">cairo_get_group_target</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-line-cap"><link linkend="cairo-get-line-cap">cairo_get_line_cap</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-line-join"><link linkend="cairo-get-line-join">cairo_get_line_join</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-line-width"><link linkend="cairo-get-line-width">cairo_get_line_width</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-matrix"><link linkend="cairo-get-matrix">cairo_get_matrix</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-miter-limit"><link linkend="cairo-get-miter-limit">cairo_get_miter_limit</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-operator"><link linkend="cairo-get-operator">cairo_get_operator</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-reference-count"><link linkend="cairo-get-reference-count">cairo_get_reference_count</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-scaled-font"><link linkend="cairo-get-scaled-font">cairo_get_scaled_font</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-source"><link linkend="cairo-get-source">cairo_get_source</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-target"><link linkend="cairo-get-target">cairo_get_target</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-tolerance"><link linkend="cairo-get-tolerance">cairo_get_tolerance</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-get-user-data"><link linkend="cairo-get-user-data">cairo_get_user_data</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-glyph-allocate"><link linkend="cairo-glyph-allocate">cairo_glyph_allocate</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-glyph-extents"><link linkend="cairo-glyph-extents">cairo_glyph_extents</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-glyph-free"><link linkend="cairo-glyph-free">cairo_glyph_free</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-glyph-path"><link linkend="cairo-glyph-path">cairo_glyph_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-glyph-t"><link linkend="cairo-glyph-t">cairo_glyph_t</link>, struct in <link linkend="cairo-text">text</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>H</title> +<indexentry><primaryie linkends="cairo-has-current-point"><link linkend="cairo-has-current-point">cairo_has_current_point</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-FC-FONT:CAPS"><link linkend="CAIRO-HAS-FC-FONT:CAPS">CAIRO_HAS_FC_FONT</link>, macro in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-FT-FONT:CAPS"><link linkend="CAIRO-HAS-FT-FONT:CAPS">CAIRO_HAS_FT_FONT</link>, macro in <link linkend="cairo-FreeType-Fonts">FreeType Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-IMAGE-SURFACE:CAPS"><link linkend="CAIRO-HAS-IMAGE-SURFACE:CAPS">CAIRO_HAS_IMAGE_SURFACE</link>, macro in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-MIME-SURFACE:CAPS"><link linkend="CAIRO-HAS-MIME-SURFACE:CAPS">CAIRO_HAS_MIME_SURFACE</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-OBSERVER-SURFACE:CAPS"><link linkend="CAIRO-HAS-OBSERVER-SURFACE:CAPS">CAIRO_HAS_OBSERVER_SURFACE</link>, macro in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-PDF-SURFACE:CAPS"><link linkend="CAIRO-HAS-PDF-SURFACE:CAPS">CAIRO_HAS_PDF_SURFACE</link>, macro in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-PNG-FUNCTIONS:CAPS"><link linkend="CAIRO-HAS-PNG-FUNCTIONS:CAPS">CAIRO_HAS_PNG_FUNCTIONS</link>, macro in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-PS-SURFACE:CAPS"><link linkend="CAIRO-HAS-PS-SURFACE:CAPS">CAIRO_HAS_PS_SURFACE</link>, macro in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-QUARTZ-FONT:CAPS"><link linkend="CAIRO-HAS-QUARTZ-FONT:CAPS">CAIRO_HAS_QUARTZ_FONT</link>, macro in <link linkend="cairo-Quartz-(CGFont)-Fonts">Quartz (CGFont) Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-QUARTZ-SURFACE:CAPS"><link linkend="CAIRO-HAS-QUARTZ-SURFACE:CAPS">CAIRO_HAS_QUARTZ_SURFACE</link>, macro in <link linkend="cairo-Quartz-Surfaces">Quartz Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-RECORDING-SURFACE:CAPS"><link linkend="CAIRO-HAS-RECORDING-SURFACE:CAPS">CAIRO_HAS_RECORDING_SURFACE</link>, macro in <link linkend="cairo-Recording-Surfaces">Recording Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-SCRIPT-SURFACE:CAPS"><link linkend="CAIRO-HAS-SCRIPT-SURFACE:CAPS">CAIRO_HAS_SCRIPT_SURFACE</link>, macro in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-SVG-SURFACE:CAPS"><link linkend="CAIRO-HAS-SVG-SURFACE:CAPS">CAIRO_HAS_SVG_SURFACE</link>, macro in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-USER-FONT:CAPS"><link linkend="CAIRO-HAS-USER-FONT:CAPS">CAIRO_HAS_USER_FONT</link>, macro in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-WIN32-FONT:CAPS"><link linkend="CAIRO-HAS-WIN32-FONT:CAPS">CAIRO_HAS_WIN32_FONT</link>, macro in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-WIN32-SURFACE:CAPS"><link linkend="CAIRO-HAS-WIN32-SURFACE:CAPS">CAIRO_HAS_WIN32_SURFACE</link>, macro in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-XCB-SHM-FUNCTIONS:CAPS"><link linkend="CAIRO-HAS-XCB-SHM-FUNCTIONS:CAPS">CAIRO_HAS_XCB_SHM_FUNCTIONS</link>, macro in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-XCB-SURFACE:CAPS"><link linkend="CAIRO-HAS-XCB-SURFACE:CAPS">CAIRO_HAS_XCB_SURFACE</link>, macro in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-XLIB-SURFACE:CAPS"><link linkend="CAIRO-HAS-XLIB-SURFACE:CAPS">CAIRO_HAS_XLIB_SURFACE</link>, macro in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-HAS-XLIB-XRENDER-SURFACE:CAPS"><link linkend="CAIRO-HAS-XLIB-XRENDER-SURFACE:CAPS">CAIRO_HAS_XLIB_XRENDER_SURFACE</link>, macro in <link linkend="cairo-XLib-XRender-Backend">XLib-XRender Backend</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-hint-metrics-t"><link linkend="cairo-hint-metrics-t">cairo_hint_metrics_t</link>, enum in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-hint-style-t"><link linkend="cairo-hint-style-t">cairo_hint_style_t</link>, enum in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>I</title> +<indexentry><primaryie linkends="cairo-identity-matrix"><link linkend="cairo-identity-matrix">cairo_identity_matrix</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-create"><link linkend="cairo-image-surface-create">cairo_image_surface_create</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-create-for-data"><link linkend="cairo-image-surface-create-for-data">cairo_image_surface_create_for_data</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-create-from-png"><link linkend="cairo-image-surface-create-from-png">cairo_image_surface_create_from_png</link>, function in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-create-from-png-stream"><link linkend="cairo-image-surface-create-from-png-stream">cairo_image_surface_create_from_png_stream</link>, function in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-get-data"><link linkend="cairo-image-surface-get-data">cairo_image_surface_get_data</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-get-format"><link linkend="cairo-image-surface-get-format">cairo_image_surface_get_format</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-get-height"><link linkend="cairo-image-surface-get-height">cairo_image_surface_get_height</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-get-stride"><link linkend="cairo-image-surface-get-stride">cairo_image_surface_get_stride</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-image-surface-get-width"><link linkend="cairo-image-surface-get-width">cairo_image_surface_get_width</link>, function in <link linkend="cairo-Image-Surfaces">Image Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-in-clip"><link linkend="cairo-in-clip">cairo_in_clip</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-in-fill"><link linkend="cairo-in-fill">cairo_in_fill</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-in-stroke"><link linkend="cairo-in-stroke">cairo_in_stroke</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>L</title> +<indexentry><primaryie linkends="cairo-line-cap-t"><link linkend="cairo-line-cap-t">cairo_line_cap_t</link>, enum in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-line-join-t"><link linkend="cairo-line-join-t">cairo_line_join_t</link>, enum in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-line-to"><link linkend="cairo-line-to">cairo_line_to</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>M</title> +<indexentry><primaryie linkends="cairo-mask"><link linkend="cairo-mask">cairo_mask</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mask-surface"><link linkend="cairo-mask-surface">cairo_mask_surface</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-init"><link linkend="cairo-matrix-init">cairo_matrix_init</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-init-identity"><link linkend="cairo-matrix-init-identity">cairo_matrix_init_identity</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-init-rotate"><link linkend="cairo-matrix-init-rotate">cairo_matrix_init_rotate</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-init-scale"><link linkend="cairo-matrix-init-scale">cairo_matrix_init_scale</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-init-translate"><link linkend="cairo-matrix-init-translate">cairo_matrix_init_translate</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-invert"><link linkend="cairo-matrix-invert">cairo_matrix_invert</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-multiply"><link linkend="cairo-matrix-multiply">cairo_matrix_multiply</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-rotate"><link linkend="cairo-matrix-rotate">cairo_matrix_rotate</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-scale"><link linkend="cairo-matrix-scale">cairo_matrix_scale</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-t"><link linkend="cairo-matrix-t">cairo_matrix_t</link>, struct in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-transform-distance"><link linkend="cairo-matrix-transform-distance">cairo_matrix_transform_distance</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-transform-point"><link linkend="cairo-matrix-transform-point">cairo_matrix_transform_point</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-matrix-translate"><link linkend="cairo-matrix-translate">cairo_matrix_translate</link>, function in <link linkend="cairo-cairo-matrix-t">cairo_matrix_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-begin-patch"><link linkend="cairo-mesh-pattern-begin-patch">cairo_mesh_pattern_begin_patch</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-curve-to"><link linkend="cairo-mesh-pattern-curve-to">cairo_mesh_pattern_curve_to</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-end-patch"><link linkend="cairo-mesh-pattern-end-patch">cairo_mesh_pattern_end_patch</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-get-control-point"><link linkend="cairo-mesh-pattern-get-control-point">cairo_mesh_pattern_get_control_point</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-get-corner-color-rgba"><link linkend="cairo-mesh-pattern-get-corner-color-rgba">cairo_mesh_pattern_get_corner_color_rgba</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-get-patch-count"><link linkend="cairo-mesh-pattern-get-patch-count">cairo_mesh_pattern_get_patch_count</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-get-path"><link linkend="cairo-mesh-pattern-get-path">cairo_mesh_pattern_get_path</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-line-to"><link linkend="cairo-mesh-pattern-line-to">cairo_mesh_pattern_line_to</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-move-to"><link linkend="cairo-mesh-pattern-move-to">cairo_mesh_pattern_move_to</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-set-control-point"><link linkend="cairo-mesh-pattern-set-control-point">cairo_mesh_pattern_set_control_point</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-set-corner-color-rgb"><link linkend="cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-mesh-pattern-set-corner-color-rgba"><link linkend="cairo-mesh-pattern-set-corner-color-rgba">cairo_mesh_pattern_set_corner_color_rgba</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-CCITT-FAX:CAPS"><link linkend="CAIRO-MIME-TYPE-CCITT-FAX:CAPS">CAIRO_MIME_TYPE_CCITT_FAX</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"><link linkend="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-EPS:CAPS"><link linkend="CAIRO-MIME-TYPE-EPS:CAPS">CAIRO_MIME_TYPE_EPS</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS"><link linkend="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS">CAIRO_MIME_TYPE_EPS_PARAMS</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-JBIG2:CAPS"><link linkend="CAIRO-MIME-TYPE-JBIG2:CAPS">CAIRO_MIME_TYPE_JBIG2</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS"><link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS">CAIRO_MIME_TYPE_JBIG2_GLOBAL</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS"><link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-JP2:CAPS"><link linkend="CAIRO-MIME-TYPE-JP2:CAPS">CAIRO_MIME_TYPE_JP2</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-JPEG:CAPS"><link linkend="CAIRO-MIME-TYPE-JPEG:CAPS">CAIRO_MIME_TYPE_JPEG</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-PNG:CAPS"><link linkend="CAIRO-MIME-TYPE-PNG:CAPS">CAIRO_MIME_TYPE_PNG</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS"><link linkend="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS">CAIRO_MIME_TYPE_UNIQUE_ID</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-MIME-TYPE-URI:CAPS"><link linkend="CAIRO-MIME-TYPE-URI:CAPS">CAIRO_MIME_TYPE_URI</link>, macro in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-move-to"><link linkend="cairo-move-to">cairo_move_to</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>N</title> +<indexentry><primaryie linkends="cairo-new-path"><link linkend="cairo-new-path">cairo_new_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-new-sub-path"><link linkend="cairo-new-sub-path">cairo_new_sub_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>O</title> +<indexentry><primaryie linkends="cairo-operator-t"><link linkend="cairo-operator-t">cairo_operator_t</link>, enum in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>P</title> +<indexentry><primaryie linkends="cairo-paint"><link linkend="cairo-paint">cairo_paint</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-paint-with-alpha"><link linkend="cairo-paint-with-alpha">cairo_paint_with_alpha</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-path-data-t"><link linkend="cairo-path-data-t">cairo_path_data_t</link>, union in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-path-data-type-t"><link linkend="cairo-path-data-type-t">cairo_path_data_type_t</link>, enum in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-path-destroy"><link linkend="cairo-path-destroy">cairo_path_destroy</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-path-extents"><link linkend="cairo-path-extents">cairo_path_extents</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-path-t"><link linkend="cairo-path-t">cairo_path_t</link>, struct in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-add-color-stop-rgb"><link linkend="cairo-pattern-add-color-stop-rgb">cairo_pattern_add_color_stop_rgb</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-add-color-stop-rgba"><link linkend="cairo-pattern-add-color-stop-rgba">cairo_pattern_add_color_stop_rgba</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-for-surface"><link linkend="cairo-pattern-create-for-surface">cairo_pattern_create_for_surface</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-linear"><link linkend="cairo-pattern-create-linear">cairo_pattern_create_linear</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-mesh"><link linkend="cairo-pattern-create-mesh">cairo_pattern_create_mesh</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-radial"><link linkend="cairo-pattern-create-radial">cairo_pattern_create_radial</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-raster-source"><link linkend="cairo-pattern-create-raster-source">cairo_pattern_create_raster_source</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-rgb"><link linkend="cairo-pattern-create-rgb">cairo_pattern_create_rgb</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-create-rgba"><link linkend="cairo-pattern-create-rgba">cairo_pattern_create_rgba</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-destroy"><link linkend="cairo-pattern-destroy">cairo_pattern_destroy</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-color-stop-count"><link linkend="cairo-pattern-get-color-stop-count">cairo_pattern_get_color_stop_count</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-color-stop-rgba"><link linkend="cairo-pattern-get-color-stop-rgba">cairo_pattern_get_color_stop_rgba</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-extend"><link linkend="cairo-pattern-get-extend">cairo_pattern_get_extend</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-filter"><link linkend="cairo-pattern-get-filter">cairo_pattern_get_filter</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-linear-points"><link linkend="cairo-pattern-get-linear-points">cairo_pattern_get_linear_points</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-matrix"><link linkend="cairo-pattern-get-matrix">cairo_pattern_get_matrix</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-radial-circles"><link linkend="cairo-pattern-get-radial-circles">cairo_pattern_get_radial_circles</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-reference-count"><link linkend="cairo-pattern-get-reference-count">cairo_pattern_get_reference_count</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-rgba"><link linkend="cairo-pattern-get-rgba">cairo_pattern_get_rgba</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-surface"><link linkend="cairo-pattern-get-surface">cairo_pattern_get_surface</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-type"><link linkend="cairo-pattern-get-type">cairo_pattern_get_type</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-get-user-data"><link linkend="cairo-pattern-get-user-data">cairo_pattern_get_user_data</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-reference"><link linkend="cairo-pattern-reference">cairo_pattern_reference</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-set-extend"><link linkend="cairo-pattern-set-extend">cairo_pattern_set_extend</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-set-filter"><link linkend="cairo-pattern-set-filter">cairo_pattern_set_filter</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-set-matrix"><link linkend="cairo-pattern-set-matrix">cairo_pattern_set_matrix</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-set-user-data"><link linkend="cairo-pattern-set-user-data">cairo_pattern_set_user_data</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-status"><link linkend="cairo-pattern-status">cairo_pattern_status</link>, function in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-t"><link linkend="cairo-pattern-t">cairo_pattern_t</link>, typedef in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pattern-type-t"><link linkend="cairo-pattern-type-t">cairo_pattern_type_t</link>, enum in <link linkend="cairo-cairo-pattern-t">cairo_pattern_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-get-versions"><link linkend="cairo-pdf-get-versions">cairo_pdf_get_versions</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-metadata-t"><link linkend="cairo-pdf-metadata-t">cairo_pdf_metadata_t</link>, enum in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-outline-flags-t"><link linkend="cairo-pdf-outline-flags-t">cairo_pdf_outline_flags_t</link>, enum in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-PDF-OUTLINE-ROOT:CAPS"><link linkend="CAIRO-PDF-OUTLINE-ROOT:CAPS">CAIRO_PDF_OUTLINE_ROOT</link>, macro in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-add-outline"><link linkend="cairo-pdf-surface-add-outline">cairo_pdf_surface_add_outline</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-create"><link linkend="cairo-pdf-surface-create">cairo_pdf_surface_create</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-create-for-stream"><link linkend="cairo-pdf-surface-create-for-stream">cairo_pdf_surface_create_for_stream</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-restrict-to-version"><link linkend="cairo-pdf-surface-restrict-to-version">cairo_pdf_surface_restrict_to_version</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-set-metadata"><link linkend="cairo-pdf-surface-set-metadata">cairo_pdf_surface_set_metadata</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-set-page-label"><link linkend="cairo-pdf-surface-set-page-label">cairo_pdf_surface_set_page_label</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-set-size"><link linkend="cairo-pdf-surface-set-size">cairo_pdf_surface_set_size</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-surface-set-thumbnail-size"><link linkend="cairo-pdf-surface-set-thumbnail-size">cairo_pdf_surface_set_thumbnail_size</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-version-t"><link linkend="cairo-pdf-version-t">cairo_pdf_version_t</link>, enum in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pdf-version-to-string"><link linkend="cairo-pdf-version-to-string">cairo_pdf_version_to_string</link>, function in <link linkend="cairo-PDF-Surfaces">PDF Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pop-group"><link linkend="cairo-pop-group">cairo_pop_group</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-pop-group-to-source"><link linkend="cairo-pop-group-to-source">cairo_pop_group_to_source</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-get-levels"><link linkend="cairo-ps-get-levels">cairo_ps_get_levels</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-level-t"><link linkend="cairo-ps-level-t">cairo_ps_level_t</link>, enum in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-level-to-string"><link linkend="cairo-ps-level-to-string">cairo_ps_level_to_string</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-create"><link linkend="cairo-ps-surface-create">cairo_ps_surface_create</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-create-for-stream"><link linkend="cairo-ps-surface-create-for-stream">cairo_ps_surface_create_for_stream</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-dsc-begin-page-setup"><link linkend="cairo-ps-surface-dsc-begin-page-setup">cairo_ps_surface_dsc_begin_page_setup</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-dsc-begin-setup"><link linkend="cairo-ps-surface-dsc-begin-setup">cairo_ps_surface_dsc_begin_setup</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-dsc-comment"><link linkend="cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-get-eps"><link linkend="cairo-ps-surface-get-eps">cairo_ps_surface_get_eps</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-restrict-to-level"><link linkend="cairo-ps-surface-restrict-to-level">cairo_ps_surface_restrict_to_level</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-set-eps"><link linkend="cairo-ps-surface-set-eps">cairo_ps_surface_set_eps</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-ps-surface-set-size"><link linkend="cairo-ps-surface-set-size">cairo_ps_surface_set_size</link>, function in <link linkend="cairo-PostScript-Surfaces">PostScript Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-push-group"><link linkend="cairo-push-group">cairo_push_group</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-push-group-with-content"><link linkend="cairo-push-group-with-content">cairo_push_group_with_content</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>Q</title> +<indexentry><primaryie linkends="cairo-quartz-font-face-create-for-atsu-font-id"><link linkend="cairo-quartz-font-face-create-for-atsu-font-id">cairo_quartz_font_face_create_for_atsu_font_id</link>, function in <link linkend="cairo-Quartz-(CGFont)-Fonts">Quartz (CGFont) Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-quartz-font-face-create-for-cgfont"><link linkend="cairo-quartz-font-face-create-for-cgfont">cairo_quartz_font_face_create_for_cgfont</link>, function in <link linkend="cairo-Quartz-(CGFont)-Fonts">Quartz (CGFont) Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-quartz-surface-create"><link linkend="cairo-quartz-surface-create">cairo_quartz_surface_create</link>, function in <link linkend="cairo-Quartz-Surfaces">Quartz Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-quartz-surface-create-for-cg-context"><link linkend="cairo-quartz-surface-create-for-cg-context">cairo_quartz_surface_create_for_cg_context</link>, function in <link linkend="cairo-Quartz-Surfaces">Quartz Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-quartz-surface-get-cg-context"><link linkend="cairo-quartz-surface-get-cg-context">cairo_quartz_surface_get_cg_context</link>, function in <link linkend="cairo-Quartz-Surfaces">Quartz Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>R</title> +<indexentry><primaryie linkends="cairo-raster-source-acquire-func-t"><link linkend="cairo-raster-source-acquire-func-t">cairo_raster_source_acquire_func_t</link>, user_function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-copy-func-t"><link linkend="cairo-raster-source-copy-func-t">cairo_raster_source_copy_func_t</link>, user_function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-finish-func-t"><link linkend="cairo-raster-source-finish-func-t">cairo_raster_source_finish_func_t</link>, user_function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-get-acquire"><link linkend="cairo-raster-source-pattern-get-acquire">cairo_raster_source_pattern_get_acquire</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-get-callback-data"><link linkend="cairo-raster-source-pattern-get-callback-data">cairo_raster_source_pattern_get_callback_data</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-get-copy"><link linkend="cairo-raster-source-pattern-get-copy">cairo_raster_source_pattern_get_copy</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-get-finish"><link linkend="cairo-raster-source-pattern-get-finish">cairo_raster_source_pattern_get_finish</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-get-snapshot"><link linkend="cairo-raster-source-pattern-get-snapshot">cairo_raster_source_pattern_get_snapshot</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-set-acquire"><link linkend="cairo-raster-source-pattern-set-acquire">cairo_raster_source_pattern_set_acquire</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-set-callback-data"><link linkend="cairo-raster-source-pattern-set-callback-data">cairo_raster_source_pattern_set_callback_data</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-set-copy"><link linkend="cairo-raster-source-pattern-set-copy">cairo_raster_source_pattern_set_copy</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-set-finish"><link linkend="cairo-raster-source-pattern-set-finish">cairo_raster_source_pattern_set_finish</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-pattern-set-snapshot"><link linkend="cairo-raster-source-pattern-set-snapshot">cairo_raster_source_pattern_set_snapshot</link>, function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-release-func-t"><link linkend="cairo-raster-source-release-func-t">cairo_raster_source_release_func_t</link>, user_function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-raster-source-snapshot-func-t"><link linkend="cairo-raster-source-snapshot-func-t">cairo_raster_source_snapshot_func_t</link>, user_function in <link linkend="cairo-Raster-Sources">Raster Sources</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-read-func-t"><link linkend="cairo-read-func-t">cairo_read_func_t</link>, user_function in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-recording-surface-create"><link linkend="cairo-recording-surface-create">cairo_recording_surface_create</link>, function in <link linkend="cairo-Recording-Surfaces">Recording Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-recording-surface-get-extents"><link linkend="cairo-recording-surface-get-extents">cairo_recording_surface_get_extents</link>, function in <link linkend="cairo-Recording-Surfaces">Recording Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-recording-surface-ink-extents"><link linkend="cairo-recording-surface-ink-extents">cairo_recording_surface_ink_extents</link>, function in <link linkend="cairo-Recording-Surfaces">Recording Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rectangle"><link linkend="cairo-rectangle">cairo_rectangle</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rectangle-int-t"><link linkend="cairo-rectangle-int-t">cairo_rectangle_int_t</link>, struct in <link linkend="cairo-Types">Types</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rectangle-list-destroy"><link linkend="cairo-rectangle-list-destroy">cairo_rectangle_list_destroy</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rectangle-list-t"><link linkend="cairo-rectangle-list-t">cairo_rectangle_list_t</link>, struct in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rectangle-t"><link linkend="cairo-rectangle-t">cairo_rectangle_t</link>, struct in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-reference"><link linkend="cairo-reference">cairo_reference</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-contains-point"><link linkend="cairo-region-contains-point">cairo_region_contains_point</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-contains-rectangle"><link linkend="cairo-region-contains-rectangle">cairo_region_contains_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-copy"><link linkend="cairo-region-copy">cairo_region_copy</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-create"><link linkend="cairo-region-create">cairo_region_create</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-create-rectangle"><link linkend="cairo-region-create-rectangle">cairo_region_create_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-create-rectangles"><link linkend="cairo-region-create-rectangles">cairo_region_create_rectangles</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-destroy"><link linkend="cairo-region-destroy">cairo_region_destroy</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-equal"><link linkend="cairo-region-equal">cairo_region_equal</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-get-extents"><link linkend="cairo-region-get-extents">cairo_region_get_extents</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-get-rectangle"><link linkend="cairo-region-get-rectangle">cairo_region_get_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-intersect"><link linkend="cairo-region-intersect">cairo_region_intersect</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-intersect-rectangle"><link linkend="cairo-region-intersect-rectangle">cairo_region_intersect_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-is-empty"><link linkend="cairo-region-is-empty">cairo_region_is_empty</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-num-rectangles"><link linkend="cairo-region-num-rectangles">cairo_region_num_rectangles</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-overlap-t"><link linkend="cairo-region-overlap-t">cairo_region_overlap_t</link>, enum in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-reference"><link linkend="cairo-region-reference">cairo_region_reference</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-status"><link linkend="cairo-region-status">cairo_region_status</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-subtract"><link linkend="cairo-region-subtract">cairo_region_subtract</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-subtract-rectangle"><link linkend="cairo-region-subtract-rectangle">cairo_region_subtract_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-t"><link linkend="cairo-region-t">cairo_region_t</link>, typedef in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-translate"><link linkend="cairo-region-translate">cairo_region_translate</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-union"><link linkend="cairo-region-union">cairo_region_union</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-union-rectangle"><link linkend="cairo-region-union-rectangle">cairo_region_union_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-xor"><link linkend="cairo-region-xor">cairo_region_xor</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-region-xor-rectangle"><link linkend="cairo-region-xor-rectangle">cairo_region_xor_rectangle</link>, function in <link linkend="cairo-Regions">Regions</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rel-curve-to"><link linkend="cairo-rel-curve-to">cairo_rel_curve_to</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rel-line-to"><link linkend="cairo-rel-line-to">cairo_rel_line_to</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rel-move-to"><link linkend="cairo-rel-move-to">cairo_rel_move_to</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-reset-clip"><link linkend="cairo-reset-clip">cairo_reset_clip</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-restore"><link linkend="cairo-restore">cairo_restore</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-rotate"><link linkend="cairo-rotate">cairo_rotate</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>S</title> +<indexentry><primaryie linkends="cairo-save"><link linkend="cairo-save">cairo_save</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scale"><link linkend="cairo-scale">cairo_scale</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-create"><link linkend="cairo-scaled-font-create">cairo_scaled_font_create</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-destroy"><link linkend="cairo-scaled-font-destroy">cairo_scaled_font_destroy</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-extents"><link linkend="cairo-scaled-font-extents">cairo_scaled_font_extents</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-ctm"><link linkend="cairo-scaled-font-get-ctm">cairo_scaled_font_get_ctm</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-font-face"><link linkend="cairo-scaled-font-get-font-face">cairo_scaled_font_get_font_face</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-font-matrix"><link linkend="cairo-scaled-font-get-font-matrix">cairo_scaled_font_get_font_matrix</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-font-options"><link linkend="cairo-scaled-font-get-font-options">cairo_scaled_font_get_font_options</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-reference-count"><link linkend="cairo-scaled-font-get-reference-count">cairo_scaled_font_get_reference_count</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-scale-matrix"><link linkend="cairo-scaled-font-get-scale-matrix">cairo_scaled_font_get_scale_matrix</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-type"><link linkend="cairo-scaled-font-get-type">cairo_scaled_font_get_type</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-get-user-data"><link linkend="cairo-scaled-font-get-user-data">cairo_scaled_font_get_user_data</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-glyph-extents"><link linkend="cairo-scaled-font-glyph-extents">cairo_scaled_font_glyph_extents</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-reference"><link linkend="cairo-scaled-font-reference">cairo_scaled_font_reference</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-set-user-data"><link linkend="cairo-scaled-font-set-user-data">cairo_scaled_font_set_user_data</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-status"><link linkend="cairo-scaled-font-status">cairo_scaled_font_status</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-t"><link linkend="cairo-scaled-font-t">cairo_scaled_font_t</link>, typedef in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-text-extents"><link linkend="cairo-scaled-font-text-extents">cairo_scaled_font_text_extents</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-scaled-font-text-to-glyphs"><link linkend="cairo-scaled-font-text-to-glyphs">cairo_scaled_font_text_to_glyphs</link>, function in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-create"><link linkend="cairo-script-create">cairo_script_create</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-create-for-stream"><link linkend="cairo-script-create-for-stream">cairo_script_create_for_stream</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-from-recording-surface"><link linkend="cairo-script-from-recording-surface">cairo_script_from_recording_surface</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-get-mode"><link linkend="cairo-script-get-mode">cairo_script_get_mode</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-mode-t"><link linkend="cairo-script-mode-t">cairo_script_mode_t</link>, enum in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-set-mode"><link linkend="cairo-script-set-mode">cairo_script_set_mode</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-surface-create"><link linkend="cairo-script-surface-create">cairo_script_surface_create</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-surface-create-for-target"><link linkend="cairo-script-surface-create-for-target">cairo_script_surface_create_for_target</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-script-write-comment"><link linkend="cairo-script-write-comment">cairo_script_write_comment</link>, function in <link linkend="cairo-Script-Surfaces">Script Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-select-font-face"><link linkend="cairo-select-font-face">cairo_select_font_face</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-antialias"><link linkend="cairo-set-antialias">cairo_set_antialias</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-dash"><link linkend="cairo-set-dash">cairo_set_dash</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-fill-rule"><link linkend="cairo-set-fill-rule">cairo_set_fill_rule</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-font-face"><link linkend="cairo-set-font-face">cairo_set_font_face</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-font-matrix"><link linkend="cairo-set-font-matrix">cairo_set_font_matrix</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-font-options"><link linkend="cairo-set-font-options">cairo_set_font_options</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-font-size"><link linkend="cairo-set-font-size">cairo_set_font_size</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-line-cap"><link linkend="cairo-set-line-cap">cairo_set_line_cap</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-line-join"><link linkend="cairo-set-line-join">cairo_set_line_join</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-line-width"><link linkend="cairo-set-line-width">cairo_set_line_width</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-matrix"><link linkend="cairo-set-matrix">cairo_set_matrix</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-miter-limit"><link linkend="cairo-set-miter-limit">cairo_set_miter_limit</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-operator"><link linkend="cairo-set-operator">cairo_set_operator</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-scaled-font"><link linkend="cairo-set-scaled-font">cairo_set_scaled_font</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-source"><link linkend="cairo-set-source">cairo_set_source</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-source-rgb"><link linkend="cairo-set-source-rgb">cairo_set_source_rgb</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-source-rgba"><link linkend="cairo-set-source-rgba">cairo_set_source_rgba</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-source-surface"><link linkend="cairo-set-source-surface">cairo_set_source_surface</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-tolerance"><link linkend="cairo-set-tolerance">cairo_set_tolerance</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-set-user-data"><link linkend="cairo-set-user-data">cairo_set_user_data</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-show-glyphs"><link linkend="cairo-show-glyphs">cairo_show_glyphs</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-show-page"><link linkend="cairo-show-page">cairo_show_page</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-show-text"><link linkend="cairo-show-text">cairo_show_text</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-show-text-glyphs"><link linkend="cairo-show-text-glyphs">cairo_show_text_glyphs</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-status"><link linkend="cairo-status">cairo_status</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-status-t"><link linkend="cairo-status-t">cairo_status_t</link>, enum in <link linkend="cairo-Error-handling">Error handling</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-status-to-string"><link linkend="cairo-status-to-string">cairo_status_to_string</link>, function in <link linkend="cairo-Error-handling">Error handling</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-stroke"><link linkend="cairo-stroke">cairo_stroke</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-stroke-extents"><link linkend="cairo-stroke-extents">cairo_stroke_extents</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-stroke-preserve"><link linkend="cairo-stroke-preserve">cairo_stroke_preserve</link>, function in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-subpixel-order-t"><link linkend="cairo-subpixel-order-t">cairo_subpixel_order_t</link>, enum in <link linkend="cairo-cairo-font-options-t">cairo_font_options_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-copy-page"><link linkend="cairo-surface-copy-page">cairo_surface_copy_page</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-create-for-rectangle"><link linkend="cairo-surface-create-for-rectangle">cairo_surface_create_for_rectangle</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-create-observer"><link linkend="cairo-surface-create-observer">cairo_surface_create_observer</link>, function in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-create-similar"><link linkend="cairo-surface-create-similar">cairo_surface_create_similar</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-create-similar-image"><link linkend="cairo-surface-create-similar-image">cairo_surface_create_similar_image</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-destroy"><link linkend="cairo-surface-destroy">cairo_surface_destroy</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-finish"><link linkend="cairo-surface-finish">cairo_surface_finish</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-flush"><link linkend="cairo-surface-flush">cairo_surface_flush</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-content"><link linkend="cairo-surface-get-content">cairo_surface_get_content</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-device"><link linkend="cairo-surface-get-device">cairo_surface_get_device</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-device-offset"><link linkend="cairo-surface-get-device-offset">cairo_surface_get_device_offset</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-device-scale"><link linkend="cairo-surface-get-device-scale">cairo_surface_get_device_scale</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-fallback-resolution"><link linkend="cairo-surface-get-fallback-resolution">cairo_surface_get_fallback_resolution</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-font-options"><link linkend="cairo-surface-get-font-options">cairo_surface_get_font_options</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-mime-data"><link linkend="cairo-surface-get-mime-data">cairo_surface_get_mime_data</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-reference-count"><link linkend="cairo-surface-get-reference-count">cairo_surface_get_reference_count</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-type"><link linkend="cairo-surface-get-type">cairo_surface_get_type</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-get-user-data"><link linkend="cairo-surface-get-user-data">cairo_surface_get_user_data</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-has-show-text-glyphs"><link linkend="cairo-surface-has-show-text-glyphs">cairo_surface_has_show_text_glyphs</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-map-to-image"><link linkend="cairo-surface-map-to-image">cairo_surface_map_to_image</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-mark-dirty"><link linkend="cairo-surface-mark-dirty">cairo_surface_mark_dirty</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-mark-dirty-rectangle"><link linkend="cairo-surface-mark-dirty-rectangle">cairo_surface_mark_dirty_rectangle</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-observer-add-fill-callback"><link linkend="cairo-surface-observer-add-fill-callback">cairo_surface_observer_add_fill_callback</link>, function in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-observer-add-finish-callback"><link linkend="cairo-surface-observer-add-finish-callback">cairo_surface_observer_add_finish_callback</link>, function in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-observer-add-flush-callback"><link linkend="cairo-surface-observer-add-flush-callback">cairo_surface_observer_add_flush_callback</link>, function in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-observer-add-glyphs-callback"><link linkend="cairo-surface-observer-add-glyphs-callback">cairo_surface_observer_add_glyphs_callback</link>, function in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-observer-add-mask-callback"><link linkend="cairo-surface-observer-add-mask-callback">cairo_surface_observer_add_mask_callback</link>, function in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-observer-add-paint-callback"><link linkend="cairo-surface-observer-add-paint-callback">cairo_surface_observer_add_paint_callback</link>, function in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-observer-add-stroke-callback"><link linkend="cairo-surface-observer-add-stroke-callback">cairo_surface_observer_add_stroke_callback</link>, function in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-observer-callback-t"><link linkend="cairo-surface-observer-callback-t">cairo_surface_observer_callback_t</link>, user_function in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-observer-elapsed"><link linkend="cairo-surface-observer-elapsed">cairo_surface_observer_elapsed</link>, function in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-observer-mode-t"><link linkend="cairo-surface-observer-mode-t">cairo_surface_observer_mode_t</link>, enum in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-observer-print"><link linkend="cairo-surface-observer-print">cairo_surface_observer_print</link>, function in <link linkend="cairo-cairo-surface-observer">cairo-surface-observer</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-reference"><link linkend="cairo-surface-reference">cairo_surface_reference</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-set-device-offset"><link linkend="cairo-surface-set-device-offset">cairo_surface_set_device_offset</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-set-device-scale"><link linkend="cairo-surface-set-device-scale">cairo_surface_set_device_scale</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-set-fallback-resolution"><link linkend="cairo-surface-set-fallback-resolution">cairo_surface_set_fallback_resolution</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-set-mime-data"><link linkend="cairo-surface-set-mime-data">cairo_surface_set_mime_data</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-set-user-data"><link linkend="cairo-surface-set-user-data">cairo_surface_set_user_data</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-show-page"><link linkend="cairo-surface-show-page">cairo_surface_show_page</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-status"><link linkend="cairo-surface-status">cairo_surface_status</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-supports-mime-type"><link linkend="cairo-surface-supports-mime-type">cairo_surface_supports_mime_type</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-t"><link linkend="cairo-surface-t">cairo_surface_t</link>, typedef in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-type-t"><link linkend="cairo-surface-type-t">cairo_surface_type_t</link>, enum in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-unmap-image"><link linkend="cairo-surface-unmap-image">cairo_surface_unmap_image</link>, function in <link linkend="cairo-cairo-surface-t">cairo_surface_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-write-to-png"><link linkend="cairo-surface-write-to-png">cairo_surface_write_to_png</link>, function in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-surface-write-to-png-stream"><link linkend="cairo-surface-write-to-png-stream">cairo_surface_write_to_png_stream</link>, function in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-get-versions"><link linkend="cairo-svg-get-versions">cairo_svg_get_versions</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-surface-create"><link linkend="cairo-svg-surface-create">cairo_svg_surface_create</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-surface-create-for-stream"><link linkend="cairo-svg-surface-create-for-stream">cairo_svg_surface_create_for_stream</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-surface-get-document-unit"><link linkend="cairo-svg-surface-get-document-unit">cairo_svg_surface_get_document_unit</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-surface-restrict-to-version"><link linkend="cairo-svg-surface-restrict-to-version">cairo_svg_surface_restrict_to_version</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-surface-set-document-unit"><link linkend="cairo-svg-surface-set-document-unit">cairo_svg_surface_set_document_unit</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-unit-t"><link linkend="cairo-svg-unit-t">cairo_svg_unit_t</link>, enum in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-version-t"><link linkend="cairo-svg-version-t">cairo_svg_version_t</link>, enum in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-svg-version-to-string"><link linkend="cairo-svg-version-to-string">cairo_svg_version_to_string</link>, function in <link linkend="cairo-SVG-Surfaces">SVG Surfaces</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>T</title> +<indexentry><primaryie linkends="cairo-t"><link linkend="cairo-t">cairo_t</link>, typedef in <link linkend="cairo-cairo-t">cairo_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-tag-begin"><link linkend="cairo-tag-begin">cairo_tag_begin</link>, function in <link linkend="cairo-Tags-and-Links">Tags and Links</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-TAG-DEST:CAPS"><link linkend="CAIRO-TAG-DEST:CAPS">CAIRO_TAG_DEST</link>, macro in <link linkend="cairo-Tags-and-Links">Tags and Links</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-tag-end"><link linkend="cairo-tag-end">cairo_tag_end</link>, function in <link linkend="cairo-Tags-and-Links">Tags and Links</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-TAG-LINK:CAPS"><link linkend="CAIRO-TAG-LINK:CAPS">CAIRO_TAG_LINK</link>, macro in <link linkend="cairo-Tags-and-Links">Tags and Links</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-cluster-allocate"><link linkend="cairo-text-cluster-allocate">cairo_text_cluster_allocate</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-cluster-flags-t"><link linkend="cairo-text-cluster-flags-t">cairo_text_cluster_flags_t</link>, enum in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-cluster-free"><link linkend="cairo-text-cluster-free">cairo_text_cluster_free</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-cluster-t"><link linkend="cairo-text-cluster-t">cairo_text_cluster_t</link>, struct in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-extents"><link linkend="cairo-text-extents">cairo_text_extents</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-extents-t"><link linkend="cairo-text-extents-t">cairo_text_extents_t</link>, struct in <link linkend="cairo-cairo-scaled-font-t">cairo_scaled_font_t</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-text-path"><link linkend="cairo-text-path">cairo_text_path</link>, function in <link linkend="cairo-Paths">Paths</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-toy-font-face-create"><link linkend="cairo-toy-font-face-create">cairo_toy_font_face_create</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-toy-font-face-get-family"><link linkend="cairo-toy-font-face-get-family">cairo_toy_font_face_get_family</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-toy-font-face-get-slant"><link linkend="cairo-toy-font-face-get-slant">cairo_toy_font_face_get_slant</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-toy-font-face-get-weight"><link linkend="cairo-toy-font-face-get-weight">cairo_toy_font_face_get_weight</link>, function in <link linkend="cairo-text">text</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-transform"><link linkend="cairo-transform">cairo_transform</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-translate"><link linkend="cairo-translate">cairo_translate</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>U</title> +<indexentry><primaryie linkends="cairo-user-data-key-t"><link linkend="cairo-user-data-key-t">cairo_user_data_key_t</link>, struct in <link linkend="cairo-Types">Types</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-create"><link linkend="cairo-user-font-face-create">cairo_user_font_face_create</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-get-init-func"><link linkend="cairo-user-font-face-get-init-func">cairo_user_font_face_get_init_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-get-render-glyph-func"><link linkend="cairo-user-font-face-get-render-glyph-func">cairo_user_font_face_get_render_glyph_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-get-text-to-glyphs-func"><link linkend="cairo-user-font-face-get-text-to-glyphs-func">cairo_user_font_face_get_text_to_glyphs_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-get-unicode-to-glyph-func"><link linkend="cairo-user-font-face-get-unicode-to-glyph-func">cairo_user_font_face_get_unicode_to_glyph_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-set-init-func"><link linkend="cairo-user-font-face-set-init-func">cairo_user_font_face_set_init_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-set-render-glyph-func"><link linkend="cairo-user-font-face-set-render-glyph-func">cairo_user_font_face_set_render_glyph_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-set-text-to-glyphs-func"><link linkend="cairo-user-font-face-set-text-to-glyphs-func">cairo_user_font_face_set_text_to_glyphs_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-font-face-set-unicode-to-glyph-func"><link linkend="cairo-user-font-face-set-unicode-to-glyph-func">cairo_user_font_face_set_unicode_to_glyph_func</link>, function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-scaled-font-init-func-t"><link linkend="cairo-user-scaled-font-init-func-t">cairo_user_scaled_font_init_func_t</link>, user_function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-scaled-font-render-glyph-func-t"><link linkend="cairo-user-scaled-font-render-glyph-func-t">cairo_user_scaled_font_render_glyph_func_t</link>, user_function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-scaled-font-text-to-glyphs-func-t"><link linkend="cairo-user-scaled-font-text-to-glyphs-func-t">cairo_user_scaled_font_text_to_glyphs_func_t</link>, user_function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-scaled-font-unicode-to-glyph-func-t"><link linkend="cairo-user-scaled-font-unicode-to-glyph-func-t">cairo_user_scaled_font_unicode_to_glyph_func_t</link>, user_function in <link linkend="cairo-User-Fonts">User Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-to-device"><link linkend="cairo-user-to-device">cairo_user_to_device</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-user-to-device-distance"><link linkend="cairo-user-to-device-distance">cairo_user_to_device_distance</link>, function in <link linkend="cairo-Transformations">Transformations</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>V</title> +<indexentry><primaryie linkends="CAIRO-VERSION:CAPS"><link linkend="CAIRO-VERSION:CAPS">CAIRO_VERSION</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-version"><link linkend="cairo-version">cairo_version</link>, function in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-VERSION-ENCODE:CAPS"><link linkend="CAIRO-VERSION-ENCODE:CAPS">CAIRO_VERSION_ENCODE</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-VERSION-MAJOR:CAPS"><link linkend="CAIRO-VERSION-MAJOR:CAPS">CAIRO_VERSION_MAJOR</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-VERSION-MICRO:CAPS"><link linkend="CAIRO-VERSION-MICRO:CAPS">CAIRO_VERSION_MICRO</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-VERSION-MINOR:CAPS"><link linkend="CAIRO-VERSION-MINOR:CAPS">CAIRO_VERSION_MINOR</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-VERSION-STRING:CAPS"><link linkend="CAIRO-VERSION-STRING:CAPS">CAIRO_VERSION_STRING</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-version-string"><link linkend="cairo-version-string">cairo_version_string</link>, function in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +<indexentry><primaryie linkends="CAIRO-VERSION-STRINGIZE:CAPS"><link linkend="CAIRO-VERSION-STRINGIZE:CAPS">CAIRO_VERSION_STRINGIZE</link>, macro in <link linkend="cairo-Version-Information">Version Information</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>W</title> +<indexentry><primaryie linkends="cairo-win32-font-face-create-for-hfont"><link linkend="cairo-win32-font-face-create-for-hfont">cairo_win32_font_face_create_for_hfont</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-font-face-create-for-logfontw"><link linkend="cairo-win32-font-face-create-for-logfontw">cairo_win32_font_face_create_for_logfontw</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-font-face-create-for-logfontw-hfont"><link linkend="cairo-win32-font-face-create-for-logfontw-hfont">cairo_win32_font_face_create_for_logfontw_hfont</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-printing-surface-create"><link linkend="cairo-win32-printing-surface-create">cairo_win32_printing_surface_create</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-scaled-font-done-font"><link linkend="cairo-win32-scaled-font-done-font">cairo_win32_scaled_font_done_font</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-scaled-font-get-device-to-logical"><link linkend="cairo-win32-scaled-font-get-device-to-logical">cairo_win32_scaled_font_get_device_to_logical</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-scaled-font-get-logical-to-device"><link linkend="cairo-win32-scaled-font-get-logical-to-device">cairo_win32_scaled_font_get_logical_to_device</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-scaled-font-get-metrics-factor"><link linkend="cairo-win32-scaled-font-get-metrics-factor">cairo_win32_scaled_font_get_metrics_factor</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-scaled-font-select-font"><link linkend="cairo-win32-scaled-font-select-font">cairo_win32_scaled_font_select_font</link>, function in <link linkend="cairo-Win32-Fonts">Win32 Fonts</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-surface-create"><link linkend="cairo-win32-surface-create">cairo_win32_surface_create</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-surface-create-with-ddb"><link linkend="cairo-win32-surface-create-with-ddb">cairo_win32_surface_create_with_ddb</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-surface-create-with-dib"><link linkend="cairo-win32-surface-create-with-dib">cairo_win32_surface_create_with_dib</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-surface-create-with-format"><link linkend="cairo-win32-surface-create-with-format">cairo_win32_surface_create_with_format</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-surface-get-dc"><link linkend="cairo-win32-surface-get-dc">cairo_win32_surface_get_dc</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-win32-surface-get-image"><link linkend="cairo-win32-surface-get-image">cairo_win32_surface_get_image</link>, function in <link linkend="cairo-Win32-Surfaces">Win32 Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-write-func-t"><link linkend="cairo-write-func-t">cairo_write_func_t</link>, user_function in <link linkend="cairo-PNG-Support">PNG Support</link></primaryie></indexentry> +</indexdiv> +<indexdiv><title>X</title> +<indexentry><primaryie linkends="cairo-xcb-device-debug-cap-xrender-version"><link linkend="cairo-xcb-device-debug-cap-xrender-version">cairo_xcb_device_debug_cap_xrender_version</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-device-debug-cap-xshm-version"><link linkend="cairo-xcb-device-debug-cap-xshm-version">cairo_xcb_device_debug_cap_xshm_version</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-device-debug-get-precision"><link linkend="cairo-xcb-device-debug-get-precision">cairo_xcb_device_debug_get_precision</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-device-debug-set-precision"><link linkend="cairo-xcb-device-debug-set-precision">cairo_xcb_device_debug_set_precision</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-device-get-connection"><link linkend="cairo-xcb-device-get-connection">cairo_xcb_device_get_connection</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-surface-create"><link linkend="cairo-xcb-surface-create">cairo_xcb_surface_create</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-surface-create-for-bitmap"><link linkend="cairo-xcb-surface-create-for-bitmap">cairo_xcb_surface_create_for_bitmap</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-surface-create-with-xrender-format"><link linkend="cairo-xcb-surface-create-with-xrender-format">cairo_xcb_surface_create_with_xrender_format</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-surface-set-drawable"><link linkend="cairo-xcb-surface-set-drawable">cairo_xcb_surface_set_drawable</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xcb-surface-set-size"><link linkend="cairo-xcb-surface-set-size">cairo_xcb_surface_set_size</link>, function in <link linkend="cairo-XCB-Surfaces">XCB Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-device-debug-cap-xrender-version"><link linkend="cairo-xlib-device-debug-cap-xrender-version">cairo_xlib_device_debug_cap_xrender_version</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-device-debug-get-precision"><link linkend="cairo-xlib-device-debug-get-precision">cairo_xlib_device_debug_get_precision</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-device-debug-set-precision"><link linkend="cairo-xlib-device-debug-set-precision">cairo_xlib_device_debug_set_precision</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-create"><link linkend="cairo-xlib-surface-create">cairo_xlib_surface_create</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-create-for-bitmap"><link linkend="cairo-xlib-surface-create-for-bitmap">cairo_xlib_surface_create_for_bitmap</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-create-with-xrender-format"><link linkend="cairo-xlib-surface-create-with-xrender-format">cairo_xlib_surface_create_with_xrender_format</link>, function in <link linkend="cairo-XLib-XRender-Backend">XLib-XRender Backend</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-depth"><link linkend="cairo-xlib-surface-get-depth">cairo_xlib_surface_get_depth</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-display"><link linkend="cairo-xlib-surface-get-display">cairo_xlib_surface_get_display</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-drawable"><link linkend="cairo-xlib-surface-get-drawable">cairo_xlib_surface_get_drawable</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-height"><link linkend="cairo-xlib-surface-get-height">cairo_xlib_surface_get_height</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-screen"><link linkend="cairo-xlib-surface-get-screen">cairo_xlib_surface_get_screen</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-visual"><link linkend="cairo-xlib-surface-get-visual">cairo_xlib_surface_get_visual</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-width"><link linkend="cairo-xlib-surface-get-width">cairo_xlib_surface_get_width</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-get-xrender-format"><link linkend="cairo-xlib-surface-get-xrender-format">cairo_xlib_surface_get_xrender_format</link>, function in <link linkend="cairo-XLib-XRender-Backend">XLib-XRender Backend</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-set-drawable"><link linkend="cairo-xlib-surface-set-drawable">cairo_xlib_surface_set_drawable</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +<indexentry><primaryie linkends="cairo-xlib-surface-set-size"><link linkend="cairo-xlib-surface-set-size">cairo_xlib_surface_set_size</link>, function in <link linkend="cairo-XLib-Surfaces">XLib Surfaces</link></primaryie></indexentry> +</indexdiv> +</indexdiv> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-device.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-device.xml new file mode 100644 index 0000000..b3f77eb --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-device.xml @@ -0,0 +1,585 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-cairo-device-t"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-cairo-device-t.top_of_page">cairo_device_t</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>cairo_device_t</refname> +<refpurpose>interface to underlying rendering system</refpurpose> +</refnamediv> + +<refsect1 id="cairo-cairo-device-t.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-device-t"><returnvalue>cairo_device_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-device-reference">cairo_device_reference</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-destroy">cairo_device_destroy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-status">cairo_device_status</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-finish">cairo_device_finish</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-flush">cairo_device_flush</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-device-type-t"><returnvalue>cairo_device_type_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-get-type">cairo_device_get_type</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-get-reference-count">cairo_device_get_reference_count</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-set-user-data">cairo_device_set_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-device-get-user-data">cairo_device_get_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-acquire">cairo_device_acquire</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-release">cairo_device_release</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-observer-elapsed">cairo_device_observer_elapsed</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-observer-fill-elapsed">cairo_device_observer_fill_elapsed</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-observer-glyphs-elapsed">cairo_device_observer_glyphs_elapsed</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-observer-mask-elapsed">cairo_device_observer_mask_elapsed</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-observer-paint-elapsed">cairo_device_observer_paint_elapsed</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-observer-print">cairo_device_observer_print</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-observer-stroke-elapsed">cairo_device_observer_stroke_elapsed</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-cairo-device-t.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="typedef_keyword">typedef</entry><entry role="function_name"><link linkend="cairo-device-t">cairo_device_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-device-type-t">cairo_device_type_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-cairo-device-t.description" role="desc"> +<title role="desc.title">Description</title> +<para>Devices are the abstraction Cairo employs for the rendering system +used by a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link>. You can get the device of a surface using +<link linkend="cairo-surface-get-device"><function>cairo_surface_get_device()</function></link>.</para> +<para>Devices are created using custom functions specific to the rendering +system you want to use. See the documentation for the surface types +for those functions.</para> +<para>An important function that devices fulfill is sharing access to the +rendering system between Cairo and your application. If you want to +access a device directly that you used to draw to with Cairo, you must +first call <link linkend="cairo-device-flush"><function>cairo_device_flush()</function></link> to ensure that Cairo finishes all +operations on the device and resets it to a clean state.</para> +<para>Cairo also provides the functions <link linkend="cairo-device-acquire"><function>cairo_device_acquire()</function></link> and +<link linkend="cairo-device-release"><function>cairo_device_release()</function></link> to synchronize access to the rendering system +in a multithreaded environment. This is done internally, but can also +be used by applications.</para> +<para>Putting this all together, a function that works with devices should +look something like this:</para> +<informalexample><programlisting> +void +my_device_modifying_function (cairo_device_t *device) +{ + cairo_status_t status; + + // Ensure the device is properly reset + cairo_device_flush (device); + // Try to acquire the device + status = cairo_device_acquire (device); + if (status != CAIRO_STATUS_SUCCESS) { + printf ("Failed to acquire the device: %s\n", cairo_status_to_string (status)); + return; + } + + // Do the custom operations on the device here. + // But do not call any Cairo functions that might acquire devices. + + // Release the device when done. + cairo_device_release (device); +} +</programlisting></informalexample> +<note><para>Please refer to the documentation of each backend for +additional usage requirements, guarantees provided, and +interactions with existing surface API of the device functions for +surfaces of that type. +</para></note> + +</refsect1> +<refsect1 id="cairo-cairo-device-t.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-device-reference" role="function" condition="since:1.10"> +<title>cairo_device_reference ()</title> +<indexterm zone="cairo-device-reference" role="1.10"><primary sortas="device_reference">cairo_device_reference</primary></indexterm> +<programlisting language="C"><link linkend="cairo-device-t"><returnvalue>cairo_device_t</returnvalue></link> * +cairo_device_reference (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +<para>Increases the reference count on <parameter>device</parameter> + by one. This prevents +<parameter>device</parameter> + from being destroyed until a matching call to +<link linkend="cairo-device-destroy"><function>cairo_device_destroy()</function></link> is made.</para> +<para>Use <link linkend="cairo-device-get-reference-count"><function>cairo_device_get_reference_count()</function></link> to get the number of references +to a <link linkend="cairo-device-t"><type>cairo_device_t</type></link>.</para> +<refsect3 id="cairo-device-reference.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-device-reference.returns" role="returns"> +<title>Returns</title> +<para> the referenced <link linkend="cairo-device-t"><type>cairo_device_t</type></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-device-destroy" role="function" condition="since:1.10"> +<title>cairo_device_destroy ()</title> +<indexterm zone="cairo-device-destroy" role="1.10"><primary sortas="device_destroy">cairo_device_destroy</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_device_destroy (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +<para>Decreases the reference count on <parameter>device</parameter> + by one. If the result is +zero, then <parameter>device</parameter> + and all associated resources are freed. See +<link linkend="cairo-device-reference"><function>cairo_device_reference()</function></link>.</para> +<para>This function may acquire devices if the last reference was dropped.</para> +<refsect3 id="cairo-device-destroy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-device-status" role="function" condition="since:1.10"> +<title>cairo_device_status ()</title> +<indexterm zone="cairo-device-status" role="1.10"><primary sortas="device_status">cairo_device_status</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_device_status (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +<para>Checks whether an error has previously occurred for this +device.</para> +<refsect3 id="cairo-device-status.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-device-status.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> on success or an error code if +the device is in an error state.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-device-finish" role="function" condition="since:1.10"> +<title>cairo_device_finish ()</title> +<indexterm zone="cairo-device-finish" role="1.10"><primary sortas="device_finish">cairo_device_finish</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_device_finish (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +<para>This function finishes the device and drops all references to +external resources. All surfaces, fonts and other objects created +for this <parameter>device</parameter> + will be finished, too. +Further operations on the <parameter>device</parameter> + will not affect the <parameter>device</parameter> + but +will instead trigger a <link linkend="CAIRO-STATUS-DEVICE-FINISHED:CAPS"><literal>CAIRO_STATUS_DEVICE_FINISHED</literal></link> error.</para> +<para>When the last call to <link linkend="cairo-device-destroy"><function>cairo_device_destroy()</function></link> decreases the +reference count to zero, cairo will call <link linkend="cairo-device-finish"><function>cairo_device_finish()</function></link> if +it hasn't been called already, before freeing the resources +associated with the device.</para> +<para>This function may acquire devices.</para> +<refsect3 id="cairo-device-finish.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>the <link linkend="cairo-device-t"><type>cairo_device_t</type></link> to finish</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-device-flush" role="function" condition="since:1.10"> +<title>cairo_device_flush ()</title> +<indexterm zone="cairo-device-flush" role="1.10"><primary sortas="device_flush">cairo_device_flush</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_device_flush (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +<para>Finish any pending operations for the device and also restore any +temporary modifications cairo has made to the device's state. +This function must be called before switching from using the +device with Cairo to operating on it directly with native APIs. +If the device doesn't support direct access, then this function +does nothing.</para> +<para>This function may acquire devices.</para> +<refsect3 id="cairo-device-flush.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-device-get-type" role="function" condition="since:1.10"> +<title>cairo_device_get_type ()</title> +<indexterm zone="cairo-device-get-type" role="1.10"><primary sortas="device_get_type">cairo_device_get_type</primary></indexterm> +<programlisting language="C"><link linkend="cairo-device-type-t"><returnvalue>cairo_device_type_t</returnvalue></link> +cairo_device_get_type (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +<para>This function returns the type of the device. See <link linkend="cairo-device-type-t"><type>cairo_device_type_t</type></link> +for available types.</para> +<refsect3 id="cairo-device-get-type.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-device-get-type.returns" role="returns"> +<title>Returns</title> +<para> The type of <parameter>device</parameter> +.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-device-get-reference-count" role="function" condition="since:1.10"> +<title>cairo_device_get_reference_count ()</title> +<indexterm zone="cairo-device-get-reference-count" role="1.10"><primary sortas="device_get_reference_count">cairo_device_get_reference_count</primary></indexterm> +<programlisting language="C">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +cairo_device_get_reference_count (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +<para>Returns the current reference count of <parameter>device</parameter> +.</para> +<refsect3 id="cairo-device-get-reference-count.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-device-get-reference-count.returns" role="returns"> +<title>Returns</title> +<para> the current reference count of <parameter>device</parameter> +. If the +object is a nil object, 0 will be returned.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-device-set-user-data" role="function" condition="since:1.10"> +<title>cairo_device_set_user_data ()</title> +<indexterm zone="cairo-device-set-user-data" role="1.10"><primary sortas="device_set_user_data">cairo_device_set_user_data</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_device_set_user_data (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>, + <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>, + <parameter><link linkend="void"><type>void</type></link> *user_data</parameter>, + <parameter><link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> destroy</parameter>);</programlisting> +<para>Attach user data to <parameter>device</parameter> +. To remove user data from a surface, +call this function with the key that was used to set it and <link linkend="NULL:CAPS"><literal>NULL</literal></link> +for <parameter>data</parameter> +.</para> +<refsect3 id="cairo-device-set-user-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>key</para></entry> +<entry role="parameter_description"><para>the address of a <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> to attach the user data to</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>user_data</para></entry> +<entry role="parameter_description"><para>the user data to attach to the <link linkend="cairo-device-t"><type>cairo_device_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>destroy</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> which will be called when the +<link linkend="cairo-t"><type>cairo_t</type></link> is destroyed or when new user data is attached using the +same key.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-device-set-user-data.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> if a +slot could not be allocated for the user data.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-device-get-user-data" role="function" condition="since:1.10"> +<title>cairo_device_get_user_data ()</title> +<indexterm zone="cairo-device-get-user-data" role="1.10"><primary sortas="device_get_user_data">cairo_device_get_user_data</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> * +cairo_device_get_user_data (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>, + <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>);</programlisting> +<para>Return user data previously attached to <parameter>device</parameter> + using the +specified key. If no user data has been attached with the given +key this function returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +<refsect3 id="cairo-device-get-user-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>key</para></entry> +<entry role="parameter_description"><para>the address of the <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> the user data was +attached to</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-device-get-user-data.returns" role="returns"> +<title>Returns</title> +<para> the user data previously attached or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-device-acquire" role="function" condition="since:1.10"> +<title>cairo_device_acquire ()</title> +<indexterm zone="cairo-device-acquire" role="1.10"><primary sortas="device_acquire">cairo_device_acquire</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_device_acquire (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +<para>Acquires the <parameter>device</parameter> + for the current thread. This function will block +until no other thread has acquired the device.</para> +<para>If the return value is <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, you successfully acquired the +device. From now on your thread owns the device and no other thread will be +able to acquire it until a matching call to <link linkend="cairo-device-release"><function>cairo_device_release()</function></link>. It is +allowed to recursively acquire the device multiple times from the same +thread.</para> +<note><para>You must never acquire two different devices at the same time +unless this is explicitly allowed. Otherwise the possibility of deadlocks +exist. + +As various Cairo functions can acquire devices when called, these functions +may also cause deadlocks when you call them with an acquired device. So you +must not have a device acquired when calling them. These functions are +marked in the documentation. +</para></note> +<refsect3 id="cairo-device-acquire.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-device-acquire.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> on success or an error code if +the device is in an error state and could not be +acquired. After a successful call to <link linkend="cairo-device-acquire"><function>cairo_device_acquire()</function></link>, +a matching call to <link linkend="cairo-device-release"><function>cairo_device_release()</function></link> is required.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-device-release" role="function" condition="since:1.10"> +<title>cairo_device_release ()</title> +<indexterm zone="cairo-device-release" role="1.10"><primary sortas="device_release">cairo_device_release</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_device_release (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +<para>Releases a <parameter>device</parameter> + previously acquired using <link linkend="cairo-device-acquire"><function>cairo_device_acquire()</function></link>. See +that function for details.</para> +<refsect3 id="cairo-device-release.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-device-observer-elapsed" role="function"> +<title>cairo_device_observer_elapsed ()</title> +<indexterm zone="cairo-device-observer-elapsed"><primary sortas="device_observer_elapsed">cairo_device_observer_elapsed</primary></indexterm> +<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> +cairo_device_observer_elapsed (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-device-observer-fill-elapsed" role="function"> +<title>cairo_device_observer_fill_elapsed ()</title> +<indexterm zone="cairo-device-observer-fill-elapsed"><primary sortas="device_observer_fill_elapsed">cairo_device_observer_fill_elapsed</primary></indexterm> +<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> +cairo_device_observer_fill_elapsed (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-device-observer-glyphs-elapsed" role="function"> +<title>cairo_device_observer_glyphs_elapsed ()</title> +<indexterm zone="cairo-device-observer-glyphs-elapsed"><primary sortas="device_observer_glyphs_elapsed">cairo_device_observer_glyphs_elapsed</primary></indexterm> +<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> +cairo_device_observer_glyphs_elapsed (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-device-observer-mask-elapsed" role="function"> +<title>cairo_device_observer_mask_elapsed ()</title> +<indexterm zone="cairo-device-observer-mask-elapsed"><primary sortas="device_observer_mask_elapsed">cairo_device_observer_mask_elapsed</primary></indexterm> +<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> +cairo_device_observer_mask_elapsed (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-device-observer-paint-elapsed" role="function"> +<title>cairo_device_observer_paint_elapsed ()</title> +<indexterm zone="cairo-device-observer-paint-elapsed"><primary sortas="device_observer_paint_elapsed">cairo_device_observer_paint_elapsed</primary></indexterm> +<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> +cairo_device_observer_paint_elapsed (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-device-observer-print" role="function"> +<title>cairo_device_observer_print ()</title> +<indexterm zone="cairo-device-observer-print"><primary sortas="device_observer_print">cairo_device_observer_print</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_device_observer_print (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>, + <parameter><link linkend="cairo-write-func-t"><type>cairo_write_func_t</type></link> write_func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *closure</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-device-observer-stroke-elapsed" role="function"> +<title>cairo_device_observer_stroke_elapsed ()</title> +<indexterm zone="cairo-device-observer-stroke-elapsed"><primary sortas="device_observer_stroke_elapsed">cairo_device_observer_stroke_elapsed</primary></indexterm> +<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> +cairo_device_observer_stroke_elapsed (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +</refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-device-t.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="cairo-device-t" role="typedef" condition="since:1.10"> +<title>cairo_device_t</title> +<indexterm zone="cairo-device-t" role="1.10"><primary sortas="device_t">cairo_device_t</primary></indexterm> +<programlisting language="C">typedef struct _cairo_device cairo_device_t; +</programlisting> +<para>A <link linkend="cairo-device-t"><type>cairo_device_t</type></link> represents the driver interface for drawing +operations to a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link>. There are different subtypes of +<link linkend="cairo-device-t"><type>cairo_device_t</type></link> for different drawing backends; for example, +<link linkend="cairo-egl-device-create"><function>cairo_egl_device_create()</function></link> creates a device that wraps an EGL display and +context.</para> +<para>The type of a device can be queried with <link linkend="cairo-device-get-type"><function>cairo_device_get_type()</function></link>.</para> +<para>Memory management of <link linkend="cairo-device-t"><type>cairo_device_t</type></link> is done with +<link linkend="cairo-device-reference"><function>cairo_device_reference()</function></link> and <link linkend="cairo-device-destroy"><function>cairo_device_destroy()</function></link>.</para> +<para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-device-type-t" role="enum" condition="since:1.10"> +<title>enum cairo_device_type_t</title> +<indexterm zone="cairo-device-type-t" role="1.10"><primary sortas="device_type_t">cairo_device_type_t</primary></indexterm> +<para><link linkend="cairo-device-type-t"><type>cairo_device_type_t</type></link> is used to describe the type of a given +device. The devices types are also known as "backends" within cairo.</para> +<para>The device type can be queried with <link linkend="cairo-device-get-type"><function>cairo_device_get_type()</function></link></para> +<para>The various <link linkend="cairo-device-t"><type>cairo_device_t</type></link> functions can be used with devices of +any type, but some backends also provide type-specific functions +that must only be called with a device of the appropriate +type. These functions have names that begin with +<literal>cairo_<emphasis>type</emphasis>_device</literal> such as +<link linkend="cairo-xcb-device-debug-cap-xrender-version"><function>cairo_xcb_device_debug_cap_xrender_version()</function></link>.</para> +<para>The behavior of calling a type-specific function with a device of +the wrong type is undefined.</para> +<para>New entries may be added in future versions.</para> +<refsect3 id="cairo-device-type-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-DEVICE-TYPE-DRM:CAPS">CAIRO_DEVICE_TYPE_DRM</para></entry> +<entry role="enum_member_description"><para>The device is of type Direct Render Manager, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-DEVICE-TYPE-GL:CAPS">CAIRO_DEVICE_TYPE_GL</para></entry> +<entry role="enum_member_description"><para>The device is of type OpenGL, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-DEVICE-TYPE-SCRIPT:CAPS">CAIRO_DEVICE_TYPE_SCRIPT</para></entry> +<entry role="enum_member_description"><para>The device is of type script, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-DEVICE-TYPE-XCB:CAPS">CAIRO_DEVICE_TYPE_XCB</para></entry> +<entry role="enum_member_description"><para>The device is of type xcb, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-DEVICE-TYPE-XLIB:CAPS">CAIRO_DEVICE_TYPE_XLIB</para></entry> +<entry role="enum_member_description"><para>The device is of type xlib, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-DEVICE-TYPE-XML:CAPS">CAIRO_DEVICE_TYPE_XML</para></entry> +<entry role="enum_member_description"><para>The device is of type XML, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-DEVICE-TYPE-COGL:CAPS">CAIRO_DEVICE_TYPE_COGL</para></entry> +<entry role="enum_member_description"><para>The device is of type cogl, since 1.12</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-DEVICE-TYPE-WIN32:CAPS">CAIRO_DEVICE_TYPE_WIN32</para></entry> +<entry role="enum_member_description"><para>The device is of type win32, since 1.12</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-DEVICE-TYPE-INVALID:CAPS">CAIRO_DEVICE_TYPE_INVALID</para></entry> +<entry role="enum_member_description"><para>The device is invalid, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-device-t.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-font-face.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-font-face.xml new file mode 100644 index 0000000..c62bfb5 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-font-face.xml @@ -0,0 +1,358 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-cairo-font-face-t"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-cairo-font-face-t.top_of_page">cairo_font_face_t</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>cairo_font_face_t</refname> +<refpurpose>Base class for font faces</refpurpose> +</refnamediv> + +<refsect1 id="cairo-cairo-font-face-t.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-font-face-reference">cairo_font_face_reference</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-face-destroy">cairo_font_face_destroy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-face-status">cairo_font_face_status</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-type-t"><returnvalue>cairo_font_type_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-face-get-type">cairo_font_face_get_type</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-face-get-reference-count">cairo_font_face_get_reference_count</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-face-set-user-data">cairo_font_face_set_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-font-face-get-user-data">cairo_font_face_get_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-cairo-font-face-t.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="typedef_keyword">typedef</entry><entry role="function_name"><link linkend="cairo-font-face-t">cairo_font_face_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-font-type-t">cairo_font_type_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-cairo-font-face-t.description" role="desc"> +<title role="desc.title">Description</title> +<para><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> represents a particular font at a particular weight, +slant, and other characteristic but no size, transformation, or size.</para> +<para>Font faces are created using <firstterm>font-backend</firstterm>-specific +constructors, typically of the form +<function>cairo_<emphasis>backend</emphasis>_font_face_create(<!-- -->)</function>, +or implicitly using the <firstterm>toy</firstterm> text API by way of +<link linkend="cairo-select-font-face"><function>cairo_select_font_face()</function></link>. The resulting face can be accessed using +<link linkend="cairo-get-font-face"><function>cairo_get_font_face()</function></link>.</para> + +</refsect1> +<refsect1 id="cairo-cairo-font-face-t.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-font-face-reference" role="function" condition="since:1.0"> +<title>cairo_font_face_reference ()</title> +<indexterm zone="cairo-font-face-reference" role="1.0"><primary sortas="font_face_reference">cairo_font_face_reference</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +cairo_font_face_reference (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>Increases the reference count on <parameter>font_face</parameter> + by one. This prevents +<parameter>font_face</parameter> + from being destroyed until a matching call to +<link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link> is made.</para> +<para>Use <link linkend="cairo-font-face-get-reference-count"><function>cairo_font_face_get_reference_count()</function></link> to get the number of +references to a <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>.</para> +<refsect3 id="cairo-font-face-reference.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>, (may be <link linkend="NULL:CAPS"><literal>NULL</literal></link> in which case this +function does nothing).</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-face-reference.returns" role="returns"> +<title>Returns</title> +<para> the referenced <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-face-destroy" role="function" condition="since:1.0"> +<title>cairo_font_face_destroy ()</title> +<indexterm zone="cairo-font-face-destroy" role="1.0"><primary sortas="font_face_destroy">cairo_font_face_destroy</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_font_face_destroy (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>Decreases the reference count on <parameter>font_face</parameter> + by one. If the result +is zero, then <parameter>font_face</parameter> + and all associated resources are freed. +See <link linkend="cairo-font-face-reference"><function>cairo_font_face_reference()</function></link>.</para> +<refsect3 id="cairo-font-face-destroy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-face-status" role="function" condition="since:1.0"> +<title>cairo_font_face_status ()</title> +<indexterm zone="cairo-font-face-status" role="1.0"><primary sortas="font_face_status">cairo_font_face_status</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_font_face_status (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>Checks whether an error has previously occurred for this +font face</para> +<refsect3 id="cairo-font-face-status.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-face-status.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or another error such as +<link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-face-get-type" role="function" condition="since:1.2"> +<title>cairo_font_face_get_type ()</title> +<indexterm zone="cairo-font-face-get-type" role="1.2"><primary sortas="font_face_get_type">cairo_font_face_get_type</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-type-t"><returnvalue>cairo_font_type_t</returnvalue></link> +cairo_font_face_get_type (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>This function returns the type of the backend used to create +a font face. See <link linkend="cairo-font-type-t"><type>cairo_font_type_t</type></link> for available types.</para> +<refsect3 id="cairo-font-face-get-type.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>a font face</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-face-get-type.returns" role="returns"> +<title>Returns</title> +<para> The type of <parameter>font_face</parameter> +.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-font-face-get-reference-count" role="function" condition="since:1.4"> +<title>cairo_font_face_get_reference_count ()</title> +<indexterm zone="cairo-font-face-get-reference-count" role="1.4"><primary sortas="font_face_get_reference_count">cairo_font_face_get_reference_count</primary></indexterm> +<programlisting language="C">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +cairo_font_face_get_reference_count (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>Returns the current reference count of <parameter>font_face</parameter> +.</para> +<refsect3 id="cairo-font-face-get-reference-count.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-face-get-reference-count.returns" role="returns"> +<title>Returns</title> +<para> the current reference count of <parameter>font_face</parameter> +. If the +object is a nil object, 0 will be returned.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-font-face-set-user-data" role="function" condition="since:1.0"> +<title>cairo_font_face_set_user_data ()</title> +<indexterm zone="cairo-font-face-set-user-data" role="1.0"><primary sortas="font_face_set_user_data">cairo_font_face_set_user_data</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_font_face_set_user_data (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>, + <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>, + <parameter><link linkend="void"><type>void</type></link> *user_data</parameter>, + <parameter><link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> destroy</parameter>);</programlisting> +<para>Attach user data to <parameter>font_face</parameter> +. To remove user data from a font face, +call this function with the key that was used to set it and <link linkend="NULL:CAPS"><literal>NULL</literal></link> +for <parameter>data</parameter> +.</para> +<refsect3 id="cairo-font-face-set-user-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>key</para></entry> +<entry role="parameter_description"><para>the address of a <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> to attach the user data to</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>user_data</para></entry> +<entry role="parameter_description"><para>the user data to attach to the font face</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>destroy</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> which will be called when the +font face is destroyed or when new user data is attached using the +same key.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-face-set-user-data.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> if a +slot could not be allocated for the user data.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-face-get-user-data" role="function" condition="since:1.0"> +<title>cairo_font_face_get_user_data ()</title> +<indexterm zone="cairo-font-face-get-user-data" role="1.0"><primary sortas="font_face_get_user_data">cairo_font_face_get_user_data</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> * +cairo_font_face_get_user_data (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>, + <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>);</programlisting> +<para>Return user data previously attached to <parameter>font_face</parameter> + using the specified +key. If no user data has been attached with the given key this +function returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +<refsect3 id="cairo-font-face-get-user-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>key</para></entry> +<entry role="parameter_description"><para>the address of the <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> the user data was +attached to</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-face-get-user-data.returns" role="returns"> +<title>Returns</title> +<para> the user data previously attached or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-font-face-t.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="cairo-font-face-t" role="typedef" condition="since:1.0"> +<title>cairo_font_face_t</title> +<indexterm zone="cairo-font-face-t" role="1.0"><primary sortas="font_face_t">cairo_font_face_t</primary></indexterm> +<programlisting language="C">typedef struct _cairo_font_face cairo_font_face_t; +</programlisting> +<para>A <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> specifies all aspects of a font other +than the size or font matrix (a font matrix is used to distort +a font by shearing it or scaling it unequally in the two +directions) . A font face can be set on a <link linkend="cairo-t"><type>cairo_t</type></link> by using +<link linkend="cairo-set-font-face"><function>cairo_set_font_face()</function></link>; the size and font matrix are set with +<link linkend="cairo-set-font-size"><function>cairo_set_font_size()</function></link> and <link linkend="cairo-set-font-matrix"><function>cairo_set_font_matrix()</function></link>.</para> +<para>There are various types of font faces, depending on the +<firstterm>font backend</firstterm> they use. The type of a +font face can be queried using <link linkend="cairo-font-face-get-type"><function>cairo_font_face_get_type()</function></link>.</para> +<para>Memory management of <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> is done with +<link linkend="cairo-font-face-reference"><function>cairo_font_face_reference()</function></link> and <link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link>.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-type-t" role="enum" condition="since:1.2"> +<title>enum cairo_font_type_t</title> +<indexterm zone="cairo-font-type-t" role="1.2"><primary sortas="font_type_t">cairo_font_type_t</primary></indexterm> +<para><link linkend="cairo-font-type-t"><type>cairo_font_type_t</type></link> is used to describe the type of a given font +face or scaled font. The font types are also known as "font +backends" within cairo.</para> +<para>The type of a font face is determined by the function used to +create it, which will generally be of the form +<function>cairo_<emphasis>type</emphasis>_font_face_create(<!-- -->)</function>. +The font face type can be queried with <link linkend="cairo-font-face-get-type"><function>cairo_font_face_get_type()</function></link></para> +<para>The various <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> functions can be used with a font face +of any type.</para> +<para>The type of a scaled font is determined by the type of the font +face passed to <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>. The scaled font type can +be queried with <link linkend="cairo-scaled-font-get-type"><function>cairo_scaled_font_get_type()</function></link></para> +<para>The various <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> functions can be used with scaled +fonts of any type, but some font backends also provide +type-specific functions that must only be called with a scaled font +of the appropriate type. These functions have names that begin with +<function>cairo_<emphasis>type</emphasis>_scaled_font(<!-- -->)</function> +such as <link linkend="cairo-ft-scaled-font-lock-face"><function>cairo_ft_scaled_font_lock_face()</function></link>.</para> +<para>The behavior of calling a type-specific function with a scaled font +of the wrong type is undefined.</para> +<para>New entries may be added in future versions.</para> +<refsect3 id="cairo-font-type-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FONT-TYPE-TOY:CAPS">CAIRO_FONT_TYPE_TOY</para></entry> +<entry role="enum_member_description"><para>The font was created using cairo's toy font api (Since: 1.2)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FONT-TYPE-FT:CAPS">CAIRO_FONT_TYPE_FT</para></entry> +<entry role="enum_member_description"><para>The font is of type FreeType (Since: 1.2)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FONT-TYPE-WIN32:CAPS">CAIRO_FONT_TYPE_WIN32</para></entry> +<entry role="enum_member_description"><para>The font is of type Win32 (Since: 1.2)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FONT-TYPE-QUARTZ:CAPS">CAIRO_FONT_TYPE_QUARTZ</para></entry> +<entry role="enum_member_description"><para>The font is of type Quartz (Since: 1.6, in 1.2 and +1.4 it was named CAIRO_FONT_TYPE_ATSUI)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FONT-TYPE-USER:CAPS">CAIRO_FONT_TYPE_USER</para></entry> +<entry role="enum_member_description"><para>The font was create using cairo's user font api (Since: 1.8)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-font-face-t.see-also"> +<title>See Also</title> +<para><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-font-options.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-font-options.xml new file mode 100644 index 0000000..d058175 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-font-options.xml @@ -0,0 +1,677 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-cairo-font-options-t"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-cairo-font-options-t.top_of_page">cairo_font_options_t</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>cairo_font_options_t</refname> +<refpurpose>How a font should be rendered</refpurpose> +</refnamediv> + +<refsect1 id="cairo-cairo-font-options-t.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-font-options-t"><returnvalue>cairo_font_options_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-font-options-create">cairo_font_options_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-options-t"><returnvalue>cairo_font_options_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-font-options-copy">cairo_font_options_copy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-destroy">cairo_font_options_destroy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-status">cairo_font_options_status</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-merge">cairo_font_options_merge</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">unsigned <link linkend="long"><returnvalue>long</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-hash">cairo_font_options_hash</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-equal">cairo_font_options_equal</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-set-antialias">cairo_font_options_set_antialias</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-antialias-t"><returnvalue>cairo_antialias_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-get-antialias">cairo_font_options_get_antialias</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-set-subpixel-order">cairo_font_options_set_subpixel_order</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-subpixel-order-t"><returnvalue>cairo_subpixel_order_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-get-subpixel-order">cairo_font_options_get_subpixel_order</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-set-hint-style">cairo_font_options_set_hint_style</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-hint-style-t"><returnvalue>cairo_hint_style_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-get-hint-style">cairo_font_options_get_hint_style</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-set-hint-metrics">cairo_font_options_set_hint_metrics</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-hint-metrics-t"><returnvalue>cairo_hint_metrics_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-get-hint-metrics">cairo_font_options_get_hint_metrics</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-font-options-get-variations">cairo_font_options_get_variations</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-options-set-variations">cairo_font_options_set_variations</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-cairo-font-options-t.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="typedef_keyword">typedef</entry><entry role="function_name"><link linkend="cairo-font-options-t">cairo_font_options_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-subpixel-order-t">cairo_subpixel_order_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-hint-style-t">cairo_hint_style_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-hint-metrics-t">cairo_hint_metrics_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-cairo-font-options-t.description" role="desc"> +<title role="desc.title">Description</title> +<para>The font options specify how fonts should be rendered. Most of the +time the font options implied by a surface are just right and do not +need any changes, but for pixel-based targets tweaking font options +may result in superior output on a particular display.</para> + +</refsect1> +<refsect1 id="cairo-cairo-font-options-t.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-font-options-create" role="function" condition="since:1.0"> +<title>cairo_font_options_create ()</title> +<indexterm zone="cairo-font-options-create" role="1.0"><primary sortas="font_options_create">cairo_font_options_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-options-t"><returnvalue>cairo_font_options_t</returnvalue></link> * +cairo_font_options_create (<parameter><type>void</type></parameter>);</programlisting> +<para>Allocates a new font options object with all options initialized + to default values.</para> +<refsect3 id="cairo-font-options-create.returns" role="returns"> +<title>Returns</title> +<para> a newly allocated <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>. Free with +<link linkend="cairo-font-options-destroy"><function>cairo_font_options_destroy()</function></link>. This function always returns a +valid pointer; if memory cannot be allocated, then a special +error object is returned where all operations on the object do nothing. +You can check for this with <link linkend="cairo-font-options-status"><function>cairo_font_options_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-copy" role="function" condition="since:1.0"> +<title>cairo_font_options_copy ()</title> +<indexterm zone="cairo-font-options-copy" role="1.0"><primary sortas="font_options_copy">cairo_font_options_copy</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-options-t"><returnvalue>cairo_font_options_t</returnvalue></link> * +cairo_font_options_copy (<parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *original</parameter>);</programlisting> +<para>Allocates a new font options object copying the option values from + <parameter>original</parameter> +.</para> +<refsect3 id="cairo-font-options-copy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>original</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-options-copy.returns" role="returns"> +<title>Returns</title> +<para> a newly allocated <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>. Free with +<link linkend="cairo-font-options-destroy"><function>cairo_font_options_destroy()</function></link>. This function always returns a +valid pointer; if memory cannot be allocated, then a special +error object is returned where all operations on the object do nothing. +You can check for this with <link linkend="cairo-font-options-status"><function>cairo_font_options_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-destroy" role="function" condition="since:1.0"> +<title>cairo_font_options_destroy ()</title> +<indexterm zone="cairo-font-options-destroy" role="1.0"><primary sortas="font_options_destroy">cairo_font_options_destroy</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_font_options_destroy (<parameter><link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Destroys a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> object created with +<link linkend="cairo-font-options-create"><function>cairo_font_options_create()</function></link> or <link linkend="cairo-font-options-copy"><function>cairo_font_options_copy()</function></link>.</para> +<refsect3 id="cairo-font-options-destroy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-status" role="function" condition="since:1.0"> +<title>cairo_font_options_status ()</title> +<indexterm zone="cairo-font-options-status" role="1.0"><primary sortas="font_options_status">cairo_font_options_status</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_font_options_status (<parameter><link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Checks whether an error has previously occurred for this +font options object</para> +<refsect3 id="cairo-font-options-status.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-options-status.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-merge" role="function" condition="since:1.0"> +<title>cairo_font_options_merge ()</title> +<indexterm zone="cairo-font-options-merge" role="1.0"><primary sortas="font_options_merge">cairo_font_options_merge</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_font_options_merge (<parameter><link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>, + <parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *other</parameter>);</programlisting> +<para>Merges non-default options from <parameter>other</parameter> + into <parameter>options</parameter> +, replacing +existing values. This operation can be thought of as somewhat +similar to compositing <parameter>other</parameter> + onto <parameter>options</parameter> + with the operation +of <link linkend="CAIRO-OPERATOR-OVER:CAPS"><literal>CAIRO_OPERATOR_OVER</literal></link>.</para> +<refsect3 id="cairo-font-options-merge.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>other</para></entry> +<entry role="parameter_description"><para>another <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-hash" role="function" condition="since:1.0"> +<title>cairo_font_options_hash ()</title> +<indexterm zone="cairo-font-options-hash" role="1.0"><primary sortas="font_options_hash">cairo_font_options_hash</primary></indexterm> +<programlisting language="C">unsigned <link linkend="long"><returnvalue>long</returnvalue></link> +cairo_font_options_hash (<parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Compute a hash for the font options object; this value will +be useful when storing an object containing a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> +in a hash table.</para> +<refsect3 id="cairo-font-options-hash.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-options-hash.returns" role="returns"> +<title>Returns</title> +<para> the hash value for the font options object. +The return value can be cast to a 32-bit type if a +32-bit hash value is needed.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-equal" role="function" condition="since:1.0"> +<title>cairo_font_options_equal ()</title> +<indexterm zone="cairo-font-options-equal" role="1.0"><primary sortas="font_options_equal">cairo_font_options_equal</primary></indexterm> +<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +cairo_font_options_equal (<parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>, + <parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *other</parameter>);</programlisting> +<para>Compares two font options objects for equality.</para> +<refsect3 id="cairo-font-options-equal.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>other</para></entry> +<entry role="parameter_description"><para>another <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-options-equal.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if all fields of the two font options objects match. +Note that this function will return <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if either object is in +error.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-set-antialias" role="function" condition="since:1.0"> +<title>cairo_font_options_set_antialias ()</title> +<indexterm zone="cairo-font-options-set-antialias" role="1.0"><primary sortas="font_options_set_antialias">cairo_font_options_set_antialias</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_font_options_set_antialias (<parameter><link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>, + <parameter><link linkend="cairo-antialias-t"><type>cairo_antialias_t</type></link> antialias</parameter>);</programlisting> +<para>Sets the antialiasing mode for the font options object. This +specifies the type of antialiasing to do when rendering text.</para> +<refsect3 id="cairo-font-options-set-antialias.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>antialias</para></entry> +<entry role="parameter_description"><para>the new antialiasing mode</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-get-antialias" role="function" condition="since:1.0"> +<title>cairo_font_options_get_antialias ()</title> +<indexterm zone="cairo-font-options-get-antialias" role="1.0"><primary sortas="font_options_get_antialias">cairo_font_options_get_antialias</primary></indexterm> +<programlisting language="C"><link linkend="cairo-antialias-t"><returnvalue>cairo_antialias_t</returnvalue></link> +cairo_font_options_get_antialias (<parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Gets the antialiasing mode for the font options object.</para> +<refsect3 id="cairo-font-options-get-antialias.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-options-get-antialias.returns" role="returns"> +<title>Returns</title> +<para> the antialiasing mode</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-set-subpixel-order" role="function" condition="since:1.0"> +<title>cairo_font_options_set_subpixel_order ()</title> +<indexterm zone="cairo-font-options-set-subpixel-order" role="1.0"><primary sortas="font_options_set_subpixel_order">cairo_font_options_set_subpixel_order</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_font_options_set_subpixel_order (<parameter><link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>, + <parameter><link linkend="cairo-subpixel-order-t"><type>cairo_subpixel_order_t</type></link> subpixel_order</parameter>);</programlisting> +<para>Sets the subpixel order for the font options object. The subpixel +order specifies the order of color elements within each pixel on +the display device when rendering with an antialiasing mode of +<link linkend="CAIRO-ANTIALIAS-SUBPIXEL:CAPS"><literal>CAIRO_ANTIALIAS_SUBPIXEL</literal></link>. See the documentation for +<link linkend="cairo-subpixel-order-t"><type>cairo_subpixel_order_t</type></link> for full details.</para> +<refsect3 id="cairo-font-options-set-subpixel-order.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>subpixel_order</para></entry> +<entry role="parameter_description"><para>the new subpixel order</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-get-subpixel-order" role="function" condition="since:1.0"> +<title>cairo_font_options_get_subpixel_order ()</title> +<indexterm zone="cairo-font-options-get-subpixel-order" role="1.0"><primary sortas="font_options_get_subpixel_order">cairo_font_options_get_subpixel_order</primary></indexterm> +<programlisting language="C"><link linkend="cairo-subpixel-order-t"><returnvalue>cairo_subpixel_order_t</returnvalue></link> +cairo_font_options_get_subpixel_order (<parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Gets the subpixel order for the font options object. +See the documentation for <link linkend="cairo-subpixel-order-t"><type>cairo_subpixel_order_t</type></link> for full details.</para> +<refsect3 id="cairo-font-options-get-subpixel-order.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-options-get-subpixel-order.returns" role="returns"> +<title>Returns</title> +<para> the subpixel order for the font options object</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-set-hint-style" role="function" condition="since:1.0"> +<title>cairo_font_options_set_hint_style ()</title> +<indexterm zone="cairo-font-options-set-hint-style" role="1.0"><primary sortas="font_options_set_hint_style">cairo_font_options_set_hint_style</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_font_options_set_hint_style (<parameter><link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>, + <parameter><link linkend="cairo-hint-style-t"><type>cairo_hint_style_t</type></link> hint_style</parameter>);</programlisting> +<para>Sets the hint style for font outlines for the font options object. +This controls whether to fit font outlines to the pixel grid, +and if so, whether to optimize for fidelity or contrast. +See the documentation for <link linkend="cairo-hint-style-t"><type>cairo_hint_style_t</type></link> for full details.</para> +<refsect3 id="cairo-font-options-set-hint-style.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>hint_style</para></entry> +<entry role="parameter_description"><para>the new hint style</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-get-hint-style" role="function" condition="since:1.0"> +<title>cairo_font_options_get_hint_style ()</title> +<indexterm zone="cairo-font-options-get-hint-style" role="1.0"><primary sortas="font_options_get_hint_style">cairo_font_options_get_hint_style</primary></indexterm> +<programlisting language="C"><link linkend="cairo-hint-style-t"><returnvalue>cairo_hint_style_t</returnvalue></link> +cairo_font_options_get_hint_style (<parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Gets the hint style for font outlines for the font options object. +See the documentation for <link linkend="cairo-hint-style-t"><type>cairo_hint_style_t</type></link> for full details.</para> +<refsect3 id="cairo-font-options-get-hint-style.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-options-get-hint-style.returns" role="returns"> +<title>Returns</title> +<para> the hint style for the font options object</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-set-hint-metrics" role="function" condition="since:1.0"> +<title>cairo_font_options_set_hint_metrics ()</title> +<indexterm zone="cairo-font-options-set-hint-metrics" role="1.0"><primary sortas="font_options_set_hint_metrics">cairo_font_options_set_hint_metrics</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_font_options_set_hint_metrics (<parameter><link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>, + <parameter><link linkend="cairo-hint-metrics-t"><type>cairo_hint_metrics_t</type></link> hint_metrics</parameter>);</programlisting> +<para>Sets the metrics hinting mode for the font options object. This +controls whether metrics are quantized to integer values in +device units. +See the documentation for <link linkend="cairo-hint-metrics-t"><type>cairo_hint_metrics_t</type></link> for full details.</para> +<refsect3 id="cairo-font-options-set-hint-metrics.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>hint_metrics</para></entry> +<entry role="parameter_description"><para>the new metrics hinting mode</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-get-hint-metrics" role="function" condition="since:1.0"> +<title>cairo_font_options_get_hint_metrics ()</title> +<indexterm zone="cairo-font-options-get-hint-metrics" role="1.0"><primary sortas="font_options_get_hint_metrics">cairo_font_options_get_hint_metrics</primary></indexterm> +<programlisting language="C"><link linkend="cairo-hint-metrics-t"><returnvalue>cairo_hint_metrics_t</returnvalue></link> +cairo_font_options_get_hint_metrics (<parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Gets the metrics hinting mode for the font options object. +See the documentation for <link linkend="cairo-hint-metrics-t"><type>cairo_hint_metrics_t</type></link> for full details.</para> +<refsect3 id="cairo-font-options-get-hint-metrics.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-options-get-hint-metrics.returns" role="returns"> +<title>Returns</title> +<para> the metrics hinting mode for the font options object</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-options-get-variations" role="function" condition="since:1.16"> +<title>cairo_font_options_get_variations ()</title> +<indexterm zone="cairo-font-options-get-variations" role="1.16"><primary sortas="font_options_get_variations">cairo_font_options_get_variations</primary></indexterm> +<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> * +cairo_font_options_get_variations (<parameter><link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Gets the OpenType font variations for the font options object. +See <link linkend="cairo-font-options-set-variations"><function>cairo_font_options_set_variations()</function></link> for details about the +string format.</para> +<refsect3 id="cairo-font-options-get-variations.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-font-options-get-variations.returns" role="returns"> +<title>Returns</title> +<para> the font variations for the font options object. The +returned string belongs to the <parameter>options</parameter> +and must not be modified. +It is valid until either the font options object is destroyed or +the font variations in this object is modified with +<link linkend="cairo-font-options-set-variations"><function>cairo_font_options_set_variations()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="cairo-font-options-set-variations" role="function" condition="since:1.16"> +<title>cairo_font_options_set_variations ()</title> +<indexterm zone="cairo-font-options-set-variations" role="1.16"><primary sortas="font_options_set_variations">cairo_font_options_set_variations</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_font_options_set_variations (<parameter><link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *variations</parameter>);</programlisting> +<para>Sets the OpenType font variations for the font options object. +Font variations are specified as a string with a format that +is similar to the CSS font-variation-settings. The string contains +a comma-separated list of axis assignments, which each assignment +consists of a 4-character axis name and a value, separated by +whitespace and optional equals sign.</para> +<para>Examples:</para> +<para>wght=200,wdth=140.5</para> +<para>wght 200 , wdth 140.5</para> +<refsect3 id="cairo-font-options-set-variations.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>variations</para></entry> +<entry role="parameter_description"><para>the new font variations, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-font-options-t.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="cairo-font-options-t" role="typedef" condition="since:1.0"> +<title>cairo_font_options_t</title> +<indexterm zone="cairo-font-options-t" role="1.0"><primary sortas="font_options_t">cairo_font_options_t</primary></indexterm> +<programlisting language="C">typedef struct _cairo_font_options cairo_font_options_t; +</programlisting> +<para>An opaque structure holding all options that are used when +rendering fonts.</para> +<para>Individual features of a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> can be set or +accessed using functions named +<function>cairo_font_options_set_<emphasis>feature_name</emphasis>()</function> and +<function>cairo_font_options_get_<emphasis>feature_name</emphasis>()</function>, like +<link linkend="cairo-font-options-set-antialias"><function>cairo_font_options_set_antialias()</function></link> and +<link linkend="cairo-font-options-get-antialias"><function>cairo_font_options_get_antialias()</function></link>.</para> +<para>New features may be added to a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> in the +future. For this reason, <link linkend="cairo-font-options-copy"><function>cairo_font_options_copy()</function></link>, +<link linkend="cairo-font-options-equal"><function>cairo_font_options_equal()</function></link>, <link linkend="cairo-font-options-merge"><function>cairo_font_options_merge()</function></link>, and +<link linkend="cairo-font-options-hash"><function>cairo_font_options_hash()</function></link> should be used to copy, check +for equality, merge, or compute a hash value of +<link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> objects.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-subpixel-order-t" role="enum" condition="since:1.0"> +<title>enum cairo_subpixel_order_t</title> +<indexterm zone="cairo-subpixel-order-t" role="1.0"><primary sortas="subpixel_order_t">cairo_subpixel_order_t</primary></indexterm> +<para>The subpixel order specifies the order of color elements within +each pixel on the display device when rendering with an +antialiasing mode of <link linkend="CAIRO-ANTIALIAS-SUBPIXEL:CAPS"><literal>CAIRO_ANTIALIAS_SUBPIXEL</literal></link>.</para> +<refsect3 id="cairo-subpixel-order-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SUBPIXEL-ORDER-DEFAULT:CAPS">CAIRO_SUBPIXEL_ORDER_DEFAULT</para></entry> +<entry role="enum_member_description"><para>Use the default subpixel order for + for the target device, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SUBPIXEL-ORDER-RGB:CAPS">CAIRO_SUBPIXEL_ORDER_RGB</para></entry> +<entry role="enum_member_description"><para>Subpixel elements are arranged horizontally + with red at the left, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SUBPIXEL-ORDER-BGR:CAPS">CAIRO_SUBPIXEL_ORDER_BGR</para></entry> +<entry role="enum_member_description"><para>Subpixel elements are arranged horizontally + with blue at the left, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SUBPIXEL-ORDER-VRGB:CAPS">CAIRO_SUBPIXEL_ORDER_VRGB</para></entry> +<entry role="enum_member_description"><para>Subpixel elements are arranged vertically + with red at the top, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SUBPIXEL-ORDER-VBGR:CAPS">CAIRO_SUBPIXEL_ORDER_VBGR</para></entry> +<entry role="enum_member_description"><para>Subpixel elements are arranged vertically + with blue at the top, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-hint-style-t" role="enum" condition="since:1.0"> +<title>enum cairo_hint_style_t</title> +<indexterm zone="cairo-hint-style-t" role="1.0"><primary sortas="hint_style_t">cairo_hint_style_t</primary></indexterm> +<para>Specifies the type of hinting to do on font outlines. Hinting +is the process of fitting outlines to the pixel grid in order +to improve the appearance of the result. Since hinting outlines +involves distorting them, it also reduces the faithfulness +to the original outline shapes. Not all of the outline hinting +styles are supported by all font backends.</para> +<para>New entries may be added in future versions.</para> +<refsect3 id="cairo-hint-style-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-HINT-STYLE-DEFAULT:CAPS">CAIRO_HINT_STYLE_DEFAULT</para></entry> +<entry role="enum_member_description"><para>Use the default hint style for + font backend and target device, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-HINT-STYLE-NONE:CAPS">CAIRO_HINT_STYLE_NONE</para></entry> +<entry role="enum_member_description"><para>Do not hint outlines, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-HINT-STYLE-SLIGHT:CAPS">CAIRO_HINT_STYLE_SLIGHT</para></entry> +<entry role="enum_member_description"><para>Hint outlines slightly to improve + contrast while retaining good fidelity to the original + shapes, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-HINT-STYLE-MEDIUM:CAPS">CAIRO_HINT_STYLE_MEDIUM</para></entry> +<entry role="enum_member_description"><para>Hint outlines with medium strength + giving a compromise between fidelity to the original shapes + and contrast, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-HINT-STYLE-FULL:CAPS">CAIRO_HINT_STYLE_FULL</para></entry> +<entry role="enum_member_description"><para>Hint outlines to maximize contrast, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-hint-metrics-t" role="enum" condition="since:1.0"> +<title>enum cairo_hint_metrics_t</title> +<indexterm zone="cairo-hint-metrics-t" role="1.0"><primary sortas="hint_metrics_t">cairo_hint_metrics_t</primary></indexterm> +<para>Specifies whether to hint font metrics; hinting font metrics +means quantizing them so that they are integer values in +device space. Doing this improves the consistency of +letter and line spacing, however it also means that text +will be laid out differently at different zoom factors.</para> +<refsect3 id="cairo-hint-metrics-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-HINT-METRICS-DEFAULT:CAPS">CAIRO_HINT_METRICS_DEFAULT</para></entry> +<entry role="enum_member_description"><para>Hint metrics in the default + manner for the font backend and target device, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-HINT-METRICS-OFF:CAPS">CAIRO_HINT_METRICS_OFF</para></entry> +<entry role="enum_member_description"><para>Do not hint font metrics, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-HINT-METRICS-ON:CAPS">CAIRO_HINT_METRICS_ON</para></entry> +<entry role="enum_member_description"><para>Hint font metrics, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-font-options-t.see-also"> +<title>See Also</title> +<para><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-ft.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-ft.xml new file mode 100644 index 0000000..e68e2ad --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-ft.xml @@ -0,0 +1,408 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-FreeType-Fonts"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-FreeType-Fonts.top_of_page">FreeType Fonts</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>FreeType Fonts</refname> +<refpurpose>Font support for FreeType</refpurpose> +</refnamediv> + +<refsect1 id="cairo-FreeType-Fonts.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-ft-font-face-create-for-ft-face">cairo_ft_font_face_create_for_ft_face</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-ft-font-face-create-for-pattern">cairo_ft_font_face_create_for_pattern</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ft-font-options-substitute">cairo_ft_font_options_substitute</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="FT-Face"><returnvalue>FT_Face</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ft-scaled-font-lock-face">cairo_ft_scaled_font_lock_face</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ft-scaled-font-unlock-face">cairo_ft_scaled_font_unlock_face</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ft-font-face-get-synthesize">cairo_ft_font_face_get_synthesize</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ft-font-face-set-synthesize">cairo_ft_font_face_set_synthesize</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ft-font-face-unset-synthesize">cairo_ft_font_face_unset_synthesize</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-FreeType-Fonts.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-FT-FONT:CAPS">CAIRO_HAS_FT_FONT</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-FC-FONT:CAPS">CAIRO_HAS_FC_FONT</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-ft-synthesize-t">cairo_ft_synthesize_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-FreeType-Fonts.description" role="desc"> +<title role="desc.title">Description</title> +<para>The FreeType font backend is primarily used to render text on GNU/Linux +systems, but can be used on other platforms too.</para> + +</refsect1> +<refsect1 id="cairo-FreeType-Fonts.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-ft-font-face-create-for-ft-face" role="function" condition="since:1.0"> +<title>cairo_ft_font_face_create_for_ft_face ()</title> +<indexterm zone="cairo-ft-font-face-create-for-ft-face" role="1.0"><primary sortas="ft_font_face_create_for_ft_face">cairo_ft_font_face_create_for_ft_face</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +cairo_ft_font_face_create_for_ft_face (<parameter><link linkend="FT-Face"><type>FT_Face</type></link> face</parameter>, + <parameter><link linkend="int"><type>int</type></link> load_flags</parameter>);</programlisting> +<para>Creates a new font face for the FreeType font backend from a +pre-opened FreeType face. This font can then be used with +<link linkend="cairo-set-font-face"><function>cairo_set_font_face()</function></link> or <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>. The +<link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> returned from <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link> is +also for the FreeType backend and can be used with functions such +as <link linkend="cairo-ft-scaled-font-lock-face"><function>cairo_ft_scaled_font_lock_face()</function></link>. Note that Cairo may keep a reference +to the FT_Face alive in a font-cache and the exact lifetime of the reference +depends highly upon the exact usage pattern and is subject to external +factors. You must not call <link linkend="FT-Done-Face"><function>FT_Done_Face()</function></link> before the last reference to the +<link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> has been dropped.</para> +<para>As an example, below is how one might correctly couple the lifetime of +the FreeType face object to the <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>.</para> +<informalexample><programlisting> +static const cairo_user_data_key_t key; + +font_face = cairo_ft_font_face_create_for_ft_face (ft_face, 0); +status = cairo_font_face_set_user_data (font_face, &key, + ft_face, (cairo_destroy_func_t) FT_Done_Face); +if (status) { + cairo_font_face_destroy (font_face); + FT_Done_Face (ft_face); + return ERROR; +} +</programlisting></informalexample> +<refsect3 id="cairo-ft-font-face-create-for-ft-face.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>face</para></entry> +<entry role="parameter_description"><para>A FreeType face object, already opened. This must +be kept around until the face's ref_count drops to +zero and it is freed. Since the face may be referenced +internally to Cairo, the best way to determine when it +is safe to free the face is to pass a +<link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> to <link linkend="cairo-font-face-set-user-data"><function>cairo_font_face_set_user_data()</function></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>load_flags</para></entry> +<entry role="parameter_description"><para>flags to pass to FT_Load_Glyph when loading +glyphs from the font. These flags are OR'ed together with +the flags derived from the <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> passed +to <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>, so only a few values such +as <link linkend="FT-LOAD-VERTICAL-LAYOUT:CAPS"><literal>FT_LOAD_VERTICAL_LAYOUT</literal></link>, and <link linkend="FT-LOAD-FORCE-AUTOHINT:CAPS"><literal>FT_LOAD_FORCE_AUTOHINT</literal></link> +are useful. You should not pass any of the flags affecting +the load target, such as <link linkend="FT-LOAD-TARGET-LIGHT:CAPS"><literal>FT_LOAD_TARGET_LIGHT</literal></link>.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-ft-font-face-create-for-ft-face.returns" role="returns"> +<title>Returns</title> +<para> a newly created <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. Free with +<link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link> when you are done using it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-ft-font-face-create-for-pattern" role="function" condition="since:1.0"> +<title>cairo_ft_font_face_create_for_pattern ()</title> +<indexterm zone="cairo-ft-font-face-create-for-pattern" role="1.0"><primary sortas="ft_font_face_create_for_pattern">cairo_ft_font_face_create_for_pattern</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +cairo_ft_font_face_create_for_pattern (<parameter><link linkend="FcPattern"><type>FcPattern</type></link> *pattern</parameter>);</programlisting> +<para>Creates a new font face for the FreeType font backend based on a +fontconfig pattern. This font can then be used with +<link linkend="cairo-set-font-face"><function>cairo_set_font_face()</function></link> or <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>. The +<link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> returned from <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link> is +also for the FreeType backend and can be used with functions such +as <link linkend="cairo-ft-scaled-font-lock-face"><function>cairo_ft_scaled_font_lock_face()</function></link>.</para> +<para>Font rendering options are represented both here and when you +call <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>. Font options that have a representation +in a <link linkend="FcPattern"><type>FcPattern</type></link> must be passed in here; to modify <link linkend="FcPattern"><type>FcPattern</type></link> +appropriately to reflect the options in a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>, call +<link linkend="cairo-ft-font-options-substitute"><function>cairo_ft_font_options_substitute()</function></link>.</para> +<para>The pattern's FC_FT_FACE element is inspected first and if that is set, +that will be the FreeType font face associated with the returned cairo +font face. Otherwise the FC_FILE element is checked. If it's set, +that and the value of the FC_INDEX element (defaults to zero) of <parameter>pattern</parameter> + +are used to load a font face from file.</para> +<para>If both steps from the previous paragraph fails, <parameter>pattern</parameter> + will be passed +to FcConfigSubstitute, FcDefaultSubstitute, and finally FcFontMatch, +and the resulting font pattern is used.</para> +<para>If the FC_FT_FACE element of <parameter>pattern</parameter> + is set, the user is responsible +for making sure that the referenced FT_Face remains valid for the life +time of the returned <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. See +<link linkend="cairo-ft-font-face-create-for-ft-face"><function>cairo_ft_font_face_create_for_ft_face()</function></link> for an example of how to couple +the life time of the FT_Face to that of the cairo font-face.</para> +<refsect3 id="cairo-ft-font-face-create-for-pattern.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>A fontconfig pattern. Cairo makes a copy of the pattern +if it needs to. You are free to modify or free <parameter>pattern</parameter> +after this call.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-ft-font-face-create-for-pattern.returns" role="returns"> +<title>Returns</title> +<para> a newly created <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. Free with +<link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link> when you are done using it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-ft-font-options-substitute" role="function" condition="since:1.0"> +<title>cairo_ft_font_options_substitute ()</title> +<indexterm zone="cairo-ft-font-options-substitute" role="1.0"><primary sortas="ft_font_options_substitute">cairo_ft_font_options_substitute</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_ft_font_options_substitute (<parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>, + <parameter><link linkend="FcPattern"><type>FcPattern</type></link> *pattern</parameter>);</programlisting> +<para>Add options to a <link linkend="FcPattern"><type>FcPattern</type></link> based on a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> font +options object. Options that are already in the pattern, are not overridden, +so you should call this function after calling <link linkend="FcConfigSubstitute"><function>FcConfigSubstitute()</function></link> (the +user's settings should override options based on the surface type), but +before calling <link linkend="FcDefaultSubstitute"><function>FcDefaultSubstitute()</function></link>.</para> +<refsect3 id="cairo-ft-font-options-substitute.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> object</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>an existing <link linkend="FcPattern"><type>FcPattern</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-ft-scaled-font-lock-face" role="function" condition="since:1.0"> +<title>cairo_ft_scaled_font_lock_face ()</title> +<indexterm zone="cairo-ft-scaled-font-lock-face" role="1.0"><primary sortas="ft_scaled_font_lock_face">cairo_ft_scaled_font_lock_face</primary></indexterm> +<programlisting language="C"><link linkend="FT-Face"><returnvalue>FT_Face</returnvalue></link> +cairo_ft_scaled_font_lock_face (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting> +<para>cairo_ft_scaled_font_lock_face() gets the <link linkend="FT-Face"><type>FT_Face</type></link> object from a FreeType +backend font and scales it appropriately for the font and applies OpenType +font variations if applicable. You must +release the face with <link linkend="cairo-ft-scaled-font-unlock-face"><function>cairo_ft_scaled_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-scaled-font-t"><type>cairo_scaled_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-scaled-font-lock-face"><function>cairo_ft_scaled_font_lock_face()</function></link> is +called. <link linkend="cairo-ft-scaled-font-unlock-face"><function>cairo_ft_scaled_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 freetype's design makes it unsafe to +call freetype functions simultaneously from multiple threads, (even +if using distinct FT_Face objects). Because of this, application +code that acquires an FT_Face object with this call must add its +own locking to protect any use of that object, (and which also must +protect any other calls into cairo as almost any cairo function +might result in a call into the freetype library).</para> +<refsect3 id="cairo-ft-scaled-font-lock-face.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>A <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> from the FreeType font backend. Such an +object can be created by calling <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link> on a +FreeType backend font face (see <link linkend="cairo-ft-font-face-create-for-pattern"><function>cairo_ft_font_face_create_for_pattern()</function></link>, +<link linkend="cairo-ft-font-face-create-for-ft-face"><function>cairo_ft_font_face_create_for_ft_face()</function></link>).</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-ft-scaled-font-lock-face.returns" role="returns"> +<title>Returns</title> +<para> The <link linkend="FT-Face"><type>FT_Face</type></link> object for <parameter>font</parameter> +, scaled appropriately, +or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>scaled_font</parameter> +is in an error state (see +<link linkend="cairo-scaled-font-status"><function>cairo_scaled_font_status()</function></link>) or there is insufficient memory.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-ft-scaled-font-unlock-face" role="function" condition="since:1.0"> +<title>cairo_ft_scaled_font_unlock_face ()</title> +<indexterm zone="cairo-ft-scaled-font-unlock-face" role="1.0"><primary sortas="ft_scaled_font_unlock_face">cairo_ft_scaled_font_unlock_face</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_ft_scaled_font_unlock_face (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting> +<para>Releases a face obtained with <link linkend="cairo-ft-scaled-font-lock-face"><function>cairo_ft_scaled_font_lock_face()</function></link>.</para> +<refsect3 id="cairo-ft-scaled-font-unlock-face.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>A <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> from the FreeType font backend. Such an +object can be created by calling <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link> on a +FreeType backend font face (see <link linkend="cairo-ft-font-face-create-for-pattern"><function>cairo_ft_font_face_create_for_pattern()</function></link>, +<link linkend="cairo-ft-font-face-create-for-ft-face"><function>cairo_ft_font_face_create_for_ft_face()</function></link>).</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-ft-font-face-get-synthesize" role="function" condition="since:1.12"> +<title>cairo_ft_font_face_get_synthesize ()</title> +<indexterm zone="cairo-ft-font-face-get-synthesize" role="1.12"><primary sortas="ft_font_face_get_synthesize">cairo_ft_font_face_get_synthesize</primary></indexterm> +<programlisting language="C">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +cairo_ft_font_face_get_synthesize (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>See <link linkend="cairo-ft-synthesize-t"><type>cairo_ft_synthesize_t</type></link>.</para> +<refsect3 id="cairo-ft-font-face-get-synthesize.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>The <link linkend="cairo-ft-font-face-t"><type>cairo_ft_font_face_t</type></link> object to query</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-ft-font-face-get-synthesize.returns" role="returns"> +<title>Returns</title> +<para> the current set of synthesis options.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-ft-font-face-set-synthesize" role="function" condition="since:1.12"> +<title>cairo_ft_font_face_set_synthesize ()</title> +<indexterm zone="cairo-ft-font-face-set-synthesize" role="1.12"><primary sortas="ft_font_face_set_synthesize">cairo_ft_font_face_set_synthesize</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_ft_font_face_set_synthesize (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> synth_flags</parameter>);</programlisting> +<para>FreeType provides the ability to synthesize different glyphs from a base +font, which is useful if you lack those glyphs from a true bold or oblique +font. See also <link linkend="cairo-ft-synthesize-t"><type>cairo_ft_synthesize_t</type></link>.</para> +<refsect3 id="cairo-ft-font-face-set-synthesize.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>The <link linkend="cairo-ft-font-face-t"><type>cairo_ft_font_face_t</type></link> object to modify</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>synth_flags</para></entry> +<entry role="parameter_description"><para>the set of synthesis options to enable</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-ft-font-face-unset-synthesize" role="function" condition="since:1.12"> +<title>cairo_ft_font_face_unset_synthesize ()</title> +<indexterm zone="cairo-ft-font-face-unset-synthesize" role="1.12"><primary sortas="ft_font_face_unset_synthesize">cairo_ft_font_face_unset_synthesize</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_ft_font_face_unset_synthesize (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> synth_flags</parameter>);</programlisting> +<para>See <link linkend="cairo-ft-font-face-set-synthesize"><function>cairo_ft_font_face_set_synthesize()</function></link>.</para> +<refsect3 id="cairo-ft-font-face-unset-synthesize.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>The <link linkend="cairo-ft-font-face-t"><type>cairo_ft_font_face_t</type></link> object to modify</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>synth_flags</para></entry> +<entry role="parameter_description"><para>the set of synthesis options to disable</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-FreeType-Fonts.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-FT-FONT:CAPS" role="macro" condition="since:1.0"> +<title>CAIRO_HAS_FT_FONT</title> +<indexterm zone="CAIRO-HAS-FT-FONT:CAPS" role="1.0"><primary sortas="HAS_FT_FONT">CAIRO_HAS_FT_FONT</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_FT_FONT 1 +</programlisting> +<para>Defined if the FreeType font backend is available. +This macro can be used to conditionally compile backend-specific code.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="CAIRO-HAS-FC-FONT:CAPS" role="macro" condition="since:1.10"> +<title>CAIRO_HAS_FC_FONT</title> +<indexterm zone="CAIRO-HAS-FC-FONT:CAPS" role="1.10"><primary sortas="HAS_FC_FONT">CAIRO_HAS_FC_FONT</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_FC_FONT 1 +</programlisting> +<para>Defined if the Fontconfig-specific functions of the FreeType font backend +are available. +This macro can be used to conditionally compile backend-specific code.</para> +<para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-ft-synthesize-t" role="enum" condition="since:1.12"> +<title>enum cairo_ft_synthesize_t</title> +<indexterm zone="cairo-ft-synthesize-t" role="1.12"><primary sortas="ft_synthesize_t">cairo_ft_synthesize_t</primary></indexterm> +<para>A set of synthesis options to control how FreeType renders the glyphs +for a particular font face.</para> +<para>Individual synthesis features of a <link linkend="cairo-ft-font-face-t"><type>cairo_ft_font_face_t</type></link> can be set +using <link linkend="cairo-ft-font-face-set-synthesize"><function>cairo_ft_font_face_set_synthesize()</function></link>, or disabled using +<link linkend="cairo-ft-font-face-unset-synthesize"><function>cairo_ft_font_face_unset_synthesize()</function></link>. The currently enabled set of +synthesis options can be queried with <link linkend="cairo-ft-font-face-get-synthesize"><function>cairo_ft_font_face_get_synthesize()</function></link>.</para> +<para>Note: that when synthesizing glyphs, the font metrics returned will only +be estimates.</para> +<refsect3 id="cairo-ft-synthesize-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FT-SYNTHESIZE-BOLD:CAPS">CAIRO_FT_SYNTHESIZE_BOLD</para></entry> +<entry role="enum_member_description"><para>Embolden the glyphs (redraw with a pixel offset)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FT-SYNTHESIZE-OBLIQUE:CAPS">CAIRO_FT_SYNTHESIZE_OBLIQUE</para></entry> +<entry role="enum_member_description"><para>Slant the glyph outline by 12 degrees to the +right.</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-FreeType-Fonts.see-also"> +<title>See Also</title> +<para><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-image.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-image.xml new file mode 100644 index 0000000..f9c9443 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-image.xml @@ -0,0 +1,425 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Image-Surfaces"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Image-Surfaces.top_of_page">Image Surfaces</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Image Surfaces</refname> +<refpurpose>Rendering to memory buffers</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Image-Surfaces.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-format-stride-for-width">cairo_format_stride_for_width</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-image-surface-create">cairo_image_surface_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-image-surface-create-for-data">cairo_image_surface_create_for_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">unsigned <link linkend="char"><returnvalue>char</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-image-surface-get-data">cairo_image_surface_get_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-format-t"><returnvalue>cairo_format_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-image-surface-get-format">cairo_image_surface_get_format</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-image-surface-get-width">cairo_image_surface_get_width</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-image-surface-get-height">cairo_image_surface_get_height</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-image-surface-get-stride">cairo_image_surface_get_stride</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Image-Surfaces.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-IMAGE-SURFACE:CAPS">CAIRO_HAS_IMAGE_SURFACE</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-format-t">cairo_format_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Image-Surfaces.description" role="desc"> +<title role="desc.title">Description</title> +<para>Image surfaces provide the ability to render to memory buffers +either allocated by cairo or by the calling code. The supported +image formats are those defined in <link linkend="cairo-format-t"><type>cairo_format_t</type></link>.</para> + +</refsect1> +<refsect1 id="cairo-Image-Surfaces.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-format-stride-for-width" role="function" condition="since:1.6"> +<title>cairo_format_stride_for_width ()</title> +<indexterm zone="cairo-format-stride-for-width" role="1.6"><primary sortas="format_stride_for_width">cairo_format_stride_for_width</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_format_stride_for_width (<parameter><link linkend="cairo-format-t"><type>cairo_format_t</type></link> format</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>);</programlisting> +<para>This function provides a stride value that will respect all +alignment requirements of the accelerated image-rendering code +within cairo. Typical usage will be of the form:</para> +<informalexample><programlisting> +int stride; +unsigned char *data; +cairo_surface_t *surface; + +stride = cairo_format_stride_for_width (format, width); +data = malloc (stride * height); +surface = cairo_image_surface_create_for_data (data, format, + width, height, + stride); +</programlisting></informalexample> +<refsect3 id="cairo-format-stride-for-width.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>format</para></entry> +<entry role="parameter_description"><para>A <link linkend="cairo-format-t"><type>cairo_format_t</type></link> value</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>The desired width of an image surface to be created.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-format-stride-for-width.returns" role="returns"> +<title>Returns</title> +<para> the appropriate stride to use given the desired +format and width, or -1 if either the format is invalid or the width +too large.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-image-surface-create" role="function" condition="since:1.0"> +<title>cairo_image_surface_create ()</title> +<indexterm zone="cairo-image-surface-create" role="1.0"><primary sortas="image_surface_create">cairo_image_surface_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_image_surface_create (<parameter><link linkend="cairo-format-t"><type>cairo_format_t</type></link> format</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Creates an image surface of the specified format and +dimensions. Initially the surface contents are set to 0. +(Specifically, within each pixel, each color or alpha channel +belonging to format will be 0. The contents of bits within a pixel, +but not belonging to the given format are undefined).</para> +<refsect3 id="cairo-image-surface-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>format</para></entry> +<entry role="parameter_description"><para>format of pixels in the surface to create</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>width of the surface, in pixels</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>height of the surface, in pixels</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-image-surface-create.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-image-surface-create-for-data" role="function" condition="since:1.0"> +<title>cairo_image_surface_create_for_data ()</title> +<indexterm zone="cairo-image-surface-create-for-data" role="1.0"><primary sortas="image_surface_create_for_data">cairo_image_surface_create_for_data</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_image_surface_create_for_data (<parameter>unsigned <link linkend="char"><type>char</type></link> *data</parameter>, + <parameter><link linkend="cairo-format-t"><type>cairo_format_t</type></link> format</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>, + <parameter><link linkend="int"><type>int</type></link> stride</parameter>);</programlisting> +<para>Creates an image surface for the provided pixel data. The output +buffer must be kept around until the <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> is destroyed +or <link linkend="cairo-surface-finish"><function>cairo_surface_finish()</function></link> is called on the surface. The initial +contents of <parameter>data</parameter> + will be used as the initial image contents; you +must explicitly clear the buffer, using, for example, +<link linkend="cairo-rectangle"><function>cairo_rectangle()</function></link> and <link linkend="cairo-fill"><function>cairo_fill()</function></link> if you want it cleared.</para> +<para>Note that the stride may be larger than +width*bytes_per_pixel to provide proper alignment for each pixel +and row. This alignment is required to allow high-performance rendering +within cairo. The correct way to obtain a legal stride value is to +call <link linkend="cairo-format-stride-for-width"><function>cairo_format_stride_for_width()</function></link> with the desired format and +maximum image width value, and then use the resulting stride value +to allocate the data and to create the image surface. See +<link linkend="cairo-format-stride-for-width"><function>cairo_format_stride_for_width()</function></link> for example code.</para> +<refsect3 id="cairo-image-surface-create-for-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>data</para></entry> +<entry role="parameter_description"><para>a pointer to a buffer supplied by the application in which +to write contents. This pointer must be suitably aligned for any +kind of variable, (for example, a pointer returned by malloc).</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>format</para></entry> +<entry role="parameter_description"><para>the format of pixels in the buffer</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the width of the image to be stored in the buffer</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the height of the image to be stored in the buffer</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>stride</para></entry> +<entry role="parameter_description"><para>the number of bytes between the start of rows in the +buffer as allocated. This value should always be computed by +<link linkend="cairo-format-stride-for-width"><function>cairo_format_stride_for_width()</function></link> before allocating the data +buffer.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-image-surface-create-for-data.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface in the case of an error such as out of +memory or an invalid stride value. In case of invalid stride value +the error status of the returned surface will be +<link linkend="CAIRO-STATUS-INVALID-STRIDE:CAPS"><literal>CAIRO_STATUS_INVALID_STRIDE</literal></link>. You can use +<link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +<para>See <link linkend="cairo-surface-set-user-data"><function>cairo_surface_set_user_data()</function></link> for a means of attaching a +destroy-notification fallback to the surface if necessary.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-image-surface-get-data" role="function" condition="since:1.2"> +<title>cairo_image_surface_get_data ()</title> +<indexterm zone="cairo-image-surface-get-data" role="1.2"><primary sortas="image_surface_get_data">cairo_image_surface_get_data</primary></indexterm> +<programlisting language="C">unsigned <link linkend="char"><returnvalue>char</returnvalue></link> * +cairo_image_surface_get_data (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Get a pointer to the data of the image surface, for direct +inspection or modification.</para> +<para>A call to <link linkend="cairo-surface-flush"><function>cairo_surface_flush()</function></link> is required before accessing the +pixel data to ensure that all pending drawing operations are +finished. A call to <link linkend="cairo-surface-mark-dirty"><function>cairo_surface_mark_dirty()</function></link> is required after +the data is modified.</para> +<refsect3 id="cairo-image-surface-get-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-image-surface-t"><type>cairo_image_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-image-surface-get-data.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the image data of this surface or <link linkend="NULL:CAPS"><literal>NULL</literal></link> +if <parameter>surface</parameter> +is not an image surface, or if <link linkend="cairo-surface-finish"><function>cairo_surface_finish()</function></link> +has been called.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-image-surface-get-format" role="function" condition="since:1.2"> +<title>cairo_image_surface_get_format ()</title> +<indexterm zone="cairo-image-surface-get-format" role="1.2"><primary sortas="image_surface_get_format">cairo_image_surface_get_format</primary></indexterm> +<programlisting language="C"><link linkend="cairo-format-t"><returnvalue>cairo_format_t</returnvalue></link> +cairo_image_surface_get_format (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Get the format of the surface.</para> +<refsect3 id="cairo-image-surface-get-format.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-image-surface-t"><type>cairo_image_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-image-surface-get-format.returns" role="returns"> +<title>Returns</title> +<para> the format of the surface</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-image-surface-get-width" role="function" condition="since:1.0"> +<title>cairo_image_surface_get_width ()</title> +<indexterm zone="cairo-image-surface-get-width" role="1.0"><primary sortas="image_surface_get_width">cairo_image_surface_get_width</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_image_surface_get_width (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Get the width of the image surface in pixels.</para> +<refsect3 id="cairo-image-surface-get-width.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-image-surface-t"><type>cairo_image_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-image-surface-get-width.returns" role="returns"> +<title>Returns</title> +<para> the width of the surface in pixels.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-image-surface-get-height" role="function" condition="since:1.0"> +<title>cairo_image_surface_get_height ()</title> +<indexterm zone="cairo-image-surface-get-height" role="1.0"><primary sortas="image_surface_get_height">cairo_image_surface_get_height</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_image_surface_get_height (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Get the height of the image surface in pixels.</para> +<refsect3 id="cairo-image-surface-get-height.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-image-surface-t"><type>cairo_image_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-image-surface-get-height.returns" role="returns"> +<title>Returns</title> +<para> the height of the surface in pixels.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-image-surface-get-stride" role="function" condition="since:1.2"> +<title>cairo_image_surface_get_stride ()</title> +<indexterm zone="cairo-image-surface-get-stride" role="1.2"><primary sortas="image_surface_get_stride">cairo_image_surface_get_stride</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_image_surface_get_stride (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Get the stride of the image surface in bytes</para> +<refsect3 id="cairo-image-surface-get-stride.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-image-surface-t"><type>cairo_image_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-image-surface-get-stride.returns" role="returns"> +<title>Returns</title> +<para> the stride of the image surface in bytes (or 0 if +<parameter>surface</parameter> +is not an image surface). The stride is the distance in +bytes from the beginning of one row of the image data to the +beginning of the next row.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Image-Surfaces.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-IMAGE-SURFACE:CAPS" role="macro" condition="since:1.8"> +<title>CAIRO_HAS_IMAGE_SURFACE</title> +<indexterm zone="CAIRO-HAS-IMAGE-SURFACE:CAPS" role="1.8"><primary sortas="HAS_IMAGE_SURFACE">CAIRO_HAS_IMAGE_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_IMAGE_SURFACE 1 +</programlisting> +<para>Defined if the image surface backend is available. +The image surface backend is always built in. +This macro was added for completeness in cairo 1.8.</para> +<para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-format-t" role="enum" condition="since:1.0"> +<title>enum cairo_format_t</title> +<indexterm zone="cairo-format-t" role="1.0"><primary sortas="format_t">cairo_format_t</primary></indexterm> +<para><link linkend="cairo-format-t"><type>cairo_format_t</type></link> is used to identify the memory format of +image data.</para> +<para>New entries may be added in future versions.</para> +<refsect3 id="cairo-format-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FORMAT-INVALID:CAPS">CAIRO_FORMAT_INVALID</para></entry> +<entry role="enum_member_description"><para>no such format exists or is supported.</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FORMAT-ARGB32:CAPS">CAIRO_FORMAT_ARGB32</para></entry> +<entry role="enum_member_description"><para>each pixel is a 32-bit quantity, with + alpha in the upper 8 bits, then red, then green, then blue. + The 32-bit quantities are stored native-endian. Pre-multiplied + alpha is used. (That is, 50% transparent red is 0x80800000, + not 0x80ff0000.) (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FORMAT-RGB24:CAPS">CAIRO_FORMAT_RGB24</para></entry> +<entry role="enum_member_description"><para>each pixel is a 32-bit quantity, with + the upper 8 bits unused. Red, Green, and Blue are stored + in the remaining 24 bits in that order. (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FORMAT-A8:CAPS">CAIRO_FORMAT_A8</para></entry> +<entry role="enum_member_description"><para>each pixel is a 8-bit quantity holding + an alpha value. (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FORMAT-A1:CAPS">CAIRO_FORMAT_A1</para></entry> +<entry role="enum_member_description"><para>each pixel is a 1-bit quantity holding + an alpha value. Pixels are packed together into 32-bit + quantities. The ordering of the bits matches the + endianness of the platform. On a big-endian machine, the + first pixel is in the uppermost bit, on a little-endian + machine the first pixel is in the least-significant bit. (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FORMAT-RGB16-565:CAPS">CAIRO_FORMAT_RGB16_565</para></entry> +<entry role="enum_member_description"><para>each pixel is a 16-bit quantity + with red in the upper 5 bits, then green in the middle + 6 bits, and blue in the lower 5 bits. (Since 1.2)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FORMAT-RGB30:CAPS">CAIRO_FORMAT_RGB30</para></entry> +<entry role="enum_member_description"><para>like RGB24 but with 10bpc. (Since 1.12)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Image-Surfaces.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-matrix.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-matrix.xml new file mode 100644 index 0000000..afb0700 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-matrix.xml @@ -0,0 +1,574 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-cairo-matrix-t"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-cairo-matrix-t.top_of_page">cairo_matrix_t</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>cairo_matrix_t</refname> +<refpurpose>Generic matrix operations</refpurpose> +</refnamediv> + +<refsect1 id="cairo-cairo-matrix-t.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-matrix-init">cairo_matrix_init</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-matrix-init-identity">cairo_matrix_init_identity</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-matrix-init-translate">cairo_matrix_init_translate</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-matrix-init-scale">cairo_matrix_init_scale</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-matrix-init-rotate">cairo_matrix_init_rotate</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-matrix-translate">cairo_matrix_translate</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-matrix-scale">cairo_matrix_scale</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-matrix-rotate">cairo_matrix_rotate</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-matrix-invert">cairo_matrix_invert</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-matrix-multiply">cairo_matrix_multiply</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-matrix-transform-distance">cairo_matrix_transform_distance</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-matrix-transform-point">cairo_matrix_transform_point</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-cairo-matrix-t.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="cairo-matrix-t">cairo_matrix_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-cairo-matrix-t.description" role="desc"> +<title role="desc.title">Description</title> +<para><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> is used throughout cairo to convert between different +coordinate spaces. A <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> holds an affine transformation, +such as a scale, rotation, shear, or a combination of these. +The transformation of a point (<literal>x</literal>,<literal>y</literal>) +is given by:</para> +<programlisting> +x_new = xx * x + xy * y + x0; +y_new = yx * x + yy * y + y0; +</programlisting> +<para>The current transformation matrix of a <link linkend="cairo-t"><type>cairo_t</type></link>, represented as a +<link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link>, defines the transformation from user-space +coordinates to device-space coordinates. See <link linkend="cairo-get-matrix"><function>cairo_get_matrix()</function></link> and +<link linkend="cairo-set-matrix"><function>cairo_set_matrix()</function></link>.</para> + +</refsect1> +<refsect1 id="cairo-cairo-matrix-t.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-matrix-init" role="function" condition="since:1.0"> +<title>cairo_matrix_init ()</title> +<indexterm zone="cairo-matrix-init" role="1.0"><primary sortas="matrix_init">cairo_matrix_init</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_matrix_init (<parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>, + <parameter><link linkend="double"><type>double</type></link> xx</parameter>, + <parameter><link linkend="double"><type>double</type></link> yx</parameter>, + <parameter><link linkend="double"><type>double</type></link> xy</parameter>, + <parameter><link linkend="double"><type>double</type></link> yy</parameter>, + <parameter><link linkend="double"><type>double</type></link> x0</parameter>, + <parameter><link linkend="double"><type>double</type></link> y0</parameter>);</programlisting> +<para>Sets <parameter>matrix</parameter> + to be the affine transformation given by +<parameter>xx</parameter> +, <parameter>yx</parameter> +, <parameter>xy</parameter> +, <parameter>yy</parameter> +, <parameter>x0</parameter> +, <parameter>y0</parameter> +. The transformation is given +by:</para> +<programlisting> + x_new = xx * x + xy * y + x0; + y_new = yx * x + yy * y + y0; +</programlisting> +<refsect3 id="cairo-matrix-init.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>xx</para></entry> +<entry role="parameter_description"><para>xx component of the affine transformation</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>yx</para></entry> +<entry role="parameter_description"><para>yx component of the affine transformation</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>xy</para></entry> +<entry role="parameter_description"><para>xy component of the affine transformation</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>yy</para></entry> +<entry role="parameter_description"><para>yy component of the affine transformation</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x0</para></entry> +<entry role="parameter_description"><para>X translation component of the affine transformation</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y0</para></entry> +<entry role="parameter_description"><para>Y translation component of the affine transformation</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-matrix-init-identity" role="function" condition="since:1.0"> +<title>cairo_matrix_init_identity ()</title> +<indexterm zone="cairo-matrix-init-identity" role="1.0"><primary sortas="matrix_init_identity">cairo_matrix_init_identity</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_matrix_init_identity (<parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>);</programlisting> +<para>Modifies <parameter>matrix</parameter> + to be an identity transformation.</para> +<refsect3 id="cairo-matrix-init-identity.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-matrix-init-translate" role="function" condition="since:1.0"> +<title>cairo_matrix_init_translate ()</title> +<indexterm zone="cairo-matrix-init-translate" role="1.0"><primary sortas="matrix_init_translate">cairo_matrix_init_translate</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_matrix_init_translate (<parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>, + <parameter><link linkend="double"><type>double</type></link> tx</parameter>, + <parameter><link linkend="double"><type>double</type></link> ty</parameter>);</programlisting> +<para>Initializes <parameter>matrix</parameter> + to a transformation that translates by <parameter>tx</parameter> + and +<parameter>ty</parameter> + in the X and Y dimensions, respectively.</para> +<refsect3 id="cairo-matrix-init-translate.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>tx</para></entry> +<entry role="parameter_description"><para>amount to translate in the X direction</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>ty</para></entry> +<entry role="parameter_description"><para>amount to translate in the Y direction</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-matrix-init-scale" role="function" condition="since:1.0"> +<title>cairo_matrix_init_scale ()</title> +<indexterm zone="cairo-matrix-init-scale" role="1.0"><primary sortas="matrix_init_scale">cairo_matrix_init_scale</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_matrix_init_scale (<parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>, + <parameter><link linkend="double"><type>double</type></link> sx</parameter>, + <parameter><link linkend="double"><type>double</type></link> sy</parameter>);</programlisting> +<para>Initializes <parameter>matrix</parameter> + to a transformation that scales by <parameter>sx</parameter> + and <parameter>sy</parameter> + +in the X and Y dimensions, respectively.</para> +<refsect3 id="cairo-matrix-init-scale.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>sx</para></entry> +<entry role="parameter_description"><para>scale factor in the X direction</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>sy</para></entry> +<entry role="parameter_description"><para>scale factor in the Y direction</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-matrix-init-rotate" role="function" condition="since:1.0"> +<title>cairo_matrix_init_rotate ()</title> +<indexterm zone="cairo-matrix-init-rotate" role="1.0"><primary sortas="matrix_init_rotate">cairo_matrix_init_rotate</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_matrix_init_rotate (<parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>, + <parameter><link linkend="double"><type>double</type></link> radians</parameter>);</programlisting> +<para>Initialized <parameter>matrix</parameter> + to a transformation that rotates by <parameter>radians</parameter> +.</para> +<refsect3 id="cairo-matrix-init-rotate.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>radians</para></entry> +<entry role="parameter_description"><para>angle of rotation, in radians. The direction of rotation +is defined such that positive angles rotate in the direction from +the positive X axis toward the positive Y axis. With the default +axis orientation of cairo, positive angles rotate in a clockwise +direction.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-matrix-translate" role="function" condition="since:1.0"> +<title>cairo_matrix_translate ()</title> +<indexterm zone="cairo-matrix-translate" role="1.0"><primary sortas="matrix_translate">cairo_matrix_translate</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_matrix_translate (<parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>, + <parameter><link linkend="double"><type>double</type></link> tx</parameter>, + <parameter><link linkend="double"><type>double</type></link> ty</parameter>);</programlisting> +<para>Applies a translation by <parameter>tx</parameter> +, <parameter>ty</parameter> + to the transformation in +<parameter>matrix</parameter> +. The effect of the new transformation is to first translate +the coordinates by <parameter>tx</parameter> + and <parameter>ty</parameter> +, then apply the original transformation +to the coordinates.</para> +<refsect3 id="cairo-matrix-translate.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>tx</para></entry> +<entry role="parameter_description"><para>amount to translate in the X direction</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>ty</para></entry> +<entry role="parameter_description"><para>amount to translate in the Y direction</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-matrix-scale" role="function" condition="since:1.0"> +<title>cairo_matrix_scale ()</title> +<indexterm zone="cairo-matrix-scale" role="1.0"><primary sortas="matrix_scale">cairo_matrix_scale</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_matrix_scale (<parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>, + <parameter><link linkend="double"><type>double</type></link> sx</parameter>, + <parameter><link linkend="double"><type>double</type></link> sy</parameter>);</programlisting> +<para>Applies scaling by <parameter>sx</parameter> +, <parameter>sy</parameter> + to the transformation in <parameter>matrix</parameter> +. The +effect of the new transformation is to first scale the coordinates +by <parameter>sx</parameter> + and <parameter>sy</parameter> +, then apply the original transformation to the coordinates.</para> +<refsect3 id="cairo-matrix-scale.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>sx</para></entry> +<entry role="parameter_description"><para>scale factor in the X direction</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>sy</para></entry> +<entry role="parameter_description"><para>scale factor in the Y direction</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-matrix-rotate" role="function" condition="since:1.0"> +<title>cairo_matrix_rotate ()</title> +<indexterm zone="cairo-matrix-rotate" role="1.0"><primary sortas="matrix_rotate">cairo_matrix_rotate</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_matrix_rotate (<parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>, + <parameter><link linkend="double"><type>double</type></link> radians</parameter>);</programlisting> +<para>Applies rotation by <parameter>radians</parameter> + to the transformation in +<parameter>matrix</parameter> +. The effect of the new transformation is to first rotate the +coordinates by <parameter>radians</parameter> +, then apply the original transformation +to the coordinates.</para> +<refsect3 id="cairo-matrix-rotate.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>radians</para></entry> +<entry role="parameter_description"><para>angle of rotation, in radians. The direction of rotation +is defined such that positive angles rotate in the direction from +the positive X axis toward the positive Y axis. With the default +axis orientation of cairo, positive angles rotate in a clockwise +direction.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-matrix-invert" role="function" condition="since:1.0"> +<title>cairo_matrix_invert ()</title> +<indexterm zone="cairo-matrix-invert" role="1.0"><primary sortas="matrix_invert">cairo_matrix_invert</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_matrix_invert (<parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>);</programlisting> +<para>Changes <parameter>matrix</parameter> + to be the inverse of its 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> +<refsect3 id="cairo-matrix-invert.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-matrix-invert.returns" role="returns"> +<title>Returns</title> +<para> If <parameter>matrix</parameter> +has an inverse, modifies <parameter>matrix</parameter> +to +be the inverse matrix and returns <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>. Otherwise, +returns <link linkend="CAIRO-STATUS-INVALID-MATRIX:CAPS"><literal>CAIRO_STATUS_INVALID_MATRIX</literal></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-matrix-multiply" role="function" condition="since:1.0"> +<title>cairo_matrix_multiply ()</title> +<indexterm zone="cairo-matrix-multiply" role="1.0"><primary sortas="matrix_multiply">cairo_matrix_multiply</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_matrix_multiply (<parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *result</parameter>, + <parameter>const <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *a</parameter>, + <parameter>const <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *b</parameter>);</programlisting> +<para>Multiplies the affine transformations in <parameter>a</parameter> + and <parameter>b</parameter> + together +and stores the result in <parameter>result</parameter> +. The effect of the resulting +transformation is to first apply the transformation in <parameter>a</parameter> + to the +coordinates and then apply the transformation in <parameter>b</parameter> + to the +coordinates.</para> +<para>It is allowable for <parameter>result</parameter> + to be identical to either <parameter>a</parameter> + or <parameter>b</parameter> +.</para> +<refsect3 id="cairo-matrix-multiply.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>result</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> in which to store the result</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>a</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>b</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-matrix-transform-distance" role="function" condition="since:1.0"> +<title>cairo_matrix_transform_distance ()</title> +<indexterm zone="cairo-matrix-transform-distance" role="1.0"><primary sortas="matrix_transform_distance">cairo_matrix_transform_distance</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_matrix_transform_distance (<parameter>const <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>, + <parameter><link linkend="double"><type>double</type></link> *dx</parameter>, + <parameter><link linkend="double"><type>double</type></link> *dy</parameter>);</programlisting> +<para>Transforms the distance vector (<parameter>dx</parameter> +,<parameter>dy</parameter> +) by <parameter>matrix</parameter> +. This is +similar to <link linkend="cairo-matrix-transform-point"><function>cairo_matrix_transform_point()</function></link> except that the translation +components of the transformation are ignored. The calculation of +the returned vector is as follows:</para> +<programlisting> +dx2 = dx1 * a + dy1 * c; +dy2 = dx1 * b + dy1 * d; +</programlisting> +<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> +<refsect3 id="cairo-matrix-transform-distance.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dx</para></entry> +<entry role="parameter_description"><para>X component of a distance vector. An in/out parameter</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dy</para></entry> +<entry role="parameter_description"><para>Y component of a distance vector. An in/out parameter</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-matrix-transform-point" role="function" condition="since:1.0"> +<title>cairo_matrix_transform_point ()</title> +<indexterm zone="cairo-matrix-transform-point" role="1.0"><primary sortas="matrix_transform_point">cairo_matrix_transform_point</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_matrix_transform_point (<parameter>const <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y</parameter>);</programlisting> +<para>Transforms the point (<parameter>x</parameter> +, <parameter>y</parameter> +) by <parameter>matrix</parameter> +.</para> +<refsect3 id="cairo-matrix-transform-point.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>X position. An in/out parameter</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>Y position. An in/out parameter</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-matrix-t.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="cairo-matrix-t" role="struct" condition="since:1.0"> +<title>cairo_matrix_t</title> +<indexterm zone="cairo-matrix-t" role="1.0"><primary sortas="matrix_t">cairo_matrix_t</primary></indexterm> +<programlisting language="C">typedef struct { + double xx; double yx; + double xy; double yy; + double x0; double y0; +} 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, shear, or a combination of those. The transformation of +a point (x, y) is given by:</para> +<programlisting> + x_new = xx * x + xy * y + x0; + y_new = yx * x + yy * y + y0; +</programlisting> +<refsect3 id="cairo-matrix-t.members" role="struct_members"> +<title>Members</title> +<informaltable role="struct_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="struct_members_name" colwidth="300px"/> +<colspec colname="struct_members_description"/> +<colspec colname="struct_members_annotations" colwidth="200px"/> +<tbody> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-matrix-t.xx">xx</structfield>;</para></entry> +<entry role="struct_member_description"><para>xx component of the affine transformation</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-matrix-t.yx">yx</structfield>;</para></entry> +<entry role="struct_member_description"><para>yx component of the affine transformation</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-matrix-t.xy">xy</structfield>;</para></entry> +<entry role="struct_member_description"><para>xy component of the affine transformation</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-matrix-t.yy">yy</structfield>;</para></entry> +<entry role="struct_member_description"><para>yy component of the affine transformation</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-matrix-t.x0">x0</structfield>;</para></entry> +<entry role="struct_member_description"><para>X translation component of the affine transformation</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-matrix-t.y0">y0</structfield>;</para></entry> +<entry role="struct_member_description"><para>Y translation component of the affine transformation</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-matrix-t.see-also"> +<title>See Also</title> +<para><link linkend="cairo-t"><type>cairo_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-paths.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-paths.xml new file mode 100644 index 0000000..2373cb6 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-paths.xml @@ -0,0 +1,1125 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Paths"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Paths.top_of_page">Paths</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Paths</refname> +<refpurpose>Creating paths and manipulating path data</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Paths.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-path-t"><returnvalue>cairo_path_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-copy-path">cairo_copy_path</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-path-t"><returnvalue>cairo_path_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-copy-path-flat">cairo_copy_path_flat</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-path-destroy">cairo_path_destroy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-append-path">cairo_append_path</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-has-current-point">cairo_has_current_point</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-current-point">cairo_get_current_point</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-new-path">cairo_new_path</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-new-sub-path">cairo_new_sub_path</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-close-path">cairo_close_path</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-arc">cairo_arc</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-arc-negative">cairo_arc_negative</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-curve-to">cairo_curve_to</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-line-to">cairo_line_to</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-move-to">cairo_move_to</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-rectangle">cairo_rectangle</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-glyph-path">cairo_glyph_path</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-text-path">cairo_text_path</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-rel-curve-to">cairo_rel_curve_to</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-rel-line-to">cairo_rel_line_to</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-rel-move-to">cairo_rel_move_to</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-path-extents">cairo_path_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Paths.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="cairo-path-t">cairo_path_t</link></entry></row> +<row><entry role="datatype_keyword">union</entry><entry role="function_name"><link linkend="cairo-path-data-t">cairo_path_data_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-path-data-type-t">cairo_path_data_type_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Paths.description" role="desc"> +<title role="desc.title">Description</title> +<para>Paths are the most basic drawing tools and are primarily used to implicitly +generate simple masks.</para> + +</refsect1> +<refsect1 id="cairo-Paths.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-copy-path" role="function" condition="since:1.0"> +<title>cairo_copy_path ()</title> +<indexterm zone="cairo-copy-path" role="1.0"><primary sortas="copy_path">cairo_copy_path</primary></indexterm> +<programlisting language="C"><link linkend="cairo-path-t"><returnvalue>cairo_path_t</returnvalue></link> * +cairo_copy_path (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Creates a copy of the current path and returns it to the user as a +<link linkend="cairo-path-t"><type>cairo_path_t</type></link>. See <link linkend="cairo-path-data-t"><type>cairo_path_data_t</type></link> for hints on how to iterate +over the returned data structure.</para> +<para>This function will always return a valid pointer, but the result +will have no data (<literal>data==<link linkend="NULL:CAPS"><literal>NULL</literal></link></literal> and +<literal>num_data==0</literal>), if either of the following +conditions hold:</para> +<orderedlist> +<listitem>If there is insufficient memory to copy the path. In this + case <literal>path->status</literal> will be set to + <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link>.</listitem> +<listitem>If <parameter>cr</parameter> is already in an error state. In this case + <literal>path->status</literal> will contain the same status that + would be returned by <link linkend="cairo-status"><function>cairo_status()</function></link>.</listitem> +</orderedlist> +<refsect3 id="cairo-copy-path.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-copy-path.returns" role="returns"> +<title>Returns</title> +<para> the copy of the current path. The caller owns the +returned object and should call <link linkend="cairo-path-destroy"><function>cairo_path_destroy()</function></link> when finished +with it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-copy-path-flat" role="function" condition="since:1.0"> +<title>cairo_copy_path_flat ()</title> +<indexterm zone="cairo-copy-path-flat" role="1.0"><primary sortas="copy_path_flat">cairo_copy_path_flat</primary></indexterm> +<programlisting language="C"><link linkend="cairo-path-t"><returnvalue>cairo_path_t</returnvalue></link> * +cairo_copy_path_flat (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets a flattened copy of the current path and returns it to the +user as a <link linkend="cairo-path-t"><type>cairo_path_t</type></link>. See <link linkend="cairo-path-data-t"><type>cairo_path_data_t</type></link> for hints on +how to iterate over the returned data structure.</para> +<para>This function is like <link linkend="cairo-copy-path"><function>cairo_copy_path()</function></link> except that any curves +in the path will be approximated with piecewise-linear +approximations, (accurate to within the current tolerance +value). That is, the result is guaranteed to not have any elements +of type <link linkend="CAIRO-PATH-CURVE-TO:CAPS"><literal>CAIRO_PATH_CURVE_TO</literal></link> which will instead be replaced by a +series of <link linkend="CAIRO-PATH-LINE-TO:CAPS"><literal>CAIRO_PATH_LINE_TO</literal></link> elements.</para> +<para>This function will always return a valid pointer, but the result +will have no data (<literal>data==<link linkend="NULL:CAPS"><literal>NULL</literal></link></literal> and +<literal>num_data==0</literal>), if either of the following +conditions hold:</para> +<orderedlist> +<listitem>If there is insufficient memory to copy the path. In this + case <literal>path->status</literal> will be set to + <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link>.</listitem> +<listitem>If <parameter>cr</parameter> is already in an error state. In this case + <literal>path->status</literal> will contain the same status that + would be returned by <link linkend="cairo-status"><function>cairo_status()</function></link>.</listitem> +</orderedlist> +<refsect3 id="cairo-copy-path-flat.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-copy-path-flat.returns" role="returns"> +<title>Returns</title> +<para> the copy of the current path. The caller owns the +returned object and should call <link linkend="cairo-path-destroy"><function>cairo_path_destroy()</function></link> when finished +with it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-path-destroy" role="function" condition="since:1.0"> +<title>cairo_path_destroy ()</title> +<indexterm zone="cairo-path-destroy" role="1.0"><primary sortas="path_destroy">cairo_path_destroy</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_path_destroy (<parameter><link linkend="cairo-path-t"><type>cairo_path_t</type></link> *path</parameter>);</programlisting> +<para>Immediately releases all memory associated with <parameter>path</parameter> +. After a call +to <link linkend="cairo-path-destroy"><function>cairo_path_destroy()</function></link> the <parameter>path</parameter> + pointer is no longer valid and +should not be used further.</para> +<para>Note: <link linkend="cairo-path-destroy"><function>cairo_path_destroy()</function></link> should only be called with a +pointer to a <link linkend="cairo-path-t"><type>cairo_path_t</type></link> returned by a cairo function. Any path +that is created manually (ie. outside of cairo) should be destroyed +manually as well.</para> +<refsect3 id="cairo-path-destroy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>path</para></entry> +<entry role="parameter_description"><para>a path previously returned by either <link linkend="cairo-copy-path"><function>cairo_copy_path()</function></link> or +<link linkend="cairo-copy-path-flat"><function>cairo_copy_path_flat()</function></link>.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-append-path" role="function" condition="since:1.0"> +<title>cairo_append_path ()</title> +<indexterm zone="cairo-append-path" role="1.0"><primary sortas="append_path">cairo_append_path</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_append_path (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="cairo-path-t"><type>cairo_path_t</type></link> *path</parameter>);</programlisting> +<para>Append the <parameter>path</parameter> + onto the current path. The <parameter>path</parameter> + may be either the +return value from one of <link linkend="cairo-copy-path"><function>cairo_copy_path()</function></link> or +<link linkend="cairo-copy-path-flat"><function>cairo_copy_path_flat()</function></link> or it may be constructed manually. See +<link linkend="cairo-path-t"><type>cairo_path_t</type></link> for details on how the path data structure should be +initialized, and note that <literal>path->status</literal> must be +initialized to <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>.</para> +<refsect3 id="cairo-append-path.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>path</para></entry> +<entry role="parameter_description"><para>path to be appended</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-has-current-point" role="function" condition="since:1.6"> +<title>cairo_has_current_point ()</title> +<indexterm zone="cairo-has-current-point" role="1.6"><primary sortas="has_current_point">cairo_has_current_point</primary></indexterm> +<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +cairo_has_current_point (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Returns whether a current point is defined on the current path. +See <link linkend="cairo-get-current-point"><function>cairo_get_current_point()</function></link> for details on the current point.</para> +<refsect3 id="cairo-has-current-point.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-has-current-point.returns" role="returns"> +<title>Returns</title> +<para> whether a current point is defined.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-get-current-point" role="function" condition="since:1.0"> +<title>cairo_get_current_point ()</title> +<indexterm zone="cairo-get-current-point" role="1.0"><primary sortas="get_current_point">cairo_get_current_point</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_get_current_point (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y</parameter>);</programlisting> +<para>Gets the current point of the current path, which is +conceptually the final point reached by the path so far.</para> +<para>The current point is returned in the user-space coordinate +system. If there is no defined current point or if <parameter>cr</parameter> + is in an +error status, <parameter>x</parameter> + and <parameter>y</parameter> + will both be set to 0.0. It is possible to +check this in advance with <link linkend="cairo-has-current-point"><function>cairo_has_current_point()</function></link>.</para> +<para>Most path construction functions alter the current point. See the +following for details on how they affect the current point: +<link linkend="cairo-new-path"><function>cairo_new_path()</function></link>, <link linkend="cairo-new-sub-path"><function>cairo_new_sub_path()</function></link>, +<link linkend="cairo-append-path"><function>cairo_append_path()</function></link>, <link linkend="cairo-close-path"><function>cairo_close_path()</function></link>, +<link linkend="cairo-move-to"><function>cairo_move_to()</function></link>, <link linkend="cairo-line-to"><function>cairo_line_to()</function></link>, <link linkend="cairo-curve-to"><function>cairo_curve_to()</function></link>, +<link linkend="cairo-rel-move-to"><function>cairo_rel_move_to()</function></link>, <link linkend="cairo-rel-line-to"><function>cairo_rel_line_to()</function></link>, <link linkend="cairo-rel-curve-to"><function>cairo_rel_curve_to()</function></link>, +<link linkend="cairo-arc"><function>cairo_arc()</function></link>, <link linkend="cairo-arc-negative"><function>cairo_arc_negative()</function></link>, <link linkend="cairo-rectangle"><function>cairo_rectangle()</function></link>, +<link linkend="cairo-text-path"><function>cairo_text_path()</function></link>, <link linkend="cairo-glyph-path"><function>cairo_glyph_path()</function></link>, <link linkend="cairo-stroke-to-path"><function>cairo_stroke_to_path()</function></link>.</para> +<para>Some functions use and alter the current point but do not +otherwise change current path: +<link linkend="cairo-show-text"><function>cairo_show_text()</function></link>.</para> +<para>Some functions unset the current path and as a result, current point: +<link linkend="cairo-fill"><function>cairo_fill()</function></link>, <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>.</para> +<refsect3 id="cairo-get-current-point.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>return value for X coordinate of the current point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>return value for Y coordinate of the current point</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-new-path" role="function" condition="since:1.0"> +<title>cairo_new_path ()</title> +<indexterm zone="cairo-new-path" role="1.0"><primary sortas="new_path">cairo_new_path</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_new_path (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Clears the current path. After this call there will be no path and +no current point.</para> +<refsect3 id="cairo-new-path.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-new-sub-path" role="function" condition="since:1.2"> +<title>cairo_new_sub_path ()</title> +<indexterm zone="cairo-new-sub-path" role="1.2"><primary sortas="new_sub_path">cairo_new_sub_path</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_new_sub_path (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Begin a new sub-path. Note that the existing path is not +affected. After this call there will be no current point.</para> +<para>In many cases, this call is not needed since new sub-paths are +frequently started with <link linkend="cairo-move-to"><function>cairo_move_to()</function></link>.</para> +<para>A call to <link linkend="cairo-new-sub-path"><function>cairo_new_sub_path()</function></link> is particularly useful when +beginning a new sub-path with one of the <link linkend="cairo-arc"><function>cairo_arc()</function></link> calls. This +makes things easier as it is no longer necessary to manually +compute the arc's initial coordinates for a call to +<link linkend="cairo-move-to"><function>cairo_move_to()</function></link>.</para> +<refsect3 id="cairo-new-sub-path.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-close-path" role="function" condition="since:1.0"> +<title>cairo_close_path ()</title> +<indexterm zone="cairo-close-path" role="1.0"><primary sortas="close_path">cairo_close_path</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_close_path (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Adds a line segment to the path from the current point to the +beginning of the current sub-path, (the most recent point passed to +<link linkend="cairo-move-to"><function>cairo_move_to()</function></link>), and closes this sub-path. After this call the +current point will be at the joined endpoint of the sub-path.</para> +<para>The behavior of <link linkend="cairo-close-path"><function>cairo_close_path()</function></link> is distinct from simply calling +<link linkend="cairo-line-to"><function>cairo_line_to()</function></link> with the equivalent coordinate in the case of +stroking. When a closed sub-path is stroked, there are no caps on +the ends of the sub-path. Instead, there is a line join connecting +the final and initial segments of the sub-path.</para> +<para>If there is no current point before the call to <link linkend="cairo-close-path"><function>cairo_close_path()</function></link>, +this function will have no effect.</para> +<para>Note: As of cairo version 1.2.4 any call to <link linkend="cairo-close-path"><function>cairo_close_path()</function></link> will +place an explicit MOVE_TO element into the path immediately after +the CLOSE_PATH element, (which can be seen in <link linkend="cairo-copy-path"><function>cairo_copy_path()</function></link> for +example). This can simplify path processing in some cases as it may +not be necessary to save the "last move_to point" during processing +as the MOVE_TO immediately after the CLOSE_PATH will provide that +point.</para> +<refsect3 id="cairo-close-path.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-arc" role="function" condition="since:1.0"> +<title>cairo_arc ()</title> +<indexterm zone="cairo-arc" role="1.0"><primary sortas="arc">cairo_arc</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_arc (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> xc</parameter>, + <parameter><link linkend="double"><type>double</type></link> yc</parameter>, + <parameter><link linkend="double"><type>double</type></link> radius</parameter>, + <parameter><link linkend="double"><type>double</type></link> angle1</parameter>, + <parameter><link linkend="double"><type>double</type></link> angle2</parameter>);</programlisting> +<para>Adds a circular arc of the given <parameter>radius</parameter> + to the current path. The +arc is centered at (<parameter>xc</parameter> +, <parameter>yc</parameter> +), begins at <parameter>angle1</parameter> + and proceeds in +the direction of increasing angles to end at <parameter>angle2</parameter> +. If <parameter>angle2</parameter> + is +less than <parameter>angle1</parameter> + it will be progressively increased by +<literal>2*M_PI</literal> until it is greater than <parameter>angle1</parameter> +.</para> +<para>If there is a current point, an initial line segment will be added +to the path to connect the current point to the beginning of the +arc. If this initial line is undesired, it can be avoided by +calling <link linkend="cairo-new-sub-path"><function>cairo_new_sub_path()</function></link> before calling <link linkend="cairo-arc"><function>cairo_arc()</function></link>.</para> +<para>Angles are measured in radians. An angle of 0.0 is in the direction +of the positive X axis (in user space). An angle of +<literal>M_PI/2.0</literal> radians (90 degrees) is in the +direction of the positive Y axis (in user space). Angles increase +in the direction from the positive X axis toward the positive Y +axis. So with the default transformation matrix, angles increase in +a clockwise direction.</para> +<para>(To convert from degrees to radians, use <literal>degrees * (M_PI / +180.)</literal>.)</para> +<para>This function gives the arc in the direction of increasing angles; +see <link linkend="cairo-arc-negative"><function>cairo_arc_negative()</function></link> to get the arc in the direction of +decreasing angles.</para> +<para>The arc is circular in user space. To achieve an elliptical arc, +you can scale the current transformation matrix by different +amounts in the X and Y directions. For example, to draw an ellipse +in the box given by <parameter>x</parameter> +, <parameter>y</parameter> +, <parameter>width</parameter> +, <parameter>height</parameter> +:</para> +<informalexample><programlisting> +cairo_save (cr); +cairo_translate (cr, x + width / 2., y + height / 2.); +cairo_scale (cr, width / 2., height / 2.); +cairo_arc (cr, 0., 0., 1., 0., 2 * M_PI); +cairo_restore (cr); +</programlisting></informalexample> +<refsect3 id="cairo-arc.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>xc</para></entry> +<entry role="parameter_description"><para>X position of the center of the arc</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>yc</para></entry> +<entry role="parameter_description"><para>Y position of the center of the arc</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>radius</para></entry> +<entry role="parameter_description"><para>the radius of the arc</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>angle1</para></entry> +<entry role="parameter_description"><para>the start angle, in radians</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>angle2</para></entry> +<entry role="parameter_description"><para>the end angle, in radians</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-arc-negative" role="function" condition="since:1.0"> +<title>cairo_arc_negative ()</title> +<indexterm zone="cairo-arc-negative" role="1.0"><primary sortas="arc_negative">cairo_arc_negative</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_arc_negative (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> xc</parameter>, + <parameter><link linkend="double"><type>double</type></link> yc</parameter>, + <parameter><link linkend="double"><type>double</type></link> radius</parameter>, + <parameter><link linkend="double"><type>double</type></link> angle1</parameter>, + <parameter><link linkend="double"><type>double</type></link> angle2</parameter>);</programlisting> +<para>Adds a circular arc of the given <parameter>radius</parameter> + to the current path. The +arc is centered at (<parameter>xc</parameter> +, <parameter>yc</parameter> +), begins at <parameter>angle1</parameter> + and proceeds in +the direction of decreasing angles to end at <parameter>angle2</parameter> +. If <parameter>angle2</parameter> + is +greater than <parameter>angle1</parameter> + it will be progressively decreased by +<literal>2*M_PI</literal> until it is less than <parameter>angle1</parameter> +.</para> +<para>See <link linkend="cairo-arc"><function>cairo_arc()</function></link> for more details. This function differs only in the +direction of the arc between the two angles.</para> +<refsect3 id="cairo-arc-negative.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>xc</para></entry> +<entry role="parameter_description"><para>X position of the center of the arc</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>yc</para></entry> +<entry role="parameter_description"><para>Y position of the center of the arc</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>radius</para></entry> +<entry role="parameter_description"><para>the radius of the arc</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>angle1</para></entry> +<entry role="parameter_description"><para>the start angle, in radians</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>angle2</para></entry> +<entry role="parameter_description"><para>the end angle, in radians</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-curve-to" role="function" condition="since:1.0"> +<title>cairo_curve_to ()</title> +<indexterm zone="cairo-curve-to" role="1.0"><primary sortas="curve_to">cairo_curve_to</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_curve_to (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> x1</parameter>, + <parameter><link linkend="double"><type>double</type></link> y1</parameter>, + <parameter><link linkend="double"><type>double</type></link> x2</parameter>, + <parameter><link linkend="double"><type>double</type></link> y2</parameter>, + <parameter><link linkend="double"><type>double</type></link> x3</parameter>, + <parameter><link linkend="double"><type>double</type></link> y3</parameter>);</programlisting> +<para>Adds a cubic Bézier spline to the path from the current point to +position (<parameter>x3</parameter> +, <parameter>y3</parameter> +) in user-space coordinates, using (<parameter>x1</parameter> +, <parameter>y1</parameter> +) and +(<parameter>x2</parameter> +, <parameter>y2</parameter> +) as the control points. After this call the current point +will be (<parameter>x3</parameter> +, <parameter>y3</parameter> +).</para> +<para>If there is no current point before the call to <link linkend="cairo-curve-to"><function>cairo_curve_to()</function></link> +this function will behave as if preceded by a call to +cairo_move_to(<parameter>cr</parameter> +, <parameter>x1</parameter> +, <parameter>y1</parameter> +).</para> +<refsect3 id="cairo-curve-to.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x1</para></entry> +<entry role="parameter_description"><para>the X coordinate of the first control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y1</para></entry> +<entry role="parameter_description"><para>the Y coordinate of the first control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x2</para></entry> +<entry role="parameter_description"><para>the X coordinate of the second control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y2</para></entry> +<entry role="parameter_description"><para>the Y coordinate of the second control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x3</para></entry> +<entry role="parameter_description"><para>the X coordinate of the end of the curve</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y3</para></entry> +<entry role="parameter_description"><para>the Y coordinate of the end of the curve</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-line-to" role="function" condition="since:1.0"> +<title>cairo_line_to ()</title> +<indexterm zone="cairo-line-to" role="1.0"><primary sortas="line_to">cairo_line_to</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_line_to (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> x</parameter>, + <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> +<para>Adds a line to the path from the current point to position (<parameter>x</parameter> +, <parameter>y</parameter> +) +in user-space coordinates. After this call the current point +will be (<parameter>x</parameter> +, <parameter>y</parameter> +).</para> +<para>If there is no current point before the call to <link linkend="cairo-line-to"><function>cairo_line_to()</function></link> +this function will behave as cairo_move_to(<parameter>cr</parameter> +, <parameter>x</parameter> +, <parameter>y</parameter> +).</para> +<refsect3 id="cairo-line-to.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>the X coordinate of the end of the new line</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>the Y coordinate of the end of the new line</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-move-to" role="function" condition="since:1.0"> +<title>cairo_move_to ()</title> +<indexterm zone="cairo-move-to" role="1.0"><primary sortas="move_to">cairo_move_to</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_move_to (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> x</parameter>, + <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> +<para>Begin a new sub-path. After this call the current point will be (<parameter>x</parameter> +, +<parameter>y</parameter> +).</para> +<refsect3 id="cairo-move-to.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>the X coordinate of the new position</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>the Y coordinate of the new position</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-rectangle" role="function" condition="since:1.0"> +<title>cairo_rectangle ()</title> +<indexterm zone="cairo-rectangle" role="1.0"><primary sortas="rectangle">cairo_rectangle</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_rectangle (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> x</parameter>, + <parameter><link linkend="double"><type>double</type></link> y</parameter>, + <parameter><link linkend="double"><type>double</type></link> width</parameter>, + <parameter><link linkend="double"><type>double</type></link> height</parameter>);</programlisting> +<para>Adds a closed sub-path rectangle of the given size to the current +path at position (<parameter>x</parameter> +, <parameter>y</parameter> +) in user-space coordinates.</para> +<para>This function is logically equivalent to:</para> +<informalexample><programlisting> +cairo_move_to (cr, x, y); +cairo_rel_line_to (cr, width, 0); +cairo_rel_line_to (cr, 0, height); +cairo_rel_line_to (cr, -width, 0); +cairo_close_path (cr); +</programlisting></informalexample> +<refsect3 id="cairo-rectangle.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>the X coordinate of the top left corner of the rectangle</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>the Y coordinate to the top left corner of the rectangle</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the width of the rectangle</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the height of the rectangle</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-glyph-path" role="function" condition="since:1.0"> +<title>cairo_glyph_path ()</title> +<indexterm zone="cairo-glyph-path" role="1.0"><primary sortas="glyph_path">cairo_glyph_path</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_glyph_path (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link> *glyphs</parameter>, + <parameter><link linkend="int"><type>int</type></link> num_glyphs</parameter>);</programlisting> +<para>Adds closed paths for the glyphs to the current path. The generated +path if filled, achieves an effect similar to that of +<link linkend="cairo-show-glyphs"><function>cairo_show_glyphs()</function></link>.</para> +<refsect3 id="cairo-glyph-path.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>glyphs</para></entry> +<entry role="parameter_description"><para>array of glyphs to show</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_glyphs</para></entry> +<entry role="parameter_description"><para>number of glyphs to show</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-text-path" role="function" condition="since:1.0"> +<title>cairo_text_path ()</title> +<indexterm zone="cairo-text-path" role="1.0"><primary sortas="text_path">cairo_text_path</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_text_path (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *utf8</parameter>);</programlisting> +<para>Adds closed paths for text to the current path. The generated +path if filled, achieves an effect similar to that of +<link linkend="cairo-show-text"><function>cairo_show_text()</function></link>.</para> +<para>Text conversion and positioning is done similar to <link linkend="cairo-show-text"><function>cairo_show_text()</function></link>.</para> +<para>Like <link linkend="cairo-show-text"><function>cairo_show_text()</function></link>, After this call the current point is +moved to the origin of where the next glyph would be placed in +this same progression. That is, the current point will be at +the origin of the final glyph offset by its advance values. +This allows for chaining multiple calls to to <link linkend="cairo-text-path"><function>cairo_text_path()</function></link> +without having to set current point in between.</para> +<para>Note: The <link linkend="cairo-text-path"><function>cairo_text_path()</function></link> function call is part of what the cairo +designers call the "toy" text API. It is convenient for short demos +and simple programs, but it is not expected to be adequate for +serious text-using applications. See <link linkend="cairo-glyph-path"><function>cairo_glyph_path()</function></link> for the +"real" text path API in cairo.</para> +<refsect3 id="cairo-text-path.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8</para></entry> +<entry role="parameter_description"><para>a NUL-terminated string of text encoded in UTF-8, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-rel-curve-to" role="function" condition="since:1.0"> +<title>cairo_rel_curve_to ()</title> +<indexterm zone="cairo-rel-curve-to" role="1.0"><primary sortas="rel_curve_to">cairo_rel_curve_to</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_rel_curve_to (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> dx1</parameter>, + <parameter><link linkend="double"><type>double</type></link> dy1</parameter>, + <parameter><link linkend="double"><type>double</type></link> dx2</parameter>, + <parameter><link linkend="double"><type>double</type></link> dy2</parameter>, + <parameter><link linkend="double"><type>double</type></link> dx3</parameter>, + <parameter><link linkend="double"><type>double</type></link> dy3</parameter>);</programlisting> +<para>Relative-coordinate version of <link linkend="cairo-curve-to"><function>cairo_curve_to()</function></link>. All offsets are +relative to the current point. Adds a cubic Bézier spline to the +path from the current point to a point offset from the current +point by (<parameter>dx3</parameter> +, <parameter>dy3</parameter> +), using points offset by (<parameter>dx1</parameter> +, <parameter>dy1</parameter> +) and +(<parameter>dx2</parameter> +, <parameter>dy2</parameter> +) as the control points. After this call the current +point will be offset by (<parameter>dx3</parameter> +, <parameter>dy3</parameter> +).</para> +<para>Given a current point of (x, y), cairo_rel_curve_to(<parameter>cr</parameter> +, <parameter>dx1</parameter> +, +<parameter>dy1</parameter> +, <parameter>dx2</parameter> +, <parameter>dy2</parameter> +, <parameter>dx3</parameter> +, <parameter>dy3</parameter> +) is logically equivalent to +cairo_curve_to(<parameter>cr</parameter> +, x+<parameter>dx1</parameter> +, y+<parameter>dy1</parameter> +, x+<parameter>dx2</parameter> +, y+<parameter>dy2</parameter> +, x+<parameter>dx3</parameter> +, y+<parameter>dy3</parameter> +).</para> +<para>It is an error to call this function with no current point. Doing +so will cause <parameter>cr</parameter> + to shutdown with a status of +<link linkend="CAIRO-STATUS-NO-CURRENT-POINT:CAPS"><literal>CAIRO_STATUS_NO_CURRENT_POINT</literal></link>.</para> +<refsect3 id="cairo-rel-curve-to.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dx1</para></entry> +<entry role="parameter_description"><para>the X offset to the first control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dy1</para></entry> +<entry role="parameter_description"><para>the Y offset to the first control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dx2</para></entry> +<entry role="parameter_description"><para>the X offset to the second control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dy2</para></entry> +<entry role="parameter_description"><para>the Y offset to the second control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dx3</para></entry> +<entry role="parameter_description"><para>the X offset to the end of the curve</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dy3</para></entry> +<entry role="parameter_description"><para>the Y offset to the end of the curve</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-rel-line-to" role="function" condition="since:1.0"> +<title>cairo_rel_line_to ()</title> +<indexterm zone="cairo-rel-line-to" role="1.0"><primary sortas="rel_line_to">cairo_rel_line_to</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_rel_line_to (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> dx</parameter>, + <parameter><link linkend="double"><type>double</type></link> dy</parameter>);</programlisting> +<para>Relative-coordinate version of <link linkend="cairo-line-to"><function>cairo_line_to()</function></link>. Adds a line to the +path from the current point to a point that is offset from the +current point by (<parameter>dx</parameter> +, <parameter>dy</parameter> +) in user space. After this call the +current point will be offset by (<parameter>dx</parameter> +, <parameter>dy</parameter> +).</para> +<para>Given a current point of (x, y), cairo_rel_line_to(<parameter>cr</parameter> +, <parameter>dx</parameter> +, <parameter>dy</parameter> +) +is logically equivalent to cairo_line_to(<parameter>cr</parameter> +, x + <parameter>dx</parameter> +, y + <parameter>dy</parameter> +).</para> +<para>It is an error to call this function with no current point. Doing +so will cause <parameter>cr</parameter> + to shutdown with a status of +<link linkend="CAIRO-STATUS-NO-CURRENT-POINT:CAPS"><literal>CAIRO_STATUS_NO_CURRENT_POINT</literal></link>.</para> +<refsect3 id="cairo-rel-line-to.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dx</para></entry> +<entry role="parameter_description"><para>the X offset to the end of the new line</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dy</para></entry> +<entry role="parameter_description"><para>the Y offset to the end of the new line</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-rel-move-to" role="function" condition="since:1.0"> +<title>cairo_rel_move_to ()</title> +<indexterm zone="cairo-rel-move-to" role="1.0"><primary sortas="rel_move_to">cairo_rel_move_to</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_rel_move_to (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> dx</parameter>, + <parameter><link linkend="double"><type>double</type></link> dy</parameter>);</programlisting> +<para>Begin a new sub-path. After this call the current point will offset +by (<parameter>x</parameter> +, <parameter>y</parameter> +).</para> +<para>Given a current point of (x, y), cairo_rel_move_to(<parameter>cr</parameter> +, <parameter>dx</parameter> +, <parameter>dy</parameter> +) +is logically equivalent to cairo_move_to(<parameter>cr</parameter> +, x + <parameter>dx</parameter> +, y + <parameter>dy</parameter> +).</para> +<para>It is an error to call this function with no current point. Doing +so will cause <parameter>cr</parameter> + to shutdown with a status of +<link linkend="CAIRO-STATUS-NO-CURRENT-POINT:CAPS"><literal>CAIRO_STATUS_NO_CURRENT_POINT</literal></link>.</para> +<refsect3 id="cairo-rel-move-to.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dx</para></entry> +<entry role="parameter_description"><para>the X offset</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dy</para></entry> +<entry role="parameter_description"><para>the Y offset</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-path-extents" role="function" condition="since:1.6"> +<title>cairo_path_extents ()</title> +<indexterm zone="cairo-path-extents" role="1.6"><primary sortas="path_extents">cairo_path_extents</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_path_extents (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x1</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y1</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x2</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y2</parameter>);</programlisting> +<para>Computes a bounding box in user-space coordinates covering the +points on the current path. If the current path is empty, returns +an empty rectangle ((0,0), (0,0)). Stroke parameters, fill rule, +surface dimensions and clipping are not taken into account.</para> +<para>Contrast with <link linkend="cairo-fill-extents"><function>cairo_fill_extents()</function></link> and <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link> which +return the extents of only the area that would be "inked" by +the corresponding drawing operations.</para> +<para>The result of <link linkend="cairo-path-extents"><function>cairo_path_extents()</function></link> is defined as equivalent to the +limit of <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link> with <link linkend="CAIRO-LINE-CAP-ROUND:CAPS"><literal>CAIRO_LINE_CAP_ROUND</literal></link> as the +line width approaches 0.0, (but never reaching the empty-rectangle +returned by <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link> for a line width of 0.0).</para> +<para>Specifically, this means that zero-area sub-paths such as +<link linkend="cairo-move-to"><function>cairo_move_to()</function></link>;<link linkend="cairo-line-to"><function>cairo_line_to()</function></link> segments, (even degenerate cases +where the coordinates to both calls are identical), will be +considered as contributing to the extents. However, a lone +<link linkend="cairo-move-to"><function>cairo_move_to()</function></link> will not contribute to the results of +<link linkend="cairo-path-extents"><function>cairo_path_extents()</function></link>.</para> +<refsect3 id="cairo-path-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x1</para></entry> +<entry role="parameter_description"><para>left of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y1</para></entry> +<entry role="parameter_description"><para>top of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x2</para></entry> +<entry role="parameter_description"><para>right of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y2</para></entry> +<entry role="parameter_description"><para>bottom of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Paths.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="cairo-path-t" role="struct" condition="since:1.0"> +<title>cairo_path_t</title> +<indexterm zone="cairo-path-t" role="1.0"><primary sortas="path_t">cairo_path_t</primary></indexterm> +<programlisting language="C">typedef struct { + cairo_status_t status; + cairo_path_data_t *data; + int num_data; +} cairo_path_t; +</programlisting> +<para>A data structure for holding a path. This data structure serves as +the return value for <link linkend="cairo-copy-path"><function>cairo_copy_path()</function></link> and +<link linkend="cairo-copy-path-flat"><function>cairo_copy_path_flat()</function></link> as well the input value for +<link linkend="cairo-append-path"><function>cairo_append_path()</function></link>.</para> +<para>See <link linkend="cairo-path-data-t"><type>cairo_path_data_t</type></link> for hints on how to iterate over the +actual data within the path.</para> +<para>The num_data member gives the number of elements in the data +array. This number is larger than the number of independent path +portions (defined in <link linkend="cairo-path-data-type-t"><type>cairo_path_data_type_t</type></link>), since the data +includes both headers and coordinates for each portion.</para> +<refsect3 id="cairo-path-t.members" role="struct_members"> +<title>Members</title> +<informaltable role="struct_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="struct_members_name" colwidth="300px"/> +<colspec colname="struct_members_description"/> +<colspec colname="struct_members_annotations" colwidth="200px"/> +<tbody> +<row role="member"><entry role="struct_member_name"><para><link linkend="cairo-status-t"><type>cairo_status_t</type></link> <structfield id="cairo-path-t.status">status</structfield>;</para></entry> +<entry role="struct_member_description"><para>the current error status</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="cairo-path-data-t"><type>cairo_path_data_t</type></link> *<structfield id="cairo-path-t.data">data</structfield>;</para></entry> +<entry role="struct_member_description"><para>the elements in the path</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="int"><type>int</type></link> <structfield id="cairo-path-t.num-data">num_data</structfield>;</para></entry> +<entry role="struct_member_description"><para>the number of elements in the data array</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-path-data-t" role="union" condition="since:1.0"> +<title>union cairo_path_data_t</title> +<indexterm zone="cairo-path-data-t" role="1.0"><primary sortas="path_data_t">cairo_path_data_t</primary></indexterm> +<para><link linkend="cairo-path-data-t"><type>cairo_path_data_t</type></link> is used to represent the path data inside a +<link linkend="cairo-path-t"><type>cairo_path_t</type></link>.</para> +<para>The data structure is designed to try to balance the demands of +efficiency and ease-of-use. A path is represented as an array of +<link linkend="cairo-path-data-t"><type>cairo_path_data_t</type></link>, which is a union of headers and points.</para> +<para>Each portion of the path is represented by one or more elements in +the array, (one header followed by 0 or more points). The length +value of the header is the number of array elements for the current +portion including the header, (ie. length == 1 + # of points), and +where the number of points for each element type is as follows:</para> +<programlisting> + %CAIRO_PATH_MOVE_TO: 1 point + %CAIRO_PATH_LINE_TO: 1 point + %CAIRO_PATH_CURVE_TO: 3 points + %CAIRO_PATH_CLOSE_PATH: 0 points +</programlisting> +<para>The semantics and ordering of the coordinate values are consistent +with <link linkend="cairo-move-to"><function>cairo_move_to()</function></link>, <link linkend="cairo-line-to"><function>cairo_line_to()</function></link>, <link linkend="cairo-curve-to"><function>cairo_curve_to()</function></link>, and +<link linkend="cairo-close-path"><function>cairo_close_path()</function></link>.</para> +<para>Here is sample code for iterating through a <link linkend="cairo-path-t"><type>cairo_path_t</type></link>:</para> +<informalexample><programlisting> + int i; + cairo_path_t *path; + cairo_path_data_t *data; + + path = cairo_copy_path (cr); + + for (i=0; i < path->num_data; i += path->data[i].header.length) { + data = &path->data[i]; + switch (data->header.type) { + case CAIRO_PATH_MOVE_TO: + do_move_to_things (data[1].point.x, data[1].point.y); + break; + case CAIRO_PATH_LINE_TO: + do_line_to_things (data[1].point.x, data[1].point.y); + break; + case CAIRO_PATH_CURVE_TO: + do_curve_to_things (data[1].point.x, data[1].point.y, + data[2].point.x, data[2].point.y, + data[3].point.x, data[3].point.y); + break; + case CAIRO_PATH_CLOSE_PATH: + do_close_path_things (); + break; + } + } + cairo_path_destroy (path); +</programlisting></informalexample> +<para>As of cairo 1.4, cairo does not mind if there are more elements in +a portion of the path than needed. Such elements can be used by +users of the cairo API to hold extra values in the path data +structure. For this reason, it is recommended that applications +always use <literal>data->header.length</literal> to +iterate over the path data, instead of hardcoding the number of +elements for each element type.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-path-data-type-t" role="enum" condition="since:1.0"> +<title>enum cairo_path_data_type_t</title> +<indexterm zone="cairo-path-data-type-t" role="1.0"><primary sortas="path_data_type_t">cairo_path_data_type_t</primary></indexterm> +<para><link linkend="cairo-path-data-t"><type>cairo_path_data_t</type></link> is used to describe the type of one portion +of a path when represented as a <link linkend="cairo-path-t"><type>cairo_path_t</type></link>. +See <link linkend="cairo-path-data-t"><type>cairo_path_data_t</type></link> for details.</para> +<refsect3 id="cairo-path-data-type-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATH-MOVE-TO:CAPS">CAIRO_PATH_MOVE_TO</para></entry> +<entry role="enum_member_description"><para>A move-to operation, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATH-LINE-TO:CAPS">CAIRO_PATH_LINE_TO</para></entry> +<entry role="enum_member_description"><para>A line-to operation, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATH-CURVE-TO:CAPS">CAIRO_PATH_CURVE_TO</para></entry> +<entry role="enum_member_description"><para>A curve-to operation, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATH-CLOSE-PATH:CAPS">CAIRO_PATH_CLOSE_PATH</para></entry> +<entry role="enum_member_description"><para>A close-path operation, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-pattern.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-pattern.xml new file mode 100644 index 0000000..7386cde --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-pattern.xml @@ -0,0 +1,1966 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-cairo-pattern-t"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-cairo-pattern-t.top_of_page">cairo_pattern_t</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>cairo_pattern_t</refname> +<refpurpose>Sources for drawing</refpurpose> +</refnamediv> + +<refsect1 id="cairo-cairo-pattern-t.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-add-color-stop-rgb">cairo_pattern_add_color_stop_rgb</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-add-color-stop-rgba">cairo_pattern_add_color_stop_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-get-color-stop-count">cairo_pattern_get_color_stop_count</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-get-color-stop-rgba">cairo_pattern_get_color_stop_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pattern-create-rgb">cairo_pattern_create_rgb</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pattern-create-rgba">cairo_pattern_create_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-get-rgba">cairo_pattern_get_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pattern-create-for-surface">cairo_pattern_create_for_surface</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-get-surface">cairo_pattern_get_surface</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pattern-create-linear">cairo_pattern_create_linear</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-get-linear-points">cairo_pattern_get_linear_points</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pattern-create-radial">cairo_pattern_create_radial</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-get-radial-circles">cairo_pattern_get_radial_circles</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pattern-create-mesh">cairo_pattern_create_mesh</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-begin-patch">cairo_mesh_pattern_begin_patch</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-end-patch">cairo_mesh_pattern_end_patch</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-move-to">cairo_mesh_pattern_move_to</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-line-to">cairo_mesh_pattern_line_to</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-curve-to">cairo_mesh_pattern_curve_to</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-set-control-point">cairo_mesh_pattern_set_control_point</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-set-corner-color-rgb">cairo_mesh_pattern_set_corner_color_rgb</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-set-corner-color-rgba">cairo_mesh_pattern_set_corner_color_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-get-patch-count">cairo_mesh_pattern_get_patch_count</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-path-t"><returnvalue>cairo_path_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-get-path">cairo_mesh_pattern_get_path</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-get-control-point">cairo_mesh_pattern_get_control_point</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mesh-pattern-get-corner-color-rgba">cairo_mesh_pattern_get_corner_color_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pattern-reference">cairo_pattern_reference</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-destroy">cairo_pattern_destroy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-status">cairo_pattern_status</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-set-extend">cairo_pattern_set_extend</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-extend-t"><returnvalue>cairo_extend_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-get-extend">cairo_pattern_get_extend</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-set-filter">cairo_pattern_set_filter</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-filter-t"><returnvalue>cairo_filter_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-get-filter">cairo_pattern_get_filter</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-set-matrix">cairo_pattern_set_matrix</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-get-matrix">cairo_pattern_get_matrix</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-pattern-type-t"><returnvalue>cairo_pattern_type_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-get-type">cairo_pattern_get_type</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-get-reference-count">cairo_pattern_get_reference_count</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pattern-set-user-data">cairo_pattern_set_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pattern-get-user-data">cairo_pattern_get_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-cairo-pattern-t.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="typedef_keyword">typedef</entry><entry role="function_name"><link linkend="cairo-pattern-t">cairo_pattern_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-extend-t">cairo_extend_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-filter-t">cairo_filter_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-pattern-type-t">cairo_pattern_type_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-cairo-pattern-t.description" role="desc"> +<title role="desc.title">Description</title> +<para><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> is the paint with which cairo draws. +The primary use of patterns is as the source for all cairo drawing +operations, although they can also be used as masks, that is, as the +brush too.</para> +<para>A cairo pattern is created by using one of the many constructors, +of the form +<function>cairo_pattern_create_<emphasis>type</emphasis>()</function> +or implicitly through +<function>cairo_set_source_<emphasis>type</emphasis>()</function> +functions.</para> + +</refsect1> +<refsect1 id="cairo-cairo-pattern-t.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-pattern-add-color-stop-rgb" role="function" condition="since:1.0"> +<title>cairo_pattern_add_color_stop_rgb ()</title> +<indexterm zone="cairo-pattern-add-color-stop-rgb" role="1.0"><primary sortas="pattern_add_color_stop_rgb">cairo_pattern_add_color_stop_rgb</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pattern_add_color_stop_rgb (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="double"><type>double</type></link> offset</parameter>, + <parameter><link linkend="double"><type>double</type></link> red</parameter>, + <parameter><link linkend="double"><type>double</type></link> green</parameter>, + <parameter><link linkend="double"><type>double</type></link> blue</parameter>);</programlisting> +<para>Adds an opaque color stop to a gradient pattern. The offset +specifies the location along the gradient's control vector. For +example, a linear gradient's control vector is from (x0,y0) to +(x1,y1) while a radial gradient's control vector is from any point +on the start circle to the corresponding point on the end circle.</para> +<para>The color is specified in the same way as in <link linkend="cairo-set-source-rgb"><function>cairo_set_source_rgb()</function></link>.</para> +<para>If two (or more) stops are specified with identical offset values, +they will be sorted according to the order in which the stops are +added, (stops added earlier will compare less than stops added +later). This can be useful for reliably making sharp color +transitions instead of the typical blend.</para> +<para>Note: If the pattern is not a gradient pattern, (eg. a linear or +radial pattern), then the pattern will be put into an error status +with a status of <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>.</para> +<refsect3 id="cairo-pattern-add-color-stop-rgb.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>offset</para></entry> +<entry role="parameter_description"><para>an offset in the range [0.0 .. 1.0]</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>red</para></entry> +<entry role="parameter_description"><para>red component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>green</para></entry> +<entry role="parameter_description"><para>green component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>blue</para></entry> +<entry role="parameter_description"><para>blue component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-add-color-stop-rgba" role="function" condition="since:1.0"> +<title>cairo_pattern_add_color_stop_rgba ()</title> +<indexterm zone="cairo-pattern-add-color-stop-rgba" role="1.0"><primary sortas="pattern_add_color_stop_rgba">cairo_pattern_add_color_stop_rgba</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pattern_add_color_stop_rgba (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="double"><type>double</type></link> offset</parameter>, + <parameter><link linkend="double"><type>double</type></link> red</parameter>, + <parameter><link linkend="double"><type>double</type></link> green</parameter>, + <parameter><link linkend="double"><type>double</type></link> blue</parameter>, + <parameter><link linkend="double"><type>double</type></link> alpha</parameter>);</programlisting> +<para>Adds a translucent color stop to a gradient pattern. The offset +specifies the location along the gradient's control vector. For +example, a linear gradient's control vector is from (x0,y0) to +(x1,y1) while a radial gradient's control vector is from any point +on the start circle to the corresponding point on the end circle.</para> +<para>The color is specified in the same way as in <link linkend="cairo-set-source-rgba"><function>cairo_set_source_rgba()</function></link>.</para> +<para>If two (or more) stops are specified with identical offset values, +they will be sorted according to the order in which the stops are +added, (stops added earlier will compare less than stops added +later). This can be useful for reliably making sharp color +transitions instead of the typical blend.</para> +<para>Note: If the pattern is not a gradient pattern, (eg. a linear or +radial pattern), then the pattern will be put into an error status +with a status of <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>.</para> +<refsect3 id="cairo-pattern-add-color-stop-rgba.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>offset</para></entry> +<entry role="parameter_description"><para>an offset in the range [0.0 .. 1.0]</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>red</para></entry> +<entry role="parameter_description"><para>red component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>green</para></entry> +<entry role="parameter_description"><para>green component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>blue</para></entry> +<entry role="parameter_description"><para>blue component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>alpha</para></entry> +<entry role="parameter_description"><para>alpha component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-get-color-stop-count" role="function" condition="since:1.4"> +<title>cairo_pattern_get_color_stop_count ()</title> +<indexterm zone="cairo-pattern-get-color-stop-count" role="1.4"><primary sortas="pattern_get_color_stop_count">cairo_pattern_get_color_stop_count</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_pattern_get_color_stop_count (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="int"><type>int</type></link> *count</parameter>);</programlisting> +<para>Gets the number of color stops specified in the given gradient +pattern.</para> +<refsect3 id="cairo-pattern-get-color-stop-count.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>count</para></entry> +<entry role="parameter_description"><para>return value for the number of color stops, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-get-color-stop-count.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> if <parameter>pattern</parameter> +is not a gradient +pattern.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-pattern-get-color-stop-rgba" role="function" condition="since:1.4"> +<title>cairo_pattern_get_color_stop_rgba ()</title> +<indexterm zone="cairo-pattern-get-color-stop-rgba" role="1.4"><primary sortas="pattern_get_color_stop_rgba">cairo_pattern_get_color_stop_rgba</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_pattern_get_color_stop_rgba (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="int"><type>int</type></link> index</parameter>, + <parameter><link linkend="double"><type>double</type></link> *offset</parameter>, + <parameter><link linkend="double"><type>double</type></link> *red</parameter>, + <parameter><link linkend="double"><type>double</type></link> *green</parameter>, + <parameter><link linkend="double"><type>double</type></link> *blue</parameter>, + <parameter><link linkend="double"><type>double</type></link> *alpha</parameter>);</programlisting> +<para>Gets the color and offset information at the given <parameter>index</parameter> + for a +gradient pattern. Values of <parameter>index</parameter> + range from 0 to n-1 +where n is the number returned +by <link linkend="cairo-pattern-get-color-stop-count"><function>cairo_pattern_get_color_stop_count()</function></link>.</para> +<refsect3 id="cairo-pattern-get-color-stop-rgba.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>index</para></entry> +<entry role="parameter_description"><para>index of the stop to return data for</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>offset</para></entry> +<entry role="parameter_description"><para>return value for the offset of the stop, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>red</para></entry> +<entry role="parameter_description"><para>return value for red component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>green</para></entry> +<entry role="parameter_description"><para>return value for green component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>blue</para></entry> +<entry role="parameter_description"><para>return value for blue component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>alpha</para></entry> +<entry role="parameter_description"><para>return value for alpha component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-get-color-stop-rgba.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or <link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link> +if <parameter>index</parameter> +is not valid for the given pattern. If the pattern is +not a gradient pattern, <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> is +returned.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-pattern-create-rgb" role="function" condition="since:1.0"> +<title>cairo_pattern_create_rgb ()</title> +<indexterm zone="cairo-pattern-create-rgb" role="1.0"><primary sortas="pattern_create_rgb">cairo_pattern_create_rgb</primary></indexterm> +<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +cairo_pattern_create_rgb (<parameter><link linkend="double"><type>double</type></link> red</parameter>, + <parameter><link linkend="double"><type>double</type></link> green</parameter>, + <parameter><link linkend="double"><type>double</type></link> blue</parameter>);</programlisting> +<para>Creates a new <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> corresponding to an opaque color. The +color components are floating point numbers in the range 0 to 1. +If the values passed in are outside that range, they will be +clamped.</para> +<refsect3 id="cairo-pattern-create-rgb.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>red</para></entry> +<entry role="parameter_description"><para>red component of the color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>green</para></entry> +<entry role="parameter_description"><para>green component of the color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>blue</para></entry> +<entry role="parameter_description"><para>blue component of the color</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-create-rgb.returns" role="returns"> +<title>Returns</title> +<para> the newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> if successful, or +an error pattern in case of no memory. The caller owns the +returned object and should call <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when +finished with it.</para> +<para>This function will always return a valid pointer, but if an error +occurred the pattern status will be set to an error. To inspect +the status of a pattern use <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-create-rgba" role="function" condition="since:1.0"> +<title>cairo_pattern_create_rgba ()</title> +<indexterm zone="cairo-pattern-create-rgba" role="1.0"><primary sortas="pattern_create_rgba">cairo_pattern_create_rgba</primary></indexterm> +<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +cairo_pattern_create_rgba (<parameter><link linkend="double"><type>double</type></link> red</parameter>, + <parameter><link linkend="double"><type>double</type></link> green</parameter>, + <parameter><link linkend="double"><type>double</type></link> blue</parameter>, + <parameter><link linkend="double"><type>double</type></link> alpha</parameter>);</programlisting> +<para>Creates a new <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> corresponding to a translucent color. +The color components are floating point numbers in the range 0 to</para> +<orderedlist> +<listitem><para>If the values passed in are outside that range, they will be +clamped.</para></listitem> +</orderedlist> +<refsect3 id="cairo-pattern-create-rgba.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>red</para></entry> +<entry role="parameter_description"><para>red component of the color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>green</para></entry> +<entry role="parameter_description"><para>green component of the color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>blue</para></entry> +<entry role="parameter_description"><para>blue component of the color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>alpha</para></entry> +<entry role="parameter_description"><para>alpha component of the color</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-create-rgba.returns" role="returns"> +<title>Returns</title> +<para> the newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> if successful, or +an error pattern in case of no memory. The caller owns the +returned object and should call <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when +finished with it.</para> +<para>This function will always return a valid pointer, but if an error +occurred the pattern status will be set to an error. To inspect +the status of a pattern use <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-get-rgba" role="function" condition="since:1.4"> +<title>cairo_pattern_get_rgba ()</title> +<indexterm zone="cairo-pattern-get-rgba" role="1.4"><primary sortas="pattern_get_rgba">cairo_pattern_get_rgba</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_pattern_get_rgba (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="double"><type>double</type></link> *red</parameter>, + <parameter><link linkend="double"><type>double</type></link> *green</parameter>, + <parameter><link linkend="double"><type>double</type></link> *blue</parameter>, + <parameter><link linkend="double"><type>double</type></link> *alpha</parameter>);</programlisting> +<para>Gets the solid color for a solid color pattern.</para> +<refsect3 id="cairo-pattern-get-rgba.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>red</para></entry> +<entry role="parameter_description"><para>return value for red component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>green</para></entry> +<entry role="parameter_description"><para>return value for green component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>blue</para></entry> +<entry role="parameter_description"><para>return value for blue component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>alpha</para></entry> +<entry role="parameter_description"><para>return value for alpha component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-get-rgba.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> if the pattern is not a solid +color pattern.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-pattern-create-for-surface" role="function" condition="since:1.0"> +<title>cairo_pattern_create_for_surface ()</title> +<indexterm zone="cairo-pattern-create-for-surface" role="1.0"><primary sortas="pattern_create_for_surface">cairo_pattern_create_for_surface</primary></indexterm> +<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +cairo_pattern_create_for_surface (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Create a new <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> for the given surface.</para> +<refsect3 id="cairo-pattern-create-for-surface.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-create-for-surface.returns" role="returns"> +<title>Returns</title> +<para> the newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> if successful, or +an error pattern in case of no memory. The caller owns the +returned object and should call <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when +finished with it.</para> +<para>This function will always return a valid pointer, but if an error +occurred the pattern status will be set to an error. To inspect +the status of a pattern use <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-get-surface" role="function" condition="since:1.4"> +<title>cairo_pattern_get_surface ()</title> +<indexterm zone="cairo-pattern-get-surface" role="1.4"><primary sortas="pattern_get_surface">cairo_pattern_get_surface</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_pattern_get_surface (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> **surface</parameter>);</programlisting> +<para>Gets the surface of a surface pattern. The reference returned in +<parameter>surface</parameter> + is owned by the pattern; the caller should call +<link linkend="cairo-surface-reference"><function>cairo_surface_reference()</function></link> if the surface is to be retained.</para> +<refsect3 id="cairo-pattern-get-surface.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>return value for surface of pattern, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-get-surface.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> if the pattern is not a surface +pattern.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-pattern-create-linear" role="function" condition="since:1.0"> +<title>cairo_pattern_create_linear ()</title> +<indexterm zone="cairo-pattern-create-linear" role="1.0"><primary sortas="pattern_create_linear">cairo_pattern_create_linear</primary></indexterm> +<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +cairo_pattern_create_linear (<parameter><link linkend="double"><type>double</type></link> x0</parameter>, + <parameter><link linkend="double"><type>double</type></link> y0</parameter>, + <parameter><link linkend="double"><type>double</type></link> x1</parameter>, + <parameter><link linkend="double"><type>double</type></link> y1</parameter>);</programlisting> +<para>Create a new linear gradient <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> along the line defined +by (x0, y0) and (x1, y1). Before using the gradient pattern, a +number of color stops should be defined using +<link linkend="cairo-pattern-add-color-stop-rgb"><function>cairo_pattern_add_color_stop_rgb()</function></link> or +<link linkend="cairo-pattern-add-color-stop-rgba"><function>cairo_pattern_add_color_stop_rgba()</function></link>.</para> +<para>Note: The coordinates here are in pattern space. For a new pattern, +pattern space is identical to user space, but the relationship +between the spaces can be changed with <link linkend="cairo-pattern-set-matrix"><function>cairo_pattern_set_matrix()</function></link>.</para> +<refsect3 id="cairo-pattern-create-linear.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>x0</para></entry> +<entry role="parameter_description"><para>x coordinate of the start point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y0</para></entry> +<entry role="parameter_description"><para>y coordinate of the start point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x1</para></entry> +<entry role="parameter_description"><para>x coordinate of the end point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y1</para></entry> +<entry role="parameter_description"><para>y coordinate of the end point</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-create-linear.returns" role="returns"> +<title>Returns</title> +<para> the newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> if successful, or +an error pattern in case of no memory. The caller owns the +returned object and should call <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when +finished with it.</para> +<para>This function will always return a valid pointer, but if an error +occurred the pattern status will be set to an error. To inspect +the status of a pattern use <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-get-linear-points" role="function" condition="since:1.4"> +<title>cairo_pattern_get_linear_points ()</title> +<indexterm zone="cairo-pattern-get-linear-points" role="1.4"><primary sortas="pattern_get_linear_points">cairo_pattern_get_linear_points</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_pattern_get_linear_points (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x0</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y0</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x1</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y1</parameter>);</programlisting> +<para>Gets the gradient endpoints for a linear gradient.</para> +<refsect3 id="cairo-pattern-get-linear-points.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x0</para></entry> +<entry role="parameter_description"><para>return value for the x coordinate of the first point, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y0</para></entry> +<entry role="parameter_description"><para>return value for the y coordinate of the first point, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x1</para></entry> +<entry role="parameter_description"><para>return value for the x coordinate of the second point, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y1</para></entry> +<entry role="parameter_description"><para>return value for the y coordinate of the second point, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-get-linear-points.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> if <parameter>pattern</parameter> +is not a linear +gradient pattern.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-pattern-create-radial" role="function" condition="since:1.0"> +<title>cairo_pattern_create_radial ()</title> +<indexterm zone="cairo-pattern-create-radial" role="1.0"><primary sortas="pattern_create_radial">cairo_pattern_create_radial</primary></indexterm> +<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +cairo_pattern_create_radial (<parameter><link linkend="double"><type>double</type></link> cx0</parameter>, + <parameter><link linkend="double"><type>double</type></link> cy0</parameter>, + <parameter><link linkend="double"><type>double</type></link> radius0</parameter>, + <parameter><link linkend="double"><type>double</type></link> cx1</parameter>, + <parameter><link linkend="double"><type>double</type></link> cy1</parameter>, + <parameter><link linkend="double"><type>double</type></link> radius1</parameter>);</programlisting> +<para>Creates a new radial gradient <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> between the two +circles defined by (cx0, cy0, radius0) and (cx1, cy1, radius1). Before using the +gradient pattern, a number of color stops should be defined using +<link linkend="cairo-pattern-add-color-stop-rgb"><function>cairo_pattern_add_color_stop_rgb()</function></link> or +<link linkend="cairo-pattern-add-color-stop-rgba"><function>cairo_pattern_add_color_stop_rgba()</function></link>.</para> +<para>Note: The coordinates here are in pattern space. For a new pattern, +pattern space is identical to user space, but the relationship +between the spaces can be changed with <link linkend="cairo-pattern-set-matrix"><function>cairo_pattern_set_matrix()</function></link>.</para> +<refsect3 id="cairo-pattern-create-radial.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cx0</para></entry> +<entry role="parameter_description"><para>x coordinate for the center of the start circle</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>cy0</para></entry> +<entry role="parameter_description"><para>y coordinate for the center of the start circle</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>radius0</para></entry> +<entry role="parameter_description"><para>radius of the start circle</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>cx1</para></entry> +<entry role="parameter_description"><para>x coordinate for the center of the end circle</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>cy1</para></entry> +<entry role="parameter_description"><para>y coordinate for the center of the end circle</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>radius1</para></entry> +<entry role="parameter_description"><para>radius of the end circle</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-create-radial.returns" role="returns"> +<title>Returns</title> +<para> the newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> if successful, or +an error pattern in case of no memory. The caller owns the +returned object and should call <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when +finished with it.</para> +<para>This function will always return a valid pointer, but if an error +occurred the pattern status will be set to an error. To inspect +the status of a pattern use <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-get-radial-circles" role="function" condition="since:1.4"> +<title>cairo_pattern_get_radial_circles ()</title> +<indexterm zone="cairo-pattern-get-radial-circles" role="1.4"><primary sortas="pattern_get_radial_circles">cairo_pattern_get_radial_circles</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_pattern_get_radial_circles (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x0</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y0</parameter>, + <parameter><link linkend="double"><type>double</type></link> *r0</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x1</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y1</parameter>, + <parameter><link linkend="double"><type>double</type></link> *r1</parameter>);</programlisting> +<para>Gets the gradient endpoint circles for a radial gradient, each +specified as a center coordinate and a radius.</para> +<refsect3 id="cairo-pattern-get-radial-circles.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x0</para></entry> +<entry role="parameter_description"><para>return value for the x coordinate of the center of the first circle, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y0</para></entry> +<entry role="parameter_description"><para>return value for the y coordinate of the center of the first circle, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>r0</para></entry> +<entry role="parameter_description"><para>return value for the radius of the first circle, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x1</para></entry> +<entry role="parameter_description"><para>return value for the x coordinate of the center of the second circle, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y1</para></entry> +<entry role="parameter_description"><para>return value for the y coordinate of the center of the second circle, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>r1</para></entry> +<entry role="parameter_description"><para>return value for the radius of the second circle, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-get-radial-circles.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> if <parameter>pattern</parameter> +is not a radial +gradient pattern.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-pattern-create-mesh" role="function" condition="since:1.12"> +<title>cairo_pattern_create_mesh ()</title> +<indexterm zone="cairo-pattern-create-mesh" role="1.12"><primary sortas="pattern_create_mesh">cairo_pattern_create_mesh</primary></indexterm> +<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +cairo_pattern_create_mesh (<parameter><type>void</type></parameter>);</programlisting> +<para>Create a new mesh pattern.</para> +<para>Mesh patterns are tensor-product patch meshes (type 7 shadings in +PDF). Mesh patterns may also be used to create other types of +shadings that are special cases of tensor-product patch meshes such +as Coons patch meshes (type 6 shading in PDF) and Gouraud-shaded +triangle meshes (type 4 and 5 shadings in PDF).</para> +<para>Mesh patterns consist of one or more tensor-product patches, which +should be defined before using the mesh pattern. Using a mesh +pattern with a partially defined patch as source or mask will put +the context in an error status with a status of +<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> +<para>A tensor-product patch is defined by 4 Bézier curves (side 0, 1, 2, +3) and by 4 additional control points (P0, P1, P2, P3) that provide +further control over the patch and complete the definition of the +tensor-product patch. The corner C0 is the first point of the +patch.</para> +<para>Degenerate sides are permitted so straight lines may be used. A +zero length line on one side may be used to create 3 sided patches.</para> +<informalexample><screen> + C1 Side 1 C2 + +---------------+ + | | + | P1 P2 | + | | +Side 0 | | Side 2 + | | + | | + | P0 P3 | + | | + +---------------+ + C0 Side 3 C3 +</screen></informalexample> +<para>Each patch is constructed by first calling +<link linkend="cairo-mesh-pattern-begin-patch"><function>cairo_mesh_pattern_begin_patch()</function></link>, then <link linkend="cairo-mesh-pattern-move-to"><function>cairo_mesh_pattern_move_to()</function></link> +to specify the first point in the patch (C0). Then the sides are +specified with calls to <link linkend="cairo-mesh-pattern-curve-to"><function>cairo_mesh_pattern_curve_to()</function></link> and +<link linkend="cairo-mesh-pattern-line-to"><function>cairo_mesh_pattern_line_to()</function></link>.</para> +<para>The four additional control points (P0, P1, P2, P3) in a patch can +be specified with <link linkend="cairo-mesh-pattern-set-control-point"><function>cairo_mesh_pattern_set_control_point()</function></link>.</para> +<para>At each corner of the patch (C0, C1, C2, C3) a color may be +specified with <link linkend="cairo-mesh-pattern-set-corner-color-rgb"><function>cairo_mesh_pattern_set_corner_color_rgb()</function></link> or +<link linkend="cairo-mesh-pattern-set-corner-color-rgba"><function>cairo_mesh_pattern_set_corner_color_rgba()</function></link>. Any corner whose color +is not explicitly specified defaults to transparent black.</para> +<para>A Coons patch is a special case of the tensor-product patch where +the control points are implicitly defined by the sides of the +patch. The default value for any control point not specified is the +implicit value for a Coons patch, i.e. if no control points are +specified the patch is a Coons patch.</para> +<para>A triangle is a special case of the tensor-product patch where the +control points are implicitly defined by the sides of the patch, +all the sides are lines and one of them has length 0, i.e. if the +patch is specified using just 3 lines, it is a triangle. If the +corners connected by the 0-length side have the same color, the +patch is a Gouraud-shaded triangle.</para> +<para>Patches may be oriented differently to the above diagram. For +example the first point could be at the top left. The diagram only +shows the relationship between the sides, corners and control +points. Regardless of where the first point is located, when +specifying colors, corner 0 will always be the first point, corner +1 the point between side 0 and side 1 etc.</para> +<para>Calling <link linkend="cairo-mesh-pattern-end-patch"><function>cairo_mesh_pattern_end_patch()</function></link> completes the current +patch. If less than 4 sides have been defined, the first missing +side is defined as a line from the current point to the first point +of the patch (C0) and the other sides are degenerate lines from C0 +to C0. The corners between the added sides will all be coincident +with C0 of the patch and their color will be set to be the same as +the color of C0.</para> +<para>Additional patches may be added with additional calls to +<link linkend="cairo-mesh-pattern-begin-patch"><function>cairo_mesh_pattern_begin_patch()</function></link>/<link linkend="cairo-mesh-pattern-end-patch"><function>cairo_mesh_pattern_end_patch()</function></link>.</para> +<informalexample><programlisting> +cairo_pattern_t *pattern = cairo_pattern_create_mesh (); + +/* Add a Coons patch */ +cairo_mesh_pattern_begin_patch (pattern); +cairo_mesh_pattern_move_to (pattern, 0, 0); +cairo_mesh_pattern_curve_to (pattern, 30, -30, 60, 30, 100, 0); +cairo_mesh_pattern_curve_to (pattern, 60, 30, 130, 60, 100, 100); +cairo_mesh_pattern_curve_to (pattern, 60, 70, 30, 130, 0, 100); +cairo_mesh_pattern_curve_to (pattern, 30, 70, -30, 30, 0, 0); +cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 0, 0); +cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 0, 1, 0); +cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 0, 0, 1); +cairo_mesh_pattern_set_corner_color_rgb (pattern, 3, 1, 1, 0); +cairo_mesh_pattern_end_patch (pattern); + +/* Add a Gouraud-shaded triangle */ +cairo_mesh_pattern_begin_patch (pattern) +cairo_mesh_pattern_move_to (pattern, 100, 100); +cairo_mesh_pattern_line_to (pattern, 130, 130); +cairo_mesh_pattern_line_to (pattern, 130, 70); +cairo_mesh_pattern_set_corner_color_rgb (pattern, 0, 1, 0, 0); +cairo_mesh_pattern_set_corner_color_rgb (pattern, 1, 0, 1, 0); +cairo_mesh_pattern_set_corner_color_rgb (pattern, 2, 0, 0, 1); +cairo_mesh_pattern_end_patch (pattern) +</programlisting></informalexample> +<para>When two patches overlap, the last one that has been added is drawn +over the first one.</para> +<para>When a patch folds over itself, points are sorted depending on +their parameter coordinates inside the patch. The v coordinate +ranges from 0 to 1 when moving from side 3 to side 1; the u +coordinate ranges from 0 to 1 when going from side 0 to side</para> +<orderedlist> +<listitem> +<para>Points with higher v coordinate hide points with lower v +coordinate. When two points have the same v coordinate, the one +with higher u coordinate is above. This means that points nearer to +side 1 are above points nearer to side 3; when this is not +sufficient to decide which point is above (for example when both +points belong to side 1 or side 3) points nearer to side 2 are +above points nearer to side 0.</para> +</listitem> +</orderedlist> +<para>For a complete definition of tensor-product patches, see the PDF +specification (ISO32000), which describes the parametrization in +detail.</para> +<para>Note: The coordinates are always in pattern space. For a new +pattern, pattern space is identical to user space, but the +relationship between the spaces can be changed with +<link linkend="cairo-pattern-set-matrix"><function>cairo_pattern_set_matrix()</function></link>.</para> +<refsect3 id="cairo-pattern-create-mesh.returns" role="returns"> +<title>Returns</title> +<para> the newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> if successful, or +an error pattern in case of no memory. The caller owns the returned +object and should call <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when finished with +it.</para> +<para>This function will always return a valid pointer, but if an error +occurred the pattern status will be set to an error. To inspect the +status of a pattern use <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-mesh-pattern-begin-patch" role="function" condition="since:1.12"> +<title>cairo_mesh_pattern_begin_patch ()</title> +<indexterm zone="cairo-mesh-pattern-begin-patch" role="1.12"><primary sortas="mesh_pattern_begin_patch">cairo_mesh_pattern_begin_patch</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_mesh_pattern_begin_patch (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Begin a patch in a mesh pattern.</para> +<para>After calling this function, the patch shape should be defined with +<link linkend="cairo-mesh-pattern-move-to"><function>cairo_mesh_pattern_move_to()</function></link>, <link linkend="cairo-mesh-pattern-line-to"><function>cairo_mesh_pattern_line_to()</function></link> and +<link linkend="cairo-mesh-pattern-curve-to"><function>cairo_mesh_pattern_curve_to()</function></link>.</para> +<para>After defining the patch, <link linkend="cairo-mesh-pattern-end-patch"><function>cairo_mesh_pattern_end_patch()</function></link> must be +called before using <parameter>pattern</parameter> + as a source or mask.</para> +<para>Note: If <parameter>pattern</parameter> + is not a mesh pattern then <parameter>pattern</parameter> + will be put +into an error status with a status of +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>pattern</parameter> + already has a +current patch, it will be put into an error status with a status of +<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> +<refsect3 id="cairo-mesh-pattern-begin-patch.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-mesh-pattern-end-patch" role="function" condition="since:1.12"> +<title>cairo_mesh_pattern_end_patch ()</title> +<indexterm zone="cairo-mesh-pattern-end-patch" role="1.12"><primary sortas="mesh_pattern_end_patch">cairo_mesh_pattern_end_patch</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_mesh_pattern_end_patch (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Indicates the end of the current patch in a mesh pattern.</para> +<para>If the current patch has less than 4 sides, it is closed with a +straight line from the current point to the first point of the +patch as if <link linkend="cairo-mesh-pattern-line-to"><function>cairo_mesh_pattern_line_to()</function></link> was used.</para> +<para>Note: If <parameter>pattern</parameter> + is not a mesh pattern then <parameter>pattern</parameter> + will be put +into an error status with a status of +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>pattern</parameter> + has no current +patch or the current patch has no current point, <parameter>pattern</parameter> + will be +put into an error status with a status of +<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> +<refsect3 id="cairo-mesh-pattern-end-patch.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-mesh-pattern-move-to" role="function" condition="since:1.12"> +<title>cairo_mesh_pattern_move_to ()</title> +<indexterm zone="cairo-mesh-pattern-move-to" role="1.12"><primary sortas="mesh_pattern_move_to">cairo_mesh_pattern_move_to</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_mesh_pattern_move_to (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="double"><type>double</type></link> x</parameter>, + <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> +<para>Define the first point of the current patch in a mesh pattern.</para> +<para>After this call the current point will be (<parameter>x</parameter> +, <parameter>y</parameter> +).</para> +<para>Note: If <parameter>pattern</parameter> + is not a mesh pattern then <parameter>pattern</parameter> + will be put +into an error status with a status of +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>pattern</parameter> + has no current +patch or the current patch already has at least one side, <parameter>pattern</parameter> + +will be put into an error status with a status of +<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> +<refsect3 id="cairo-mesh-pattern-move-to.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>the X coordinate of the new position</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>the Y coordinate of the new position</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-mesh-pattern-line-to" role="function" condition="since:1.12"> +<title>cairo_mesh_pattern_line_to ()</title> +<indexterm zone="cairo-mesh-pattern-line-to" role="1.12"><primary sortas="mesh_pattern_line_to">cairo_mesh_pattern_line_to</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_mesh_pattern_line_to (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="double"><type>double</type></link> x</parameter>, + <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> +<para>Adds a line to the current patch from the current point to position +(<parameter>x</parameter> +, <parameter>y</parameter> +) in pattern-space coordinates.</para> +<para>If there is no current point before the call to +<link linkend="cairo-mesh-pattern-line-to"><function>cairo_mesh_pattern_line_to()</function></link> this function will behave as +cairo_mesh_pattern_move_to(<parameter>pattern</parameter> +, <parameter>x</parameter> +, <parameter>y</parameter> +).</para> +<para>After this call the current point will be (<parameter>x</parameter> +, <parameter>y</parameter> +).</para> +<para>Note: If <parameter>pattern</parameter> + is not a mesh pattern then <parameter>pattern</parameter> + will be put +into an error status with a status of +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>pattern</parameter> + has no current +patch or the current patch already has 4 sides, <parameter>pattern</parameter> + will be +put into an error status with a status of +<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> +<refsect3 id="cairo-mesh-pattern-line-to.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>the X coordinate of the end of the new line</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>the Y coordinate of the end of the new line</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-mesh-pattern-curve-to" role="function" condition="since:1.12"> +<title>cairo_mesh_pattern_curve_to ()</title> +<indexterm zone="cairo-mesh-pattern-curve-to" role="1.12"><primary sortas="mesh_pattern_curve_to">cairo_mesh_pattern_curve_to</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_mesh_pattern_curve_to (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="double"><type>double</type></link> x1</parameter>, + <parameter><link linkend="double"><type>double</type></link> y1</parameter>, + <parameter><link linkend="double"><type>double</type></link> x2</parameter>, + <parameter><link linkend="double"><type>double</type></link> y2</parameter>, + <parameter><link linkend="double"><type>double</type></link> x3</parameter>, + <parameter><link linkend="double"><type>double</type></link> y3</parameter>);</programlisting> +<para>Adds a cubic Bézier spline to the current patch from the current +point to position (<parameter>x3</parameter> +, <parameter>y3</parameter> +) in pattern-space coordinates, using +(<parameter>x1</parameter> +, <parameter>y1</parameter> +) and (<parameter>x2</parameter> +, <parameter>y2</parameter> +) as the control points.</para> +<para>If the current patch has no current point before the call to +<link linkend="cairo-mesh-pattern-curve-to"><function>cairo_mesh_pattern_curve_to()</function></link>, this function will behave as if +preceded by a call to cairo_mesh_pattern_move_to(<parameter>pattern</parameter> +, <parameter>x1</parameter> +, +<parameter>y1</parameter> +).</para> +<para>After this call the current point will be (<parameter>x3</parameter> +, <parameter>y3</parameter> +).</para> +<para>Note: If <parameter>pattern</parameter> + is not a mesh pattern then <parameter>pattern</parameter> + will be put +into an error status with a status of +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>pattern</parameter> + has no current +patch or the current patch already has 4 sides, <parameter>pattern</parameter> + will be +put into an error status with a status of +<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> +<refsect3 id="cairo-mesh-pattern-curve-to.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x1</para></entry> +<entry role="parameter_description"><para>the X coordinate of the first control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y1</para></entry> +<entry role="parameter_description"><para>the Y coordinate of the first control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x2</para></entry> +<entry role="parameter_description"><para>the X coordinate of the second control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y2</para></entry> +<entry role="parameter_description"><para>the Y coordinate of the second control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x3</para></entry> +<entry role="parameter_description"><para>the X coordinate of the end of the curve</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y3</para></entry> +<entry role="parameter_description"><para>the Y coordinate of the end of the curve</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-mesh-pattern-set-control-point" role="function" condition="since:1.12"> +<title>cairo_mesh_pattern_set_control_point ()</title> +<indexterm zone="cairo-mesh-pattern-set-control-point" role="1.12"><primary sortas="mesh_pattern_set_control_point">cairo_mesh_pattern_set_control_point</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_mesh_pattern_set_control_point (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> point_num</parameter>, + <parameter><link linkend="double"><type>double</type></link> x</parameter>, + <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> +<para>Set an internal control point of the current patch.</para> +<para>Valid values for <parameter>point_num</parameter> + are from 0 to 3 and identify the +control points as explained in <link linkend="cairo-pattern-create-mesh"><function>cairo_pattern_create_mesh()</function></link>.</para> +<para>Note: If <parameter>pattern</parameter> + is not a mesh pattern then <parameter>pattern</parameter> + will be put +into an error status with a status of +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>point_num</parameter> + is not valid, +<parameter>pattern</parameter> + will be put into an error status with a status of +<link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link>. If <parameter>pattern</parameter> + has no current patch, +<parameter>pattern</parameter> + will be put into an error status with a status of +<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> +<refsect3 id="cairo-mesh-pattern-set-control-point.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>point_num</para></entry> +<entry role="parameter_description"><para>the control point to set the position for</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>the X coordinate of the control point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>the Y coordinate of the control point</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-mesh-pattern-set-corner-color-rgb" role="function" condition="since:1.12"> +<title>cairo_mesh_pattern_set_corner_color_rgb ()</title> +<indexterm zone="cairo-mesh-pattern-set-corner-color-rgb" role="1.12"><primary sortas="mesh_pattern_set_corner_color_rgb">cairo_mesh_pattern_set_corner_color_rgb</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_mesh_pattern_set_corner_color_rgb + (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> corner_num</parameter>, + <parameter><link linkend="double"><type>double</type></link> red</parameter>, + <parameter><link linkend="double"><type>double</type></link> green</parameter>, + <parameter><link linkend="double"><type>double</type></link> blue</parameter>);</programlisting> +<para>Sets the color of a corner of the current patch in a mesh pattern.</para> +<para>The color is specified in the same way as in <link linkend="cairo-set-source-rgb"><function>cairo_set_source_rgb()</function></link>.</para> +<para>Valid values for <parameter>corner_num</parameter> + are from 0 to 3 and identify the +corners as explained in <link linkend="cairo-pattern-create-mesh"><function>cairo_pattern_create_mesh()</function></link>.</para> +<para>Note: If <parameter>pattern</parameter> + is not a mesh pattern then <parameter>pattern</parameter> + will be put +into an error status with a status of +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>corner_num</parameter> + is not valid, +<parameter>pattern</parameter> + will be put into an error status with a status of +<link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link>. If <parameter>pattern</parameter> + has no current patch, +<parameter>pattern</parameter> + will be put into an error status with a status of +<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> +<refsect3 id="cairo-mesh-pattern-set-corner-color-rgb.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>corner_num</para></entry> +<entry role="parameter_description"><para>the corner to set the color for</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>red</para></entry> +<entry role="parameter_description"><para>red component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>green</para></entry> +<entry role="parameter_description"><para>green component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>blue</para></entry> +<entry role="parameter_description"><para>blue component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-mesh-pattern-set-corner-color-rgba" role="function" condition="since:1.12"> +<title>cairo_mesh_pattern_set_corner_color_rgba ()</title> +<indexterm zone="cairo-mesh-pattern-set-corner-color-rgba" role="1.12"><primary sortas="mesh_pattern_set_corner_color_rgba">cairo_mesh_pattern_set_corner_color_rgba</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_mesh_pattern_set_corner_color_rgba + (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> corner_num</parameter>, + <parameter><link linkend="double"><type>double</type></link> red</parameter>, + <parameter><link linkend="double"><type>double</type></link> green</parameter>, + <parameter><link linkend="double"><type>double</type></link> blue</parameter>, + <parameter><link linkend="double"><type>double</type></link> alpha</parameter>);</programlisting> +<para>Sets the color of a corner of the current patch in a mesh pattern.</para> +<para>The color is specified in the same way as in <link linkend="cairo-set-source-rgba"><function>cairo_set_source_rgba()</function></link>.</para> +<para>Valid values for <parameter>corner_num</parameter> + are from 0 to 3 and identify the +corners as explained in <link linkend="cairo-pattern-create-mesh"><function>cairo_pattern_create_mesh()</function></link>.</para> +<para>Note: If <parameter>pattern</parameter> + is not a mesh pattern then <parameter>pattern</parameter> + will be put +into an error status with a status of +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>. If <parameter>corner_num</parameter> + is not valid, +<parameter>pattern</parameter> + will be put into an error status with a status of +<link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link>. If <parameter>pattern</parameter> + has no current patch, +<parameter>pattern</parameter> + will be put into an error status with a status of +<link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> +<refsect3 id="cairo-mesh-pattern-set-corner-color-rgba.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>corner_num</para></entry> +<entry role="parameter_description"><para>the corner to set the color for</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>red</para></entry> +<entry role="parameter_description"><para>red component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>green</para></entry> +<entry role="parameter_description"><para>green component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>blue</para></entry> +<entry role="parameter_description"><para>blue component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>alpha</para></entry> +<entry role="parameter_description"><para>alpha component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-mesh-pattern-get-patch-count" role="function" condition="since:1.12"> +<title>cairo_mesh_pattern_get_patch_count ()</title> +<indexterm zone="cairo-mesh-pattern-get-patch-count" role="1.12"><primary sortas="mesh_pattern_get_patch_count">cairo_mesh_pattern_get_patch_count</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_mesh_pattern_get_patch_count (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> *count</parameter>);</programlisting> +<para>Gets the number of patches specified in the given mesh pattern.</para> +<para>The number only includes patches which have been finished by +calling <link linkend="cairo-mesh-pattern-end-patch"><function>cairo_mesh_pattern_end_patch()</function></link>. For example it will be 0 +during the definition of the first patch.</para> +<refsect3 id="cairo-mesh-pattern-get-patch-count.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>count</para></entry> +<entry role="parameter_description"><para>return value for the number patches, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-mesh-pattern-get-patch-count.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or +<link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> if <parameter>pattern</parameter> +is not a mesh +pattern.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-mesh-pattern-get-path" role="function" condition="since:1.12"> +<title>cairo_mesh_pattern_get_path ()</title> +<indexterm zone="cairo-mesh-pattern-get-path" role="1.12"><primary sortas="mesh_pattern_get_path">cairo_mesh_pattern_get_path</primary></indexterm> +<programlisting language="C"><link linkend="cairo-path-t"><returnvalue>cairo_path_t</returnvalue></link> * +cairo_mesh_pattern_get_path (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> patch_num</parameter>);</programlisting> +<para>Gets path defining the patch <parameter>patch_num</parameter> + for a mesh +pattern.</para> +<para><parameter>patch_num</parameter> + can range from 0 to n-1 where n is the number returned by +<link linkend="cairo-mesh-pattern-get-patch-count"><function>cairo_mesh_pattern_get_patch_count()</function></link>.</para> +<refsect3 id="cairo-mesh-pattern-get-path.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>patch_num</para></entry> +<entry role="parameter_description"><para>the patch number to return data for</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-mesh-pattern-get-path.returns" role="returns"> +<title>Returns</title> +<para> the path defining the patch, or a path with status +<link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link> if <parameter>patch_num</parameter> +or <parameter>point_num</parameter> +is not +valid for <parameter>pattern</parameter> +. If <parameter>pattern</parameter> +is not a mesh pattern, a path with +status <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> is returned.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-mesh-pattern-get-control-point" role="function" condition="since:1.12"> +<title>cairo_mesh_pattern_get_control_point ()</title> +<indexterm zone="cairo-mesh-pattern-get-control-point" role="1.12"><primary sortas="mesh_pattern_get_control_point">cairo_mesh_pattern_get_control_point</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_mesh_pattern_get_control_point (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> patch_num</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> point_num</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y</parameter>);</programlisting> +<para>Gets the control point <parameter>point_num</parameter> + of patch <parameter>patch_num</parameter> + for a mesh +pattern.</para> +<para><parameter>patch_num</parameter> + can range from 0 to n-1 where n is the number returned by +<link linkend="cairo-mesh-pattern-get-patch-count"><function>cairo_mesh_pattern_get_patch_count()</function></link>.</para> +<para>Valid values for <parameter>point_num</parameter> + are from 0 to 3 and identify the +control points as explained in <link linkend="cairo-pattern-create-mesh"><function>cairo_pattern_create_mesh()</function></link>.</para> +<refsect3 id="cairo-mesh-pattern-get-control-point.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>patch_num</para></entry> +<entry role="parameter_description"><para>the patch number to return data for</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>point_num</para></entry> +<entry role="parameter_description"><para>the control point number to return data for</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>return value for the x coordinate of the control point, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>return value for the y coordinate of the control point, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-mesh-pattern-get-control-point.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or <link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link> +if <parameter>patch_num</parameter> +or <parameter>point_num</parameter> +is not valid for <parameter>pattern</parameter> +. If <parameter>pattern</parameter> +is not a mesh pattern, <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> is +returned.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-mesh-pattern-get-corner-color-rgba" role="function" condition="since:1.12"> +<title>cairo_mesh_pattern_get_corner_color_rgba ()</title> +<indexterm zone="cairo-mesh-pattern-get-corner-color-rgba" role="1.12"><primary sortas="mesh_pattern_get_corner_color_rgba">cairo_mesh_pattern_get_corner_color_rgba</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_mesh_pattern_get_corner_color_rgba + (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> patch_num</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> corner_num</parameter>, + <parameter><link linkend="double"><type>double</type></link> *red</parameter>, + <parameter><link linkend="double"><type>double</type></link> *green</parameter>, + <parameter><link linkend="double"><type>double</type></link> *blue</parameter>, + <parameter><link linkend="double"><type>double</type></link> *alpha</parameter>);</programlisting> +<para>Gets the color information in corner <parameter>corner_num</parameter> + of patch +<parameter>patch_num</parameter> + for a mesh pattern.</para> +<para><parameter>patch_num</parameter> + can range from 0 to n-1 where n is the number returned by +<link linkend="cairo-mesh-pattern-get-patch-count"><function>cairo_mesh_pattern_get_patch_count()</function></link>.</para> +<para>Valid values for <parameter>corner_num</parameter> + are from 0 to 3 and identify the +corners as explained in <link linkend="cairo-pattern-create-mesh"><function>cairo_pattern_create_mesh()</function></link>.</para> +<refsect3 id="cairo-mesh-pattern-get-corner-color-rgba.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>patch_num</para></entry> +<entry role="parameter_description"><para>the patch number to return data for</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>corner_num</para></entry> +<entry role="parameter_description"><para>the corner number to return data for</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>red</para></entry> +<entry role="parameter_description"><para>return value for red component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>green</para></entry> +<entry role="parameter_description"><para>return value for green component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>blue</para></entry> +<entry role="parameter_description"><para>return value for blue component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>alpha</para></entry> +<entry role="parameter_description"><para>return value for alpha component of color, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-mesh-pattern-get-corner-color-rgba.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, or <link linkend="CAIRO-STATUS-INVALID-INDEX:CAPS"><literal>CAIRO_STATUS_INVALID_INDEX</literal></link> +if <parameter>patch_num</parameter> +or <parameter>corner_num</parameter> +is not valid for <parameter>pattern</parameter> +. If +<parameter>pattern</parameter> +is not a mesh pattern, <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link> +is returned.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-pattern-reference" role="function" condition="since:1.0"> +<title>cairo_pattern_reference ()</title> +<indexterm zone="cairo-pattern-reference" role="1.0"><primary sortas="pattern_reference">cairo_pattern_reference</primary></indexterm> +<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +cairo_pattern_reference (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Increases the reference count on <parameter>pattern</parameter> + by one. This prevents +<parameter>pattern</parameter> + from being destroyed until a matching call to +<link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> is made.</para> +<para>Use <link linkend="cairo-pattern-get-reference-count"><function>cairo_pattern_get_reference_count()</function></link> to get the number of +references to a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link>.</para> +<refsect3 id="cairo-pattern-reference.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-reference.returns" role="returns"> +<title>Returns</title> +<para> the referenced <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-destroy" role="function" condition="since:1.0"> +<title>cairo_pattern_destroy ()</title> +<indexterm zone="cairo-pattern-destroy" role="1.0"><primary sortas="pattern_destroy">cairo_pattern_destroy</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pattern_destroy (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Decreases the reference count on <parameter>pattern</parameter> + by one. If the result is +zero, then <parameter>pattern</parameter> + and all associated resources are freed. See +<link linkend="cairo-pattern-reference"><function>cairo_pattern_reference()</function></link>.</para> +<refsect3 id="cairo-pattern-destroy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-status" role="function" condition="since:1.0"> +<title>cairo_pattern_status ()</title> +<indexterm zone="cairo-pattern-status" role="1.0"><primary sortas="pattern_status">cairo_pattern_status</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_pattern_status (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Checks whether an error has previously occurred for this +pattern.</para> +<refsect3 id="cairo-pattern-status.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-status.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link>, +<link linkend="CAIRO-STATUS-INVALID-MATRIX:CAPS"><literal>CAIRO_STATUS_INVALID_MATRIX</literal></link>, <link linkend="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_PATTERN_TYPE_MISMATCH</literal></link>, +or <link linkend="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS"><literal>CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</literal></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-set-extend" role="function" condition="since:1.0"> +<title>cairo_pattern_set_extend ()</title> +<indexterm zone="cairo-pattern-set-extend" role="1.0"><primary sortas="pattern_set_extend">cairo_pattern_set_extend</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pattern_set_extend (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="cairo-extend-t"><type>cairo_extend_t</type></link> extend</parameter>);</programlisting> +<para>Sets the mode to be used for drawing outside the area of a pattern. +See <link linkend="cairo-extend-t"><type>cairo_extend_t</type></link> for details on the semantics of each extend +strategy.</para> +<para>The default extend mode is <link linkend="CAIRO-EXTEND-NONE:CAPS"><literal>CAIRO_EXTEND_NONE</literal></link> for surface patterns +and <link linkend="CAIRO-EXTEND-PAD:CAPS"><literal>CAIRO_EXTEND_PAD</literal></link> for gradient patterns.</para> +<refsect3 id="cairo-pattern-set-extend.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extend</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-extend-t"><type>cairo_extend_t</type></link> describing how the area outside of the +pattern will be drawn</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-get-extend" role="function" condition="since:1.0"> +<title>cairo_pattern_get_extend ()</title> +<indexterm zone="cairo-pattern-get-extend" role="1.0"><primary sortas="pattern_get_extend">cairo_pattern_get_extend</primary></indexterm> +<programlisting language="C"><link linkend="cairo-extend-t"><returnvalue>cairo_extend_t</returnvalue></link> +cairo_pattern_get_extend (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Gets the current extend mode for a pattern. See <link linkend="cairo-extend-t"><type>cairo_extend_t</type></link> +for details on the semantics of each extend strategy.</para> +<refsect3 id="cairo-pattern-get-extend.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-get-extend.returns" role="returns"> +<title>Returns</title> +<para> the current extend strategy used for drawing the +pattern.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-set-filter" role="function" condition="since:1.0"> +<title>cairo_pattern_set_filter ()</title> +<indexterm zone="cairo-pattern-set-filter" role="1.0"><primary sortas="pattern_set_filter">cairo_pattern_set_filter</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pattern_set_filter (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="cairo-filter-t"><type>cairo_filter_t</type></link> filter</parameter>);</programlisting> +<para>Sets the filter to be used for resizing when using this pattern. +See <link linkend="cairo-filter-t"><type>cairo_filter_t</type></link> for details on each filter.</para> +<itemizedlist> +<listitem> +<para>Note that you might want to control filtering even when you do not +have an explicit <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> object, (for example when using +<link linkend="cairo-set-source-surface"><function>cairo_set_source_surface()</function></link>). In these cases, it is convenient to +use <link linkend="cairo-get-source"><function>cairo_get_source()</function></link> to get access to the pattern that cairo +creates implicitly. For example:</para> +</listitem> +</itemizedlist> +<informalexample><programlisting> +cairo_set_source_surface (cr, image, x, y); +cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST); +</programlisting></informalexample> +<refsect3 id="cairo-pattern-set-filter.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>filter</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-filter-t"><type>cairo_filter_t</type></link> describing the filter to use for resizing +the pattern</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-get-filter" role="function" condition="since:1.0"> +<title>cairo_pattern_get_filter ()</title> +<indexterm zone="cairo-pattern-get-filter" role="1.0"><primary sortas="pattern_get_filter">cairo_pattern_get_filter</primary></indexterm> +<programlisting language="C"><link linkend="cairo-filter-t"><returnvalue>cairo_filter_t</returnvalue></link> +cairo_pattern_get_filter (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Gets the current filter for a pattern. See <link linkend="cairo-filter-t"><type>cairo_filter_t</type></link> +for details on each filter.</para> +<refsect3 id="cairo-pattern-get-filter.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-get-filter.returns" role="returns"> +<title>Returns</title> +<para> the current filter used for resizing the pattern.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-set-matrix" role="function" condition="since:1.0"> +<title>cairo_pattern_set_matrix ()</title> +<indexterm zone="cairo-pattern-set-matrix" role="1.0"><primary sortas="pattern_set_matrix">cairo_pattern_set_matrix</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pattern_set_matrix (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter>const <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>);</programlisting> +<para>Sets the pattern's transformation matrix to <parameter>matrix</parameter> +. This matrix is +a transformation from user space to pattern space.</para> +<para>When a pattern is first created it always has the identity matrix +for its transformation matrix, which means that pattern space is +initially identical to user space.</para> +<para>Important: Please note that the direction of this transformation +matrix is from user space to pattern space. This means that if you +imagine the flow from a pattern to user space (and on to device +space), then coordinates in that flow will be transformed by the +inverse of the pattern matrix.</para> +<para>For example, if you want to make a pattern appear twice as large as +it does by default the correct code to use is:</para> +<informalexample><programlisting> +cairo_matrix_init_scale (&matrix, 0.5, 0.5); +cairo_pattern_set_matrix (pattern, &matrix); +</programlisting></informalexample> +<para>Meanwhile, using values of 2.0 rather than 0.5 in the code above +would cause the pattern to appear at half of its default size.</para> +<para>Also, please note the discussion of the user-space locking +semantics of <link linkend="cairo-set-source"><function>cairo_set_source()</function></link>.</para> +<refsect3 id="cairo-pattern-set-matrix.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-get-matrix" role="function" condition="since:1.0"> +<title>cairo_pattern_get_matrix ()</title> +<indexterm zone="cairo-pattern-get-matrix" role="1.0"><primary sortas="pattern_get_matrix">cairo_pattern_get_matrix</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pattern_get_matrix (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>);</programlisting> +<para>Stores the pattern's transformation matrix into <parameter>matrix</parameter> +.</para> +<refsect3 id="cairo-pattern-get-matrix.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>return value for the matrix</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-get-type" role="function" condition="since:1.2"> +<title>cairo_pattern_get_type ()</title> +<indexterm zone="cairo-pattern-get-type" role="1.2"><primary sortas="pattern_get_type">cairo_pattern_get_type</primary></indexterm> +<programlisting language="C"><link linkend="cairo-pattern-type-t"><returnvalue>cairo_pattern_type_t</returnvalue></link> +cairo_pattern_get_type (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Get the pattern's type. See <link linkend="cairo-pattern-type-t"><type>cairo_pattern_type_t</type></link> for available +types.</para> +<refsect3 id="cairo-pattern-get-type.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-get-type.returns" role="returns"> +<title>Returns</title> +<para> The type of <parameter>pattern</parameter> +.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-pattern-get-reference-count" role="function" condition="since:1.4"> +<title>cairo_pattern_get_reference_count ()</title> +<indexterm zone="cairo-pattern-get-reference-count" role="1.4"><primary sortas="pattern_get_reference_count">cairo_pattern_get_reference_count</primary></indexterm> +<programlisting language="C">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +cairo_pattern_get_reference_count (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Returns the current reference count of <parameter>pattern</parameter> +.</para> +<refsect3 id="cairo-pattern-get-reference-count.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-get-reference-count.returns" role="returns"> +<title>Returns</title> +<para> the current reference count of <parameter>pattern</parameter> +. If the +object is a nil object, 0 will be returned.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-pattern-set-user-data" role="function" condition="since:1.4"> +<title>cairo_pattern_set_user_data ()</title> +<indexterm zone="cairo-pattern-set-user-data" role="1.4"><primary sortas="pattern_set_user_data">cairo_pattern_set_user_data</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_pattern_set_user_data (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>, + <parameter><link linkend="void"><type>void</type></link> *user_data</parameter>, + <parameter><link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> destroy</parameter>);</programlisting> +<para>Attach user data to <parameter>pattern</parameter> +. To remove user data from a surface, +call this function with the key that was used to set it and <link linkend="NULL:CAPS"><literal>NULL</literal></link> +for <parameter>data</parameter> +.</para> +<refsect3 id="cairo-pattern-set-user-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>key</para></entry> +<entry role="parameter_description"><para>the address of a <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> to attach the user data to</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>user_data</para></entry> +<entry role="parameter_description"><para>the user data to attach to the <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>destroy</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> which will be called when the +<link linkend="cairo-t"><type>cairo_t</type></link> is destroyed or when new user data is attached using the +same key.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-set-user-data.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> if a +slot could not be allocated for the user data.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-pattern-get-user-data" role="function" condition="since:1.4"> +<title>cairo_pattern_get_user_data ()</title> +<indexterm zone="cairo-pattern-get-user-data" role="1.4"><primary sortas="pattern_get_user_data">cairo_pattern_get_user_data</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> * +cairo_pattern_get_user_data (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>);</programlisting> +<para>Return user data previously attached to <parameter>pattern</parameter> + using the +specified key. If no user data has been attached with the given +key this function returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +<refsect3 id="cairo-pattern-get-user-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>key</para></entry> +<entry role="parameter_description"><para>the address of the <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> the user data was +attached to</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-get-user-data.returns" role="returns"> +<title>Returns</title> +<para> the user data previously attached or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-pattern-t.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="cairo-pattern-t" role="typedef" condition="since:1.0"> +<title>cairo_pattern_t</title> +<indexterm zone="cairo-pattern-t" role="1.0"><primary sortas="pattern_t">cairo_pattern_t</primary></indexterm> +<programlisting language="C">typedef struct _cairo_pattern cairo_pattern_t; +</programlisting> +<para>A <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> represents a source when drawing onto a +surface. There are different subtypes of <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link>, +for different types of sources; for example, +<link linkend="cairo-pattern-create-rgb"><function>cairo_pattern_create_rgb()</function></link> creates a pattern for a solid +opaque color.</para> +<para>Other than various +<function>cairo_pattern_create_<emphasis>type</emphasis>()</function> +functions, some of the pattern types can be implicitly created using various +<function>cairo_set_source_<emphasis>type</emphasis>()</function> functions; +for example <link linkend="cairo-set-source-rgb"><function>cairo_set_source_rgb()</function></link>.</para> +<para>The type of a pattern can be queried with <link linkend="cairo-pattern-get-type"><function>cairo_pattern_get_type()</function></link>.</para> +<para>Memory management of <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> is done with +<link linkend="cairo-pattern-reference"><function>cairo_pattern_reference()</function></link> and <link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link>.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-extend-t" role="enum" condition="since:1.0"> +<title>enum cairo_extend_t</title> +<indexterm zone="cairo-extend-t" role="1.0"><primary sortas="extend_t">cairo_extend_t</primary></indexterm> +<para><link linkend="cairo-extend-t"><type>cairo_extend_t</type></link> is used to describe how pattern color/alpha will be +determined for areas "outside" the pattern's natural area, (for +example, outside the surface bounds or outside the gradient +geometry).</para> +<para>Mesh patterns are not affected by the extend mode.</para> +<para>The default extend mode is <link linkend="CAIRO-EXTEND-NONE:CAPS"><literal>CAIRO_EXTEND_NONE</literal></link> for surface patterns +and <link linkend="CAIRO-EXTEND-PAD:CAPS"><literal>CAIRO_EXTEND_PAD</literal></link> for gradient patterns.</para> +<para>New entries may be added in future versions.</para> +<refsect3 id="cairo-extend-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-EXTEND-NONE:CAPS">CAIRO_EXTEND_NONE</para></entry> +<entry role="enum_member_description"><para>pixels outside of the source pattern + are fully transparent (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-EXTEND-REPEAT:CAPS">CAIRO_EXTEND_REPEAT</para></entry> +<entry role="enum_member_description"><para>the pattern is tiled by repeating (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-EXTEND-REFLECT:CAPS">CAIRO_EXTEND_REFLECT</para></entry> +<entry role="enum_member_description"><para>the pattern is tiled by reflecting + at the edges (Since 1.0; but only implemented for surface patterns since 1.6)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-EXTEND-PAD:CAPS">CAIRO_EXTEND_PAD</para></entry> +<entry role="enum_member_description"><para>pixels outside of the pattern copy + the closest pixel from the source (Since 1.2; but only + implemented for surface patterns since 1.6)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-filter-t" role="enum" condition="since:1.0"> +<title>enum cairo_filter_t</title> +<indexterm zone="cairo-filter-t" role="1.0"><primary sortas="filter_t">cairo_filter_t</primary></indexterm> +<para><link linkend="cairo-filter-t"><type>cairo_filter_t</type></link> is used to indicate what filtering should be +applied when reading pixel values from patterns. See +<link linkend="cairo-pattern-set-filter"><function>cairo_pattern_set_filter()</function></link> for indicating the desired filter to be +used with a particular pattern.</para> +<refsect3 id="cairo-filter-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILTER-FAST:CAPS">CAIRO_FILTER_FAST</para></entry> +<entry role="enum_member_description"><para>A high-performance filter, with quality similar + to <link linkend="CAIRO-FILTER-NEAREST:CAPS"><literal>CAIRO_FILTER_NEAREST</literal></link> (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILTER-GOOD:CAPS">CAIRO_FILTER_GOOD</para></entry> +<entry role="enum_member_description"><para>A reasonable-performance filter, with quality + similar to <link linkend="CAIRO-FILTER-BILINEAR:CAPS"><literal>CAIRO_FILTER_BILINEAR</literal></link> (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILTER-BEST:CAPS">CAIRO_FILTER_BEST</para></entry> +<entry role="enum_member_description"><para>The highest-quality available, performance may + not be suitable for interactive use. (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILTER-NEAREST:CAPS">CAIRO_FILTER_NEAREST</para></entry> +<entry role="enum_member_description"><para>Nearest-neighbor filtering (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILTER-BILINEAR:CAPS">CAIRO_FILTER_BILINEAR</para></entry> +<entry role="enum_member_description"><para>Linear interpolation in two dimensions (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILTER-GAUSSIAN:CAPS">CAIRO_FILTER_GAUSSIAN</para></entry> +<entry role="enum_member_description"><para>This filter value is currently + unimplemented, and should not be used in current code. (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-pattern-type-t" role="enum" condition="since:1.2"> +<title>enum cairo_pattern_type_t</title> +<indexterm zone="cairo-pattern-type-t" role="1.2"><primary sortas="pattern_type_t">cairo_pattern_type_t</primary></indexterm> +<para><link linkend="cairo-pattern-type-t"><type>cairo_pattern_type_t</type></link> is used to describe the type of a given pattern.</para> +<para>The type of a pattern is determined by the function used to create +it. The <link linkend="cairo-pattern-create-rgb"><function>cairo_pattern_create_rgb()</function></link> and <link linkend="cairo-pattern-create-rgba"><function>cairo_pattern_create_rgba()</function></link> +functions create SOLID patterns. The remaining +cairo_pattern_create<!-- --> functions map to pattern types in obvious +ways.</para> +<para>The pattern type can be queried with <link linkend="cairo-pattern-get-type"><function>cairo_pattern_get_type()</function></link></para> +<para>Most <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> functions can be called with a pattern of any +type, (though trying to change the extend or filter for a solid +pattern will have no effect). A notable exception is +<link linkend="cairo-pattern-add-color-stop-rgb"><function>cairo_pattern_add_color_stop_rgb()</function></link> and +<link linkend="cairo-pattern-add-color-stop-rgba"><function>cairo_pattern_add_color_stop_rgba()</function></link> which must only be called with +gradient patterns (either LINEAR or RADIAL). Otherwise the pattern +will be shutdown and put into an error state.</para> +<para>New entries may be added in future versions.</para> +<refsect3 id="cairo-pattern-type-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATTERN-TYPE-SOLID:CAPS">CAIRO_PATTERN_TYPE_SOLID</para></entry> +<entry role="enum_member_description"><para>The pattern is a solid (uniform) +color. It may be opaque or translucent, since 1.2.</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATTERN-TYPE-SURFACE:CAPS">CAIRO_PATTERN_TYPE_SURFACE</para></entry> +<entry role="enum_member_description"><para>The pattern is a based on a surface (an image), since 1.2.</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATTERN-TYPE-LINEAR:CAPS">CAIRO_PATTERN_TYPE_LINEAR</para></entry> +<entry role="enum_member_description"><para>The pattern is a linear gradient, since 1.2.</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATTERN-TYPE-RADIAL:CAPS">CAIRO_PATTERN_TYPE_RADIAL</para></entry> +<entry role="enum_member_description"><para>The pattern is a radial gradient, since 1.2.</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATTERN-TYPE-MESH:CAPS">CAIRO_PATTERN_TYPE_MESH</para></entry> +<entry role="enum_member_description"><para>The pattern is a mesh, since 1.12.</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PATTERN-TYPE-RASTER-SOURCE:CAPS">CAIRO_PATTERN_TYPE_RASTER_SOURCE</para></entry> +<entry role="enum_member_description"><para>The pattern is a user pattern providing raster data, since 1.12.</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-pattern-t.see-also"> +<title>See Also</title> +<para><link linkend="cairo-t"><type>cairo_t</type></link>, <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-pdf.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-pdf.xml new file mode 100644 index 0000000..c0c5b8e --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-pdf.xml @@ -0,0 +1,595 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-PDF-Surfaces"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-PDF-Surfaces.top_of_page">PDF Surfaces</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>PDF Surfaces</refname> +<refpurpose>Rendering PDF documents</refpurpose> +</refnamediv> + +<refsect1 id="cairo-PDF-Surfaces.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pdf-surface-create">cairo_pdf_surface_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pdf-surface-create-for-stream">cairo_pdf_surface_create_for_stream</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pdf-surface-restrict-to-version">cairo_pdf_surface_restrict_to_version</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pdf-get-versions">cairo_pdf_get_versions</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pdf-version-to-string">cairo_pdf_version_to_string</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pdf-surface-set-size">cairo_pdf_surface_set_size</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pdf-surface-add-outline">cairo_pdf_surface_add_outline</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pdf-surface-set-metadata">cairo_pdf_surface_set_metadata</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pdf-surface-set-page-label">cairo_pdf_surface_set_page_label</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pdf-surface-set-thumbnail-size">cairo_pdf_surface_set_thumbnail_size</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-PDF-Surfaces.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-PDF-SURFACE:CAPS">CAIRO_HAS_PDF_SURFACE</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-PDF-OUTLINE-ROOT:CAPS">CAIRO_PDF_OUTLINE_ROOT</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-pdf-outline-flags-t">cairo_pdf_outline_flags_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-pdf-metadata-t">cairo_pdf_metadata_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-pdf-version-t">cairo_pdf_version_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-PDF-Surfaces.description" role="desc"> +<title role="desc.title">Description</title> +<para>The PDF surface is used to render cairo graphics to Adobe +PDF files and is a multi-page vector surface backend.</para> +<para>The following mime types are supported: <link linkend="CAIRO-MIME-TYPE-JPEG:CAPS"><literal>CAIRO_MIME_TYPE_JPEG</literal></link>, +<link linkend="CAIRO-MIME-TYPE-JP2:CAPS"><literal>CAIRO_MIME_TYPE_JP2</literal></link>, <link linkend="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS"><literal>CAIRO_MIME_TYPE_UNIQUE_ID</literal></link>, +<link linkend="CAIRO-MIME-TYPE-JBIG2:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2</literal></link>, <link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2_GLOBAL</literal></link>, +<link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</literal></link>, +<link linkend="CAIRO-MIME-TYPE-CCITT-FAX:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX</literal></link>, <link linkend="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</literal></link>.</para> +<refsect2><title>JBIG2 Images</title><para>JBIG2 data in PDF must be in the embedded format as described in +ISO/IEC 11544. Image specific JBIG2 data must be in +<link linkend="CAIRO-MIME-TYPE-JBIG2:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2</literal></link>. Any global segments in the JBIG2 data +(segments with page association field set to 0) must be in +<link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2_GLOBAL</literal></link>. The global data may be shared by +multiple images. All images sharing the same global data must set +<link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</literal></link> to a unique identifier. At least +one of the images must provide the global data using +<link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2_GLOBAL</literal></link>. The global data will only be +embedded once and shared by all JBIG2 images with the same +<link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</literal></link>.</para> +</refsect2> +<refsect2 id="ccitt"><title>CCITT Fax Images</title><para>The <link linkend="CAIRO-MIME-TYPE-CCITT-FAX:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX</literal></link> mime data requires a number of decoding +parameters These parameters are specified using <link linkend="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</literal></link>.</para> +<para><link linkend="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</literal></link> mime data must contain a string of the form +"param1=value1 param2=value2 ...".</para> +<para><parameter>Columns</parameter> +: [required] An integer specifying the width of the image in pixels.</para> +<para><parameter>Rows</parameter> +: [required] An integer specifying the height of the image in scan lines.</para> +<para><parameter>K</parameter> +: [optional] An integer identifying the encoding scheme used. < 0 +is 2 dimensional Group 4, = 0 is Group3 1 dimensional, > 0 is mixed 1 +and 2 dimensional encoding. Default is 0.</para> +<para><parameter>EndOfLine</parameter> +: [optional] If true end-of-line bit patterns are present. Default is false.</para> +<para><parameter>EncodedByteAlign</parameter> +: [optional] If true the end of line is padded +with 0 bits so the next line begins on a byte boundary. Default is false.</para> +<para><parameter>EndOfBlock</parameter> +: [optional] If true the data contains an end-of-block pattern. Default is true.</para> +<para><parameter>BlackIs1</parameter> +: [optional] If true 1 bits are black pixels. Default is false.</para> +<para><parameter>DamagedRowsBeforeError</parameter> +: [optional] An integer specifying the +number of damages rows tolerated before an error occurs. Default is 0.</para> +<para>Boolean values may be "true" or "false", or 1 or 0.</para> +<para>These parameters are the same as the CCITTFaxDecode parameters in the +<ulink url="https://www.adobe.com/products/postscript/pdfs/PLRM.pdf">PostScript Language Reference</ulink> +and <ulink url="https://www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf">Portable Document Format (PDF)</ulink>. +Refer to these documents for further details.</para> +<para>An example <link linkend="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</literal></link> string is:</para> +<programlisting> +"Columns=10230 Rows=40000 K=1 EndOfLine=true EncodedByteAlign=1 BlackIs1=false" +</programlisting> +</refsect2> + +</refsect1> +<refsect1 id="cairo-PDF-Surfaces.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-pdf-surface-create" role="function" condition="since:1.2"> +<title>cairo_pdf_surface_create ()</title> +<indexterm zone="cairo-pdf-surface-create" role="1.2"><primary sortas="pdf_surface_create">cairo_pdf_surface_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_pdf_surface_create (<parameter>const <link linkend="char"><type>char</type></link> *filename</parameter>, + <parameter><link linkend="double"><type>double</type></link> width_in_points</parameter>, + <parameter><link linkend="double"><type>double</type></link> height_in_points</parameter>);</programlisting> +<para>Creates a PDF surface of the specified size in points to be written +to <parameter>filename</parameter> +.</para> +<refsect3 id="cairo-pdf-surface-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>filename</para></entry> +<entry role="parameter_description"><para>a filename for the PDF output (must be writable), <link linkend="NULL:CAPS"><literal>NULL</literal></link> may be +used to specify no output. This will generate a PDF surface that +may be queried and used as a source, without generating a +temporary file.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width_in_points</para></entry> +<entry role="parameter_description"><para>width of the surface, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height_in_points</para></entry> +<entry role="parameter_description"><para>height of the surface, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pdf-surface-create.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-pdf-surface-create-for-stream" role="function" condition="since:1.2"> +<title>cairo_pdf_surface_create_for_stream ()</title> +<indexterm zone="cairo-pdf-surface-create-for-stream" role="1.2"><primary sortas="pdf_surface_create_for_stream">cairo_pdf_surface_create_for_stream</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_pdf_surface_create_for_stream (<parameter><link linkend="cairo-write-func-t"><type>cairo_write_func_t</type></link> write_func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *closure</parameter>, + <parameter><link linkend="double"><type>double</type></link> width_in_points</parameter>, + <parameter><link linkend="double"><type>double</type></link> height_in_points</parameter>);</programlisting> +<para>Creates a PDF surface of the specified size in points to be written +incrementally to the stream represented by <parameter>write_func</parameter> + and <parameter>closure</parameter> +.</para> +<refsect3 id="cairo-pdf-surface-create-for-stream.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>write_func</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-write-func-t"><type>cairo_write_func_t</type></link> to accept the output data, may be <link linkend="NULL:CAPS"><literal>NULL</literal></link> +to indicate a no-op <parameter>write_func</parameter> +. With a no-op <parameter>write_func</parameter> +, +the surface may be queried or used as a source without +generating any temporary files.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>closure</para></entry> +<entry role="parameter_description"><para>the closure argument for <parameter>write_func</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width_in_points</para></entry> +<entry role="parameter_description"><para>width of the surface, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height_in_points</para></entry> +<entry role="parameter_description"><para>height of the surface, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pdf-surface-create-for-stream.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-pdf-surface-restrict-to-version" role="function" condition="since:1.10"> +<title>cairo_pdf_surface_restrict_to_version ()</title> +<indexterm zone="cairo-pdf-surface-restrict-to-version" role="1.10"><primary sortas="pdf_surface_restrict_to_version">cairo_pdf_surface_restrict_to_version</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pdf_surface_restrict_to_version (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="cairo-pdf-version-t"><type>cairo_pdf_version_t</type></link> version</parameter>);</programlisting> +<para>Restricts the generated PDF file to <parameter>version</parameter> +. See <link linkend="cairo-pdf-get-versions"><function>cairo_pdf_get_versions()</function></link> +for a list of available version values that can be used here.</para> +<para>This function should only be called before any drawing operations +have been performed on the given surface. The simplest way to do +this is to call this function immediately after creating the +surface.</para> +<refsect3 id="cairo-pdf-surface-restrict-to-version.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PDF <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>version</para></entry> +<entry role="parameter_description"><para>PDF version</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-pdf-get-versions" role="function" condition="since:1.10"> +<title>cairo_pdf_get_versions ()</title> +<indexterm zone="cairo-pdf-get-versions" role="1.10"><primary sortas="pdf_get_versions">cairo_pdf_get_versions</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pdf_get_versions (<parameter><link linkend="cairo-pdf-version-t"><type>cairo_pdf_version_t</type></link> const **versions</parameter>, + <parameter><link linkend="int"><type>int</type></link> *num_versions</parameter>);</programlisting> +<para>Used to retrieve the list of supported versions. See +<link linkend="cairo-pdf-surface-restrict-to-version"><function>cairo_pdf_surface_restrict_to_version()</function></link>.</para> +<refsect3 id="cairo-pdf-get-versions.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>versions</para></entry> +<entry role="parameter_description"><para>supported version list</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_versions</para></entry> +<entry role="parameter_description"><para>list length</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-pdf-version-to-string" role="function" condition="since:1.10"> +<title>cairo_pdf_version_to_string ()</title> +<indexterm zone="cairo-pdf-version-to-string" role="1.10"><primary sortas="pdf_version_to_string">cairo_pdf_version_to_string</primary></indexterm> +<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> * +cairo_pdf_version_to_string (<parameter><link linkend="cairo-pdf-version-t"><type>cairo_pdf_version_t</type></link> version</parameter>);</programlisting> +<para>Get the string representation of the given <parameter>version</parameter> + id. This function +will return <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>version</parameter> + isn't valid. See <link linkend="cairo-pdf-get-versions"><function>cairo_pdf_get_versions()</function></link> +for a way to get the list of valid version ids.</para> +<refsect3 id="cairo-pdf-version-to-string.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>version</para></entry> +<entry role="parameter_description"><para>a version id</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pdf-version-to-string.returns" role="returns"> +<title>Returns</title> +<para> the string associated to given version.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-pdf-surface-set-size" role="function" condition="since:1.2"> +<title>cairo_pdf_surface_set_size ()</title> +<indexterm zone="cairo-pdf-surface-set-size" role="1.2"><primary sortas="pdf_surface_set_size">cairo_pdf_surface_set_size</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pdf_surface_set_size (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="double"><type>double</type></link> width_in_points</parameter>, + <parameter><link linkend="double"><type>double</type></link> height_in_points</parameter>);</programlisting> +<para>Changes the size of a PDF surface for the current (and +subsequent) pages.</para> +<para>This function should only be called before any drawing operations +have been performed on the current page. The simplest way to do +this is to call this function immediately after creating the +surface or immediately after completing a page with either +<link linkend="cairo-show-page"><function>cairo_show_page()</function></link> or <link linkend="cairo-copy-page"><function>cairo_copy_page()</function></link>.</para> +<refsect3 id="cairo-pdf-surface-set-size.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PDF <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width_in_points</para></entry> +<entry role="parameter_description"><para>new surface width, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height_in_points</para></entry> +<entry role="parameter_description"><para>new surface height, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-pdf-surface-add-outline" role="function" condition="since:1.16"> +<title>cairo_pdf_surface_add_outline ()</title> +<indexterm zone="cairo-pdf-surface-add-outline" role="1.16"><primary sortas="pdf_surface_add_outline">cairo_pdf_surface_add_outline</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_pdf_surface_add_outline (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="int"><type>int</type></link> parent_id</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *utf8</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *link_attribs</parameter>, + <parameter><link linkend="cairo-pdf-outline-flags-t"><type>cairo_pdf_outline_flags_t</type></link> flags</parameter>);</programlisting> +<para>Add an item to the document outline hierarchy with the name <parameter>utf8</parameter> + +that links to the location specified by <parameter>link_attribs</parameter> +. Link +attributes have the same keys and values as the <link linkend="link">Link Tag</link>, +excluding the "rect" attribute. The item will be a child of the +item with id <parameter>parent_id</parameter> +. Use <link linkend="CAIRO-PDF-OUTLINE-ROOT:CAPS"><literal>CAIRO_PDF_OUTLINE_ROOT</literal></link> as the parent +id of top level items.</para> +<refsect3 id="cairo-pdf-surface-add-outline.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PDF <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>parent_id</para></entry> +<entry role="parameter_description"><para>the id of the parent item or <link linkend="CAIRO-PDF-OUTLINE-ROOT:CAPS"><literal>CAIRO_PDF_OUTLINE_ROOT</literal></link> if this is a top level item.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8</para></entry> +<entry role="parameter_description"><para>the name of the outline</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>link_attribs</para></entry> +<entry role="parameter_description"><para>the link attributes specifying where this outline links to</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>flags</para></entry> +<entry role="parameter_description"><para>outline item flags</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pdf-surface-add-outline.returns" role="returns"> +<title>Returns</title> +<para> the id for the added item.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="cairo-pdf-surface-set-metadata" role="function" condition="since:1.16"> +<title>cairo_pdf_surface_set_metadata ()</title> +<indexterm zone="cairo-pdf-surface-set-metadata" role="1.16"><primary sortas="pdf_surface_set_metadata">cairo_pdf_surface_set_metadata</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pdf_surface_set_metadata (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="cairo-pdf-metadata-t"><type>cairo_pdf_metadata_t</type></link> metadata</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *utf8</parameter>);</programlisting> +<para>Set document metadata. The <link linkend="CAIRO-PDF-METADATA-CREATE-DATE:CAPS"><literal>CAIRO_PDF_METADATA_CREATE_DATE</literal></link> and +<link linkend="CAIRO-PDF-METADATA-MOD-DATE:CAPS"><literal>CAIRO_PDF_METADATA_MOD_DATE</literal></link> values must be in ISO-8601 format: +YYYY-MM-DDThh:mm:ss. An optional timezone of the form "[+/-]hh:mm" +or "Z" for UTC time can be appended. All other metadata values can be any UTF-8 +string.</para> +<para>For example:</para> +<informalexample><programlisting> +cairo_pdf_surface_set_metadata (surface, CAIRO_PDF_METADATA_TITLE, "My Document"); +cairo_pdf_surface_set_metadata (surface, CAIRO_PDF_METADATA_CREATE_DATE, "2015-12-31T23:59+02:00"); +</programlisting></informalexample> +<refsect3 id="cairo-pdf-surface-set-metadata.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PDF <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>metadata</para></entry> +<entry role="parameter_description"><para>The metadata item to set.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8</para></entry> +<entry role="parameter_description"><para>metadata value</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="cairo-pdf-surface-set-page-label" role="function" condition="since:1.16"> +<title>cairo_pdf_surface_set_page_label ()</title> +<indexterm zone="cairo-pdf-surface-set-page-label" role="1.16"><primary sortas="pdf_surface_set_page_label">cairo_pdf_surface_set_page_label</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pdf_surface_set_page_label (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *utf8</parameter>);</programlisting> +<para>Set page label for the current page.</para> +<refsect3 id="cairo-pdf-surface-set-page-label.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PDF <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8</para></entry> +<entry role="parameter_description"><para>The page label.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="cairo-pdf-surface-set-thumbnail-size" role="function" condition="since:1.16"> +<title>cairo_pdf_surface_set_thumbnail_size ()</title> +<indexterm zone="cairo-pdf-surface-set-thumbnail-size" role="1.16"><primary sortas="pdf_surface_set_thumbnail_size">cairo_pdf_surface_set_thumbnail_size</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pdf_surface_set_thumbnail_size (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Set the thumbnail image size for the current and all subsequent +pages. Setting a width or height of 0 disables thumbnails for the +current and subsequent pages.</para> +<refsect3 id="cairo-pdf-surface-set-thumbnail-size.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PDF <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>Thumbnail width.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>Thumbnail height</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-PDF-Surfaces.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-PDF-SURFACE:CAPS" role="macro" condition="since:1.2"> +<title>CAIRO_HAS_PDF_SURFACE</title> +<indexterm zone="CAIRO-HAS-PDF-SURFACE:CAPS" role="1.2"><primary sortas="HAS_PDF_SURFACE">CAIRO_HAS_PDF_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_PDF_SURFACE 1 +</programlisting> +<para>Defined if the PDF surface backend is available. +This macro can be used to conditionally compile backend-specific code.</para> +<para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="CAIRO-PDF-OUTLINE-ROOT:CAPS" role="macro" condition="since:1.16"> +<title>CAIRO_PDF_OUTLINE_ROOT</title> +<indexterm zone="CAIRO-PDF-OUTLINE-ROOT:CAPS" role="1.16"><primary sortas="PDF_OUTLINE_ROOT">CAIRO_PDF_OUTLINE_ROOT</primary></indexterm> +<programlisting language="C">#define CAIRO_PDF_OUTLINE_ROOT 0 +</programlisting> +<para>The root outline item in <link linkend="cairo-pdf-surface-add-outline"><function>cairo_pdf_surface_add_outline()</function></link>.</para> +<para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="cairo-pdf-outline-flags-t" role="enum" condition="since:1.16"> +<title>enum cairo_pdf_outline_flags_t</title> +<indexterm zone="cairo-pdf-outline-flags-t" role="1.16"><primary sortas="pdf_outline_flags_t">cairo_pdf_outline_flags_t</primary></indexterm> +<para><link linkend="cairo-pdf-outline-flags-t"><type>cairo_pdf_outline_flags_t</type></link> is used by the +<link linkend="cairo-pdf-surface-add-outline"><function>cairo_pdf_surface_add_outline()</function></link> function specify the attributes of +an outline item. These flags may be bitwise-or'd to produce any +combination of flags.</para> +<refsect3 id="cairo-pdf-outline-flags-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PDF-OUTLINE-FLAG-OPEN:CAPS">CAIRO_PDF_OUTLINE_FLAG_OPEN</para></entry> +<entry role="enum_member_description"><para>The outline item defaults to open in the PDF viewer (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PDF-OUTLINE-FLAG-BOLD:CAPS">CAIRO_PDF_OUTLINE_FLAG_BOLD</para></entry> +<entry role="enum_member_description"><para>The outline item is displayed by the viewer in bold text (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PDF-OUTLINE-FLAG-ITALIC:CAPS">CAIRO_PDF_OUTLINE_FLAG_ITALIC</para></entry> +<entry role="enum_member_description"><para>The outline item is displayed by the viewer in italic text (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="cairo-pdf-metadata-t" role="enum" condition="since:1.16"> +<title>enum cairo_pdf_metadata_t</title> +<indexterm zone="cairo-pdf-metadata-t" role="1.16"><primary sortas="pdf_metadata_t">cairo_pdf_metadata_t</primary></indexterm> +<para><link linkend="cairo-pdf-metadata-t"><type>cairo_pdf_metadata_t</type></link> is used by the +<link linkend="cairo-pdf-surface-set-metadata"><function>cairo_pdf_surface_set_metadata()</function></link> function specify the metadata to set.</para> +<refsect3 id="cairo-pdf-metadata-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PDF-METADATA-TITLE:CAPS">CAIRO_PDF_METADATA_TITLE</para></entry> +<entry role="enum_member_description"><para>The document title (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PDF-METADATA-AUTHOR:CAPS">CAIRO_PDF_METADATA_AUTHOR</para></entry> +<entry role="enum_member_description"><para>The document author (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PDF-METADATA-SUBJECT:CAPS">CAIRO_PDF_METADATA_SUBJECT</para></entry> +<entry role="enum_member_description"><para>The document subject (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PDF-METADATA-KEYWORDS:CAPS">CAIRO_PDF_METADATA_KEYWORDS</para></entry> +<entry role="enum_member_description"><para>The document keywords (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PDF-METADATA-CREATOR:CAPS">CAIRO_PDF_METADATA_CREATOR</para></entry> +<entry role="enum_member_description"><para>The document creator (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PDF-METADATA-CREATE-DATE:CAPS">CAIRO_PDF_METADATA_CREATE_DATE</para></entry> +<entry role="enum_member_description"><para>The document creation date (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PDF-METADATA-MOD-DATE:CAPS">CAIRO_PDF_METADATA_MOD_DATE</para></entry> +<entry role="enum_member_description"><para>The document modification date (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="cairo-pdf-version-t" role="enum" condition="since:1.10"> +<title>enum cairo_pdf_version_t</title> +<indexterm zone="cairo-pdf-version-t" role="1.10"><primary sortas="pdf_version_t">cairo_pdf_version_t</primary></indexterm> +<para><link linkend="cairo-pdf-version-t"><type>cairo_pdf_version_t</type></link> is used to describe the version number of the PDF +specification that a generated PDF file will conform to.</para> +<refsect3 id="cairo-pdf-version-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PDF-VERSION-1-4:CAPS">CAIRO_PDF_VERSION_1_4</para></entry> +<entry role="enum_member_description"><para>The version 1.4 of the PDF specification. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PDF-VERSION-1-5:CAPS">CAIRO_PDF_VERSION_1_5</para></entry> +<entry role="enum_member_description"><para>The version 1.5 of the PDF specification. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-PDF-Surfaces.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-png.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-png.xml new file mode 100644 index 0000000..d8a1ea7 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-png.xml @@ -0,0 +1,309 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-PNG-Support"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-PNG-Support.top_of_page">PNG Support</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>PNG Support</refname> +<refpurpose>Reading and writing PNG images</refpurpose> +</refnamediv> + +<refsect1 id="cairo-PNG-Support.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-image-surface-create-from-png">cairo_image_surface_create_from_png</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-read-func-t">*cairo_read_func_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-image-surface-create-from-png-stream">cairo_image_surface_create_from_png_stream</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-write-to-png">cairo_surface_write_to_png</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-write-func-t">*cairo_write_func_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-write-to-png-stream">cairo_surface_write_to_png_stream</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-PNG-Support.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-PNG-FUNCTIONS:CAPS">CAIRO_HAS_PNG_FUNCTIONS</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-PNG-Support.description" role="desc"> +<title role="desc.title">Description</title> +<para>The PNG functions allow reading PNG images into image surfaces, and writing +any surface to a PNG file.</para> +<para>It is a toy API. It only offers very simple support for reading and +writing PNG files, which is sufficient for testing and +demonstration purposes. Applications which need more control over +the generated PNG file should access the pixel data directly, using +<link linkend="cairo-image-surface-get-data"><function>cairo_image_surface_get_data()</function></link> or a backend-specific access +function, and process it with another library, e.g. gdk-pixbuf or +libpng.</para> + +</refsect1> +<refsect1 id="cairo-PNG-Support.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-image-surface-create-from-png" role="function" condition="since:1.0"> +<title>cairo_image_surface_create_from_png ()</title> +<indexterm zone="cairo-image-surface-create-from-png" role="1.0"><primary sortas="image_surface_create_from_png">cairo_image_surface_create_from_png</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_image_surface_create_from_png (<parameter>const <link linkend="char"><type>char</type></link> *filename</parameter>);</programlisting> +<para>Creates a new image surface and initializes the contents to the +given PNG file.</para> +<refsect3 id="cairo-image-surface-create-from-png.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>filename</para></entry> +<entry role="parameter_description"><para>name of PNG file to load. On Windows this filename +is encoded in UTF-8.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-image-surface-create-from-png.returns" role="returns"> +<title>Returns</title> +<para> a new <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> initialized with the contents +of the PNG file, or a "nil" surface if any error occurred. A nil +surface can be checked for with cairo_surface_status(surface) which +may return one of the following values:</para> +<para><link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> +<link linkend="CAIRO-STATUS-FILE-NOT-FOUND:CAPS"><literal>CAIRO_STATUS_FILE_NOT_FOUND</literal></link> +<link linkend="CAIRO-STATUS-READ-ERROR:CAPS"><literal>CAIRO_STATUS_READ_ERROR</literal></link> +<link linkend="CAIRO-STATUS-PNG-ERROR:CAPS"><literal>CAIRO_STATUS_PNG_ERROR</literal></link></para> +<para>Alternatively, you can allow errors to propagate through the drawing +operations and check the status on the context upon completion +using <link linkend="cairo-status"><function>cairo_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-read-func-t" role="function" condition="since:1.0"> +<title>cairo_read_func_t ()</title> +<indexterm zone="cairo-read-func-t" role="1.0"><primary sortas="read_func_t">cairo_read_func_t</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_read_func_t<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="void"><type>void</type></link> *closure</parameter>, + <parameter>unsigned <link linkend="char"><type>char</type></link> *data</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> length</parameter>);</programlisting> +<para><link linkend="cairo-read-func-t"><type>cairo_read_func_t</type></link> is the type of function which is called when a +backend needs to read data from an input stream. It is passed the +closure which was specified by the user at the time the read +function was registered, the buffer to read the data into and the +length of the data in bytes. The read function should return +<link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> if all the data was successfully read, +<link linkend="CAIRO-STATUS-READ-ERROR:CAPS"><literal>CAIRO_STATUS_READ_ERROR</literal></link> otherwise.</para> +<refsect3 id="cairo-read-func-t.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>closure</para></entry> +<entry role="parameter_description"><para>the input closure</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>data</para></entry> +<entry role="parameter_description"><para>the buffer into which to read the data</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>length</para></entry> +<entry role="parameter_description"><para>the amount of data to read</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-read-func-t.returns" role="returns"> +<title>Returns</title> +<para> the status code of the read operation</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-image-surface-create-from-png-stream" role="function" condition="since:1.0"> +<title>cairo_image_surface_create_from_png_stream ()</title> +<indexterm zone="cairo-image-surface-create-from-png-stream" role="1.0"><primary sortas="image_surface_create_from_png_stream">cairo_image_surface_create_from_png_stream</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_image_surface_create_from_png_stream + (<parameter><link linkend="cairo-read-func-t"><type>cairo_read_func_t</type></link> read_func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *closure</parameter>);</programlisting> +<para>Creates a new image surface from PNG data read incrementally +via the <parameter>read_func</parameter> + function.</para> +<refsect3 id="cairo-image-surface-create-from-png-stream.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>read_func</para></entry> +<entry role="parameter_description"><para>function called to read the data of the file</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>closure</para></entry> +<entry role="parameter_description"><para>data to pass to <parameter>read_func</parameter> +.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-image-surface-create-from-png-stream.returns" role="returns"> +<title>Returns</title> +<para> a new <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> initialized with the contents +of the PNG file or a "nil" surface if the data read is not a valid PNG image +or memory could not be allocated for the operation. A nil +surface can be checked for with cairo_surface_status(surface) which +may return one of the following values:</para> +<para><link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> +<link linkend="CAIRO-STATUS-READ-ERROR:CAPS"><literal>CAIRO_STATUS_READ_ERROR</literal></link> +<link linkend="CAIRO-STATUS-PNG-ERROR:CAPS"><literal>CAIRO_STATUS_PNG_ERROR</literal></link></para> +<para>Alternatively, you can allow errors to propagate through the drawing +operations and check the status on the context upon completion +using <link linkend="cairo-status"><function>cairo_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-write-to-png" role="function" condition="since:1.0"> +<title>cairo_surface_write_to_png ()</title> +<indexterm zone="cairo-surface-write-to-png" role="1.0"><primary sortas="surface_write_to_png">cairo_surface_write_to_png</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_write_to_png (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *filename</parameter>);</programlisting> +<para>Writes the contents of <parameter>surface</parameter> + to a new file <parameter>filename</parameter> + as a PNG +image.</para> +<refsect3 id="cairo-surface-write-to-png.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> with pixel contents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>filename</para></entry> +<entry role="parameter_description"><para>the name of a file to write to; on Windows this filename +is encoded in UTF-8.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-write-to-png.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> if the PNG file was written +successfully. Otherwise, <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> if memory could not +be allocated for the operation or +<link linkend="CAIRO-STATUS-SURFACE-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_SURFACE_TYPE_MISMATCH</literal></link> if the surface does not have +pixel contents, or <link linkend="CAIRO-STATUS-WRITE-ERROR:CAPS"><literal>CAIRO_STATUS_WRITE_ERROR</literal></link> if an I/O error occurs +while attempting to write the file, or <link linkend="CAIRO-STATUS-PNG-ERROR:CAPS"><literal>CAIRO_STATUS_PNG_ERROR</literal></link> if libpng +returned an error.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-write-func-t" role="function" condition="since:1.0"> +<title>cairo_write_func_t ()</title> +<indexterm zone="cairo-write-func-t" role="1.0"><primary sortas="write_func_t">cairo_write_func_t</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_write_func_t<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="void"><type>void</type></link> *closure</parameter>, + <parameter>const unsigned <link linkend="char"><type>char</type></link> *data</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> length</parameter>);</programlisting> +<para><link linkend="cairo-write-func-t"><type>cairo_write_func_t</type></link> is the type of function which is called when a +backend needs to write data to an output stream. It is passed the +closure which was specified by the user at the time the write +function was registered, the data to write and the length of the +data in bytes. The write function should return +<link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> if all the data was successfully written, +<link linkend="CAIRO-STATUS-WRITE-ERROR:CAPS"><literal>CAIRO_STATUS_WRITE_ERROR</literal></link> otherwise.</para> +<refsect3 id="cairo-write-func-t.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>closure</para></entry> +<entry role="parameter_description"><para>the output closure</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>data</para></entry> +<entry role="parameter_description"><para>the buffer containing the data to write</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>length</para></entry> +<entry role="parameter_description"><para>the amount of data to write</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-write-func-t.returns" role="returns"> +<title>Returns</title> +<para> the status code of the write operation</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-write-to-png-stream" role="function" condition="since:1.0"> +<title>cairo_surface_write_to_png_stream ()</title> +<indexterm zone="cairo-surface-write-to-png-stream" role="1.0"><primary sortas="surface_write_to_png_stream">cairo_surface_write_to_png_stream</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_write_to_png_stream (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="cairo-write-func-t"><type>cairo_write_func_t</type></link> write_func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *closure</parameter>);</programlisting> +<para>Writes the image surface to the write function.</para> +<refsect3 id="cairo-surface-write-to-png-stream.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> with pixel contents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>write_func</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-write-func-t"><type>cairo_write_func_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>closure</para></entry> +<entry role="parameter_description"><para>closure data for the write function</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-write-to-png-stream.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> if the PNG file was written +successfully. Otherwise, <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> is returned if +memory could not be allocated for the operation, +<link linkend="CAIRO-STATUS-SURFACE-TYPE-MISMATCH:CAPS"><literal>CAIRO_STATUS_SURFACE_TYPE_MISMATCH</literal></link> if the surface does not have +pixel contents, or <link linkend="CAIRO-STATUS-PNG-ERROR:CAPS"><literal>CAIRO_STATUS_PNG_ERROR</literal></link> if libpng +returned an error.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-PNG-Support.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-PNG-FUNCTIONS:CAPS" role="macro" condition="since:1.0"> +<title>CAIRO_HAS_PNG_FUNCTIONS</title> +<indexterm zone="CAIRO-HAS-PNG-FUNCTIONS:CAPS" role="1.0"><primary sortas="HAS_PNG_FUNCTIONS">CAIRO_HAS_PNG_FUNCTIONS</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_PNG_FUNCTIONS 1 +</programlisting> +<para>Defined if the PNG functions are available. +This macro can be used to conditionally compile code using the cairo +PNG functions.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-PNG-Support.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-ps.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-ps.xml new file mode 100644 index 0000000..3a73d7f --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-ps.xml @@ -0,0 +1,548 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-PostScript-Surfaces"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-PostScript-Surfaces.top_of_page">PostScript Surfaces</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>PostScript Surfaces</refname> +<refpurpose>Rendering PostScript documents</refpurpose> +</refnamediv> + +<refsect1 id="cairo-PostScript-Surfaces.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-ps-surface-create">cairo_ps_surface_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-ps-surface-create-for-stream">cairo_ps_surface_create_for_stream</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ps-surface-restrict-to-level">cairo_ps_surface_restrict_to_level</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ps-get-levels">cairo_ps_get_levels</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-ps-level-to-string">cairo_ps_level_to_string</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ps-surface-set-eps">cairo_ps_surface_set_eps</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ps-surface-get-eps">cairo_ps_surface_get_eps</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ps-surface-set-size">cairo_ps_surface_set_size</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ps-surface-dsc-begin-setup">cairo_ps_surface_dsc_begin_setup</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ps-surface-dsc-begin-page-setup">cairo_ps_surface_dsc_begin_page_setup</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-ps-surface-dsc-comment">cairo_ps_surface_dsc_comment</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-PostScript-Surfaces.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-PS-SURFACE:CAPS">CAIRO_HAS_PS_SURFACE</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-ps-level-t">cairo_ps_level_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-PostScript-Surfaces.description" role="desc"> +<title role="desc.title">Description</title> +<para>The PostScript surface is used to render cairo graphics to Adobe +PostScript files and is a multi-page vector surface backend.</para> +<para>The following mime types are supported: <link linkend="CAIRO-MIME-TYPE-JPEG:CAPS"><literal>CAIRO_MIME_TYPE_JPEG</literal></link>, +<link linkend="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS"><literal>CAIRO_MIME_TYPE_UNIQUE_ID</literal></link>, +<link linkend="CAIRO-MIME-TYPE-CCITT-FAX:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX</literal></link>, <link linkend="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</literal></link>, +<link linkend="CAIRO-MIME-TYPE-CCITT-FAX:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX</literal></link>, <link linkend="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</literal></link>, +<link linkend="CAIRO-MIME-TYPE-EPS:CAPS"><literal>CAIRO_MIME_TYPE_EPS</literal></link>, <link linkend="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS"><literal>CAIRO_MIME_TYPE_EPS_PARAMS</literal></link>.</para> +<para>Source surfaces used by the PostScript surface that have a +<link linkend="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS"><literal>CAIRO_MIME_TYPE_UNIQUE_ID</literal></link> mime type will be stored in PostScript +printer memory for the duration of the print +job. <link linkend="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS"><literal>CAIRO_MIME_TYPE_UNIQUE_ID</literal></link> should only be used for small +frequently used sources.</para> +<para>The <link linkend="CAIRO-MIME-TYPE-CCITT-FAX:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX</literal></link> and <link linkend="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</literal></link> mime types +are documented in <link linkend="ccitt">CCITT Fax Images</link>.</para> +<refsect2 id="eps"><title>Embedding EPS files</title><para>Encapsulated PostScript files can be embedded in the PS output by +setting the CAIRO_MIME_TYPE_EPS mime data on a surface to the EPS +data and painting the surface. The EPS will be scaled and +translated to the extents of the surface the EPS data is attached +to.</para> +<para>The <link linkend="CAIRO-MIME-TYPE-EPS:CAPS"><literal>CAIRO_MIME_TYPE_EPS</literal></link> mime type requires the +<link linkend="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS"><literal>CAIRO_MIME_TYPE_EPS_PARAMS</literal></link> mime data to also be provided in order +to specify the embeddding parameters. <link linkend="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS"><literal>CAIRO_MIME_TYPE_EPS_PARAMS</literal></link> +mime data must contain a string of the form "bbox=[llx lly urx +ury]" that specifies the bounding box (in PS coordinates) of the +EPS graphics. The parameters are: lower left x, lower left y, upper +right x, upper right y. Normally the bbox data is identical to the +%%<link linkend="BoundingBox"><literal>BoundingBox</literal></link> data in the EPS file.</para> +</refsect2> + +</refsect1> +<refsect1 id="cairo-PostScript-Surfaces.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-ps-surface-create" role="function" condition="since:1.2"> +<title>cairo_ps_surface_create ()</title> +<indexterm zone="cairo-ps-surface-create" role="1.2"><primary sortas="ps_surface_create">cairo_ps_surface_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_ps_surface_create (<parameter>const <link linkend="char"><type>char</type></link> *filename</parameter>, + <parameter><link linkend="double"><type>double</type></link> width_in_points</parameter>, + <parameter><link linkend="double"><type>double</type></link> height_in_points</parameter>);</programlisting> +<para>Creates a PostScript surface of the specified size in points to be +written to <parameter>filename</parameter> +. See <link linkend="cairo-ps-surface-create-for-stream"><function>cairo_ps_surface_create_for_stream()</function></link> for +a more flexible mechanism for handling the PostScript output than +simply writing it to a named file.</para> +<para>Note that the size of individual pages of the PostScript output can +vary. See <link linkend="cairo-ps-surface-set-size"><function>cairo_ps_surface_set_size()</function></link>.</para> +<refsect3 id="cairo-ps-surface-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>filename</para></entry> +<entry role="parameter_description"><para>a filename for the PS output (must be writable), <link linkend="NULL:CAPS"><literal>NULL</literal></link> may be +used to specify no output. This will generate a PS surface that +may be queried and used as a source, without generating a +temporary file.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width_in_points</para></entry> +<entry role="parameter_description"><para>width of the surface, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height_in_points</para></entry> +<entry role="parameter_description"><para>height of the surface, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-ps-surface-create.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-ps-surface-create-for-stream" role="function" condition="since:1.2"> +<title>cairo_ps_surface_create_for_stream ()</title> +<indexterm zone="cairo-ps-surface-create-for-stream" role="1.2"><primary sortas="ps_surface_create_for_stream">cairo_ps_surface_create_for_stream</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_ps_surface_create_for_stream (<parameter><link linkend="cairo-write-func-t"><type>cairo_write_func_t</type></link> write_func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *closure</parameter>, + <parameter><link linkend="double"><type>double</type></link> width_in_points</parameter>, + <parameter><link linkend="double"><type>double</type></link> height_in_points</parameter>);</programlisting> +<para>Creates a PostScript surface of the specified size in points to be +written incrementally to the stream represented by <parameter>write_func</parameter> + and +<parameter>closure</parameter> +. See <link linkend="cairo-ps-surface-create"><function>cairo_ps_surface_create()</function></link> for a more convenient way +to simply direct the PostScript output to a named file.</para> +<para>Note that the size of individual pages of the PostScript +output can vary. See <link linkend="cairo-ps-surface-set-size"><function>cairo_ps_surface_set_size()</function></link>.</para> +<refsect3 id="cairo-ps-surface-create-for-stream.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>write_func</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-write-func-t"><type>cairo_write_func_t</type></link> to accept the output data, may be <link linkend="NULL:CAPS"><literal>NULL</literal></link> +to indicate a no-op <parameter>write_func</parameter> +. With a no-op <parameter>write_func</parameter> +, +the surface may be queried or used as a source without +generating any temporary files.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>closure</para></entry> +<entry role="parameter_description"><para>the closure argument for <parameter>write_func</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width_in_points</para></entry> +<entry role="parameter_description"><para>width of the surface, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height_in_points</para></entry> +<entry role="parameter_description"><para>height of the surface, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-ps-surface-create-for-stream.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-ps-surface-restrict-to-level" role="function" condition="since:1.6"> +<title>cairo_ps_surface_restrict_to_level ()</title> +<indexterm zone="cairo-ps-surface-restrict-to-level" role="1.6"><primary sortas="ps_surface_restrict_to_level">cairo_ps_surface_restrict_to_level</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_ps_surface_restrict_to_level (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="cairo-ps-level-t"><type>cairo_ps_level_t</type></link> level</parameter>);</programlisting> +<para>Restricts the generated PostSript file to <parameter>level</parameter> +. See +<link linkend="cairo-ps-get-levels"><function>cairo_ps_get_levels()</function></link> for a list of available level values that +can be used here.</para> +<para>This function should only be called before any drawing operations +have been performed on the given surface. The simplest way to do +this is to call this function immediately after creating the +surface.</para> +<refsect3 id="cairo-ps-surface-restrict-to-level.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PostScript <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>level</para></entry> +<entry role="parameter_description"><para>PostScript level</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-ps-get-levels" role="function" condition="since:1.6"> +<title>cairo_ps_get_levels ()</title> +<indexterm zone="cairo-ps-get-levels" role="1.6"><primary sortas="ps_get_levels">cairo_ps_get_levels</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_ps_get_levels (<parameter><link linkend="cairo-ps-level-t"><type>cairo_ps_level_t</type></link> const **levels</parameter>, + <parameter><link linkend="int"><type>int</type></link> *num_levels</parameter>);</programlisting> +<para>Used to retrieve the list of supported levels. See +<link linkend="cairo-ps-surface-restrict-to-level"><function>cairo_ps_surface_restrict_to_level()</function></link>.</para> +<refsect3 id="cairo-ps-get-levels.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>levels</para></entry> +<entry role="parameter_description"><para>supported level list</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_levels</para></entry> +<entry role="parameter_description"><para>list length</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-ps-level-to-string" role="function" condition="since:1.6"> +<title>cairo_ps_level_to_string ()</title> +<indexterm zone="cairo-ps-level-to-string" role="1.6"><primary sortas="ps_level_to_string">cairo_ps_level_to_string</primary></indexterm> +<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> * +cairo_ps_level_to_string (<parameter><link linkend="cairo-ps-level-t"><type>cairo_ps_level_t</type></link> level</parameter>);</programlisting> +<para>Get the string representation of the given <parameter>level</parameter> + id. This function +will return <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>level</parameter> + id isn't valid. See <link linkend="cairo-ps-get-levels"><function>cairo_ps_get_levels()</function></link> +for a way to get the list of valid level ids.</para> +<refsect3 id="cairo-ps-level-to-string.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>level</para></entry> +<entry role="parameter_description"><para>a level id</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-ps-level-to-string.returns" role="returns"> +<title>Returns</title> +<para> the string associated to given level.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-ps-surface-set-eps" role="function" condition="since:1.6"> +<title>cairo_ps_surface_set_eps ()</title> +<indexterm zone="cairo-ps-surface-set-eps" role="1.6"><primary sortas="ps_surface_set_eps">cairo_ps_surface_set_eps</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_ps_surface_set_eps (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="cairo-bool-t"><type>cairo_bool_t</type></link> eps</parameter>);</programlisting> +<para>If <parameter>eps</parameter> + is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, the PostScript surface will output Encapsulated +PostScript.</para> +<para>This function should only be called before any drawing operations +have been performed on the current page. The simplest way to do +this is to call this function immediately after creating the +surface. An Encapsulated PostScript file should never contain more +than one page.</para> +<refsect3 id="cairo-ps-surface-set-eps.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PostScript <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>eps</para></entry> +<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to output EPS format PostScript</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-ps-surface-get-eps" role="function" condition="since:1.6"> +<title>cairo_ps_surface_get_eps ()</title> +<indexterm zone="cairo-ps-surface-get-eps" role="1.6"><primary sortas="ps_surface_get_eps">cairo_ps_surface_get_eps</primary></indexterm> +<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +cairo_ps_surface_get_eps (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Check whether the PostScript surface will output Encapsulated PostScript.</para> +<refsect3 id="cairo-ps-surface-get-eps.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PostScript <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-ps-surface-get-eps.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the surface will output Encapsulated PostScript.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-ps-surface-set-size" role="function" condition="since:1.2"> +<title>cairo_ps_surface_set_size ()</title> +<indexterm zone="cairo-ps-surface-set-size" role="1.2"><primary sortas="ps_surface_set_size">cairo_ps_surface_set_size</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_ps_surface_set_size (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="double"><type>double</type></link> width_in_points</parameter>, + <parameter><link linkend="double"><type>double</type></link> height_in_points</parameter>);</programlisting> +<para>Changes the size of a PostScript surface for the current (and +subsequent) pages.</para> +<para>This function should only be called before any drawing operations +have been performed on the current page. The simplest way to do +this is to call this function immediately after creating the +surface or immediately after completing a page with either +<link linkend="cairo-show-page"><function>cairo_show_page()</function></link> or <link linkend="cairo-copy-page"><function>cairo_copy_page()</function></link>.</para> +<refsect3 id="cairo-ps-surface-set-size.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PostScript <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width_in_points</para></entry> +<entry role="parameter_description"><para>new surface width, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height_in_points</para></entry> +<entry role="parameter_description"><para>new surface height, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-ps-surface-dsc-begin-setup" role="function" condition="since:1.2"> +<title>cairo_ps_surface_dsc_begin_setup ()</title> +<indexterm zone="cairo-ps-surface-dsc-begin-setup" role="1.2"><primary sortas="ps_surface_dsc_begin_setup">cairo_ps_surface_dsc_begin_setup</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_ps_surface_dsc_begin_setup (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>This function indicates that subsequent calls to +<link linkend="cairo-ps-surface-dsc-comment"><function>cairo_ps_surface_dsc_comment()</function></link> should direct comments to the Setup +section of the PostScript output.</para> +<para>This function should be called at most once per surface, and must +be called before any call to <link linkend="cairo-ps-surface-dsc-begin-page-setup"><function>cairo_ps_surface_dsc_begin_page_setup()</function></link> +and before any drawing is performed to the surface.</para> +<para>See <link linkend="cairo-ps-surface-dsc-comment"><function>cairo_ps_surface_dsc_comment()</function></link> for more details.</para> +<refsect3 id="cairo-ps-surface-dsc-begin-setup.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PostScript <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-ps-surface-dsc-begin-page-setup" role="function" condition="since:1.2"> +<title>cairo_ps_surface_dsc_begin_page_setup ()</title> +<indexterm zone="cairo-ps-surface-dsc-begin-page-setup" role="1.2"><primary sortas="ps_surface_dsc_begin_page_setup">cairo_ps_surface_dsc_begin_page_setup</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_ps_surface_dsc_begin_page_setup (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>This function indicates that subsequent calls to +<link linkend="cairo-ps-surface-dsc-comment"><function>cairo_ps_surface_dsc_comment()</function></link> should direct comments to the +PageSetup section of the PostScript output.</para> +<para>This function call is only needed for the first page of a +surface. It should be called after any call to +<link linkend="cairo-ps-surface-dsc-begin-setup"><function>cairo_ps_surface_dsc_begin_setup()</function></link> and before any drawing is +performed to the surface.</para> +<para>See <link linkend="cairo-ps-surface-dsc-comment"><function>cairo_ps_surface_dsc_comment()</function></link> for more details.</para> +<refsect3 id="cairo-ps-surface-dsc-begin-page-setup.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PostScript <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-ps-surface-dsc-comment" role="function" condition="since:1.2"> +<title>cairo_ps_surface_dsc_comment ()</title> +<indexterm zone="cairo-ps-surface-dsc-comment" role="1.2"><primary sortas="ps_surface_dsc_comment">cairo_ps_surface_dsc_comment</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_ps_surface_dsc_comment (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *comment</parameter>);</programlisting> +<para>Emit a comment into the PostScript output for the given surface.</para> +<para>The comment is expected to conform to the PostScript Language +Document Structuring Conventions (DSC). Please see that manual for +details on the available comments and their meanings. In +particular, the %%IncludeFeature comment allows a +device-independent means of controlling printer device features. So +the PostScript Printer Description Files Specification will also be +a useful reference.</para> +<para>The comment string must begin with a percent character (%) and the +total length of the string (including any initial percent +characters) must not exceed 255 characters. Violating either of +these conditions will place <parameter>surface</parameter> + into an error state. But +beyond these two conditions, this function will not enforce +conformance of the comment with any particular specification.</para> +<para>The comment string should not have a trailing newline.</para> +<para>The DSC specifies different sections in which particular comments +can appear. This function provides for comments to be emitted +within three sections: the header, the Setup section, and the +PageSetup section. Comments appearing in the first two sections +apply to the entire document while comments in the BeginPageSetup +section apply only to a single page.</para> +<para>For comments to appear in the header section, this function should +be called after the surface is created, but before a call to +<link linkend="cairo-ps-surface-dsc-begin-setup"><function>cairo_ps_surface_dsc_begin_setup()</function></link>.</para> +<para>For comments to appear in the Setup section, this function should +be called after a call to <link linkend="cairo-ps-surface-dsc-begin-setup"><function>cairo_ps_surface_dsc_begin_setup()</function></link> but +before a call to <link linkend="cairo-ps-surface-dsc-begin-page-setup"><function>cairo_ps_surface_dsc_begin_page_setup()</function></link>.</para> +<para>For comments to appear in the PageSetup section, this function +should be called after a call to +<link linkend="cairo-ps-surface-dsc-begin-page-setup"><function>cairo_ps_surface_dsc_begin_page_setup()</function></link>.</para> +<para>Note that it is only necessary to call +<link linkend="cairo-ps-surface-dsc-begin-page-setup"><function>cairo_ps_surface_dsc_begin_page_setup()</function></link> for the first page of any +surface. After a call to <link linkend="cairo-show-page"><function>cairo_show_page()</function></link> or <link linkend="cairo-copy-page"><function>cairo_copy_page()</function></link> +comments are unambiguously directed to the PageSetup section of the +current page. But it doesn't hurt to call this function at the +beginning of every page as that consistency may make the calling +code simpler.</para> +<para>As a final note, cairo automatically generates several comments on +its own. As such, applications must not manually generate any of +the following comments:</para> +<para>Header section: %!PS-Adobe-3.0, %%Creator, %%CreationDate, %%Pages, +%%BoundingBox, %%DocumentData, %%LanguageLevel, %%EndComments.</para> +<para>Setup section: %%BeginSetup, %%EndSetup</para> +<para>PageSetup section: %%BeginPageSetup, %%PageBoundingBox, %%EndPageSetup.</para> +<para>Other sections: %%BeginProlog, %%EndProlog, %%Page, %%Trailer, %%EOF</para> +<para>Here is an example sequence showing how this function might be used:</para> +<informalexample><programlisting> +cairo_surface_t *surface = cairo_ps_surface_create (filename, width, height); +... +cairo_ps_surface_dsc_comment (surface, "%%Title: My excellent document"); +cairo_ps_surface_dsc_comment (surface, "%%Copyright: Copyright (C) 2006 Cairo Lover") +... +cairo_ps_surface_dsc_begin_setup (surface); +cairo_ps_surface_dsc_comment (surface, "%%IncludeFeature: *MediaColor White"); +... +cairo_ps_surface_dsc_begin_page_setup (surface); +cairo_ps_surface_dsc_comment (surface, "%%IncludeFeature: *PageSize A3"); +cairo_ps_surface_dsc_comment (surface, "%%IncludeFeature: *InputSlot LargeCapacity"); +cairo_ps_surface_dsc_comment (surface, "%%IncludeFeature: *MediaType Glossy"); +cairo_ps_surface_dsc_comment (surface, "%%IncludeFeature: *MediaColor Blue"); +... draw to first page here .. +cairo_show_page (cr); +... +cairo_ps_surface_dsc_comment (surface, "%%IncludeFeature: *PageSize A5"); +... +</programlisting></informalexample> +<refsect3 id="cairo-ps-surface-dsc-comment.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a PostScript <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>comment</para></entry> +<entry role="parameter_description"><para>a comment string to be emitted into the PostScript output</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-PostScript-Surfaces.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-PS-SURFACE:CAPS" role="macro" condition="since:1.2"> +<title>CAIRO_HAS_PS_SURFACE</title> +<indexterm zone="CAIRO-HAS-PS-SURFACE:CAPS" role="1.2"><primary sortas="HAS_PS_SURFACE">CAIRO_HAS_PS_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_PS_SURFACE 1 +</programlisting> +<para>Defined if the PostScript surface backend is available. +This macro can be used to conditionally compile backend-specific code.</para> +<para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-ps-level-t" role="enum" condition="since:1.6"> +<title>enum cairo_ps_level_t</title> +<indexterm zone="cairo-ps-level-t" role="1.6"><primary sortas="ps_level_t">cairo_ps_level_t</primary></indexterm> +<para><link linkend="cairo-ps-level-t"><type>cairo_ps_level_t</type></link> is used to describe the language level of the +PostScript Language Reference that a generated PostScript file will +conform to.</para> +<refsect3 id="cairo-ps-level-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PS-LEVEL-2:CAPS">CAIRO_PS_LEVEL_2</para></entry> +<entry role="enum_member_description"><para>The language level 2 of the PostScript specification. (Since 1.6)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-PS-LEVEL-3:CAPS">CAIRO_PS_LEVEL_3</para></entry> +<entry role="enum_member_description"><para>The language level 3 of the PostScript specification. (Since 1.6)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-PostScript-Surfaces.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-quartz-fonts.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-quartz-fonts.xml new file mode 100644 index 0000000..6b74915 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-quartz-fonts.xml @@ -0,0 +1,129 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Quartz-(CGFont)-Fonts"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Quartz-(CGFont)-Fonts.top_of_page">Quartz (CGFont) Fonts</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Quartz (CGFont) Fonts</refname> +<refpurpose>Font support via CGFont on OS X</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Quartz-(CGFont)-Fonts.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-quartz-font-face-create-for-cgfont">cairo_quartz_font_face_create_for_cgfont</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-quartz-font-face-create-for-atsu-font-id">cairo_quartz_font_face_create_for_atsu_font_id</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Quartz-(CGFont)-Fonts.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-QUARTZ-FONT:CAPS">CAIRO_HAS_QUARTZ_FONT</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Quartz-(CGFont)-Fonts.description" role="desc"> +<title role="desc.title">Description</title> +<para>The Quartz font backend is primarily used to render text on Apple +MacOS X systems. The CGFont API is used for the internal +implementation of the font backend methods.</para> + +</refsect1> +<refsect1 id="cairo-Quartz-(CGFont)-Fonts.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-quartz-font-face-create-for-cgfont" role="function" condition="since:1.6"> +<title>cairo_quartz_font_face_create_for_cgfont ()</title> +<indexterm zone="cairo-quartz-font-face-create-for-cgfont" role="1.6"><primary sortas="quartz_font_face_create_for_cgfont">cairo_quartz_font_face_create_for_cgfont</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +cairo_quartz_font_face_create_for_cgfont + (<parameter><link linkend="CGFontRef"><type>CGFontRef</type></link> font</parameter>);</programlisting> +<para>Creates a new font for the Quartz font backend based on a +<link linkend="CGFontRef"><type>CGFontRef</type></link>. This font can then be used with +<link linkend="cairo-set-font-face"><function>cairo_set_font_face()</function></link> or <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>.</para> +<refsect3 id="cairo-quartz-font-face-create-for-cgfont.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font</para></entry> +<entry role="parameter_description"><para>a <link linkend="CGFontRef"><type>CGFontRef</type></link> obtained through a method external to cairo.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-quartz-font-face-create-for-cgfont.returns" role="returns"> +<title>Returns</title> +<para> a newly created <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. Free with +<link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link> when you are done using it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-quartz-font-face-create-for-atsu-font-id" role="function" condition="since:1.6"> +<title>cairo_quartz_font_face_create_for_atsu_font_id ()</title> +<indexterm zone="cairo-quartz-font-face-create-for-atsu-font-id" role="1.6"><primary sortas="quartz_font_face_create_for_atsu_font_id">cairo_quartz_font_face_create_for_atsu_font_id</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +cairo_quartz_font_face_create_for_atsu_font_id + (<parameter><link linkend="ATSUFontID"><type>ATSUFontID</type></link> font_id</parameter>);</programlisting> +<para>Creates a new font for the Quartz font backend based on an +<link linkend="ATSUFontID"><type>ATSUFontID</type></link>. This font can then be used with +<link linkend="cairo-set-font-face"><function>cairo_set_font_face()</function></link> or <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>.</para> +<refsect3 id="cairo-quartz-font-face-create-for-atsu-font-id.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_id</para></entry> +<entry role="parameter_description"><para>an ATSUFontID for the font.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-quartz-font-face-create-for-atsu-font-id.returns" role="returns"> +<title>Returns</title> +<para> a newly created <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. Free with +<link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link> when you are done using it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Quartz-(CGFont)-Fonts.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-QUARTZ-FONT:CAPS" role="macro" condition="since:1.6"> +<title>CAIRO_HAS_QUARTZ_FONT</title> +<indexterm zone="CAIRO-HAS-QUARTZ-FONT:CAPS" role="1.6"><primary sortas="HAS_QUARTZ_FONT">CAIRO_HAS_QUARTZ_FONT</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_QUARTZ_FONT 1 +</programlisting> +<para>Defined if the Quartz font backend is available. +This macro can be used to conditionally compile backend-specific code.</para> +<para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Quartz-(CGFont)-Fonts.see-also"> +<title>See Also</title> +<para><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-quartz.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-quartz.xml new file mode 100644 index 0000000..d39d524 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-quartz.xml @@ -0,0 +1,183 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Quartz-Surfaces"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Quartz-Surfaces.top_of_page">Quartz Surfaces</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Quartz Surfaces</refname> +<refpurpose>Rendering to Quartz surfaces</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Quartz-Surfaces.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-quartz-surface-create">cairo_quartz_surface_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-quartz-surface-create-for-cg-context">cairo_quartz_surface_create_for_cg_context</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="CGContextRef"><returnvalue>CGContextRef</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-quartz-surface-get-cg-context">cairo_quartz_surface_get_cg_context</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Quartz-Surfaces.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-QUARTZ-SURFACE:CAPS">CAIRO_HAS_QUARTZ_SURFACE</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Quartz-Surfaces.description" role="desc"> +<title role="desc.title">Description</title> +<para>The Quartz surface is used to render cairo graphics targeting the +Apple OS X Quartz rendering system.</para> + +</refsect1> +<refsect1 id="cairo-Quartz-Surfaces.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-quartz-surface-create" role="function" condition="since:1.6"> +<title>cairo_quartz_surface_create ()</title> +<indexterm zone="cairo-quartz-surface-create" role="1.6"><primary sortas="quartz_surface_create">cairo_quartz_surface_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_quartz_surface_create (<parameter><link linkend="cairo-format-t"><type>cairo_format_t</type></link> format</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> width</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Creates a Quartz surface backed by a CGBitmap. The surface is +created using the Device RGB (or Device Gray, for A8) color space. +All Cairo operations, including those that require software +rendering, will succeed on this surface.</para> +<refsect3 id="cairo-quartz-surface-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>format</para></entry> +<entry role="parameter_description"><para>format of pixels in the surface to create</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>width of the surface, in pixels</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>height of the surface, in pixels</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-quartz-surface-create.returns" role="returns"> +<title>Returns</title> +<para> the newly created surface.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-quartz-surface-create-for-cg-context" role="function" condition="since:1.6"> +<title>cairo_quartz_surface_create_for_cg_context ()</title> +<indexterm zone="cairo-quartz-surface-create-for-cg-context" role="1.6"><primary sortas="quartz_surface_create_for_cg_context">cairo_quartz_surface_create_for_cg_context</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_quartz_surface_create_for_cg_context + (<parameter><link linkend="CGContextRef"><type>CGContextRef</type></link> cgContext</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> width</parameter>, + <parameter>unsigned <link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Creates a Quartz surface that wraps the given CGContext. The +CGContext is assumed to be in the standard Cairo coordinate space +(that is, with the origin at the upper left and the Y axis +increasing downward). If the CGContext is in the Quartz coordinate +space (with the origin at the bottom left), then it should be +flipped before this function is called. The flip can be accomplished +using a translate and a scale; for example:</para> +<informalexample><programlisting> +CGContextTranslateCTM (cgContext, 0.0, height); +CGContextScaleCTM (cgContext, 1.0, -1.0); +</programlisting></informalexample> +<para>All Cairo operations are implemented in terms of Quartz operations, +as long as Quartz-compatible elements are used (such as Quartz fonts).</para> +<refsect3 id="cairo-quartz-surface-create-for-cg-context.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cgContext</para></entry> +<entry role="parameter_description"><para>the existing CGContext for which to create the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>width of the surface, in pixels</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>height of the surface, in pixels</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-quartz-surface-create-for-cg-context.returns" role="returns"> +<title>Returns</title> +<para> the newly created Cairo surface.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-quartz-surface-get-cg-context" role="function" condition="since:1.6"> +<title>cairo_quartz_surface_get_cg_context ()</title> +<indexterm zone="cairo-quartz-surface-get-cg-context" role="1.6"><primary sortas="quartz_surface_get_cg_context">cairo_quartz_surface_get_cg_context</primary></indexterm> +<programlisting language="C"><link linkend="CGContextRef"><returnvalue>CGContextRef</returnvalue></link> +cairo_quartz_surface_get_cg_context (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Returns the CGContextRef that the given Quartz surface is backed +by.</para> +<para>A call to <link linkend="cairo-surface-flush"><function>cairo_surface_flush()</function></link> is required before using the +CGContextRef to ensure that all pending drawing operations are +finished and to restore any temporary modification cairo has made +to its state. A call to <link linkend="cairo-surface-mark-dirty"><function>cairo_surface_mark_dirty()</function></link> is required +after the state or the content of the CGContextRef has been +modified.</para> +<refsect3 id="cairo-quartz-surface-get-cg-context.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>the Cairo Quartz surface</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-quartz-surface-get-cg-context.returns" role="returns"> +<title>Returns</title> +<para> the CGContextRef for the given surface.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Quartz-Surfaces.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-QUARTZ-SURFACE:CAPS" role="macro" condition="since:1.6"> +<title>CAIRO_HAS_QUARTZ_SURFACE</title> +<indexterm zone="CAIRO-HAS-QUARTZ-SURFACE:CAPS" role="1.6"><primary sortas="HAS_QUARTZ_SURFACE">CAIRO_HAS_QUARTZ_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_QUARTZ_SURFACE 1 +</programlisting> +<para>Defined if the Quartz surface backend is available. +This macro can be used to conditionally compile backend-specific code.</para> +<para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Quartz-Surfaces.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-raster-source.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-raster-source.xml new file mode 100644 index 0000000..227bb18 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-raster-source.xml @@ -0,0 +1,550 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Raster-Sources"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Raster-Sources.top_of_page">Raster Sources</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Raster Sources</refname> +<refpurpose>Supplying arbitrary image data</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Raster-Sources.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pattern-create-raster-source">cairo_pattern_create_raster_source</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-raster-source-pattern-set-callback-data">cairo_raster_source_pattern_set_callback_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-raster-source-pattern-get-callback-data">cairo_raster_source_pattern_get_callback_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-raster-source-pattern-set-acquire">cairo_raster_source_pattern_set_acquire</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-raster-source-pattern-get-acquire">cairo_raster_source_pattern_get_acquire</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-raster-source-pattern-set-snapshot">cairo_raster_source_pattern_set_snapshot</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-raster-source-snapshot-func-t"><returnvalue>cairo_raster_source_snapshot_func_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-raster-source-pattern-get-snapshot">cairo_raster_source_pattern_get_snapshot</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-raster-source-pattern-set-copy">cairo_raster_source_pattern_set_copy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-raster-source-copy-func-t"><returnvalue>cairo_raster_source_copy_func_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-raster-source-pattern-get-copy">cairo_raster_source_pattern_get_copy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-raster-source-pattern-set-finish">cairo_raster_source_pattern_set_finish</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-raster-source-finish-func-t"><returnvalue>cairo_raster_source_finish_func_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-raster-source-pattern-get-finish">cairo_raster_source_pattern_get_finish</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-raster-source-acquire-func-t">*cairo_raster_source_acquire_func_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-raster-source-release-func-t">*cairo_raster_source_release_func_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-raster-source-snapshot-func-t">*cairo_raster_source_snapshot_func_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-raster-source-copy-func-t">*cairo_raster_source_copy_func_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-raster-source-finish-func-t">*cairo_raster_source_finish_func_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Raster-Sources.description" role="desc"> +<title role="desc.title">Description</title> +<para>The raster source provides the ability to supply arbitrary pixel data +whilst rendering. The pixels are queried at the time of rasterisation +by means of user callback functions, allowing for the ultimate +flexibility. For example, in handling compressed image sources, you +may keep a MRU cache of decompressed images and decompress sources on the +fly and discard old ones to conserve memory.</para> +<para>For the raster source to be effective, you must at least specify +the acquire and release callbacks which are used to retrieve the pixel +data for the region of interest and demark when it can be freed afterwards. +Other callbacks are provided for when the pattern is copied temporarily +during rasterisation, or more permanently as a snapshot in order to keep +the pixel data available for printing.</para> + +</refsect1> +<refsect1 id="cairo-Raster-Sources.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-pattern-create-raster-source" role="function" condition="since:1.12"> +<title>cairo_pattern_create_raster_source ()</title> +<indexterm zone="cairo-pattern-create-raster-source" role="1.12"><primary sortas="pattern_create_raster_source">cairo_pattern_create_raster_source</primary></indexterm> +<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +cairo_pattern_create_raster_source (<parameter><link linkend="void"><type>void</type></link> *user_data</parameter>, + <parameter><link linkend="cairo-content-t"><type>cairo_content_t</type></link> content</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Creates a new user pattern for providing pixel data.</para> +<para>Use the setter functions to associate callbacks with the returned +pattern. The only mandatory callback is acquire.</para> +<refsect3 id="cairo-pattern-create-raster-source.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>user_data</para></entry> +<entry role="parameter_description"><para>the user data to be passed to all callbacks</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>content</para></entry> +<entry role="parameter_description"><para>content type for the pixel data that will be returned. Knowing +the content type ahead of time is used for analysing the operation and +picking the appropriate rendering path.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>maximum size of the sample area</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>maximum size of the sample area</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pattern-create-raster-source.returns" role="returns"> +<title>Returns</title> +<para> a newly created <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link>. Free with +<link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when you are done using it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-pattern-set-callback-data" role="function" condition="since:1.12"> +<title>cairo_raster_source_pattern_set_callback_data ()</title> +<indexterm zone="cairo-raster-source-pattern-set-callback-data" role="1.12"><primary sortas="raster_source_pattern_set_callback_data">cairo_raster_source_pattern_set_callback_data</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_raster_source_pattern_set_callback_data + (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="void"><type>void</type></link> *data</parameter>);</programlisting> +<para>Updates the user data that is provided to all callbacks.</para> +<refsect3 id="cairo-raster-source-pattern-set-callback-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern to update</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>data</para></entry> +<entry role="parameter_description"><para>the user data to be passed to all callbacks</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-pattern-get-callback-data" role="function" condition="since:1.12"> +<title>cairo_raster_source_pattern_get_callback_data ()</title> +<indexterm zone="cairo-raster-source-pattern-get-callback-data" role="1.12"><primary sortas="raster_source_pattern_get_callback_data">cairo_raster_source_pattern_get_callback_data</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> * +cairo_raster_source_pattern_get_callback_data + (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Queries the current user data.</para> +<refsect3 id="cairo-raster-source-pattern-get-callback-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern to update</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-raster-source-pattern-get-callback-data.returns" role="returns"> +<title>Returns</title> +<para> the current user-data passed to each callback</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-pattern-set-acquire" role="function" condition="since:1.12"> +<title>cairo_raster_source_pattern_set_acquire ()</title> +<indexterm zone="cairo-raster-source-pattern-set-acquire" role="1.12"><primary sortas="raster_source_pattern_set_acquire">cairo_raster_source_pattern_set_acquire</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_raster_source_pattern_set_acquire + (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="cairo-raster-source-acquire-func-t"><type>cairo_raster_source_acquire_func_t</type></link> acquire</parameter>, + <parameter><link linkend="cairo-raster-source-release-func-t"><type>cairo_raster_source_release_func_t</type></link> release</parameter>);</programlisting> +<para>Specifies the callbacks used to generate the image surface for a rendering +operation (acquire) and the function used to cleanup that surface afterwards.</para> +<para>The <parameter>acquire</parameter> + callback should create a surface (preferably an image +surface created to match the target using +<link linkend="cairo-surface-create-similar-image"><function>cairo_surface_create_similar_image()</function></link>) that defines at least the region +of interest specified by extents. The surface is allowed to be the entire +sample area, but if it does contain a subsection of the sample area, +the surface extents should be provided by setting the device offset (along +with its width and height) using <link linkend="cairo-surface-set-device-offset"><function>cairo_surface_set_device_offset()</function></link>.</para> +<refsect3 id="cairo-raster-source-pattern-set-acquire.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern to update</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>acquire</para></entry> +<entry role="parameter_description"><para>acquire callback</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>release</para></entry> +<entry role="parameter_description"><para>release callback</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-pattern-get-acquire" role="function" condition="since:1.12"> +<title>cairo_raster_source_pattern_get_acquire ()</title> +<indexterm zone="cairo-raster-source-pattern-get-acquire" role="1.12"><primary sortas="raster_source_pattern_get_acquire">cairo_raster_source_pattern_get_acquire</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_raster_source_pattern_get_acquire + (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="cairo-raster-source-acquire-func-t"><type>cairo_raster_source_acquire_func_t</type></link> *acquire</parameter>, + <parameter><link linkend="cairo-raster-source-release-func-t"><type>cairo_raster_source_release_func_t</type></link> *release</parameter>);</programlisting> +<para>Queries the current acquire and release callbacks.</para> +<refsect3 id="cairo-raster-source-pattern-get-acquire.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern to query</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>acquire</para></entry> +<entry role="parameter_description"><para>return value for the current acquire callback</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>release</para></entry> +<entry role="parameter_description"><para>return value for the current release callback</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-pattern-set-snapshot" role="function" condition="since:1.12"> +<title>cairo_raster_source_pattern_set_snapshot ()</title> +<indexterm zone="cairo-raster-source-pattern-set-snapshot" role="1.12"><primary sortas="raster_source_pattern_set_snapshot">cairo_raster_source_pattern_set_snapshot</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_raster_source_pattern_set_snapshot + (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="cairo-raster-source-snapshot-func-t"><type>cairo_raster_source_snapshot_func_t</type></link> snapshot</parameter>);</programlisting> +<para>Sets the callback that will be used whenever a snapshot is taken of the +pattern, that is whenever the current contents of the pattern should be +preserved for later use. This is typically invoked whilst printing.</para> +<refsect3 id="cairo-raster-source-pattern-set-snapshot.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern to update</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>snapshot</para></entry> +<entry role="parameter_description"><para>snapshot callback</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-pattern-get-snapshot" role="function" condition="since:1.12"> +<title>cairo_raster_source_pattern_get_snapshot ()</title> +<indexterm zone="cairo-raster-source-pattern-get-snapshot" role="1.12"><primary sortas="raster_source_pattern_get_snapshot">cairo_raster_source_pattern_get_snapshot</primary></indexterm> +<programlisting language="C"><link linkend="cairo-raster-source-snapshot-func-t"><returnvalue>cairo_raster_source_snapshot_func_t</returnvalue></link> +cairo_raster_source_pattern_get_snapshot + (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Queries the current snapshot callback.</para> +<refsect3 id="cairo-raster-source-pattern-get-snapshot.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern to query</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-raster-source-pattern-get-snapshot.returns" role="returns"> +<title>Returns</title> +<para> the current snapshot callback</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-pattern-set-copy" role="function" condition="since:1.12"> +<title>cairo_raster_source_pattern_set_copy ()</title> +<indexterm zone="cairo-raster-source-pattern-set-copy" role="1.12"><primary sortas="raster_source_pattern_set_copy">cairo_raster_source_pattern_set_copy</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_raster_source_pattern_set_copy (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="cairo-raster-source-copy-func-t"><type>cairo_raster_source_copy_func_t</type></link> copy</parameter>);</programlisting> +<para>Updates the copy callback which is used whenever a temporary copy of the +pattern is taken.</para> +<refsect3 id="cairo-raster-source-pattern-set-copy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern to update</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>copy</para></entry> +<entry role="parameter_description"><para>the copy callback</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-pattern-get-copy" role="function" condition="since:1.12"> +<title>cairo_raster_source_pattern_get_copy ()</title> +<indexterm zone="cairo-raster-source-pattern-get-copy" role="1.12"><primary sortas="raster_source_pattern_get_copy">cairo_raster_source_pattern_get_copy</primary></indexterm> +<programlisting language="C"><link linkend="cairo-raster-source-copy-func-t"><returnvalue>cairo_raster_source_copy_func_t</returnvalue></link> +cairo_raster_source_pattern_get_copy (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Queries the current copy callback.</para> +<refsect3 id="cairo-raster-source-pattern-get-copy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern to query</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-raster-source-pattern-get-copy.returns" role="returns"> +<title>Returns</title> +<para> the current copy callback</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-pattern-set-finish" role="function" condition="since:1.12"> +<title>cairo_raster_source_pattern_set_finish ()</title> +<indexterm zone="cairo-raster-source-pattern-set-finish" role="1.12"><primary sortas="raster_source_pattern_set_finish">cairo_raster_source_pattern_set_finish</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_raster_source_pattern_set_finish + (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="cairo-raster-source-finish-func-t"><type>cairo_raster_source_finish_func_t</type></link> finish</parameter>);</programlisting> +<para>Updates the finish callback which is used whenever a pattern (or a copy +thereof) will no longer be used.</para> +<refsect3 id="cairo-raster-source-pattern-set-finish.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern to update</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>finish</para></entry> +<entry role="parameter_description"><para>the finish callback</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-pattern-get-finish" role="function" condition="since:1.12"> +<title>cairo_raster_source_pattern_get_finish ()</title> +<indexterm zone="cairo-raster-source-pattern-get-finish" role="1.12"><primary sortas="raster_source_pattern_get_finish">cairo_raster_source_pattern_get_finish</primary></indexterm> +<programlisting language="C"><link linkend="cairo-raster-source-finish-func-t"><returnvalue>cairo_raster_source_finish_func_t</returnvalue></link> +cairo_raster_source_pattern_get_finish + (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>Queries the current finish callback.</para> +<refsect3 id="cairo-raster-source-pattern-get-finish.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern to query</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-raster-source-pattern-get-finish.returns" role="returns"> +<title>Returns</title> +<para> the current finish callback</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-acquire-func-t" role="function" condition="since:1.12"> +<title>cairo_raster_source_acquire_func_t ()</title> +<indexterm zone="cairo-raster-source-acquire-func-t" role="1.12"><primary sortas="raster_source_acquire_func_t">cairo_raster_source_acquire_func_t</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_raster_source_acquire_func_t<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="void"><type>void</type></link> *callback_data</parameter>, + <parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *target</parameter>, + <parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *extents</parameter>);</programlisting> +<para><link linkend="cairo-raster-source-acquire-func-t"><type>cairo_raster_source_acquire_func_t</type></link> is the type of function which is +called when a pattern is being rendered from. It should create a surface +that provides the pixel data for the region of interest as defined by +extents, though the surface itself does not have to be limited to that +area. For convenience the surface should probably be of image type, +created with <link linkend="cairo-surface-create-similar-image"><function>cairo_surface_create_similar_image()</function></link> for the target (which +enables the number of copies to be reduced during transfer to the +device). Another option, might be to return a similar surface to the +target for explicit handling by the application of a set of cached sources +on the device. The region of sample data provided should be defined using +<link linkend="cairo-surface-set-device-offset"><function>cairo_surface_set_device_offset()</function></link> to specify the top-left corner of the +sample data (along with width and height of the surface).</para> +<refsect3 id="cairo-raster-source-acquire-func-t.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern being rendered from</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>callback_data</para></entry> +<entry role="parameter_description"><para>the user data supplied during creation</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>target</para></entry> +<entry role="parameter_description"><para>the rendering target surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>rectangular region of interest in pixels in sample space</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-raster-source-acquire-func-t.returns" role="returns"> +<title>Returns</title> +<para> a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-release-func-t" role="function" condition="since:1.12"> +<title>cairo_raster_source_release_func_t ()</title> +<indexterm zone="cairo-raster-source-release-func-t" role="1.12"><primary sortas="raster_source_release_func_t">cairo_raster_source_release_func_t</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_raster_source_release_func_t<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="void"><type>void</type></link> *callback_data</parameter>, + <parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para><link linkend="cairo-raster-source-release-func-t"><type>cairo_raster_source_release_func_t</type></link> is the type of function which is +called when the pixel data is no longer being access by the pattern +for the rendering operation. Typically this function will simply +destroy the surface created during acquire.</para> +<refsect3 id="cairo-raster-source-release-func-t.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern being rendered from</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>callback_data</para></entry> +<entry role="parameter_description"><para>the user data supplied during creation</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>the surface created during acquire</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-snapshot-func-t" role="function" condition="since:1.12"> +<title>cairo_raster_source_snapshot_func_t ()</title> +<indexterm zone="cairo-raster-source-snapshot-func-t" role="1.12"><primary sortas="raster_source_snapshot_func_t">cairo_raster_source_snapshot_func_t</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_raster_source_snapshot_func_t<phrase role="c_punctuation">)</phrase> + (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="void"><type>void</type></link> *callback_data</parameter>);</programlisting> +<para><link linkend="cairo-raster-source-snapshot-func-t"><type>cairo_raster_source_snapshot_func_t</type></link> is the type of function which is +called when the pixel data needs to be preserved for later use +during printing. This pattern will be accessed again later, and it +is expected to provide the pixel data that was current at the time +of snapshotting.</para> +<refsect3 id="cairo-raster-source-snapshot-func-t.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern being rendered from</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>callback_data</para></entry> +<entry role="parameter_description"><para>the user data supplied during creation</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-raster-source-snapshot-func-t.returns" role="returns"> +<title>Returns</title> +<para> CAIRO_STATUS_SUCCESS on success, or one of the +<link linkend="cairo-status-t"><type>cairo_status_t</type></link> error codes for failure.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-copy-func-t" role="function" condition="since:1.12"> +<title>cairo_raster_source_copy_func_t ()</title> +<indexterm zone="cairo-raster-source-copy-func-t" role="1.12"><primary sortas="raster_source_copy_func_t">cairo_raster_source_copy_func_t</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_raster_source_copy_func_t<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="void"><type>void</type></link> *callback_data</parameter>, + <parameter>const <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *other</parameter>);</programlisting> +<para><link linkend="cairo-raster-source-copy-func-t"><type>cairo_raster_source_copy_func_t</type></link> is the type of function which is +called when the pattern gets copied as a normal part of rendering.</para> +<refsect3 id="cairo-raster-source-copy-func-t.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> that was copied to</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>callback_data</para></entry> +<entry role="parameter_description"><para>the user data supplied during creation</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>other</para></entry> +<entry role="parameter_description"><para>the <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> being used as the source for the copy</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-raster-source-copy-func-t.returns" role="returns"> +<title>Returns</title> +<para> CAIRO_STATUS_SUCCESS on success, or one of the +<link linkend="cairo-status-t"><type>cairo_status_t</type></link> error codes for failure.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-raster-source-finish-func-t" role="function" condition="since:1.12"> +<title>cairo_raster_source_finish_func_t ()</title> +<indexterm zone="cairo-raster-source-finish-func-t" role="1.12"><primary sortas="raster_source_finish_func_t">cairo_raster_source_finish_func_t</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_raster_source_finish_func_t<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>, + <parameter><link linkend="void"><type>void</type></link> *callback_data</parameter>);</programlisting> +<para><link linkend="cairo-raster-source-finish-func-t"><type>cairo_raster_source_finish_func_t</type></link> is the type of function which is +called when the pattern (or a copy thereof) is no longer required.</para> +<refsect3 id="cairo-raster-source-finish-func-t.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>the pattern being rendered from</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>callback_data</para></entry> +<entry role="parameter_description"><para>the user data supplied during creation</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Raster-Sources.other_details" role="details"> +<title role="details.title">Types and Values</title> + +</refsect1> +<refsect1 id="cairo-Raster-Sources.see-also"> +<title>See Also</title> +<para><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-recording.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-recording.xml new file mode 100644 index 0000000..b6b9a6f --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-recording.xml @@ -0,0 +1,204 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Recording-Surfaces"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Recording-Surfaces.top_of_page">Recording Surfaces</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Recording Surfaces</refname> +<refpurpose>Records all drawing operations</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Recording-Surfaces.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-recording-surface-create">cairo_recording_surface_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-recording-surface-ink-extents">cairo_recording_surface_ink_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-recording-surface-get-extents">cairo_recording_surface_get_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Recording-Surfaces.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-RECORDING-SURFACE:CAPS">CAIRO_HAS_RECORDING_SURFACE</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Recording-Surfaces.description" role="desc"> +<title role="desc.title">Description</title> +<para>A recording surface is a surface that records all drawing operations at +the highest level of the surface backend interface, (that is, the +level of paint, mask, stroke, fill, and show_text_glyphs). The recording +surface can then be "replayed" against any target surface by using it +as a source surface.</para> +<para>If you want to replay a surface so that the results in target will be +identical to the results that would have been obtained if the original +operations applied to the recording surface had instead been applied to the +target surface, you can use code like this:</para> +<informalexample><programlisting> +cairo_t *cr; + +cr = cairo_create (target); +cairo_set_source_surface (cr, recording_surface, 0.0, 0.0); +cairo_paint (cr); +cairo_destroy (cr); +</programlisting></informalexample> +<para>A recording surface is logically unbounded, i.e. it has no implicit constraint +on the size of the drawing surface. However, in practice this is rarely +useful as you wish to replay against a particular target surface with +known bounds. For this case, it is more efficient to specify the target +extents to the recording surface upon creation.</para> +<para>The recording phase of the recording surface is careful to snapshot all +necessary objects (paths, patterns, etc.), in order to achieve +accurate replay. The efficiency of the recording surface could be +improved by improving the implementation of snapshot for the +various objects. For example, it would be nice to have a +copy-on-write implementation for _cairo_surface_snapshot.</para> + +</refsect1> +<refsect1 id="cairo-Recording-Surfaces.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-recording-surface-create" role="function" condition="since:1.10"> +<title>cairo_recording_surface_create ()</title> +<indexterm zone="cairo-recording-surface-create" role="1.10"><primary sortas="recording_surface_create">cairo_recording_surface_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_recording_surface_create (<parameter><link linkend="cairo-content-t"><type>cairo_content_t</type></link> content</parameter>, + <parameter>const <link linkend="cairo-rectangle-t"><type>cairo_rectangle_t</type></link> *extents</parameter>);</programlisting> +<para>Creates a recording-surface which can be used to record all drawing operations +at the highest level (that is, the level of paint, mask, stroke, fill +and show_text_glyphs). The recording surface can then be "replayed" against +any target surface by using it as a source to drawing operations.</para> +<para>The recording phase of the recording surface is careful to snapshot all +necessary objects (paths, patterns, etc.), in order to achieve +accurate replay.</para> +<refsect3 id="cairo-recording-surface-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>content</para></entry> +<entry role="parameter_description"><para>the content of the recording surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>the extents to record in pixels, can be <link linkend="NULL:CAPS"><literal>NULL</literal></link> to record +unbounded operations.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-recording-surface-create.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-recording-surface-ink-extents" role="function" condition="since:1.10"> +<title>cairo_recording_surface_ink_extents ()</title> +<indexterm zone="cairo-recording-surface-ink-extents" role="1.10"><primary sortas="recording_surface_ink_extents">cairo_recording_surface_ink_extents</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_recording_surface_ink_extents (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x0</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y0</parameter>, + <parameter><link linkend="double"><type>double</type></link> *width</parameter>, + <parameter><link linkend="double"><type>double</type></link> *height</parameter>);</programlisting> +<para>Measures the extents of the operations stored within the recording-surface. +This is useful to compute the required size of an image surface (or +equivalent) into which to replay the full sequence of drawing operations.</para> +<refsect3 id="cairo-recording-surface-ink-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-recording-surface-t"><type>cairo_recording_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x0</para></entry> +<entry role="parameter_description"><para>the x-coordinate of the top-left of the ink bounding box</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y0</para></entry> +<entry role="parameter_description"><para>the y-coordinate of the top-left of the ink bounding box</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the width of the ink bounding box</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the height of the ink bounding box</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-recording-surface-get-extents" role="function" condition="since:1.12"> +<title>cairo_recording_surface_get_extents ()</title> +<indexterm zone="cairo-recording-surface-get-extents" role="1.12"><primary sortas="recording_surface_get_extents">cairo_recording_surface_get_extents</primary></indexterm> +<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +cairo_recording_surface_get_extents (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="cairo-rectangle-t"><type>cairo_rectangle_t</type></link> *extents</parameter>);</programlisting> +<para>Get the extents of the recording-surface.</para> +<refsect3 id="cairo-recording-surface-get-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-recording-surface-t"><type>cairo_recording_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>the <link linkend="cairo-rectangle-t"><type>cairo_rectangle_t</type></link> to be assigned the extents</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-recording-surface-get-extents.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the surface is bounded, of recording type, and +not in an error state, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Recording-Surfaces.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-RECORDING-SURFACE:CAPS" role="macro" condition="since:1.10"> +<title>CAIRO_HAS_RECORDING_SURFACE</title> +<indexterm zone="CAIRO-HAS-RECORDING-SURFACE:CAPS" role="1.10"><primary sortas="HAS_RECORDING_SURFACE">CAIRO_HAS_RECORDING_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_RECORDING_SURFACE 1 +</programlisting> +<para>Defined if the recording surface backend is available. +The recording surface backend is always built in. +This macro was added for completeness in cairo 1.10.</para> +<para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Recording-Surfaces.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-region.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-region.xml new file mode 100644 index 0000000..30bc405 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-region.xml @@ -0,0 +1,793 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Regions"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Regions.top_of_page">Regions</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Regions</refname> +<refpurpose>Representing a pixel-aligned area</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Regions.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-region-create">cairo_region_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-region-create-rectangle">cairo_region_create_rectangle</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-region-create-rectangles">cairo_region_create_rectangles</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-region-copy">cairo_region_copy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-region-reference">cairo_region_reference</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-destroy">cairo_region_destroy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-status">cairo_region_status</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-get-extents">cairo_region_get_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-num-rectangles">cairo_region_num_rectangles</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-get-rectangle">cairo_region_get_rectangle</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-is-empty">cairo_region_is_empty</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-contains-point">cairo_region_contains_point</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-region-overlap-t"><returnvalue>cairo_region_overlap_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-contains-rectangle">cairo_region_contains_rectangle</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-equal">cairo_region_equal</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-translate">cairo_region_translate</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-intersect">cairo_region_intersect</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-intersect-rectangle">cairo_region_intersect_rectangle</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-subtract">cairo_region_subtract</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-subtract-rectangle">cairo_region_subtract_rectangle</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-union">cairo_region_union</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-union-rectangle">cairo_region_union_rectangle</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-xor">cairo_region_xor</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-region-xor-rectangle">cairo_region_xor_rectangle</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Regions.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="typedef_keyword">typedef</entry><entry role="function_name"><link linkend="cairo-region-t">cairo_region_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-region-overlap-t">cairo_region_overlap_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Regions.description" role="desc"> +<title role="desc.title">Description</title> +<para>Regions are a simple graphical data type representing an area of +integer-aligned rectangles. They are often used on raster surfaces +to track areas of interest, such as change or clip areas.</para> + +</refsect1> +<refsect1 id="cairo-Regions.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-region-create" role="function" condition="since:1.10"> +<title>cairo_region_create ()</title> +<indexterm zone="cairo-region-create" role="1.10"><primary sortas="region_create">cairo_region_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link> * +cairo_region_create (<parameter><type>void</type></parameter>);</programlisting> +<para>Allocates a new empty region object.</para> +<refsect3 id="cairo-region-create.returns" role="returns"> +<title>Returns</title> +<para> A newly allocated <link linkend="cairo-region-t"><type>cairo_region_t</type></link>. Free with +<link linkend="cairo-region-destroy"><function>cairo_region_destroy()</function></link>. This function always returns a +valid pointer; if memory cannot be allocated, then a special +error object is returned where all operations on the object do nothing. +You can check for this with <link linkend="cairo-region-status"><function>cairo_region_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-create-rectangle" role="function" condition="since:1.10"> +<title>cairo_region_create_rectangle ()</title> +<indexterm zone="cairo-region-create-rectangle" role="1.10"><primary sortas="region_create_rectangle">cairo_region_create_rectangle</primary></indexterm> +<programlisting language="C"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link> * +cairo_region_create_rectangle (<parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting> +<para>Allocates a new region object containing <parameter>rectangle</parameter> +.</para> +<refsect3 id="cairo-region-create-rectangle.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>rectangle</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-create-rectangle.returns" role="returns"> +<title>Returns</title> +<para> A newly allocated <link linkend="cairo-region-t"><type>cairo_region_t</type></link>. Free with +<link linkend="cairo-region-destroy"><function>cairo_region_destroy()</function></link>. This function always returns a +valid pointer; if memory cannot be allocated, then a special +error object is returned where all operations on the object do nothing. +You can check for this with <link linkend="cairo-region-status"><function>cairo_region_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-create-rectangles" role="function" condition="since:1.10"> +<title>cairo_region_create_rectangles ()</title> +<indexterm zone="cairo-region-create-rectangles" role="1.10"><primary sortas="region_create_rectangles">cairo_region_create_rectangles</primary></indexterm> +<programlisting language="C"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link> * +cairo_region_create_rectangles (<parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rects</parameter>, + <parameter><link linkend="int"><type>int</type></link> count</parameter>);</programlisting> +<para>Allocates a new region object containing the union of all given <parameter>rects</parameter> +.</para> +<refsect3 id="cairo-region-create-rectangles.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>rects</para></entry> +<entry role="parameter_description"><para>an array of <parameter>count</parameter> +rectangles</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>count</para></entry> +<entry role="parameter_description"><para>number of rectangles</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-create-rectangles.returns" role="returns"> +<title>Returns</title> +<para> A newly allocated <link linkend="cairo-region-t"><type>cairo_region_t</type></link>. Free with +<link linkend="cairo-region-destroy"><function>cairo_region_destroy()</function></link>. This function always returns a +valid pointer; if memory cannot be allocated, then a special +error object is returned where all operations on the object do nothing. +You can check for this with <link linkend="cairo-region-status"><function>cairo_region_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-copy" role="function" condition="since:1.10"> +<title>cairo_region_copy ()</title> +<indexterm zone="cairo-region-copy" role="1.10"><primary sortas="region_copy">cairo_region_copy</primary></indexterm> +<programlisting language="C"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link> * +cairo_region_copy (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *original</parameter>);</programlisting> +<para>Allocates a new region object copying the area from <parameter>original</parameter> +.</para> +<refsect3 id="cairo-region-copy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>original</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-copy.returns" role="returns"> +<title>Returns</title> +<para> A newly allocated <link linkend="cairo-region-t"><type>cairo_region_t</type></link>. Free with +<link linkend="cairo-region-destroy"><function>cairo_region_destroy()</function></link>. This function always returns a +valid pointer; if memory cannot be allocated, then a special +error object is returned where all operations on the object do nothing. +You can check for this with <link linkend="cairo-region-status"><function>cairo_region_status()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-reference" role="function" condition="since:1.10"> +<title>cairo_region_reference ()</title> +<indexterm zone="cairo-region-reference" role="1.10"><primary sortas="region_reference">cairo_region_reference</primary></indexterm> +<programlisting language="C"><link linkend="cairo-region-t"><returnvalue>cairo_region_t</returnvalue></link> * +cairo_region_reference (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>);</programlisting> +<para>Increases the reference count on <parameter>region</parameter> + by one. This prevents +<parameter>region</parameter> + from being destroyed until a matching call to +<link linkend="cairo-region-destroy"><function>cairo_region_destroy()</function></link> is made.</para> +<refsect3 id="cairo-region-reference.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>region</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-reference.returns" role="returns"> +<title>Returns</title> +<para> the referenced <link linkend="cairo-region-t"><type>cairo_region_t</type></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-destroy" role="function" condition="since:1.10"> +<title>cairo_region_destroy ()</title> +<indexterm zone="cairo-region-destroy" role="1.10"><primary sortas="region_destroy">cairo_region_destroy</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_region_destroy (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>);</programlisting> +<para>Destroys a <link linkend="cairo-region-t"><type>cairo_region_t</type></link> object created with +<link linkend="cairo-region-create"><function>cairo_region_create()</function></link>, <link linkend="cairo-region-copy"><function>cairo_region_copy()</function></link>, or +or <link linkend="cairo-region-create-rectangle"><function>cairo_region_create_rectangle()</function></link>.</para> +<refsect3 id="cairo-region-destroy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>region</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-status" role="function" condition="since:1.10"> +<title>cairo_region_status ()</title> +<indexterm zone="cairo-region-status" role="1.10"><primary sortas="region_status">cairo_region_status</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_region_status (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>);</programlisting> +<para>Checks whether an error has previous occurred for this +region object.</para> +<refsect3 id="cairo-region-status.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>region</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-status.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-get-extents" role="function" condition="since:1.10"> +<title>cairo_region_get_extents ()</title> +<indexterm zone="cairo-region-get-extents" role="1.10"><primary sortas="region_get_extents">cairo_region_get_extents</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_region_get_extents (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>, + <parameter><link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *extents</parameter>);</programlisting> +<para>Gets the bounding rectangle of <parameter>region</parameter> + as a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para> +<refsect3 id="cairo-region-get-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>region</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>rectangle into which to store the extents</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-num-rectangles" role="function" condition="since:1.10"> +<title>cairo_region_num_rectangles ()</title> +<indexterm zone="cairo-region-num-rectangles" role="1.10"><primary sortas="region_num_rectangles">cairo_region_num_rectangles</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_region_num_rectangles (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>);</programlisting> +<para>Returns the number of rectangles contained in <parameter>region</parameter> +.</para> +<refsect3 id="cairo-region-num-rectangles.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>region</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-num-rectangles.returns" role="returns"> +<title>Returns</title> +<para> The number of rectangles contained in <parameter>region</parameter> +.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-get-rectangle" role="function" condition="since:1.10"> +<title>cairo_region_get_rectangle ()</title> +<indexterm zone="cairo-region-get-rectangle" role="1.10"><primary sortas="region_get_rectangle">cairo_region_get_rectangle</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_region_get_rectangle (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>, + <parameter><link linkend="int"><type>int</type></link> nth</parameter>, + <parameter><link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting> +<para>Stores the <parameter>nth</parameter> + rectangle from the region in <parameter>rectangle</parameter> +.</para> +<refsect3 id="cairo-region-get-rectangle.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>region</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>nth</para></entry> +<entry role="parameter_description"><para>a number indicating which rectangle should be returned</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>rectangle</para></entry> +<entry role="parameter_description"><para>return location for a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-is-empty" role="function" condition="since:1.10"> +<title>cairo_region_is_empty ()</title> +<indexterm zone="cairo-region-is-empty" role="1.10"><primary sortas="region_is_empty">cairo_region_is_empty</primary></indexterm> +<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +cairo_region_is_empty (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>);</programlisting> +<para>Checks whether <parameter>region</parameter> + is empty.</para> +<refsect3 id="cairo-region-is-empty.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>region</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-is-empty.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>region</parameter> +is empty, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if it isn't.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-contains-point" role="function" condition="since:1.10"> +<title>cairo_region_contains_point ()</title> +<indexterm zone="cairo-region-contains-point" role="1.10"><primary sortas="region_contains_point">cairo_region_contains_point</primary></indexterm> +<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +cairo_region_contains_point (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>, + <parameter><link linkend="int"><type>int</type></link> x</parameter>, + <parameter><link linkend="int"><type>int</type></link> y</parameter>);</programlisting> +<para>Checks whether (<parameter>x</parameter> +, <parameter>y</parameter> +) is contained in <parameter>region</parameter> +.</para> +<refsect3 id="cairo-region-contains-point.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>region</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>the x coordinate of a point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>the y coordinate of a point</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-contains-point.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if (<parameter>x</parameter> +, <parameter>y</parameter> +) is contained in <parameter>region</parameter> +, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if it is not.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-contains-rectangle" role="function" condition="since:1.10"> +<title>cairo_region_contains_rectangle ()</title> +<indexterm zone="cairo-region-contains-rectangle" role="1.10"><primary sortas="region_contains_rectangle">cairo_region_contains_rectangle</primary></indexterm> +<programlisting language="C"><link linkend="cairo-region-overlap-t"><returnvalue>cairo_region_overlap_t</returnvalue></link> +cairo_region_contains_rectangle (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>, + <parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting> +<para>Checks whether <parameter>rectangle</parameter> + is inside, outside or partially contained +in <parameter>region</parameter> +</para> +<refsect3 id="cairo-region-contains-rectangle.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>region</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>rectangle</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-contains-rectangle.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-REGION-OVERLAP-IN:CAPS"><literal>CAIRO_REGION_OVERLAP_IN</literal></link> if <parameter>rectangle</parameter> +is entirely inside <parameter>region</parameter> +, +<link linkend="CAIRO-REGION-OVERLAP-OUT:CAPS"><literal>CAIRO_REGION_OVERLAP_OUT</literal></link> if <parameter>rectangle</parameter> +is entirely outside <parameter>region</parameter> +, or +<link linkend="CAIRO-REGION-OVERLAP-PART:CAPS"><literal>CAIRO_REGION_OVERLAP_PART</literal></link> if <parameter>rectangle</parameter> +is partially inside and partially outside <parameter>region</parameter> +.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-equal" role="function" condition="since:1.10"> +<title>cairo_region_equal ()</title> +<indexterm zone="cairo-region-equal" role="1.10"><primary sortas="region_equal">cairo_region_equal</primary></indexterm> +<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +cairo_region_equal (<parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *a</parameter>, + <parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *b</parameter>);</programlisting> +<para>Compares whether region_a is equivalent to region_b. <link linkend="NULL:CAPS"><literal>NULL</literal></link> as an argument +is equal to itself, but not to any non-<link linkend="NULL:CAPS"><literal>NULL</literal></link> region.</para> +<refsect3 id="cairo-region-equal.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>a</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>b</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-equal.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if both regions contained the same coverage, +<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if it is not or any region is in an error status.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-translate" role="function" condition="since:1.10"> +<title>cairo_region_translate ()</title> +<indexterm zone="cairo-region-translate" role="1.10"><primary sortas="region_translate">cairo_region_translate</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_region_translate (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *region</parameter>, + <parameter><link linkend="int"><type>int</type></link> dx</parameter>, + <parameter><link linkend="int"><type>int</type></link> dy</parameter>);</programlisting> +<para>Translates <parameter>region</parameter> + by (<parameter>dx</parameter> +, <parameter>dy</parameter> +).</para> +<refsect3 id="cairo-region-translate.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>region</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dx</para></entry> +<entry role="parameter_description"><para>Amount to translate in the x direction</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dy</para></entry> +<entry role="parameter_description"><para>Amount to translate in the y direction</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-intersect" role="function" condition="since:1.10"> +<title>cairo_region_intersect ()</title> +<indexterm zone="cairo-region-intersect" role="1.10"><primary sortas="region_intersect">cairo_region_intersect</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_region_intersect (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>, + <parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *other</parameter>);</programlisting> +<para>Computes the intersection of <parameter>dst</parameter> + with <parameter>other</parameter> + and places the result in <parameter>dst</parameter> +</para> +<refsect3 id="cairo-region-intersect.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>dst</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>other</para></entry> +<entry role="parameter_description"><para>another <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-intersect.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-intersect-rectangle" role="function" condition="since:1.10"> +<title>cairo_region_intersect_rectangle ()</title> +<indexterm zone="cairo-region-intersect-rectangle" role="1.10"><primary sortas="region_intersect_rectangle">cairo_region_intersect_rectangle</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_region_intersect_rectangle (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>, + <parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting> +<para>Computes the intersection of <parameter>dst</parameter> + with <parameter>rectangle</parameter> + and places the +result in <parameter>dst</parameter> +</para> +<refsect3 id="cairo-region-intersect-rectangle.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>dst</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>rectangle</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-intersect-rectangle.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-subtract" role="function" condition="since:1.10"> +<title>cairo_region_subtract ()</title> +<indexterm zone="cairo-region-subtract" role="1.10"><primary sortas="region_subtract">cairo_region_subtract</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_region_subtract (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>, + <parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *other</parameter>);</programlisting> +<para>Subtracts <parameter>other</parameter> + from <parameter>dst</parameter> + and places the result in <parameter>dst</parameter> +</para> +<refsect3 id="cairo-region-subtract.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>dst</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>other</para></entry> +<entry role="parameter_description"><para>another <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-subtract.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-subtract-rectangle" role="function" condition="since:1.10"> +<title>cairo_region_subtract_rectangle ()</title> +<indexterm zone="cairo-region-subtract-rectangle" role="1.10"><primary sortas="region_subtract_rectangle">cairo_region_subtract_rectangle</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_region_subtract_rectangle (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>, + <parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting> +<para>Subtracts <parameter>rectangle</parameter> + from <parameter>dst</parameter> + and places the result in <parameter>dst</parameter> +</para> +<refsect3 id="cairo-region-subtract-rectangle.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>dst</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>rectangle</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-subtract-rectangle.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-union" role="function" condition="since:1.10"> +<title>cairo_region_union ()</title> +<indexterm zone="cairo-region-union" role="1.10"><primary sortas="region_union">cairo_region_union</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_region_union (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>, + <parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *other</parameter>);</programlisting> +<para>Computes the union of <parameter>dst</parameter> + with <parameter>other</parameter> + and places the result in <parameter>dst</parameter> +</para> +<refsect3 id="cairo-region-union.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>dst</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>other</para></entry> +<entry role="parameter_description"><para>another <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-union.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-union-rectangle" role="function" condition="since:1.10"> +<title>cairo_region_union_rectangle ()</title> +<indexterm zone="cairo-region-union-rectangle" role="1.10"><primary sortas="region_union_rectangle">cairo_region_union_rectangle</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_region_union_rectangle (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>, + <parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting> +<para>Computes the union of <parameter>dst</parameter> + with <parameter>rectangle</parameter> + and places the result in <parameter>dst</parameter> +.</para> +<refsect3 id="cairo-region-union-rectangle.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>dst</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>rectangle</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-union-rectangle.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-xor" role="function" condition="since:1.10"> +<title>cairo_region_xor ()</title> +<indexterm zone="cairo-region-xor" role="1.10"><primary sortas="region_xor">cairo_region_xor</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_region_xor (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>, + <parameter>const <link linkend="cairo-region-t"><type>cairo_region_t</type></link> *other</parameter>);</programlisting> +<para>Computes the exclusive difference of <parameter>dst</parameter> + with <parameter>other</parameter> + and places the +result in <parameter>dst</parameter> +. That is, <parameter>dst</parameter> + will be set to contain all areas that +are either in <parameter>dst</parameter> + or in <parameter>other</parameter> +, but not in both.</para> +<refsect3 id="cairo-region-xor.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>dst</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>other</para></entry> +<entry role="parameter_description"><para>another <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-xor.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-xor-rectangle" role="function" condition="since:1.10"> +<title>cairo_region_xor_rectangle ()</title> +<indexterm zone="cairo-region-xor-rectangle" role="1.10"><primary sortas="region_xor_rectangle">cairo_region_xor_rectangle</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_region_xor_rectangle (<parameter><link linkend="cairo-region-t"><type>cairo_region_t</type></link> *dst</parameter>, + <parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *rectangle</parameter>);</programlisting> +<para>Computes the exclusive difference of <parameter>dst</parameter> + with <parameter>rectangle</parameter> + and places the +result in <parameter>dst</parameter> +. That is, <parameter>dst</parameter> + will be set to contain all areas that are +either in <parameter>dst</parameter> + or in <parameter>rectangle</parameter> +, but not in both.</para> +<refsect3 id="cairo-region-xor-rectangle.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>dst</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-region-t"><type>cairo_region_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>rectangle</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-region-xor-rectangle.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Regions.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="cairo-region-t" role="typedef" condition="since:1.10"> +<title>cairo_region_t</title> +<indexterm zone="cairo-region-t" role="1.10"><primary sortas="region_t">cairo_region_t</primary></indexterm> +<programlisting language="C">typedef struct _cairo_region cairo_region_t; +</programlisting> +<para>A <link linkend="cairo-region-t"><type>cairo_region_t</type></link> represents a set of integer-aligned rectangles.</para> +<para>It allows set-theoretical operations like <link linkend="cairo-region-union"><function>cairo_region_union()</function></link> and +<link linkend="cairo-region-intersect"><function>cairo_region_intersect()</function></link> to be performed on them.</para> +<para>Memory management of <link linkend="cairo-region-t"><type>cairo_region_t</type></link> is done with +<link linkend="cairo-region-reference"><function>cairo_region_reference()</function></link> and <link linkend="cairo-region-destroy"><function>cairo_region_destroy()</function></link>.</para> +<para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-region-overlap-t" role="enum" condition="since:1.10"> +<title>enum cairo_region_overlap_t</title> +<indexterm zone="cairo-region-overlap-t" role="1.10"><primary sortas="region_overlap_t">cairo_region_overlap_t</primary></indexterm> +<para>Used as the return value for <link linkend="cairo-region-contains-rectangle"><function>cairo_region_contains_rectangle()</function></link>.</para> +<refsect3 id="cairo-region-overlap-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-REGION-OVERLAP-IN:CAPS">CAIRO_REGION_OVERLAP_IN</para></entry> +<entry role="enum_member_description"><para>The contents are entirely inside the region. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-REGION-OVERLAP-OUT:CAPS">CAIRO_REGION_OVERLAP_OUT</para></entry> +<entry role="enum_member_description"><para>The contents are entirely outside the region. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-REGION-OVERLAP-PART:CAPS">CAIRO_REGION_OVERLAP_PART</para></entry> +<entry role="enum_member_description"><para>The contents are partially inside and + partially outside the region. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-scaled-font.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-scaled-font.xml new file mode 100644 index 0000000..3be82a2 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-scaled-font.xml @@ -0,0 +1,925 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-cairo-scaled-font-t"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-cairo-scaled-font-t.top_of_page">cairo_scaled_font_t</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>cairo_scaled_font_t</refname> +<refpurpose>Font face at particular size and options</refpurpose> +</refnamediv> + +<refsect1 id="cairo-cairo-scaled-font-t.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-scaled-font-t"><returnvalue>cairo_scaled_font_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-scaled-font-create">cairo_scaled_font_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-scaled-font-t"><returnvalue>cairo_scaled_font_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-scaled-font-reference">cairo_scaled_font_reference</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-destroy">cairo_scaled_font_destroy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-status">cairo_scaled_font_status</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-extents">cairo_scaled_font_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-text-extents">cairo_scaled_font_text_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-glyph-extents">cairo_scaled_font_glyph_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-text-to-glyphs">cairo_scaled_font_text_to_glyphs</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-scaled-font-get-font-face">cairo_scaled_font_get_font_face</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-get-font-options">cairo_scaled_font_get_font_options</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-get-font-matrix">cairo_scaled_font_get_font_matrix</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-get-ctm">cairo_scaled_font_get_ctm</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-get-scale-matrix">cairo_scaled_font_get_scale_matrix</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-type-t"><returnvalue>cairo_font_type_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-get-type">cairo_scaled_font_get_type</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-get-reference-count">cairo_scaled_font_get_reference_count</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scaled-font-set-user-data">cairo_scaled_font_set_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-scaled-font-get-user-data">cairo_scaled_font_get_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-cairo-scaled-font-t.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="typedef_keyword">typedef</entry><entry role="function_name"><link linkend="cairo-scaled-font-t">cairo_scaled_font_t</link></entry></row> +<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="cairo-font-extents-t">cairo_font_extents_t</link></entry></row> +<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="cairo-text-extents-t">cairo_text_extents_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-cairo-scaled-font-t.description" role="desc"> +<title role="desc.title">Description</title> +<para><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> represents a realization of a font face at a particular +size and transformation and a certain set of font options.</para> + +</refsect1> +<refsect1 id="cairo-cairo-scaled-font-t.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-scaled-font-create" role="function" condition="since:1.0"> +<title>cairo_scaled_font_create ()</title> +<indexterm zone="cairo-scaled-font-create" role="1.0"><primary sortas="scaled_font_create">cairo_scaled_font_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-scaled-font-t"><returnvalue>cairo_scaled_font_t</returnvalue></link> * +cairo_scaled_font_create (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>, + <parameter>const <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *font_matrix</parameter>, + <parameter>const <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *ctm</parameter>, + <parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Creates a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> object from a font face and matrices that +describe the size of the font and the environment in which it will +be used.</para> +<refsect3 id="cairo-scaled-font-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>font_matrix</para></entry> +<entry role="parameter_description"><para>font space to user space transformation matrix for the +font. In the simplest case of a N point font, this matrix is +just a scale by N, but it can also be used to shear the font +or stretch it unequally along the two axes. See +<link linkend="cairo-set-font-matrix"><function>cairo_set_font_matrix()</function></link>.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>ctm</para></entry> +<entry role="parameter_description"><para>user to device transformation matrix with which the font will +be used.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>options to use when getting metrics for the font and +rendering with it.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-scaled-font-create.returns" role="returns"> +<title>Returns</title> +<para> a newly created <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link>. Destroy with +<link linkend="cairo-scaled-font-destroy"><function>cairo_scaled_font_destroy()</function></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-scaled-font-reference" role="function" condition="since:1.0"> +<title>cairo_scaled_font_reference ()</title> +<indexterm zone="cairo-scaled-font-reference" role="1.0"><primary sortas="scaled_font_reference">cairo_scaled_font_reference</primary></indexterm> +<programlisting language="C"><link linkend="cairo-scaled-font-t"><returnvalue>cairo_scaled_font_t</returnvalue></link> * +cairo_scaled_font_reference (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting> +<para>Increases the reference count on <parameter>scaled_font</parameter> + by one. This prevents +<parameter>scaled_font</parameter> + from being destroyed until a matching call to +<link linkend="cairo-scaled-font-destroy"><function>cairo_scaled_font_destroy()</function></link> is made.</para> +<para>Use <link linkend="cairo-scaled-font-get-reference-count"><function>cairo_scaled_font_get_reference_count()</function></link> to get the number of +references to a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link>.</para> +<refsect3 id="cairo-scaled-font-reference.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link>, (may be <link linkend="NULL:CAPS"><literal>NULL</literal></link> in which case +this function does nothing)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-scaled-font-reference.returns" role="returns"> +<title>Returns</title> +<para> the referenced <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-scaled-font-destroy" role="function" condition="since:1.0"> +<title>cairo_scaled_font_destroy ()</title> +<indexterm zone="cairo-scaled-font-destroy" role="1.0"><primary sortas="scaled_font_destroy">cairo_scaled_font_destroy</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_scaled_font_destroy (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting> +<para>Decreases the reference count on <parameter>font</parameter> + by one. If the result +is zero, then <parameter>font</parameter> + and all associated resources are freed. +See <link linkend="cairo-scaled-font-reference"><function>cairo_scaled_font_reference()</function></link>.</para> +<refsect3 id="cairo-scaled-font-destroy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-scaled-font-status" role="function" condition="since:1.0"> +<title>cairo_scaled_font_status ()</title> +<indexterm zone="cairo-scaled-font-status" role="1.0"><primary sortas="scaled_font_status">cairo_scaled_font_status</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_scaled_font_status (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting> +<para>Checks whether an error has previously occurred for this +scaled_font.</para> +<refsect3 id="cairo-scaled-font-status.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-scaled-font-status.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or another error such as +<link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-scaled-font-extents" role="function" condition="since:1.0"> +<title>cairo_scaled_font_extents ()</title> +<indexterm zone="cairo-scaled-font-extents" role="1.0"><primary sortas="scaled_font_extents">cairo_scaled_font_extents</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_scaled_font_extents (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter><link linkend="cairo-font-extents-t"><type>cairo_font_extents_t</type></link> *extents</parameter>);</programlisting> +<para>Gets the metrics for a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link>.</para> +<refsect3 id="cairo-scaled-font-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-extents-t"><type>cairo_font_extents_t</type></link> which to store the retrieved extents.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-scaled-font-text-extents" role="function" condition="since:1.2"> +<title>cairo_scaled_font_text_extents ()</title> +<indexterm zone="cairo-scaled-font-text-extents" role="1.2"><primary sortas="scaled_font_text_extents">cairo_scaled_font_text_extents</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_scaled_font_text_extents (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *utf8</parameter>, + <parameter><link linkend="cairo-text-extents-t"><type>cairo_text_extents_t</type></link> *extents</parameter>);</programlisting> +<para>Gets the extents for a string of text. The extents describe a +user-space rectangle that encloses the "inked" portion of the text +drawn at the origin (0,0) (as it would be drawn by <link linkend="cairo-show-text"><function>cairo_show_text()</function></link> +if the cairo graphics state were set to the same font_face, +font_matrix, ctm, and font_options as <parameter>scaled_font</parameter> +). Additionally, +the x_advance and y_advance values indicate the amount by which the +current point would be advanced by <link linkend="cairo-show-text"><function>cairo_show_text()</function></link>.</para> +<para>Note that whitespace characters do not directly contribute to the +size of the rectangle (extents.width and extents.height). They do +contribute indirectly by changing the position of non-whitespace +characters. In particular, trailing whitespace characters are +likely to not affect the size of the rectangle, though they will +affect the x_advance and y_advance values.</para> +<refsect3 id="cairo-scaled-font-text-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8</para></entry> +<entry role="parameter_description"><para>a NUL-terminated string of text, encoded in UTF-8</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-text-extents-t"><type>cairo_text_extents_t</type></link> which to store the retrieved extents.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-scaled-font-glyph-extents" role="function" condition="since:1.0"> +<title>cairo_scaled_font_glyph_extents ()</title> +<indexterm zone="cairo-scaled-font-glyph-extents" role="1.0"><primary sortas="scaled_font_glyph_extents">cairo_scaled_font_glyph_extents</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_scaled_font_glyph_extents (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter>const <link linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link> *glyphs</parameter>, + <parameter><link linkend="int"><type>int</type></link> num_glyphs</parameter>, + <parameter><link linkend="cairo-text-extents-t"><type>cairo_text_extents_t</type></link> *extents</parameter>);</programlisting> +<para>Gets the extents for an array of glyphs. The extents describe a +user-space rectangle that encloses the "inked" portion of the +glyphs, (as they would be drawn by <link linkend="cairo-show-glyphs"><function>cairo_show_glyphs()</function></link> if the cairo +graphics state were set to the same font_face, font_matrix, ctm, +and font_options as <parameter>scaled_font</parameter> +). Additionally, the x_advance and +y_advance values indicate the amount by which the current point +would be advanced by <link linkend="cairo-show-glyphs"><function>cairo_show_glyphs()</function></link>.</para> +<para>Note that whitespace glyphs do not contribute to the size of the +rectangle (extents.width and extents.height).</para> +<refsect3 id="cairo-scaled-font-glyph-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>glyphs</para></entry> +<entry role="parameter_description"><para>an array of glyph IDs with X and Y offsets.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_glyphs</para></entry> +<entry role="parameter_description"><para>the number of glyphs in the <parameter>glyphs</parameter> +array</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-text-extents-t"><type>cairo_text_extents_t</type></link> which to store the retrieved extents.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-scaled-font-text-to-glyphs" role="function" condition="since:1.8"> +<title>cairo_scaled_font_text_to_glyphs ()</title> +<indexterm zone="cairo-scaled-font-text-to-glyphs" role="1.8"><primary sortas="scaled_font_text_to_glyphs">cairo_scaled_font_text_to_glyphs</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_scaled_font_text_to_glyphs (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter><link linkend="double"><type>double</type></link> x</parameter>, + <parameter><link linkend="double"><type>double</type></link> y</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *utf8</parameter>, + <parameter><link linkend="int"><type>int</type></link> utf8_len</parameter>, + <parameter><link linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link> **glyphs</parameter>, + <parameter><link linkend="int"><type>int</type></link> *num_glyphs</parameter>, + <parameter><link linkend="cairo-text-cluster-t"><type>cairo_text_cluster_t</type></link> **clusters</parameter>, + <parameter><link linkend="int"><type>int</type></link> *num_clusters</parameter>, + <parameter><link linkend="cairo-text-cluster-flags-t"><type>cairo_text_cluster_flags_t</type></link> *cluster_flags</parameter>);</programlisting> +<para>Converts UTF-8 text to an array of glyphs, optionally with cluster +mapping, that can be used to render later using <parameter>scaled_font</parameter> +.</para> +<para>If <parameter>glyphs</parameter> + initially points to a non-<link linkend="NULL:CAPS"><literal>NULL</literal></link> value, that array is used +as a glyph buffer, and <parameter>num_glyphs</parameter> + should point to the number of glyph +entries available there. If the provided glyph array is too short for +the conversion, a new glyph array is allocated using <link linkend="cairo-glyph-allocate"><function>cairo_glyph_allocate()</function></link> +and placed in <parameter>glyphs</parameter> +. Upon return, <parameter>num_glyphs</parameter> + always contains the +number of generated glyphs. If the value <parameter>glyphs</parameter> + points to has changed +after the call, the user is responsible for freeing the allocated glyph +array using <link linkend="cairo-glyph-free"><function>cairo_glyph_free()</function></link>. This may happen even if the provided +array was large enough.</para> +<para>If <parameter>clusters</parameter> + is not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, <parameter>num_clusters</parameter> + and <parameter>cluster_flags</parameter> + should not be <link linkend="NULL:CAPS"><literal>NULL</literal></link>, +and cluster mapping will be computed. +The semantics of how cluster array allocation works is similar to the glyph +array. That is, +if <parameter>clusters</parameter> + initially points to a non-<link linkend="NULL:CAPS"><literal>NULL</literal></link> value, that array is used +as a cluster buffer, and <parameter>num_clusters</parameter> + should point to the number of cluster +entries available there. If the provided cluster array is too short for +the conversion, a new cluster array is allocated using <link linkend="cairo-text-cluster-allocate"><function>cairo_text_cluster_allocate()</function></link> +and placed in <parameter>clusters</parameter> +. Upon return, <parameter>num_clusters</parameter> + always contains the +number of generated clusters. If the value <parameter>clusters</parameter> + points at has changed +after the call, the user is responsible for freeing the allocated cluster +array using <link linkend="cairo-text-cluster-free"><function>cairo_text_cluster_free()</function></link>. This may happen even if the provided +array was large enough.</para> +<para>In the simplest case, <parameter>glyphs</parameter> + and <parameter>clusters</parameter> + can point to <link linkend="NULL:CAPS"><literal>NULL</literal></link> initially +and a suitable array will be allocated. In code:</para> +<informalexample><programlisting> +cairo_status_t status; + +cairo_glyph_t *glyphs = NULL; +int num_glyphs; +cairo_text_cluster_t *clusters = NULL; +int num_clusters; +cairo_text_cluster_flags_t cluster_flags; + +status = cairo_scaled_font_text_to_glyphs (scaled_font, + x, y, + utf8, utf8_len, + &glyphs, &num_glyphs, + &clusters, &num_clusters, &cluster_flags); + +if (status == CAIRO_STATUS_SUCCESS) { + cairo_show_text_glyphs (cr, + utf8, utf8_len, + glyphs, num_glyphs, + clusters, num_clusters, cluster_flags); + + cairo_glyph_free (glyphs); + cairo_text_cluster_free (clusters); +} +</programlisting></informalexample> +<para>If no cluster mapping is needed:</para> +<informalexample><programlisting> +cairo_status_t status; + +cairo_glyph_t *glyphs = NULL; +int num_glyphs; + +status = cairo_scaled_font_text_to_glyphs (scaled_font, + x, y, + utf8, utf8_len, + &glyphs, &num_glyphs, + NULL, NULL, + NULL); + +if (status == CAIRO_STATUS_SUCCESS) { + cairo_show_glyphs (cr, glyphs, num_glyphs); + cairo_glyph_free (glyphs); +} +</programlisting></informalexample> +<para>If stack-based glyph and cluster arrays are to be used for small +arrays:</para> +<informalexample><programlisting> +cairo_status_t status; + +cairo_glyph_t stack_glyphs[40]; +cairo_glyph_t *glyphs = stack_glyphs; +int num_glyphs = sizeof (stack_glyphs) / sizeof (stack_glyphs[0]); +cairo_text_cluster_t stack_clusters[40]; +cairo_text_cluster_t *clusters = stack_clusters; +int num_clusters = sizeof (stack_clusters) / sizeof (stack_clusters[0]); +cairo_text_cluster_flags_t cluster_flags; + +status = cairo_scaled_font_text_to_glyphs (scaled_font, + x, y, + utf8, utf8_len, + &glyphs, &num_glyphs, + &clusters, &num_clusters, &cluster_flags); + +if (status == CAIRO_STATUS_SUCCESS) { + cairo_show_text_glyphs (cr, + utf8, utf8_len, + glyphs, num_glyphs, + clusters, num_clusters, cluster_flags); + + if (glyphs != stack_glyphs) + cairo_glyph_free (glyphs); + if (clusters != stack_clusters) + cairo_text_cluster_free (clusters); +} +</programlisting></informalexample> +<para>For details of how <parameter>clusters</parameter> +, <parameter>num_clusters</parameter> +, and <parameter>cluster_flags</parameter> + map input +UTF-8 text to the output glyphs see <link linkend="cairo-show-text-glyphs"><function>cairo_show_text_glyphs()</function></link>.</para> +<para>The output values can be readily passed to <link linkend="cairo-show-text-glyphs"><function>cairo_show_text_glyphs()</function></link> +<link linkend="cairo-show-glyphs"><function>cairo_show_glyphs()</function></link>, or related functions, assuming that the exact +same <parameter>scaled_font</parameter> + is used for the operation.</para> +<refsect3 id="cairo-scaled-font-text-to-glyphs.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>X position to place first glyph</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>Y position to place first glyph</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8</para></entry> +<entry role="parameter_description"><para>a string of text encoded in UTF-8</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8_len</para></entry> +<entry role="parameter_description"><para>length of <parameter>utf8</parameter> +in bytes, or -1 if it is NUL-terminated</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>glyphs</para></entry> +<entry role="parameter_description"><para>pointer to array of glyphs to fill</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_glyphs</para></entry> +<entry role="parameter_description"><para>pointer to number of glyphs</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>clusters</para></entry> +<entry role="parameter_description"><para>pointer to array of cluster mapping information to fill, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_clusters</para></entry> +<entry role="parameter_description"><para>pointer to number of clusters, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>cluster_flags</para></entry> +<entry role="parameter_description"><para>pointer to location to store cluster flags corresponding to the +output <parameter>clusters</parameter> +, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-scaled-font-text-to-glyphs.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> upon success, or an error status +if the input values are wrong or if conversion failed. If the input +values are correct but the conversion failed, the error status is also +set on <parameter>scaled_font</parameter> +.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-scaled-font-get-font-face" role="function" condition="since:1.2"> +<title>cairo_scaled_font_get_font_face ()</title> +<indexterm zone="cairo-scaled-font-get-font-face" role="1.2"><primary sortas="scaled_font_get_font_face">cairo_scaled_font_get_font_face</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +cairo_scaled_font_get_font_face (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting> +<para>Gets the font face that this scaled font uses. This might be the +font face passed to <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>, but this does not +hold true for all possible cases.</para> +<refsect3 id="cairo-scaled-font-get-font-face.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-scaled-font-get-font-face.returns" role="returns"> +<title>Returns</title> +<para> The <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> with which <parameter>scaled_font</parameter> +was +created. This object is owned by cairo. To keep a reference to it, +you must call <link linkend="cairo-scaled-font-reference"><function>cairo_scaled_font_reference()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-scaled-font-get-font-options" role="function" condition="since:1.2"> +<title>cairo_scaled_font_get_font_options ()</title> +<indexterm zone="cairo-scaled-font-get-font-options" role="1.2"><primary sortas="scaled_font_get_font_options">cairo_scaled_font_get_font_options</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_scaled_font_get_font_options (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter><link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Stores the font options with which <parameter>scaled_font</parameter> + was created into +<parameter>options</parameter> +.</para> +<refsect3 id="cairo-scaled-font-get-font-options.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>return value for the font options</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-scaled-font-get-font-matrix" role="function" condition="since:1.2"> +<title>cairo_scaled_font_get_font_matrix ()</title> +<indexterm zone="cairo-scaled-font-get-font-matrix" role="1.2"><primary sortas="scaled_font_get_font_matrix">cairo_scaled_font_get_font_matrix</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_scaled_font_get_font_matrix (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *font_matrix</parameter>);</programlisting> +<para>Stores the font matrix with which <parameter>scaled_font</parameter> + was created into +<parameter>matrix</parameter> +.</para> +<refsect3 id="cairo-scaled-font-get-font-matrix.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>font_matrix</para></entry> +<entry role="parameter_description"><para>return value for the matrix</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-scaled-font-get-ctm" role="function" condition="since:1.2"> +<title>cairo_scaled_font_get_ctm ()</title> +<indexterm zone="cairo-scaled-font-get-ctm" role="1.2"><primary sortas="scaled_font_get_ctm">cairo_scaled_font_get_ctm</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_scaled_font_get_ctm (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *ctm</parameter>);</programlisting> +<para>Stores the CTM with which <parameter>scaled_font</parameter> + was created into <parameter>ctm</parameter> +. +Note that the translation offsets (x0, y0) of the CTM are ignored +by <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>. So, the matrix this +function returns always has 0,0 as x0,y0.</para> +<refsect3 id="cairo-scaled-font-get-ctm.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>ctm</para></entry> +<entry role="parameter_description"><para>return value for the CTM</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-scaled-font-get-scale-matrix" role="function" condition="since:1.8"> +<title>cairo_scaled_font_get_scale_matrix ()</title> +<indexterm zone="cairo-scaled-font-get-scale-matrix" role="1.8"><primary sortas="scaled_font_get_scale_matrix">cairo_scaled_font_get_scale_matrix</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_scaled_font_get_scale_matrix (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *scale_matrix</parameter>);</programlisting> +<para>Stores the scale matrix of <parameter>scaled_font</parameter> + into <parameter>matrix</parameter> +. +The scale matrix is product of the font matrix and the ctm +associated with the scaled font, and hence is the matrix mapping from +font space to device space.</para> +<refsect3 id="cairo-scaled-font-get-scale-matrix.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>scale_matrix</para></entry> +<entry role="parameter_description"><para>return value for the matrix</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-scaled-font-get-type" role="function" condition="since:1.2"> +<title>cairo_scaled_font_get_type ()</title> +<indexterm zone="cairo-scaled-font-get-type" role="1.2"><primary sortas="scaled_font_get_type">cairo_scaled_font_get_type</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-type-t"><returnvalue>cairo_font_type_t</returnvalue></link> +cairo_scaled_font_get_type (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting> +<para>This function returns the type of the backend used to create +a scaled font. See <link linkend="cairo-font-type-t"><type>cairo_font_type_t</type></link> for available types. +However, this function never returns <link linkend="CAIRO-FONT-TYPE-TOY:CAPS"><literal>CAIRO_FONT_TYPE_TOY</literal></link>.</para> +<refsect3 id="cairo-scaled-font-get-type.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-scaled-font-get-type.returns" role="returns"> +<title>Returns</title> +<para> The type of <parameter>scaled_font</parameter> +.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-scaled-font-get-reference-count" role="function" condition="since:1.4"> +<title>cairo_scaled_font_get_reference_count ()</title> +<indexterm zone="cairo-scaled-font-get-reference-count" role="1.4"><primary sortas="scaled_font_get_reference_count">cairo_scaled_font_get_reference_count</primary></indexterm> +<programlisting language="C">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +cairo_scaled_font_get_reference_count (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting> +<para>Returns the current reference count of <parameter>scaled_font</parameter> +.</para> +<refsect3 id="cairo-scaled-font-get-reference-count.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-scaled-font-get-reference-count.returns" role="returns"> +<title>Returns</title> +<para> the current reference count of <parameter>scaled_font</parameter> +. If the +object is a nil object, 0 will be returned.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-scaled-font-set-user-data" role="function" condition="since:1.4"> +<title>cairo_scaled_font_set_user_data ()</title> +<indexterm zone="cairo-scaled-font-set-user-data" role="1.4"><primary sortas="scaled_font_set_user_data">cairo_scaled_font_set_user_data</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_scaled_font_set_user_data (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>, + <parameter><link linkend="void"><type>void</type></link> *user_data</parameter>, + <parameter><link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> destroy</parameter>);</programlisting> +<para>Attach user data to <parameter>scaled_font</parameter> +. To remove user data from a surface, +call this function with the key that was used to set it and <link linkend="NULL:CAPS"><literal>NULL</literal></link> +for <parameter>data</parameter> +.</para> +<refsect3 id="cairo-scaled-font-set-user-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>key</para></entry> +<entry role="parameter_description"><para>the address of a <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> to attach the user data to</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>user_data</para></entry> +<entry role="parameter_description"><para>the user data to attach to the <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>destroy</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> which will be called when the +<link linkend="cairo-t"><type>cairo_t</type></link> is destroyed or when new user data is attached using the +same key.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-scaled-font-set-user-data.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> if a +slot could not be allocated for the user data.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-scaled-font-get-user-data" role="function" condition="since:1.4"> +<title>cairo_scaled_font_get_user_data ()</title> +<indexterm zone="cairo-scaled-font-get-user-data" role="1.4"><primary sortas="scaled_font_get_user_data">cairo_scaled_font_get_user_data</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> * +cairo_scaled_font_get_user_data (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>);</programlisting> +<para>Return user data previously attached to <parameter>scaled_font</parameter> + using the +specified key. If no user data has been attached with the given +key this function returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +<refsect3 id="cairo-scaled-font-get-user-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>key</para></entry> +<entry role="parameter_description"><para>the address of the <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> the user data was +attached to</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-scaled-font-get-user-data.returns" role="returns"> +<title>Returns</title> +<para> the user data previously attached or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-scaled-font-t.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="cairo-scaled-font-t" role="typedef" condition="since:1.0"> +<title>cairo_scaled_font_t</title> +<indexterm zone="cairo-scaled-font-t" role="1.0"><primary sortas="scaled_font_t">cairo_scaled_font_t</primary></indexterm> +<programlisting language="C">typedef struct _cairo_scaled_font cairo_scaled_font_t; +</programlisting> +<para>A <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> is a font scaled to a particular size and device +resolution. A <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> is most useful for low-level font +usage where a library or application wants to cache a reference +to a scaled font to speed up the computation of metrics.</para> +<para>There are various types of scaled fonts, depending on the +<firstterm>font backend</firstterm> they use. The type of a +scaled font can be queried using <link linkend="cairo-scaled-font-get-type"><function>cairo_scaled_font_get_type()</function></link>.</para> +<para>Memory management of <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> is done with +<link linkend="cairo-scaled-font-reference"><function>cairo_scaled_font_reference()</function></link> and <link linkend="cairo-scaled-font-destroy"><function>cairo_scaled_font_destroy()</function></link>.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-extents-t" role="struct" condition="since:1.0"> +<title>cairo_font_extents_t</title> +<indexterm zone="cairo-font-extents-t" role="1.0"><primary sortas="font_extents_t">cairo_font_extents_t</primary></indexterm> +<programlisting language="C">typedef struct { + double ascent; + double descent; + double height; + double max_x_advance; + double max_y_advance; +} cairo_font_extents_t; +</programlisting> +<para>The <link linkend="cairo-font-extents-t"><type>cairo_font_extents_t</type></link> structure stores metric information for +a font. Values are given in the current user-space coordinate +system.</para> +<para>Because font metrics are in user-space coordinates, they are +mostly, but not entirely, independent of the current transformation +matrix. If you call <literal>cairo_scale(cr, 2.0, 2.0)</literal>, +text will be drawn twice as big, but the reported text extents will +not be doubled. They will change slightly due to hinting (so you +can't assume that metrics are independent of the transformation +matrix), but otherwise will remain unchanged.</para> +<refsect3 id="cairo-font-extents-t.members" role="struct_members"> +<title>Members</title> +<informaltable role="struct_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="struct_members_name" colwidth="300px"/> +<colspec colname="struct_members_description"/> +<colspec colname="struct_members_annotations" colwidth="200px"/> +<tbody> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-font-extents-t.ascent">ascent</structfield>;</para></entry> +<entry role="struct_member_description"><para>the distance that the font extends above the baseline. +Note that this is not always exactly equal to the maximum +of the extents of all the glyphs in the font, but rather +is picked to express the font designer's intent as to +how the font should align with elements above it.</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-font-extents-t.descent">descent</structfield>;</para></entry> +<entry role="struct_member_description"><para>the distance that the font extends below the baseline. +This value is positive for typical fonts that include +portions below the baseline. Note that this is not always +exactly equal to the maximum of the extents of all the +glyphs in the font, but rather is picked to express the +font designer's intent as to how the font should +align with elements below it.</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-font-extents-t.height">height</structfield>;</para></entry> +<entry role="struct_member_description"><para>the recommended vertical distance between baselines when +setting consecutive lines of text with the font. This +is greater than <parameter>ascent</parameter> ++<parameter>descent</parameter> +by a +quantity known as the <firstterm>line spacing</firstterm> +or <firstterm>external leading</firstterm>. When space +is at a premium, most fonts can be set with only +a distance of <parameter>ascent</parameter> ++<parameter>descent</parameter> +between lines.</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-font-extents-t.max-x-advance">max_x_advance</structfield>;</para></entry> +<entry role="struct_member_description"><para>the maximum distance in the X direction that +the origin is advanced for any glyph in the font.</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-font-extents-t.max-y-advance">max_y_advance</structfield>;</para></entry> +<entry role="struct_member_description"><para>the maximum distance in the Y direction that +the origin is advanced for any glyph in the font. +This will be zero for normal fonts used for horizontal +writing. (The scripts of East Asia are sometimes written +vertically.)</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-text-extents-t" role="struct" condition="since:1.0"> +<title>cairo_text_extents_t</title> +<indexterm zone="cairo-text-extents-t" role="1.0"><primary sortas="text_extents_t">cairo_text_extents_t</primary></indexterm> +<programlisting language="C">typedef struct { + double x_bearing; + double y_bearing; + double width; + double height; + double x_advance; + double y_advance; +} cairo_text_extents_t; +</programlisting> +<para>The <link linkend="cairo-text-extents-t"><type>cairo_text_extents_t</type></link> structure stores the extents of a single +glyph or a string of glyphs in user-space coordinates. Because text +extents are in user-space coordinates, they are mostly, but not +entirely, independent of the current transformation matrix. If you call +<literal>cairo_scale(cr, 2.0, 2.0)</literal>, text will +be drawn twice as big, but the reported text extents will not be +doubled. They will change slightly due to hinting (so you can't +assume that metrics are independent of the transformation matrix), +but otherwise will remain unchanged.</para> +<refsect3 id="cairo-text-extents-t.members" role="struct_members"> +<title>Members</title> +<informaltable role="struct_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="struct_members_name" colwidth="300px"/> +<colspec colname="struct_members_description"/> +<colspec colname="struct_members_annotations" colwidth="200px"/> +<tbody> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-text-extents-t.x-bearing">x_bearing</structfield>;</para></entry> +<entry role="struct_member_description"><para>the horizontal distance from the origin to the +leftmost part of the glyphs as drawn. Positive if the +glyphs lie entirely to the right of the origin.</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-text-extents-t.y-bearing">y_bearing</structfield>;</para></entry> +<entry role="struct_member_description"><para>the vertical distance from the origin to the +topmost part of the glyphs as drawn. Positive only if the +glyphs lie completely below the origin; will usually be +negative.</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-text-extents-t.width">width</structfield>;</para></entry> +<entry role="struct_member_description"><para>width of the glyphs as drawn</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-text-extents-t.height">height</structfield>;</para></entry> +<entry role="struct_member_description"><para>height of the glyphs as drawn</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-text-extents-t.x-advance">x_advance</structfield>;</para></entry> +<entry role="struct_member_description"><para>distance to advance in the X direction +after drawing these glyphs</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-text-extents-t.y-advance">y_advance</structfield>;</para></entry> +<entry role="struct_member_description"><para>distance to advance in the Y direction +after drawing these glyphs. Will typically be zero except +for vertical text layout as found in East-Asian languages.</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-scaled-font-t.see-also"> +<title>See Also</title> +<para><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>, <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link>, <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-script.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-script.xml new file mode 100644 index 0000000..c535be3 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-script.xml @@ -0,0 +1,349 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Script-Surfaces"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Script-Surfaces.top_of_page">Script Surfaces</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Script Surfaces</refname> +<refpurpose>Rendering to replayable scripts</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Script-Surfaces.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-device-t"><returnvalue>cairo_device_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-script-create">cairo_script_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-device-t"><returnvalue>cairo_device_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-script-create-for-stream">cairo_script_create_for_stream</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-script-from-recording-surface">cairo_script_from_recording_surface</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-script-mode-t"><returnvalue>cairo_script_mode_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-script-get-mode">cairo_script_get_mode</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-script-set-mode">cairo_script_set_mode</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-script-surface-create">cairo_script_surface_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-script-surface-create-for-target">cairo_script_surface_create_for_target</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-script-write-comment">cairo_script_write_comment</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Script-Surfaces.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-SCRIPT-SURFACE:CAPS">CAIRO_HAS_SCRIPT_SURFACE</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-script-mode-t">cairo_script_mode_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Script-Surfaces.description" role="desc"> +<title role="desc.title">Description</title> +<para>The script surface provides the ability to render to a native +script that matches the cairo drawing model. The scripts can +be replayed using tools under the util/cairo-script directory, +or with cairo-perf-trace.</para> + +</refsect1> +<refsect1 id="cairo-Script-Surfaces.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-script-create" role="function" condition="since:1.12"> +<title>cairo_script_create ()</title> +<indexterm zone="cairo-script-create" role="1.12"><primary sortas="script_create">cairo_script_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-device-t"><returnvalue>cairo_device_t</returnvalue></link> * +cairo_script_create (<parameter>const <link linkend="char"><type>char</type></link> *filename</parameter>);</programlisting> +<para>Creates a output device for emitting the script, used when +creating the individual surfaces.</para> +<refsect3 id="cairo-script-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>filename</para></entry> +<entry role="parameter_description"><para>the name (path) of the file to write the script to</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-script-create.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created device. The caller +owns the surface and should call <link linkend="cairo-device-destroy"><function>cairo_device_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" device if an error such as out of memory +occurs. You can use <link linkend="cairo-device-status"><function>cairo_device_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-script-create-for-stream" role="function" condition="since:1.12"> +<title>cairo_script_create_for_stream ()</title> +<indexterm zone="cairo-script-create-for-stream" role="1.12"><primary sortas="script_create_for_stream">cairo_script_create_for_stream</primary></indexterm> +<programlisting language="C"><link linkend="cairo-device-t"><returnvalue>cairo_device_t</returnvalue></link> * +cairo_script_create_for_stream (<parameter><link linkend="cairo-write-func-t"><type>cairo_write_func_t</type></link> write_func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *closure</parameter>);</programlisting> +<para>Creates a output device for emitting the script, used when +creating the individual surfaces.</para> +<refsect3 id="cairo-script-create-for-stream.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>write_func</para></entry> +<entry role="parameter_description"><para>callback function passed the bytes written to the script</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>closure</para></entry> +<entry role="parameter_description"><para>user data to be passed to the callback</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-script-create-for-stream.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created device. The caller +owns the surface and should call <link linkend="cairo-device-destroy"><function>cairo_device_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" device if an error such as out of memory +occurs. You can use <link linkend="cairo-device-status"><function>cairo_device_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-script-from-recording-surface" role="function" condition="since:1.12"> +<title>cairo_script_from_recording_surface ()</title> +<indexterm zone="cairo-script-from-recording-surface" role="1.12"><primary sortas="script_from_recording_surface">cairo_script_from_recording_surface</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_script_from_recording_surface (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *script</parameter>, + <parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *recording_surface</parameter>);</programlisting> +<para>Converts the record operations in <parameter>recording_surface</parameter> + into a script.</para> +<refsect3 id="cairo-script-from-recording-surface.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>script</para></entry> +<entry role="parameter_description"><para>the script (output device)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>recording_surface</para></entry> +<entry role="parameter_description"><para>the recording surface to replay</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-script-from-recording-surface.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><type>CAIRO_STATUS_SUCCESS</type></link> on successful completion or an error code.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-script-get-mode" role="function" condition="since:1.12"> +<title>cairo_script_get_mode ()</title> +<indexterm zone="cairo-script-get-mode" role="1.12"><primary sortas="script_get_mode">cairo_script_get_mode</primary></indexterm> +<programlisting language="C"><link linkend="cairo-script-mode-t"><returnvalue>cairo_script_mode_t</returnvalue></link> +cairo_script_get_mode (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *script</parameter>);</programlisting> +<para>Queries the script for its current output mode.</para> +<refsect3 id="cairo-script-get-mode.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>script</para></entry> +<entry role="parameter_description"><para>The script (output device) to query</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-script-get-mode.returns" role="returns"> +<title>Returns</title> +<para> the current output mode of the script</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-script-set-mode" role="function" condition="since:1.12"> +<title>cairo_script_set_mode ()</title> +<indexterm zone="cairo-script-set-mode" role="1.12"><primary sortas="script_set_mode">cairo_script_set_mode</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_script_set_mode (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *script</parameter>, + <parameter><link linkend="cairo-script-mode-t"><type>cairo_script_mode_t</type></link> mode</parameter>);</programlisting> +<para>Change the output mode of the script</para> +<refsect3 id="cairo-script-set-mode.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>script</para></entry> +<entry role="parameter_description"><para>The script (output device)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>mode</para></entry> +<entry role="parameter_description"><para>the new mode</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-script-surface-create" role="function" condition="since:1.12"> +<title>cairo_script_surface_create ()</title> +<indexterm zone="cairo-script-surface-create" role="1.12"><primary sortas="script_surface_create">cairo_script_surface_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_script_surface_create (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *script</parameter>, + <parameter><link linkend="cairo-content-t"><type>cairo_content_t</type></link> content</parameter>, + <parameter><link linkend="double"><type>double</type></link> width</parameter>, + <parameter><link linkend="double"><type>double</type></link> height</parameter>);</programlisting> +<para>Create a new surface that will emit its rendering through <parameter>script</parameter> +</para> +<refsect3 id="cairo-script-surface-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>script</para></entry> +<entry role="parameter_description"><para>the script (output device)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>content</para></entry> +<entry role="parameter_description"><para>the content of the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>width in pixels</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>height in pixels</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-script-surface-create.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-script-surface-create-for-target" role="function" condition="since:1.12"> +<title>cairo_script_surface_create_for_target ()</title> +<indexterm zone="cairo-script-surface-create-for-target" role="1.12"><primary sortas="script_surface_create_for_target">cairo_script_surface_create_for_target</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_script_surface_create_for_target + (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *script</parameter>, + <parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *target</parameter>);</programlisting> +<para>Create a pxoy surface that will render to <parameter>target</parameter> + and record +the operations to <parameter>device</parameter> +.</para> +<refsect3 id="cairo-script-surface-create-for-target.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>script</para></entry> +<entry role="parameter_description"><para>the script (output device)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>target</para></entry> +<entry role="parameter_description"><para>a target surface to wrap</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-script-surface-create-for-target.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-script-write-comment" role="function" condition="since:1.12"> +<title>cairo_script_write_comment ()</title> +<indexterm zone="cairo-script-write-comment" role="1.12"><primary sortas="script_write_comment">cairo_script_write_comment</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_script_write_comment (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *script</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *comment</parameter>, + <parameter><link linkend="int"><type>int</type></link> len</parameter>);</programlisting> +<para>Emit a string verbatim into the script.</para> +<refsect3 id="cairo-script-write-comment.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>script</para></entry> +<entry role="parameter_description"><para>the script (output device)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>comment</para></entry> +<entry role="parameter_description"><para>the string to emit</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>len</para></entry> +<entry role="parameter_description"><para>the length of the sting to write, or -1 to use <link linkend="strlen"><function>strlen()</function></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Script-Surfaces.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-SCRIPT-SURFACE:CAPS" role="macro" condition="since:1.12"> +<title>CAIRO_HAS_SCRIPT_SURFACE</title> +<indexterm zone="CAIRO-HAS-SCRIPT-SURFACE:CAPS" role="1.12"><primary sortas="HAS_SCRIPT_SURFACE">CAIRO_HAS_SCRIPT_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_SCRIPT_SURFACE 1 +</programlisting> +<para>Defined if the script surface backend is available. +The script surface backend is always built in since 1.12.</para> +<para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-script-mode-t" role="enum" condition="since:1.12"> +<title>enum cairo_script_mode_t</title> +<indexterm zone="cairo-script-mode-t" role="1.12"><primary sortas="script_mode_t">cairo_script_mode_t</primary></indexterm> +<para>A set of script output variants.</para> +<refsect3 id="cairo-script-mode-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SCRIPT-MODE-ASCII:CAPS">CAIRO_SCRIPT_MODE_ASCII</para></entry> +<entry role="enum_member_description"><para>the output will be in readable text (default). (Since 1.12)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SCRIPT-MODE-BINARY:CAPS">CAIRO_SCRIPT_MODE_BINARY</para></entry> +<entry role="enum_member_description"><para>the output will use byte codes. (Since 1.12)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Script-Surfaces.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-skia.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-skia.xml new file mode 100644 index 0000000..aa4af88 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-skia.xml @@ -0,0 +1,32 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-cairo-skia"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-cairo-skia.top_of_page">cairo-skia</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>cairo-skia</refname> +<refpurpose></refpurpose> +</refnamediv> + + + +<refsect1 id="cairo-cairo-skia.description" role="desc"> +<title role="desc.title">Description</title> + +</refsect1> +<refsect1 id="cairo-cairo-skia.functions_details" role="details"> +<title role="details.title">Functions</title> +<para /> +</refsect1> +<refsect1 id="cairo-cairo-skia.other_details" role="details"> +<title role="details.title">Types and Values</title> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-status.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-status.xml new file mode 100644 index 0000000..d257b95 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-status.xml @@ -0,0 +1,366 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Error-handling"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Error-handling.top_of_page">Error handling</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Error handling</refname> +<refpurpose>Decoding cairo's status</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Error-handling.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-status-to-string">cairo_status_to_string</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-debug-reset-static-data">cairo_debug_reset_static_data</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Error-handling.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-status-t">cairo_status_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Error-handling.description" role="desc"> +<title role="desc.title">Description</title> +<para>Cairo uses a single status type to represent all kinds of errors. A status +value of <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> represents no error and has an integer value +of zero. All other status values represent an error.</para> +<para>Cairo's error handling is designed to be easy to use and safe. All major +cairo objects <firstterm>retain</firstterm> an error status internally which +can be queried anytime by the users using cairo*_status() calls. In +the mean time, it is safe to call all cairo functions normally even if the +underlying object is in an error status. This means that no error handling +code is required before or after each individual cairo function call.</para> + +</refsect1> +<refsect1 id="cairo-Error-handling.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-status-to-string" role="function" condition="since:1.0"> +<title>cairo_status_to_string ()</title> +<indexterm zone="cairo-status-to-string" role="1.0"><primary sortas="status_to_string">cairo_status_to_string</primary></indexterm> +<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> * +cairo_status_to_string (<parameter><link linkend="cairo-status-t"><type>cairo_status_t</type></link> status</parameter>);</programlisting> +<para>Provides a human-readable description of a <link linkend="cairo-status-t"><type>cairo_status_t</type></link>.</para> +<refsect3 id="cairo-status-to-string.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>status</para></entry> +<entry role="parameter_description"><para>a cairo status</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-status-to-string.returns" role="returns"> +<title>Returns</title> +<para> a string representation of the status</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-debug-reset-static-data" role="function" condition="since:1.0"> +<title>cairo_debug_reset_static_data ()</title> +<indexterm zone="cairo-debug-reset-static-data" role="1.0"><primary sortas="debug_reset_static_data">cairo_debug_reset_static_data</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_debug_reset_static_data (<parameter><type>void</type></parameter>);</programlisting> +<para>Resets all static data within cairo to its original state, +(ie. identical to the state at the time of program invocation). For +example, all caches within cairo will be flushed empty.</para> +<para>This function is intended to be useful when using memory-checking +tools such as valgrind. When valgrind's memcheck analyzes a +cairo-using program without a call to <link linkend="cairo-debug-reset-static-data"><function>cairo_debug_reset_static_data()</function></link>, +it will report all data reachable via cairo's static objects as +"still reachable". Calling <link linkend="cairo-debug-reset-static-data"><function>cairo_debug_reset_static_data()</function></link> just prior +to program termination will make it easier to get squeaky clean +reports from valgrind.</para> +<para>WARNING: It is only safe to call this function when there are no +active cairo objects remaining, (ie. the appropriate destroy +functions have been called as necessary). If there are active cairo +objects, this call is likely to cause a crash, (eg. an assertion +failure due to a hash table being destroyed when non-empty).</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Error-handling.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="cairo-status-t" role="enum" condition="since:1.0"> +<title>enum cairo_status_t</title> +<indexterm zone="cairo-status-t" role="1.0"><primary sortas="status_t">cairo_status_t</primary></indexterm> +<para><link linkend="cairo-status-t"><type>cairo_status_t</type></link> is used to indicate errors that can occur when +using Cairo. In some cases it is returned directly by functions. +but when using <link linkend="cairo-t"><type>cairo_t</type></link>, the last error, if any, is stored in +the context and can be retrieved with <link linkend="cairo-status"><function>cairo_status()</function></link>.</para> +<para>New entries may be added in future versions. Use <link linkend="cairo-status-to-string"><function>cairo_status_to_string()</function></link> +to get a human-readable representation of an error message.</para> +<refsect3 id="cairo-status-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-SUCCESS:CAPS">CAIRO_STATUS_SUCCESS</para></entry> +<entry role="enum_member_description"><para>no error has occurred (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-NO-MEMORY:CAPS">CAIRO_STATUS_NO_MEMORY</para></entry> +<entry role="enum_member_description"><para>out of memory (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-RESTORE:CAPS">CAIRO_STATUS_INVALID_RESTORE</para></entry> +<entry role="enum_member_description"><para>cairo_restore() called without matching <link linkend="cairo-save"><function>cairo_save()</function></link> (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-POP-GROUP:CAPS">CAIRO_STATUS_INVALID_POP_GROUP</para></entry> +<entry role="enum_member_description"><para>no saved group to pop, i.e. <link linkend="cairo-pop-group"><function>cairo_pop_group()</function></link> without matching <link linkend="cairo-push-group"><function>cairo_push_group()</function></link> (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-NO-CURRENT-POINT:CAPS">CAIRO_STATUS_NO_CURRENT_POINT</para></entry> +<entry role="enum_member_description"><para>no current point defined (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-MATRIX:CAPS">CAIRO_STATUS_INVALID_MATRIX</para></entry> +<entry role="enum_member_description"><para>invalid matrix (not invertible) (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-STATUS:CAPS">CAIRO_STATUS_INVALID_STATUS</para></entry> +<entry role="enum_member_description"><para>invalid value for an input <link linkend="cairo-status-t"><type>cairo_status_t</type></link> (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-NULL-POINTER:CAPS">CAIRO_STATUS_NULL_POINTER</para></entry> +<entry role="enum_member_description"><para><link linkend="NULL:CAPS"><literal>NULL</literal></link> pointer (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-STRING:CAPS">CAIRO_STATUS_INVALID_STRING</para></entry> +<entry role="enum_member_description"><para>input string not valid UTF-8 (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-PATH-DATA:CAPS">CAIRO_STATUS_INVALID_PATH_DATA</para></entry> +<entry role="enum_member_description"><para>input path data not valid (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-READ-ERROR:CAPS">CAIRO_STATUS_READ_ERROR</para></entry> +<entry role="enum_member_description"><para>error while reading from input stream (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-WRITE-ERROR:CAPS">CAIRO_STATUS_WRITE_ERROR</para></entry> +<entry role="enum_member_description"><para>error while writing to output stream (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-SURFACE-FINISHED:CAPS">CAIRO_STATUS_SURFACE_FINISHED</para></entry> +<entry role="enum_member_description"><para>target surface has been finished (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-SURFACE-TYPE-MISMATCH:CAPS">CAIRO_STATUS_SURFACE_TYPE_MISMATCH</para></entry> +<entry role="enum_member_description"><para>the surface type is not appropriate for the operation (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-PATTERN-TYPE-MISMATCH:CAPS">CAIRO_STATUS_PATTERN_TYPE_MISMATCH</para></entry> +<entry role="enum_member_description"><para>the pattern type is not appropriate for the operation (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-CONTENT:CAPS">CAIRO_STATUS_INVALID_CONTENT</para></entry> +<entry role="enum_member_description"><para>invalid value for an input <link linkend="cairo-content-t"><type>cairo_content_t</type></link> (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-FORMAT:CAPS">CAIRO_STATUS_INVALID_FORMAT</para></entry> +<entry role="enum_member_description"><para>invalid value for an input <link linkend="cairo-format-t"><type>cairo_format_t</type></link> (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-VISUAL:CAPS">CAIRO_STATUS_INVALID_VISUAL</para></entry> +<entry role="enum_member_description"><para>invalid value for an input Visual* (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-FILE-NOT-FOUND:CAPS">CAIRO_STATUS_FILE_NOT_FOUND</para></entry> +<entry role="enum_member_description"><para>file not found (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-DASH:CAPS">CAIRO_STATUS_INVALID_DASH</para></entry> +<entry role="enum_member_description"><para>invalid value for a dash setting (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-DSC-COMMENT:CAPS">CAIRO_STATUS_INVALID_DSC_COMMENT</para></entry> +<entry role="enum_member_description"><para>invalid value for a DSC comment (Since 1.2)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-INDEX:CAPS">CAIRO_STATUS_INVALID_INDEX</para></entry> +<entry role="enum_member_description"><para>invalid index passed to getter (Since 1.4)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-CLIP-NOT-REPRESENTABLE:CAPS">CAIRO_STATUS_CLIP_NOT_REPRESENTABLE</para></entry> +<entry role="enum_member_description"><para>clip region not representable in desired format (Since 1.4)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-TEMP-FILE-ERROR:CAPS">CAIRO_STATUS_TEMP_FILE_ERROR</para></entry> +<entry role="enum_member_description"><para>error creating or writing to a temporary file (Since 1.6)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-STRIDE:CAPS">CAIRO_STATUS_INVALID_STRIDE</para></entry> +<entry role="enum_member_description"><para>invalid value for stride (Since 1.6)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-FONT-TYPE-MISMATCH:CAPS">CAIRO_STATUS_FONT_TYPE_MISMATCH</para></entry> +<entry role="enum_member_description"><para>the font type is not appropriate for the operation (Since 1.8)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-USER-FONT-IMMUTABLE:CAPS">CAIRO_STATUS_USER_FONT_IMMUTABLE</para></entry> +<entry role="enum_member_description"><para>the user-font is immutable (Since 1.8)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-USER-FONT-ERROR:CAPS">CAIRO_STATUS_USER_FONT_ERROR</para></entry> +<entry role="enum_member_description"><para>error occurred in a user-font callback function (Since 1.8)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-NEGATIVE-COUNT:CAPS">CAIRO_STATUS_NEGATIVE_COUNT</para></entry> +<entry role="enum_member_description"><para>negative number used where it is not allowed (Since 1.8)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-CLUSTERS:CAPS">CAIRO_STATUS_INVALID_CLUSTERS</para></entry> +<entry role="enum_member_description"><para>input clusters do not represent the accompanying text and glyph array (Since 1.8)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-SLANT:CAPS">CAIRO_STATUS_INVALID_SLANT</para></entry> +<entry role="enum_member_description"><para>invalid value for an input <link linkend="cairo-font-slant-t"><type>cairo_font_slant_t</type></link> (Since 1.8)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-WEIGHT:CAPS">CAIRO_STATUS_INVALID_WEIGHT</para></entry> +<entry role="enum_member_description"><para>invalid value for an input <link linkend="cairo-font-weight-t"><type>cairo_font_weight_t</type></link> (Since 1.8)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-SIZE:CAPS">CAIRO_STATUS_INVALID_SIZE</para></entry> +<entry role="enum_member_description"><para>invalid value (typically too big) for the size of the input (surface, pattern, etc.) (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-USER-FONT-NOT-IMPLEMENTED:CAPS">CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED</para></entry> +<entry role="enum_member_description"><para>user-font method not implemented (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-DEVICE-TYPE-MISMATCH:CAPS">CAIRO_STATUS_DEVICE_TYPE_MISMATCH</para></entry> +<entry role="enum_member_description"><para>the device type is not appropriate for the operation (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-DEVICE-ERROR:CAPS">CAIRO_STATUS_DEVICE_ERROR</para></entry> +<entry role="enum_member_description"><para>an operation to the device caused an unspecified error (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-INVALID-MESH-CONSTRUCTION:CAPS">CAIRO_STATUS_INVALID_MESH_CONSTRUCTION</para></entry> +<entry role="enum_member_description"><para>a mesh pattern + construction operation was used outside of a + <link linkend="cairo-mesh-pattern-begin-patch"><function>cairo_mesh_pattern_begin_patch()</function></link>/<link linkend="cairo-mesh-pattern-end-patch"><function>cairo_mesh_pattern_end_patch()</function></link> + pair (Since 1.12)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-DEVICE-FINISHED:CAPS">CAIRO_STATUS_DEVICE_FINISHED</para></entry> +<entry role="enum_member_description"><para>target device has been finished (Since 1.12)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-JBIG2-GLOBAL-MISSING:CAPS">CAIRO_STATUS_JBIG2_GLOBAL_MISSING</para></entry> +<entry role="enum_member_description"><para><link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</literal></link> has been used on at least one image + but no image provided <link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2_GLOBAL</literal></link> (Since 1.14)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-PNG-ERROR:CAPS">CAIRO_STATUS_PNG_ERROR</para></entry> +<entry role="enum_member_description"><para>error occurred in libpng while reading from or writing to a PNG file (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-FREETYPE-ERROR:CAPS">CAIRO_STATUS_FREETYPE_ERROR</para></entry> +<entry role="enum_member_description"><para>error occurred in libfreetype (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-WIN32-GDI-ERROR:CAPS">CAIRO_STATUS_WIN32_GDI_ERROR</para></entry> +<entry role="enum_member_description"><para>error occurred in the Windows Graphics Device Interface (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-TAG-ERROR:CAPS">CAIRO_STATUS_TAG_ERROR</para></entry> +<entry role="enum_member_description"><para>invalid tag name, attributes, or nesting (Since 1.16)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-STATUS-LAST-STATUS:CAPS">CAIRO_STATUS_LAST_STATUS</para></entry> +<entry role="enum_member_description"><para>this is a special value indicating the number of + status values defined in this enumeration. When using this value, note + that the version of cairo at run-time may have additional status values + defined than the value of this symbol at compile-time. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Error-handling.see-also"> +<title>See Also</title> +<para>cairo_status(), <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link>, <link linkend="cairo-pattern-status"><function>cairo_pattern_status()</function></link>, + <link linkend="cairo-font-face-status"><function>cairo_font_face_status()</function></link>, <link linkend="cairo-scaled-font-status"><function>cairo_scaled_font_status()</function></link>, + <link linkend="cairo-region-status"><function>cairo_region_status()</function></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-surface-observer.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-surface-observer.xml new file mode 100644 index 0000000..b7e31b9 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-surface-observer.xml @@ -0,0 +1,233 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-cairo-surface-observer"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-cairo-surface-observer.top_of_page">cairo-surface-observer</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>cairo-surface-observer</refname> +<refpurpose></refpurpose> +</refnamediv> + +<refsect1 id="cairo-cairo-surface-observer.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-surface-create-observer">cairo_surface_create_observer</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-observer-add-fill-callback">cairo_surface_observer_add_fill_callback</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-observer-add-finish-callback">cairo_surface_observer_add_finish_callback</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-observer-add-flush-callback">cairo_surface_observer_add_flush_callback</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-observer-add-glyphs-callback">cairo_surface_observer_add_glyphs_callback</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-observer-add-mask-callback">cairo_surface_observer_add_mask_callback</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-observer-add-paint-callback">cairo_surface_observer_add_paint_callback</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-observer-add-stroke-callback">cairo_surface_observer_add_stroke_callback</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-surface-observer-callback-t">*cairo_surface_observer_callback_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-observer-elapsed">cairo_surface_observer_elapsed</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-observer-print">cairo_surface_observer_print</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-cairo-surface-observer.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-OBSERVER-SURFACE:CAPS">CAIRO_HAS_OBSERVER_SURFACE</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-surface-observer-mode-t">cairo_surface_observer_mode_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-cairo-surface-observer.description" role="desc"> +<title role="desc.title">Description</title> + +</refsect1> +<refsect1 id="cairo-cairo-surface-observer.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-surface-create-observer" role="function" condition="since:1.12"> +<title>cairo_surface_create_observer ()</title> +<indexterm zone="cairo-surface-create-observer" role="1.12"><primary sortas="surface_create_observer">cairo_surface_create_observer</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_surface_create_observer (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *target</parameter>, + <parameter><link linkend="cairo-surface-observer-mode-t"><type>cairo_surface_observer_mode_t</type></link> mode</parameter>);</programlisting> +<para>Create a new surface that exists solely to watch another is doing. In +the process it will log operations and times, which are fast, which are +slow, which are frequent, etc.</para> +<para>The <parameter>mode</parameter> + parameter can be set to either CAIRO_SURFACE_OBSERVER_NORMAL +or CAIRO_SURFACE_OBSERVER_RECORD_OPERATIONS, to control whether or not +the internal observer should record operations.</para> +<refsect3 id="cairo-surface-create-observer.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>target</para></entry> +<entry role="parameter_description"><para>an existing surface for which the observer will watch</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>mode</para></entry> +<entry role="parameter_description"><para>sets the mode of operation (normal vs. record)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-create-observer.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly allocated surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if <parameter>other</parameter> +is already in an error state +or any other error occurs.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-surface-observer-add-fill-callback" role="function"> +<title>cairo_surface_observer_add_fill_callback ()</title> +<indexterm zone="cairo-surface-observer-add-fill-callback"><primary sortas="surface_observer_add_fill_callback">cairo_surface_observer_add_fill_callback</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_observer_add_fill_callback + (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *abstract_surface</parameter>, + <parameter><link linkend="cairo-surface-observer-callback-t"><type>cairo_surface_observer_callback_t</type></link> func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *data</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-surface-observer-add-finish-callback" role="function"> +<title>cairo_surface_observer_add_finish_callback ()</title> +<indexterm zone="cairo-surface-observer-add-finish-callback"><primary sortas="surface_observer_add_finish_callback">cairo_surface_observer_add_finish_callback</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_observer_add_finish_callback + (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *abstract_surface</parameter>, + <parameter><link linkend="cairo-surface-observer-callback-t"><type>cairo_surface_observer_callback_t</type></link> func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *data</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-surface-observer-add-flush-callback" role="function"> +<title>cairo_surface_observer_add_flush_callback ()</title> +<indexterm zone="cairo-surface-observer-add-flush-callback"><primary sortas="surface_observer_add_flush_callback">cairo_surface_observer_add_flush_callback</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_observer_add_flush_callback + (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *abstract_surface</parameter>, + <parameter><link linkend="cairo-surface-observer-callback-t"><type>cairo_surface_observer_callback_t</type></link> func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *data</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-surface-observer-add-glyphs-callback" role="function"> +<title>cairo_surface_observer_add_glyphs_callback ()</title> +<indexterm zone="cairo-surface-observer-add-glyphs-callback"><primary sortas="surface_observer_add_glyphs_callback">cairo_surface_observer_add_glyphs_callback</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_observer_add_glyphs_callback + (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *abstract_surface</parameter>, + <parameter><link linkend="cairo-surface-observer-callback-t"><type>cairo_surface_observer_callback_t</type></link> func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *data</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-surface-observer-add-mask-callback" role="function"> +<title>cairo_surface_observer_add_mask_callback ()</title> +<indexterm zone="cairo-surface-observer-add-mask-callback"><primary sortas="surface_observer_add_mask_callback">cairo_surface_observer_add_mask_callback</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_observer_add_mask_callback + (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *abstract_surface</parameter>, + <parameter><link linkend="cairo-surface-observer-callback-t"><type>cairo_surface_observer_callback_t</type></link> func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *data</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-surface-observer-add-paint-callback" role="function"> +<title>cairo_surface_observer_add_paint_callback ()</title> +<indexterm zone="cairo-surface-observer-add-paint-callback"><primary sortas="surface_observer_add_paint_callback">cairo_surface_observer_add_paint_callback</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_observer_add_paint_callback + (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *abstract_surface</parameter>, + <parameter><link linkend="cairo-surface-observer-callback-t"><type>cairo_surface_observer_callback_t</type></link> func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *data</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-surface-observer-add-stroke-callback" role="function"> +<title>cairo_surface_observer_add_stroke_callback ()</title> +<indexterm zone="cairo-surface-observer-add-stroke-callback"><primary sortas="surface_observer_add_stroke_callback">cairo_surface_observer_add_stroke_callback</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_observer_add_stroke_callback + (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *abstract_surface</parameter>, + <parameter><link linkend="cairo-surface-observer-callback-t"><type>cairo_surface_observer_callback_t</type></link> func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *data</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-surface-observer-callback-t" role="function"> +<title>cairo_surface_observer_callback_t ()</title> +<indexterm zone="cairo-surface-observer-callback-t"><primary sortas="surface_observer_callback_t">cairo_surface_observer_callback_t</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_surface_observer_callback_t<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *observer</parameter>, + <parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *target</parameter>, + <parameter><link linkend="void"><type>void</type></link> *data</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-surface-observer-elapsed" role="function"> +<title>cairo_surface_observer_elapsed ()</title> +<indexterm zone="cairo-surface-observer-elapsed"><primary sortas="surface_observer_elapsed">cairo_surface_observer_elapsed</primary></indexterm> +<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> +cairo_surface_observer_elapsed (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +</refsect2> +<refsect2 id="cairo-surface-observer-print" role="function"> +<title>cairo_surface_observer_print ()</title> +<indexterm zone="cairo-surface-observer-print"><primary sortas="surface_observer_print">cairo_surface_observer_print</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_observer_print (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="cairo-write-func-t"><type>cairo_write_func_t</type></link> write_func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *closure</parameter>);</programlisting> +</refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-surface-observer.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-OBSERVER-SURFACE:CAPS" role="macro"> +<title>CAIRO_HAS_OBSERVER_SURFACE</title> +<indexterm zone="CAIRO-HAS-OBSERVER-SURFACE:CAPS"><primary sortas="HAS_OBSERVER_SURFACE">CAIRO_HAS_OBSERVER_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_OBSERVER_SURFACE 1 +</programlisting> +</refsect2> +<refsect2 id="cairo-surface-observer-mode-t" role="enum" condition="since:1.12"> +<title>enum cairo_surface_observer_mode_t</title> +<indexterm zone="cairo-surface-observer-mode-t" role="1.12"><primary sortas="surface_observer_mode_t">cairo_surface_observer_mode_t</primary></indexterm> +<para>Whether operations should be recorded.</para> +<refsect3 id="cairo-surface-observer-mode-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-OBSERVER-NORMAL:CAPS">CAIRO_SURFACE_OBSERVER_NORMAL</para></entry> +<entry role="enum_member_description"><para>no recording is done</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-OBSERVER-RECORD-OPERATIONS:CAPS">CAIRO_SURFACE_OBSERVER_RECORD_OPERATIONS</para></entry> +<entry role="enum_member_description"><para>operations are recorded</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-surface.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-surface.xml new file mode 100644 index 0000000..2b8e112 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-surface.xml @@ -0,0 +1,1525 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-cairo-surface-t"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-cairo-surface-t.top_of_page">cairo_surface_t</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>cairo_surface_t</refname> +<refpurpose>Base class for surfaces</refpurpose> +</refnamediv> + +<refsect1 id="cairo-cairo-surface-t.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-surface-create-similar">cairo_surface_create_similar</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-surface-create-similar-image">cairo_surface_create_similar_image</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-surface-create-for-rectangle">cairo_surface_create_for_rectangle</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-surface-reference">cairo_surface_reference</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-destroy">cairo_surface_destroy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-status">cairo_surface_status</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-finish">cairo_surface_finish</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-flush">cairo_surface_flush</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-device-t"><returnvalue>cairo_device_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-surface-get-device">cairo_surface_get_device</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-get-font-options">cairo_surface_get_font_options</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-content-t"><returnvalue>cairo_content_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-get-content">cairo_surface_get_content</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-mark-dirty">cairo_surface_mark_dirty</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-mark-dirty-rectangle">cairo_surface_mark_dirty_rectangle</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-set-device-offset">cairo_surface_set_device_offset</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-get-device-offset">cairo_surface_get_device_offset</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-get-device-scale">cairo_surface_get_device_scale</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-set-device-scale">cairo_surface_set_device_scale</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-set-fallback-resolution">cairo_surface_set_fallback_resolution</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-get-fallback-resolution">cairo_surface_get_fallback_resolution</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-type-t"><returnvalue>cairo_surface_type_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-get-type">cairo_surface_get_type</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-get-reference-count">cairo_surface_get_reference_count</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-set-user-data">cairo_surface_set_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-surface-get-user-data">cairo_surface_get_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-copy-page">cairo_surface_copy_page</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-show-page">cairo_surface_show_page</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-has-show-text-glyphs">cairo_surface_has_show_text_glyphs</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-set-mime-data">cairo_surface_set_mime_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-get-mime-data">cairo_surface_get_mime_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-supports-mime-type">cairo_surface_supports_mime_type</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-surface-map-to-image">cairo_surface_map_to_image</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-surface-unmap-image">cairo_surface_unmap_image</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-cairo-surface-t.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-MIME-SURFACE:CAPS">CAIRO_HAS_MIME_SURFACE</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-MIME-TYPE-CCITT-FAX:CAPS">CAIRO_MIME_TYPE_CCITT_FAX</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-MIME-TYPE-EPS:CAPS">CAIRO_MIME_TYPE_EPS</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS">CAIRO_MIME_TYPE_EPS_PARAMS</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-MIME-TYPE-JBIG2:CAPS">CAIRO_MIME_TYPE_JBIG2</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS">CAIRO_MIME_TYPE_JBIG2_GLOBAL</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-MIME-TYPE-JP2:CAPS">CAIRO_MIME_TYPE_JP2</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-MIME-TYPE-JPEG:CAPS">CAIRO_MIME_TYPE_JPEG</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-MIME-TYPE-PNG:CAPS">CAIRO_MIME_TYPE_PNG</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-MIME-TYPE-URI:CAPS">CAIRO_MIME_TYPE_URI</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS">CAIRO_MIME_TYPE_UNIQUE_ID</link></entry></row> +<row><entry role="typedef_keyword">typedef</entry><entry role="function_name"><link linkend="cairo-surface-t">cairo_surface_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-content-t">cairo_content_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-surface-type-t">cairo_surface_type_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-cairo-surface-t.description" role="desc"> +<title role="desc.title">Description</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> is the abstract type representing all different drawing +targets that cairo can render to. The actual drawings are +performed using a cairo <firstterm>context</firstterm>.</para> +<para>A cairo surface is created by using <firstterm>backend</firstterm>-specific +constructors, typically of the form +<function>cairo_<emphasis>backend</emphasis>_surface_create(<!-- -->)</function>.</para> +<para>Most surface types allow accessing the surface without using Cairo +functions. If you do this, keep in mind that it is mandatory that you call +<link linkend="cairo-surface-flush"><function>cairo_surface_flush()</function></link> before reading from or writing to the surface and that +you must use <link linkend="cairo-surface-mark-dirty"><function>cairo_surface_mark_dirty()</function></link> after modifying it.</para> +<example> +<title>Directly modifying an image surface</title> +<programlisting> +void +modify_image_surface (cairo_surface_t *surface) +{ + unsigned char *data; + int width, height, stride; + + // flush to ensure all writing to the image was done + cairo_surface_flush (surface); + + // modify the image + data = cairo_image_surface_get_data (surface); + width = cairo_image_surface_get_width (surface); + height = cairo_image_surface_get_height (surface); + stride = cairo_image_surface_get_stride (surface); + modify_image_data (data, width, height, stride); + + // mark the image dirty so Cairo clears its caches. + cairo_surface_mark_dirty (surface); +} +</programlisting> +</example> +<para>Note that for other surface types it might be necessary to acquire the +surface's device first. See <link linkend="cairo-device-acquire"><function>cairo_device_acquire()</function></link> for a discussion of +devices.</para> + +</refsect1> +<refsect1 id="cairo-cairo-surface-t.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-surface-create-similar" role="function" condition="since:1.0"> +<title>cairo_surface_create_similar ()</title> +<indexterm zone="cairo-surface-create-similar" role="1.0"><primary sortas="surface_create_similar">cairo_surface_create_similar</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_surface_create_similar (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *other</parameter>, + <parameter><link linkend="cairo-content-t"><type>cairo_content_t</type></link> content</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Create a new surface that is as compatible as possible with an +existing surface. For example the new surface will have the same +device scale, fallback resolution and font options as +<parameter>other</parameter> +. Generally, the new surface will also use the same backend +as <parameter>other</parameter> +, unless that is not possible for some reason. The type of +the returned surface may be examined with +<link linkend="cairo-surface-get-type"><function>cairo_surface_get_type()</function></link>.</para> +<para>Initially the surface contents are all 0 (transparent if contents +have transparency, black otherwise.)</para> +<para>Use <link linkend="cairo-surface-create-similar-image"><function>cairo_surface_create_similar_image()</function></link> if you need an image surface +which can be painted quickly to the target surface.</para> +<refsect3 id="cairo-surface-create-similar.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>other</para></entry> +<entry role="parameter_description"><para>an existing surface used to select the backend of the new surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>content</para></entry> +<entry role="parameter_description"><para>the content for the new surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>width of the new surface, (in device-space units)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>height of the new surface (in device-space units)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-create-similar.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly allocated surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if <parameter>other</parameter> +is already in an error state +or any other error occurs.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-create-similar-image" role="function" condition="since:1.12"> +<title>cairo_surface_create_similar_image ()</title> +<indexterm zone="cairo-surface-create-similar-image" role="1.12"><primary sortas="surface_create_similar_image">cairo_surface_create_similar_image</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_surface_create_similar_image (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *other</parameter>, + <parameter><link linkend="cairo-format-t"><type>cairo_format_t</type></link> format</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Create a new image surface that is as compatible as possible for uploading +to and the use in conjunction with an existing surface. However, this surface +can still be used like any normal image surface. Unlike +<link linkend="cairo-surface-create-similar"><function>cairo_surface_create_similar()</function></link> the new image surface won't inherit +the device scale from <parameter>other</parameter> +.</para> +<para>Initially the surface contents are all 0 (transparent if contents +have transparency, black otherwise.)</para> +<para>Use <link linkend="cairo-surface-create-similar"><function>cairo_surface_create_similar()</function></link> if you don't need an image surface.</para> +<refsect3 id="cairo-surface-create-similar-image.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>other</para></entry> +<entry role="parameter_description"><para>an existing surface used to select the preference of the new surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>format</para></entry> +<entry role="parameter_description"><para>the format for the new surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>width of the new surface, (in pixels)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>height of the new surface (in pixels)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-create-similar-image.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly allocated image surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if <parameter>other</parameter> +is already in an error state +or any other error occurs.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-surface-create-for-rectangle" role="function" condition="since:1.10"> +<title>cairo_surface_create_for_rectangle ()</title> +<indexterm zone="cairo-surface-create-for-rectangle" role="1.10"><primary sortas="surface_create_for_rectangle">cairo_surface_create_for_rectangle</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_surface_create_for_rectangle (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *target</parameter>, + <parameter><link linkend="double"><type>double</type></link> x</parameter>, + <parameter><link linkend="double"><type>double</type></link> y</parameter>, + <parameter><link linkend="double"><type>double</type></link> width</parameter>, + <parameter><link linkend="double"><type>double</type></link> height</parameter>);</programlisting> +<para>Create a new surface that is a rectangle within the target surface. +All operations drawn to this surface are then clipped and translated +onto the target surface. Nothing drawn via this sub-surface outside of +its bounds is drawn onto the target surface, making this a useful method +for passing constrained child surfaces to library routines that draw +directly onto the parent surface, i.e. with no further backend allocations, +double buffering or copies.</para> +<note><para>The semantics of subsurfaces have not been finalized yet +unless the rectangle is in full device units, is contained within +the extents of the target surface, and the target or subsurface's +device transforms are not changed.</para></note> +<refsect3 id="cairo-surface-create-for-rectangle.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>target</para></entry> +<entry role="parameter_description"><para>an existing surface for which the sub-surface will point to</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>the x-origin of the sub-surface from the top-left of the target surface (in device-space units)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>the y-origin of the sub-surface from the top-left of the target surface (in device-space units)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>width of the sub-surface (in device-space units)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>height of the sub-surface (in device-space units)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-create-for-rectangle.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly allocated surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if <parameter>other</parameter> +is already in an error state +or any other error occurs.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-surface-reference" role="function" condition="since:1.0"> +<title>cairo_surface_reference ()</title> +<indexterm zone="cairo-surface-reference" role="1.0"><primary sortas="surface_reference">cairo_surface_reference</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_surface_reference (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Increases the reference count on <parameter>surface</parameter> + by one. This prevents +<parameter>surface</parameter> + from being destroyed until a matching call to +<link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> is made.</para> +<para>Use <link linkend="cairo-surface-get-reference-count"><function>cairo_surface_get_reference_count()</function></link> to get the number of +references to a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link>.</para> +<refsect3 id="cairo-surface-reference.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-reference.returns" role="returns"> +<title>Returns</title> +<para> the referenced <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-destroy" role="function" condition="since:1.0"> +<title>cairo_surface_destroy ()</title> +<indexterm zone="cairo-surface-destroy" role="1.0"><primary sortas="surface_destroy">cairo_surface_destroy</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_destroy (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Decreases the reference count on <parameter>surface</parameter> + by one. If the result is +zero, then <parameter>surface</parameter> + and all associated resources are freed. See +<link linkend="cairo-surface-reference"><function>cairo_surface_reference()</function></link>.</para> +<refsect3 id="cairo-surface-destroy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-status" role="function" condition="since:1.0"> +<title>cairo_surface_status ()</title> +<indexterm zone="cairo-surface-status" role="1.0"><primary sortas="surface_status">cairo_surface_status</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_status (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Checks whether an error has previously occurred for this +surface.</para> +<refsect3 id="cairo-surface-status.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-status.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>, <link linkend="CAIRO-STATUS-NULL-POINTER:CAPS"><literal>CAIRO_STATUS_NULL_POINTER</literal></link>, +<link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link>, <link linkend="CAIRO-STATUS-READ-ERROR:CAPS"><literal>CAIRO_STATUS_READ_ERROR</literal></link>, +<link linkend="CAIRO-STATUS-INVALID-CONTENT:CAPS"><literal>CAIRO_STATUS_INVALID_CONTENT</literal></link>, <link linkend="CAIRO-STATUS-INVALID-FORMAT:CAPS"><literal>CAIRO_STATUS_INVALID_FORMAT</literal></link>, or +<link linkend="CAIRO-STATUS-INVALID-VISUAL:CAPS"><literal>CAIRO_STATUS_INVALID_VISUAL</literal></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-finish" role="function" condition="since:1.0"> +<title>cairo_surface_finish ()</title> +<indexterm zone="cairo-surface-finish" role="1.0"><primary sortas="surface_finish">cairo_surface_finish</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_finish (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>This function finishes the surface and drops all references to +external resources. For example, for the Xlib backend it means +that cairo will no longer access the drawable, which can be freed. +After calling <link linkend="cairo-surface-finish"><function>cairo_surface_finish()</function></link> the only valid operations on a +surface are getting and setting user, referencing and +destroying, and flushing and finishing it. +Further drawing to the surface will not affect the +surface but will instead trigger a <link linkend="CAIRO-STATUS-SURFACE-FINISHED:CAPS"><literal>CAIRO_STATUS_SURFACE_FINISHED</literal></link> +error.</para> +<para>When the last call to <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> decreases the +reference count to zero, cairo will call <link linkend="cairo-surface-finish"><function>cairo_surface_finish()</function></link> if +it hasn't been called already, before freeing the resources +associated with the surface.</para> +<refsect3 id="cairo-surface-finish.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>the <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> to finish</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-flush" role="function" condition="since:1.0"> +<title>cairo_surface_flush ()</title> +<indexterm zone="cairo-surface-flush" role="1.0"><primary sortas="surface_flush">cairo_surface_flush</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_flush (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Do any pending drawing for the surface and also restore any temporary +modifications cairo has made to the surface's state. This function +must be called before switching from drawing on the surface with +cairo to drawing on it directly with native APIs, or accessing its +memory outside of Cairo. If the surface doesn't support direct +access, then this function does nothing.</para> +<refsect3 id="cairo-surface-flush.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-get-device" role="function" condition="since:1.10"> +<title>cairo_surface_get_device ()</title> +<indexterm zone="cairo-surface-get-device" role="1.10"><primary sortas="surface_get_device">cairo_surface_get_device</primary></indexterm> +<programlisting language="C"><link linkend="cairo-device-t"><returnvalue>cairo_device_t</returnvalue></link> * +cairo_surface_get_device (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>This function returns the device for a <parameter>surface</parameter> +. +See <link linkend="cairo-device-t"><type>cairo_device_t</type></link>.</para> +<refsect3 id="cairo-surface-get-device.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-get-device.returns" role="returns"> +<title>Returns</title> +<para> The device for <parameter>surface</parameter> +or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the surface does +not have an associated device.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-surface-get-font-options" role="function" condition="since:1.0"> +<title>cairo_surface_get_font_options ()</title> +<indexterm zone="cairo-surface-get-font-options" role="1.0"><primary sortas="surface_get_font_options">cairo_surface_get_font_options</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_get_font_options (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Retrieves the default font rendering options for the surface. +This allows display surfaces to report the correct subpixel order +for rendering on them, print surfaces to disable hinting of +metrics and so forth. The result can then be used with +<link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>.</para> +<refsect3 id="cairo-surface-get-font-options.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> object into which to store +the retrieved options. All existing values are overwritten</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-get-content" role="function" condition="since:1.2"> +<title>cairo_surface_get_content ()</title> +<indexterm zone="cairo-surface-get-content" role="1.2"><primary sortas="surface_get_content">cairo_surface_get_content</primary></indexterm> +<programlisting language="C"><link linkend="cairo-content-t"><returnvalue>cairo_content_t</returnvalue></link> +cairo_surface_get_content (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>This function returns the content type of <parameter>surface</parameter> + which indicates +whether the surface contains color and/or alpha information. See +<link linkend="cairo-content-t"><type>cairo_content_t</type></link>.</para> +<refsect3 id="cairo-surface-get-content.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-get-content.returns" role="returns"> +<title>Returns</title> +<para> The content type of <parameter>surface</parameter> +.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-surface-mark-dirty" role="function" condition="since:1.0"> +<title>cairo_surface_mark_dirty ()</title> +<indexterm zone="cairo-surface-mark-dirty" role="1.0"><primary sortas="surface_mark_dirty">cairo_surface_mark_dirty</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_mark_dirty (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Tells cairo that drawing has been done to surface using means other +than cairo, and that cairo should reread any cached areas. Note +that you must call <link linkend="cairo-surface-flush"><function>cairo_surface_flush()</function></link> before doing such drawing.</para> +<refsect3 id="cairo-surface-mark-dirty.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-mark-dirty-rectangle" role="function" condition="since:1.0"> +<title>cairo_surface_mark_dirty_rectangle ()</title> +<indexterm zone="cairo-surface-mark-dirty-rectangle" role="1.0"><primary sortas="surface_mark_dirty_rectangle">cairo_surface_mark_dirty_rectangle</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_mark_dirty_rectangle (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="int"><type>int</type></link> x</parameter>, + <parameter><link linkend="int"><type>int</type></link> y</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Like <link linkend="cairo-surface-mark-dirty"><function>cairo_surface_mark_dirty()</function></link>, but drawing has been done only to +the specified rectangle, so that cairo can retain cached contents +for other parts of the surface.</para> +<para>Any cached clip set on the surface will be reset by this function, +to make sure that future cairo calls have the clip set that they +expect.</para> +<refsect3 id="cairo-surface-mark-dirty-rectangle.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>X coordinate of dirty rectangle</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>Y coordinate of dirty rectangle</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>width of dirty rectangle</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>height of dirty rectangle</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-set-device-offset" role="function" condition="since:1.0"> +<title>cairo_surface_set_device_offset ()</title> +<indexterm zone="cairo-surface-set-device-offset" role="1.0"><primary sortas="surface_set_device_offset">cairo_surface_set_device_offset</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_set_device_offset (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="double"><type>double</type></link> x_offset</parameter>, + <parameter><link linkend="double"><type>double</type></link> y_offset</parameter>);</programlisting> +<para>Sets an offset that is added to the device coordinates determined +by the CTM when drawing to <parameter>surface</parameter> +. One use case for this function +is when we want to create a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> that redirects drawing +for a portion of an onscreen surface to an offscreen surface in a +way that is completely invisible to the user of the cairo +API. Setting a transformation via <link linkend="cairo-translate"><function>cairo_translate()</function></link> isn't +sufficient to do this, since functions like +<link linkend="cairo-device-to-user"><function>cairo_device_to_user()</function></link> will expose the hidden offset.</para> +<para>Note that the offset affects drawing to the surface as well as +using the surface in a source pattern.</para> +<refsect3 id="cairo-surface-set-device-offset.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x_offset</para></entry> +<entry role="parameter_description"><para>the offset in the X direction, in device units</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y_offset</para></entry> +<entry role="parameter_description"><para>the offset in the Y direction, in device units</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-get-device-offset" role="function" condition="since:1.2"> +<title>cairo_surface_get_device_offset ()</title> +<indexterm zone="cairo-surface-get-device-offset" role="1.2"><primary sortas="surface_get_device_offset">cairo_surface_get_device_offset</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_get_device_offset (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x_offset</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y_offset</parameter>);</programlisting> +<para>This function returns the previous device offset set by +<link linkend="cairo-surface-set-device-offset"><function>cairo_surface_set_device_offset()</function></link>.</para> +<refsect3 id="cairo-surface-get-device-offset.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x_offset</para></entry> +<entry role="parameter_description"><para>the offset in the X direction, in device units</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y_offset</para></entry> +<entry role="parameter_description"><para>the offset in the Y direction, in device units</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-surface-get-device-scale" role="function" condition="since:1.14"> +<title>cairo_surface_get_device_scale ()</title> +<indexterm zone="cairo-surface-get-device-scale" role="1.14"><primary sortas="surface_get_device_scale">cairo_surface_get_device_scale</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_get_device_scale (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x_scale</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y_scale</parameter>);</programlisting> +<para>This function returns the previous device offset set by +<link linkend="cairo-surface-set-device-scale"><function>cairo_surface_set_device_scale()</function></link>.</para> +<refsect3 id="cairo-surface-get-device-scale.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x_scale</para></entry> +<entry role="parameter_description"><para>the scale in the X direction, in device units</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y_scale</para></entry> +<entry role="parameter_description"><para>the scale in the Y direction, in device units</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.14">1.14</link></para></refsect2> +<refsect2 id="cairo-surface-set-device-scale" role="function" condition="since:1.14"> +<title>cairo_surface_set_device_scale ()</title> +<indexterm zone="cairo-surface-set-device-scale" role="1.14"><primary sortas="surface_set_device_scale">cairo_surface_set_device_scale</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_set_device_scale (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="double"><type>double</type></link> x_scale</parameter>, + <parameter><link linkend="double"><type>double</type></link> y_scale</parameter>);</programlisting> +<para>Sets a scale that is multiplied to the device coordinates determined +by the CTM when drawing to <parameter>surface</parameter> +. One common use for this is to +render to very high resolution display devices at a scale factor, so +that code that assumes 1 pixel will be a certain size will still work. +Setting a transformation via <link linkend="cairo-translate"><function>cairo_translate()</function></link> isn't +sufficient to do this, since functions like +<link linkend="cairo-device-to-user"><function>cairo_device_to_user()</function></link> will expose the hidden scale.</para> +<para>Note that the scale affects drawing to the surface as well as +using the surface in a source pattern.</para> +<refsect3 id="cairo-surface-set-device-scale.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x_scale</para></entry> +<entry role="parameter_description"><para>a scale factor in the X direction</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y_scale</para></entry> +<entry role="parameter_description"><para>a scale factor in the Y direction</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.14">1.14</link></para></refsect2> +<refsect2 id="cairo-surface-set-fallback-resolution" role="function" condition="since:1.2"> +<title>cairo_surface_set_fallback_resolution ()</title> +<indexterm zone="cairo-surface-set-fallback-resolution" role="1.2"><primary sortas="surface_set_fallback_resolution">cairo_surface_set_fallback_resolution</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_set_fallback_resolution (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="double"><type>double</type></link> x_pixels_per_inch</parameter>, + <parameter><link linkend="double"><type>double</type></link> y_pixels_per_inch</parameter>);</programlisting> +<para>Set the horizontal and vertical resolution for image fallbacks.</para> +<para>When certain operations aren't supported natively by a backend, +cairo will fallback by rendering operations to an image and then +overlaying that image onto the output. For backends that are +natively vector-oriented, this function can be used to set the +resolution used for these image fallbacks, (larger values will +result in more detailed images, but also larger file sizes).</para> +<para>Some examples of natively vector-oriented backends are the ps, pdf, +and svg backends.</para> +<para>For backends that are natively raster-oriented, image fallbacks are +still possible, but they are always performed at the native +device resolution. So this function has no effect on those +backends.</para> +<para>Note: The fallback resolution only takes effect at the time of +completing a page (with <link linkend="cairo-show-page"><function>cairo_show_page()</function></link> or <link linkend="cairo-copy-page"><function>cairo_copy_page()</function></link>) so +there is currently no way to have more than one fallback resolution +in effect on a single page.</para> +<para>The default fallback resoultion is 300 pixels per inch in both +dimensions.</para> +<refsect3 id="cairo-surface-set-fallback-resolution.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x_pixels_per_inch</para></entry> +<entry role="parameter_description"><para>horizontal setting for pixels per inch</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y_pixels_per_inch</para></entry> +<entry role="parameter_description"><para>vertical setting for pixels per inch</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-surface-get-fallback-resolution" role="function" condition="since:1.8"> +<title>cairo_surface_get_fallback_resolution ()</title> +<indexterm zone="cairo-surface-get-fallback-resolution" role="1.8"><primary sortas="surface_get_fallback_resolution">cairo_surface_get_fallback_resolution</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_get_fallback_resolution (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x_pixels_per_inch</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y_pixels_per_inch</parameter>);</programlisting> +<para>This function returns the previous fallback resolution set by +<link linkend="cairo-surface-set-fallback-resolution"><function>cairo_surface_set_fallback_resolution()</function></link>, or default fallback +resolution if never set.</para> +<refsect3 id="cairo-surface-get-fallback-resolution.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x_pixels_per_inch</para></entry> +<entry role="parameter_description"><para>horizontal pixels per inch</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y_pixels_per_inch</para></entry> +<entry role="parameter_description"><para>vertical pixels per inch</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-surface-get-type" role="function" condition="since:1.2"> +<title>cairo_surface_get_type ()</title> +<indexterm zone="cairo-surface-get-type" role="1.2"><primary sortas="surface_get_type">cairo_surface_get_type</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-type-t"><returnvalue>cairo_surface_type_t</returnvalue></link> +cairo_surface_get_type (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>This function returns the type of the backend used to create +a surface. See <link linkend="cairo-surface-type-t"><type>cairo_surface_type_t</type></link> for available types.</para> +<refsect3 id="cairo-surface-get-type.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-get-type.returns" role="returns"> +<title>Returns</title> +<para> The type of <parameter>surface</parameter> +.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-surface-get-reference-count" role="function" condition="since:1.4"> +<title>cairo_surface_get_reference_count ()</title> +<indexterm zone="cairo-surface-get-reference-count" role="1.4"><primary sortas="surface_get_reference_count">cairo_surface_get_reference_count</primary></indexterm> +<programlisting language="C">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +cairo_surface_get_reference_count (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Returns the current reference count of <parameter>surface</parameter> +.</para> +<refsect3 id="cairo-surface-get-reference-count.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-get-reference-count.returns" role="returns"> +<title>Returns</title> +<para> the current reference count of <parameter>surface</parameter> +. If the +object is a nil object, 0 will be returned.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-surface-set-user-data" role="function" condition="since:1.0"> +<title>cairo_surface_set_user_data ()</title> +<indexterm zone="cairo-surface-set-user-data" role="1.0"><primary sortas="surface_set_user_data">cairo_surface_set_user_data</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_set_user_data (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>, + <parameter><link linkend="void"><type>void</type></link> *user_data</parameter>, + <parameter><link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> destroy</parameter>);</programlisting> +<para>Attach user data to <parameter>surface</parameter> +. To remove user data from a surface, +call this function with the key that was used to set it and <link linkend="NULL:CAPS"><literal>NULL</literal></link> +for <parameter>data</parameter> +.</para> +<refsect3 id="cairo-surface-set-user-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>key</para></entry> +<entry role="parameter_description"><para>the address of a <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> to attach the user data to</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>user_data</para></entry> +<entry role="parameter_description"><para>the user data to attach to the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>destroy</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> which will be called when the +surface is destroyed or when new user data is attached using the +same key.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-set-user-data.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> if a +slot could not be allocated for the user data.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-get-user-data" role="function" condition="since:1.0"> +<title>cairo_surface_get_user_data ()</title> +<indexterm zone="cairo-surface-get-user-data" role="1.0"><primary sortas="surface_get_user_data">cairo_surface_get_user_data</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> * +cairo_surface_get_user_data (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>);</programlisting> +<para>Return user data previously attached to <parameter>surface</parameter> + using the specified +key. If no user data has been attached with the given key this +function returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +<refsect3 id="cairo-surface-get-user-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>key</para></entry> +<entry role="parameter_description"><para>the address of the <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> the user data was +attached to</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-get-user-data.returns" role="returns"> +<title>Returns</title> +<para> the user data previously attached or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-copy-page" role="function" condition="since:1.6"> +<title>cairo_surface_copy_page ()</title> +<indexterm zone="cairo-surface-copy-page" role="1.6"><primary sortas="surface_copy_page">cairo_surface_copy_page</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_copy_page (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Emits the current page for backends that support multiple pages, +but doesn't clear it, so that the contents of the current page will +be retained for the next page. Use <link linkend="cairo-surface-show-page"><function>cairo_surface_show_page()</function></link> if you +want to get an empty page after the emission.</para> +<para>There is a convenience function for this that takes a <link linkend="cairo-t"><type>cairo_t</type></link>, +namely <link linkend="cairo-copy-page"><function>cairo_copy_page()</function></link>.</para> +<refsect3 id="cairo-surface-copy-page.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-surface-show-page" role="function" condition="since:1.6"> +<title>cairo_surface_show_page ()</title> +<indexterm zone="cairo-surface-show-page" role="1.6"><primary sortas="surface_show_page">cairo_surface_show_page</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_show_page (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Emits and clears the current page for backends that support multiple +pages. Use <link linkend="cairo-surface-copy-page"><function>cairo_surface_copy_page()</function></link> if you don't want to clear the page.</para> +<para>There is a convenience function for this that takes a <link linkend="cairo-t"><type>cairo_t</type></link>, +namely <link linkend="cairo-show-page"><function>cairo_show_page()</function></link>.</para> +<refsect3 id="cairo-surface-show-page.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-Surface-t"><type>cairo_Surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-surface-has-show-text-glyphs" role="function" condition="since:1.8"> +<title>cairo_surface_has_show_text_glyphs ()</title> +<indexterm zone="cairo-surface-has-show-text-glyphs" role="1.8"><primary sortas="surface_has_show_text_glyphs">cairo_surface_has_show_text_glyphs</primary></indexterm> +<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +cairo_surface_has_show_text_glyphs (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Returns whether the surface supports +sophisticated <link linkend="cairo-show-text-glyphs"><function>cairo_show_text_glyphs()</function></link> operations. That is, +whether it actually uses the provided text and cluster data +to a <link linkend="cairo-show-text-glyphs"><function>cairo_show_text_glyphs()</function></link> call.</para> +<para>Note: Even if this function returns <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>, a +<link linkend="cairo-show-text-glyphs"><function>cairo_show_text_glyphs()</function></link> operation targeted at <parameter>surface</parameter> + will +still succeed. It just will +act like a <link linkend="cairo-show-glyphs"><function>cairo_show_glyphs()</function></link> operation. Users can use this +function to avoid computing UTF-8 text and cluster mapping if the +target surface does not use it.</para> +<refsect3 id="cairo-surface-has-show-text-glyphs.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-has-show-text-glyphs.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>surface</parameter> +supports +<link linkend="cairo-show-text-glyphs"><function>cairo_show_text_glyphs()</function></link>, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-surface-set-mime-data" role="function" condition="since:1.10"> +<title>cairo_surface_set_mime_data ()</title> +<indexterm zone="cairo-surface-set-mime-data" role="1.10"><primary sortas="surface_set_mime_data">cairo_surface_set_mime_data</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_surface_set_mime_data (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *mime_type</parameter>, + <parameter>const unsigned <link linkend="char"><type>char</type></link> *data</parameter>, + <parameter><type>unsigned long </type> length</parameter>, + <parameter><link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> destroy</parameter>, + <parameter><link linkend="void"><type>void</type></link> *closure</parameter>);</programlisting> +<para>Attach an image in the format <parameter>mime_type</parameter> + to <parameter>surface</parameter> +. To remove +the data from a surface, call this function with same mime type +and <link linkend="NULL:CAPS"><literal>NULL</literal></link> for <parameter>data</parameter> +.</para> +<para>The attached image (or filename) data can later be used by backends +which support it (currently: PDF, PS, SVG and Win32 Printing +surfaces) to emit this data instead of making a snapshot of the +<parameter>surface</parameter> +. This approach tends to be faster and requires less +memory and disk space.</para> +<para>The recognized MIME types are the following: <link linkend="CAIRO-MIME-TYPE-JPEG:CAPS"><literal>CAIRO_MIME_TYPE_JPEG</literal></link>, +<link linkend="CAIRO-MIME-TYPE-PNG:CAPS"><literal>CAIRO_MIME_TYPE_PNG</literal></link>, <link linkend="CAIRO-MIME-TYPE-JP2:CAPS"><literal>CAIRO_MIME_TYPE_JP2</literal></link>, <link linkend="CAIRO-MIME-TYPE-URI:CAPS"><literal>CAIRO_MIME_TYPE_URI</literal></link>, +<link linkend="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS"><literal>CAIRO_MIME_TYPE_UNIQUE_ID</literal></link>, <link linkend="CAIRO-MIME-TYPE-JBIG2:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2</literal></link>, +<link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2_GLOBAL</literal></link>, <link linkend="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS"><literal>CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</literal></link>, +<link linkend="CAIRO-MIME-TYPE-CCITT-FAX:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX</literal></link>, <link linkend="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS"><literal>CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</literal></link>.</para> +<para>See corresponding backend surface docs for details about which MIME +types it can handle. Caution: the associated MIME data will be +discarded if you draw on the surface afterwards. Use this function +with care.</para> +<para>Even if a backend supports a MIME type, that does not mean cairo +will always be able to use the attached MIME data. For example, if +the backend does not natively support the compositing operation used +to apply the MIME data to the backend. In that case, the MIME data +will be ignored. Therefore, to apply an image in all cases, it is best +to create an image surface which contains the decoded image data and +then attach the MIME data to that. This ensures the image will always +be used while still allowing the MIME data to be used whenever +possible.</para> +<refsect3 id="cairo-surface-set-mime-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>mime_type</para></entry> +<entry role="parameter_description"><para>the MIME type of the image data</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>data</para></entry> +<entry role="parameter_description"><para>the image data to attach to the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>length</para></entry> +<entry role="parameter_description"><para>the length of the image data</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>destroy</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> which will be called when the +surface is destroyed or when new image data is attached using the +same mime type.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>closure</para></entry> +<entry role="parameter_description"><para>the data to be passed to the <parameter>destroy</parameter> +notifier</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-set-mime-data.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> if a +slot could not be allocated for the user data.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-surface-get-mime-data" role="function" condition="since:1.10"> +<title>cairo_surface_get_mime_data ()</title> +<indexterm zone="cairo-surface-get-mime-data" role="1.10"><primary sortas="surface_get_mime_data">cairo_surface_get_mime_data</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_get_mime_data (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *mime_type</parameter>, + <parameter>const unsigned <link linkend="char"><type>char</type></link> **data</parameter>, + <parameter>unsigned <link linkend="long"><type>long</type></link> *length</parameter>);</programlisting> +<para>Return mime data previously attached to <parameter>surface</parameter> + using the +specified mime type. If no data has been attached with the given +mime type, <parameter>data</parameter> + is set <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +<refsect3 id="cairo-surface-get-mime-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>mime_type</para></entry> +<entry role="parameter_description"><para>the mime type of the image data</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>data</para></entry> +<entry role="parameter_description"><para>the image data to attached to the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>length</para></entry> +<entry role="parameter_description"><para>the length of the image data</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-surface-supports-mime-type" role="function" condition="since:1.12"> +<title>cairo_surface_supports_mime_type ()</title> +<indexterm zone="cairo-surface-supports-mime-type" role="1.12"><primary sortas="surface_supports_mime_type">cairo_surface_supports_mime_type</primary></indexterm> +<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +cairo_surface_supports_mime_type (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *mime_type</parameter>);</programlisting> +<para>Return whether <parameter>surface</parameter> + supports <parameter>mime_type</parameter> +.</para> +<refsect3 id="cairo-surface-supports-mime-type.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>mime_type</para></entry> +<entry role="parameter_description"><para>the mime type</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-supports-mime-type.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>surface</parameter> +supports +<parameter>mime_type</parameter> +, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-surface-map-to-image" role="function" condition="since:1.12"> +<title>cairo_surface_map_to_image ()</title> +<indexterm zone="cairo-surface-map-to-image" role="1.12"><primary sortas="surface_map_to_image">cairo_surface_map_to_image</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_surface_map_to_image (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter>const <link linkend="cairo-rectangle-int-t"><type>cairo_rectangle_int_t</type></link> *extents</parameter>);</programlisting> +<para>Returns an image surface that is the most efficient mechanism for +modifying the backing store of the target surface. The region retrieved +may be limited to the <parameter>extents</parameter> + or <link linkend="NULL:CAPS"><literal>NULL</literal></link> for the whole surface</para> +<para>Note, the use of the original surface as a target or source whilst +it is mapped is undefined. The result of mapping the surface +multiple times is undefined. Calling <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> or +<link linkend="cairo-surface-finish"><function>cairo_surface_finish()</function></link> on the resulting image surface results in +undefined behavior. Changing the device transform of the image +surface or of <parameter>surface</parameter> + before the image surface is unmapped results +in undefined behavior.</para> +<refsect3 id="cairo-surface-map-to-image.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>an existing surface used to extract the image from</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>limit the extraction to an rectangular region</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-surface-map-to-image.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly allocated image surface. The caller +must use <link linkend="cairo-surface-unmap-image"><function>cairo_surface_unmap_image()</function></link> to destroy this image surface.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if <parameter>other</parameter> +is already in an error state +or any other error occurs. If the returned pointer does not have an +error status, it is guaranteed to be an image surface whose format +is not <link linkend="CAIRO-FORMAT-INVALID:CAPS"><literal>CAIRO_FORMAT_INVALID</literal></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-surface-unmap-image" role="function" condition="since:1.12"> +<title>cairo_surface_unmap_image ()</title> +<indexterm zone="cairo-surface-unmap-image" role="1.12"><primary sortas="surface_unmap_image">cairo_surface_unmap_image</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_surface_unmap_image (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *image</parameter>);</programlisting> +<para>Unmaps the image surface as returned from <link linkend="cairo-surface-map-to-image"><function><link linkend="cairo-surface-map-to-image"><function>cairo_surface_map_to_image()</function></link></function></link>.</para> +<para>The content of the image will be uploaded to the target surface. +Afterwards, the image is destroyed.</para> +<para>Using an image surface which wasn't returned by <link linkend="cairo-surface-map-to-image"><function>cairo_surface_map_to_image()</function></link> +results in undefined behavior.</para> +<refsect3 id="cairo-surface-unmap-image.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>the surface passed to <link linkend="cairo-surface-map-to-image"><function>cairo_surface_map_to_image()</function></link>.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>image</para></entry> +<entry role="parameter_description"><para>the currently mapped image</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-surface-t.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-MIME-SURFACE:CAPS" role="macro"> +<title>CAIRO_HAS_MIME_SURFACE</title> +<indexterm zone="CAIRO-HAS-MIME-SURFACE:CAPS"><primary sortas="HAS_MIME_SURFACE">CAIRO_HAS_MIME_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_MIME_SURFACE 1 +</programlisting> +</refsect2> +<refsect2 id="CAIRO-MIME-TYPE-CCITT-FAX:CAPS" role="macro" condition="since:1.16"> +<title>CAIRO_MIME_TYPE_CCITT_FAX</title> +<indexterm zone="CAIRO-MIME-TYPE-CCITT-FAX:CAPS" role="1.16"><primary sortas="MIME_TYPE_CCITT_FAX">CAIRO_MIME_TYPE_CCITT_FAX</primary></indexterm> +<programlisting language="C">#define CAIRO_MIME_TYPE_CCITT_FAX "image/g3fax" +</programlisting> +<para>Group 3 or Group 4 CCITT facsimile encoding (International +Telecommunication Union, Recommendations T.4 and T.6.)</para> +<para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" role="macro" condition="since:1.16"> +<title>CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</title> +<indexterm zone="CAIRO-MIME-TYPE-CCITT-FAX-PARAMS:CAPS" role="1.16"><primary sortas="MIME_TYPE_CCITT_FAX_PARAMS">CAIRO_MIME_TYPE_CCITT_FAX_PARAMS</primary></indexterm> +<programlisting language="C">#define CAIRO_MIME_TYPE_CCITT_FAX_PARAMS "application/x-cairo.ccitt.params" +</programlisting> +<para>Decode parameters for Group 3 or Group 4 CCITT facsimile encoding. +See <link linkend="ccitt">CCITT Fax Images</link>.</para> +<para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="CAIRO-MIME-TYPE-EPS:CAPS" role="macro" condition="since:1.16"> +<title>CAIRO_MIME_TYPE_EPS</title> +<indexterm zone="CAIRO-MIME-TYPE-EPS:CAPS" role="1.16"><primary sortas="MIME_TYPE_EPS">CAIRO_MIME_TYPE_EPS</primary></indexterm> +<programlisting language="C">#define CAIRO_MIME_TYPE_EPS "application/postscript" +</programlisting> +<para>Encapsulated PostScript file. +<ulink url="http://wwwimages.adobe.com/content/dam/Adobe/endevnet/postscript/pdfs/5002.EPSF_Spec.pdf">Encapsulated PostScript File Format Specification</ulink></para> +<para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS" role="macro" condition="since:1.16"> +<title>CAIRO_MIME_TYPE_EPS_PARAMS</title> +<indexterm zone="CAIRO-MIME-TYPE-EPS-PARAMS:CAPS" role="1.16"><primary sortas="MIME_TYPE_EPS_PARAMS">CAIRO_MIME_TYPE_EPS_PARAMS</primary></indexterm> +<programlisting language="C">#define CAIRO_MIME_TYPE_EPS_PARAMS "application/x-cairo.eps.params" +</programlisting> +<para>Embedding parameters Encapsulated PostScript data. +See <link linkend="eps">Embedding EPS files</link>.</para> +<para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="CAIRO-MIME-TYPE-JBIG2:CAPS" role="macro" condition="since:1.14"> +<title>CAIRO_MIME_TYPE_JBIG2</title> +<indexterm zone="CAIRO-MIME-TYPE-JBIG2:CAPS" role="1.14"><primary sortas="MIME_TYPE_JBIG2">CAIRO_MIME_TYPE_JBIG2</primary></indexterm> +<programlisting language="C">#define CAIRO_MIME_TYPE_JBIG2 "application/x-cairo.jbig2" +</programlisting> +<para>Joint Bi-level Image Experts Group image coding standard (ISO/IEC 11544).</para> +<para role="since">Since: <link linkend="api-index-1.14">1.14</link></para></refsect2> +<refsect2 id="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS" role="macro" condition="since:1.14"> +<title>CAIRO_MIME_TYPE_JBIG2_GLOBAL</title> +<indexterm zone="CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS" role="1.14"><primary sortas="MIME_TYPE_JBIG2_GLOBAL">CAIRO_MIME_TYPE_JBIG2_GLOBAL</primary></indexterm> +<programlisting language="C">#define CAIRO_MIME_TYPE_JBIG2_GLOBAL "application/x-cairo.jbig2-global" +</programlisting> +<para>Joint Bi-level Image Experts Group image coding standard (ISO/IEC 11544) global segment.</para> +<para role="since">Since: <link linkend="api-index-1.14">1.14</link></para></refsect2> +<refsect2 id="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS" role="macro" condition="since:1.14"> +<title>CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</title> +<indexterm zone="CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS" role="1.14"><primary sortas="MIME_TYPE_JBIG2_GLOBAL_ID">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</primary></indexterm> +<programlisting language="C">#define CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID "application/x-cairo.jbig2-global-id" +</programlisting> +<para>An unique identifier shared by a JBIG2 global segment and all JBIG2 images +that depend on the global segment.</para> +<para role="since">Since: <link linkend="api-index-1.14">1.14</link></para></refsect2> +<refsect2 id="CAIRO-MIME-TYPE-JP2:CAPS" role="macro" condition="since:1.10"> +<title>CAIRO_MIME_TYPE_JP2</title> +<indexterm zone="CAIRO-MIME-TYPE-JP2:CAPS" role="1.10"><primary sortas="MIME_TYPE_JP2">CAIRO_MIME_TYPE_JP2</primary></indexterm> +<programlisting language="C">#define CAIRO_MIME_TYPE_JP2 "image/jp2" +</programlisting> +<para>The Joint Photographic Experts Group (JPEG) 2000 image coding standard (ISO/IEC 15444-1).</para> +<para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="CAIRO-MIME-TYPE-JPEG:CAPS" role="macro" condition="since:1.10"> +<title>CAIRO_MIME_TYPE_JPEG</title> +<indexterm zone="CAIRO-MIME-TYPE-JPEG:CAPS" role="1.10"><primary sortas="MIME_TYPE_JPEG">CAIRO_MIME_TYPE_JPEG</primary></indexterm> +<programlisting language="C">#define CAIRO_MIME_TYPE_JPEG "image/jpeg" +</programlisting> +<para>The Joint Photographic Experts Group (JPEG) image coding standard (ISO/IEC 10918-1).</para> +<para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="CAIRO-MIME-TYPE-PNG:CAPS" role="macro" condition="since:1.10"> +<title>CAIRO_MIME_TYPE_PNG</title> +<indexterm zone="CAIRO-MIME-TYPE-PNG:CAPS" role="1.10"><primary sortas="MIME_TYPE_PNG">CAIRO_MIME_TYPE_PNG</primary></indexterm> +<programlisting language="C">#define CAIRO_MIME_TYPE_PNG "image/png" +</programlisting> +<para>The Portable Network Graphics image file format (ISO/IEC 15948).</para> +<para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="CAIRO-MIME-TYPE-URI:CAPS" role="macro" condition="since:1.10"> +<title>CAIRO_MIME_TYPE_URI</title> +<indexterm zone="CAIRO-MIME-TYPE-URI:CAPS" role="1.10"><primary sortas="MIME_TYPE_URI">CAIRO_MIME_TYPE_URI</primary></indexterm> +<programlisting language="C">#define CAIRO_MIME_TYPE_URI "text/x-uri" +</programlisting> +<para>URI for an image file (unofficial MIME type).</para> +<para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" role="macro" condition="since:1.12"> +<title>CAIRO_MIME_TYPE_UNIQUE_ID</title> +<indexterm zone="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS" role="1.12"><primary sortas="MIME_TYPE_UNIQUE_ID">CAIRO_MIME_TYPE_UNIQUE_ID</primary></indexterm> +<programlisting language="C">#define CAIRO_MIME_TYPE_UNIQUE_ID "application/x-cairo.uuid" +</programlisting> +<para>Unique identifier for a surface (cairo specific MIME type). All surfaces with +the same unique identifier will only be embedded once.</para> +<para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-surface-t" role="typedef" condition="since:1.0"> +<title>cairo_surface_t</title> +<indexterm zone="cairo-surface-t" role="1.0"><primary sortas="surface_t">cairo_surface_t</primary></indexterm> +<programlisting language="C">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. To draw to a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link>, create a cairo context +with the surface as the target, using <link linkend="cairo-create"><function>cairo_create()</function></link>.</para> +<para>There are different subtypes of <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> 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. +The type of a surface can be queried with <link linkend="cairo-surface-get-type"><function>cairo_surface_get_type()</function></link>.</para> +<para>The initial contents of a surface after creation depend upon the manner +of its creation. If cairo creates the surface and backing storage for +the user, it will be initially cleared; for example, +<link linkend="cairo-image-surface-create"><function>cairo_image_surface_create()</function></link> and <link linkend="cairo-surface-create-similar"><function>cairo_surface_create_similar()</function></link>. +Alternatively, if the user passes in a reference to some backing storage +and asks cairo to wrap that in a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link>, then the contents are +not modified; for example, <link linkend="cairo-image-surface-create-for-data"><function>cairo_image_surface_create_for_data()</function></link> and +<link linkend="cairo-xlib-surface-create"><function>cairo_xlib_surface_create()</function></link>.</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 role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-content-t" role="enum" condition="since:1.0"> +<title>enum cairo_content_t</title> +<indexterm zone="cairo-content-t" role="1.0"><primary sortas="content_t">cairo_content_t</primary></indexterm> +<para><link linkend="cairo-content-t"><type>cairo_content_t</type></link> is used to describe the content that a surface will +contain, whether color information, alpha information (translucence +vs. opacity), or both.</para> +<para>Note: The large values here are designed to keep <link linkend="cairo-content-t"><type>cairo_content_t</type></link> +values distinct from <link linkend="cairo-format-t"><type>cairo_format_t</type></link> values so that the +implementation can detect the error if users confuse the two types.</para> +<refsect3 id="cairo-content-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-CONTENT-COLOR:CAPS">CAIRO_CONTENT_COLOR</para></entry> +<entry role="enum_member_description"><para>The surface will hold color content only. (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-CONTENT-ALPHA:CAPS">CAIRO_CONTENT_ALPHA</para></entry> +<entry role="enum_member_description"><para>The surface will hold alpha content only. (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-CONTENT-COLOR-ALPHA:CAPS">CAIRO_CONTENT_COLOR_ALPHA</para></entry> +<entry role="enum_member_description"><para>The surface will hold color and alpha content. (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-surface-type-t" role="enum" condition="since:1.2"> +<title>enum cairo_surface_type_t</title> +<indexterm zone="cairo-surface-type-t" role="1.2"><primary sortas="surface_type_t">cairo_surface_type_t</primary></indexterm> +<para><link linkend="cairo-surface-type-t"><type>cairo_surface_type_t</type></link> is used to describe the type of a given +surface. The surface types are also known as "backends" or "surface +backends" within cairo.</para> +<para>The type of a surface is determined by the function used to create +it, which will generally be of the form +<function>cairo_<emphasis>type</emphasis>_surface_create(<!-- -->)</function>, +(though see <link linkend="cairo-surface-create-similar"><function>cairo_surface_create_similar()</function></link> as well).</para> +<para>The surface type can be queried with <link linkend="cairo-surface-get-type"><function>cairo_surface_get_type()</function></link></para> +<para>The various <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> functions can be used with surfaces of +any type, but some backends also provide type-specific functions +that must only be called with a surface of the appropriate +type. These functions have names that begin with +<literal>cairo_<emphasis>type</emphasis>_surface</literal> such as <link linkend="cairo-image-surface-get-width"><function>cairo_image_surface_get_width()</function></link>.</para> +<para>The behavior of calling a type-specific function with a surface of +the wrong type is undefined.</para> +<para>New entries may be added in future versions.</para> +<refsect3 id="cairo-surface-type-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-IMAGE:CAPS">CAIRO_SURFACE_TYPE_IMAGE</para></entry> +<entry role="enum_member_description"><para>The surface is of type image, since 1.2</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-PDF:CAPS">CAIRO_SURFACE_TYPE_PDF</para></entry> +<entry role="enum_member_description"><para>The surface is of type pdf, since 1.2</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-PS:CAPS">CAIRO_SURFACE_TYPE_PS</para></entry> +<entry role="enum_member_description"><para>The surface is of type ps, since 1.2</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-XLIB:CAPS">CAIRO_SURFACE_TYPE_XLIB</para></entry> +<entry role="enum_member_description"><para>The surface is of type xlib, since 1.2</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-XCB:CAPS">CAIRO_SURFACE_TYPE_XCB</para></entry> +<entry role="enum_member_description"><para>The surface is of type xcb, since 1.2</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-GLITZ:CAPS">CAIRO_SURFACE_TYPE_GLITZ</para></entry> +<entry role="enum_member_description"><para>The surface is of type glitz, since 1.2</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-QUARTZ:CAPS">CAIRO_SURFACE_TYPE_QUARTZ</para></entry> +<entry role="enum_member_description"><para>The surface is of type quartz, since 1.2</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-WIN32:CAPS">CAIRO_SURFACE_TYPE_WIN32</para></entry> +<entry role="enum_member_description"><para>The surface is of type win32, since 1.2</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-BEOS:CAPS">CAIRO_SURFACE_TYPE_BEOS</para></entry> +<entry role="enum_member_description"><para>The surface is of type beos, since 1.2</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-DIRECTFB:CAPS">CAIRO_SURFACE_TYPE_DIRECTFB</para></entry> +<entry role="enum_member_description"><para>The surface is of type directfb, since 1.2</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-SVG:CAPS">CAIRO_SURFACE_TYPE_SVG</para></entry> +<entry role="enum_member_description"><para>The surface is of type svg, since 1.2</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-OS2:CAPS">CAIRO_SURFACE_TYPE_OS2</para></entry> +<entry role="enum_member_description"><para>The surface is of type os2, since 1.4</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-WIN32-PRINTING:CAPS">CAIRO_SURFACE_TYPE_WIN32_PRINTING</para></entry> +<entry role="enum_member_description"><para>The surface is a win32 printing surface, since 1.6</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-QUARTZ-IMAGE:CAPS">CAIRO_SURFACE_TYPE_QUARTZ_IMAGE</para></entry> +<entry role="enum_member_description"><para>The surface is of type quartz_image, since 1.6</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-SCRIPT:CAPS">CAIRO_SURFACE_TYPE_SCRIPT</para></entry> +<entry role="enum_member_description"><para>The surface is of type script, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-QT:CAPS">CAIRO_SURFACE_TYPE_QT</para></entry> +<entry role="enum_member_description"><para>The surface is of type Qt, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-RECORDING:CAPS">CAIRO_SURFACE_TYPE_RECORDING</para></entry> +<entry role="enum_member_description"><para>The surface is of type recording, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-VG:CAPS">CAIRO_SURFACE_TYPE_VG</para></entry> +<entry role="enum_member_description"><para>The surface is a OpenVG surface, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-GL:CAPS">CAIRO_SURFACE_TYPE_GL</para></entry> +<entry role="enum_member_description"><para>The surface is of type OpenGL, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-DRM:CAPS">CAIRO_SURFACE_TYPE_DRM</para></entry> +<entry role="enum_member_description"><para>The surface is of type Direct Render Manager, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-TEE:CAPS">CAIRO_SURFACE_TYPE_TEE</para></entry> +<entry role="enum_member_description"><para>The surface is of type 'tee' (a multiplexing surface), since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-XML:CAPS">CAIRO_SURFACE_TYPE_XML</para></entry> +<entry role="enum_member_description"><para>The surface is of type XML (for debugging), since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-SKIA:CAPS">CAIRO_SURFACE_TYPE_SKIA</para></entry> +<entry /><entry /> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-SUBSURFACE:CAPS">CAIRO_SURFACE_TYPE_SUBSURFACE</para></entry> +<entry role="enum_member_description"><para>The surface is a subsurface created with + <link linkend="cairo-surface-create-for-rectangle"><function>cairo_surface_create_for_rectangle()</function></link>, since 1.10</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SURFACE-TYPE-COGL:CAPS">CAIRO_SURFACE_TYPE_COGL</para></entry> +<entry role="enum_member_description"><para>This surface is of type Cogl, since 1.12</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-surface-t.see-also"> +<title>See Also</title> +<para><link linkend="cairo-t"><type>cairo_t</type></link>, <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-svg.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-svg.xml new file mode 100644 index 0000000..60d81dd --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-svg.xml @@ -0,0 +1,425 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-SVG-Surfaces"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-SVG-Surfaces.top_of_page">SVG Surfaces</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>SVG Surfaces</refname> +<refpurpose>Rendering SVG documents</refpurpose> +</refnamediv> + +<refsect1 id="cairo-SVG-Surfaces.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-svg-surface-create">cairo_svg_surface_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-svg-surface-create-for-stream">cairo_svg_surface_create_for_stream</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-svg-unit-t"><returnvalue>cairo_svg_unit_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-svg-surface-get-document-unit">cairo_svg_surface_get_document_unit</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-svg-surface-set-document-unit">cairo_svg_surface_set_document_unit</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-svg-surface-restrict-to-version">cairo_svg_surface_restrict_to_version</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-svg-get-versions">cairo_svg_get_versions</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-svg-version-to-string">cairo_svg_version_to_string</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-SVG-Surfaces.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-SVG-SURFACE:CAPS">CAIRO_HAS_SVG_SURFACE</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-svg-version-t">cairo_svg_version_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-svg-unit-t">cairo_svg_unit_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-SVG-Surfaces.description" role="desc"> +<title role="desc.title">Description</title> +<para>The SVG surface is used to render cairo graphics to +SVG files and is a multi-page vector surface backend.</para> + +</refsect1> +<refsect1 id="cairo-SVG-Surfaces.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-svg-surface-create" role="function" condition="since:1.2"> +<title>cairo_svg_surface_create ()</title> +<indexterm zone="cairo-svg-surface-create" role="1.2"><primary sortas="svg_surface_create">cairo_svg_surface_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_svg_surface_create (<parameter>const <link linkend="char"><type>char</type></link> *filename</parameter>, + <parameter><link linkend="double"><type>double</type></link> width_in_points</parameter>, + <parameter><link linkend="double"><type>double</type></link> height_in_points</parameter>);</programlisting> +<para>Creates a SVG surface of the specified size in points to be written +to <parameter>filename</parameter> +.</para> +<para>The SVG surface backend recognizes the following MIME types for the +data attached to a surface (see <link linkend="cairo-surface-set-mime-data"><function>cairo_surface_set_mime_data()</function></link>) when +it is used as a source pattern for drawing on this surface: +<link linkend="CAIRO-MIME-TYPE-JPEG:CAPS"><literal>CAIRO_MIME_TYPE_JPEG</literal></link>, <link linkend="CAIRO-MIME-TYPE-PNG:CAPS"><literal>CAIRO_MIME_TYPE_PNG</literal></link>, +<link linkend="CAIRO-MIME-TYPE-URI:CAPS"><literal>CAIRO_MIME_TYPE_URI</literal></link>. If any of them is specified, the SVG backend +emits a href with the content of MIME data instead of a surface +snapshot (PNG, Base64-encoded) in the corresponding image tag.</para> +<para>The unofficial MIME type <link linkend="CAIRO-MIME-TYPE-URI:CAPS"><literal>CAIRO_MIME_TYPE_URI</literal></link> is examined +first. If present, the URI is emitted as is: assuring the +correctness of URI is left to the client code.</para> +<para>If <link linkend="CAIRO-MIME-TYPE-URI:CAPS"><literal>CAIRO_MIME_TYPE_URI</literal></link> is not present, but <link linkend="CAIRO-MIME-TYPE-JPEG:CAPS"><literal>CAIRO_MIME_TYPE_JPEG</literal></link> +or <link linkend="CAIRO-MIME-TYPE-PNG:CAPS"><literal>CAIRO_MIME_TYPE_PNG</literal></link> is specified, the corresponding data is +Base64-encoded and emitted.</para> +<para>If <link linkend="CAIRO-MIME-TYPE-UNIQUE-ID:CAPS"><literal>CAIRO_MIME_TYPE_UNIQUE_ID</literal></link> is present, all surfaces with the same +unique identifier will only be embedded once.</para> +<refsect3 id="cairo-svg-surface-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>filename</para></entry> +<entry role="parameter_description"><para>a filename for the SVG output (must be writable), <link linkend="NULL:CAPS"><literal>NULL</literal></link> may be +used to specify no output. This will generate a SVG surface that +may be queried and used as a source, without generating a +temporary file.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width_in_points</para></entry> +<entry role="parameter_description"><para>width of the surface, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height_in_points</para></entry> +<entry role="parameter_description"><para>height of the surface, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-svg-surface-create.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-svg-surface-create-for-stream" role="function" condition="since:1.2"> +<title>cairo_svg_surface_create_for_stream ()</title> +<indexterm zone="cairo-svg-surface-create-for-stream" role="1.2"><primary sortas="svg_surface_create_for_stream">cairo_svg_surface_create_for_stream</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_svg_surface_create_for_stream (<parameter><link linkend="cairo-write-func-t"><type>cairo_write_func_t</type></link> write_func</parameter>, + <parameter><link linkend="void"><type>void</type></link> *closure</parameter>, + <parameter><link linkend="double"><type>double</type></link> width_in_points</parameter>, + <parameter><link linkend="double"><type>double</type></link> height_in_points</parameter>);</programlisting> +<para>Creates a SVG surface of the specified size in points to be written +incrementally to the stream represented by <parameter>write_func</parameter> + and <parameter>closure</parameter> +.</para> +<refsect3 id="cairo-svg-surface-create-for-stream.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>write_func</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-write-func-t"><type>cairo_write_func_t</type></link> to accept the output data, may be <link linkend="NULL:CAPS"><literal>NULL</literal></link> +to indicate a no-op <parameter>write_func</parameter> +. With a no-op <parameter>write_func</parameter> +, +the surface may be queried or used as a source without +generating any temporary files.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>closure</para></entry> +<entry role="parameter_description"><para>the closure argument for <parameter>write_func</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width_in_points</para></entry> +<entry role="parameter_description"><para>width of the surface, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height_in_points</para></entry> +<entry role="parameter_description"><para>height of the surface, in points (1 point == 1/72.0 inch)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-svg-surface-create-for-stream.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-svg-surface-get-document-unit" role="function" condition="since:1.16"> +<title>cairo_svg_surface_get_document_unit ()</title> +<indexterm zone="cairo-svg-surface-get-document-unit" role="1.16"><primary sortas="svg_surface_get_document_unit">cairo_svg_surface_get_document_unit</primary></indexterm> +<programlisting language="C"><link linkend="cairo-svg-unit-t"><returnvalue>cairo_svg_unit_t</returnvalue></link> +cairo_svg_surface_get_document_unit (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Get the unit of the SVG surface.</para> +<para>If the surface passed as an argument is not a SVG surface, the function +sets the error status to CAIRO_STATUS_SURFACE_TYPE_MISMATCH and returns +CAIRO_SVG_UNIT_USER.</para> +<refsect3 id="cairo-svg-surface-get-document-unit.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a SVG <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-svg-surface-get-document-unit.returns" role="returns"> +<title>Returns</title> +<para> the SVG unit of the SVG surface.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="cairo-svg-surface-set-document-unit" role="function" condition="since:1.16"> +<title>cairo_svg_surface_set_document_unit ()</title> +<indexterm zone="cairo-svg-surface-set-document-unit" role="1.16"><primary sortas="svg_surface_set_document_unit">cairo_svg_surface_set_document_unit</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_svg_surface_set_document_unit (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="cairo-svg-unit-t"><type>cairo_svg_unit_t</type></link> unit</parameter>);</programlisting> +<para>Use the specified unit for the width and height of the generated SVG file. +See <link linkend="cairo-svg-unit-t"><type>cairo_svg_unit_t</type></link> for a list of available unit values that can be used +here.</para> +<para>This function can be called at any time before generating the SVG file.</para> +<para>However to minimize the risk of ambiguities it's recommended to call it +before any drawing operations have been performed on the given surface, to +make it clearer what the unit used in the drawing operations is.</para> +<para>The simplest way to do this is to call this function immediately after +creating the SVG surface.</para> +<para>Note if this function is never called, the default unit for SVG documents +generated by cairo will be "pt". This is for historical reasons.</para> +<refsect3 id="cairo-svg-surface-set-document-unit.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a SVG <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>unit</para></entry> +<entry role="parameter_description"><para>SVG unit</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="cairo-svg-surface-restrict-to-version" role="function" condition="since:1.2"> +<title>cairo_svg_surface_restrict_to_version ()</title> +<indexterm zone="cairo-svg-surface-restrict-to-version" role="1.2"><primary sortas="svg_surface_restrict_to_version">cairo_svg_surface_restrict_to_version</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_svg_surface_restrict_to_version (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="cairo-svg-version-t"><type>cairo_svg_version_t</type></link> version</parameter>);</programlisting> +<para>Restricts the generated SVG file to <parameter>version</parameter> +. See <link linkend="cairo-svg-get-versions"><function>cairo_svg_get_versions()</function></link> +for a list of available version values that can be used here.</para> +<para>This function should only be called before any drawing operations +have been performed on the given surface. The simplest way to do +this is to call this function immediately after creating the +surface.</para> +<refsect3 id="cairo-svg-surface-restrict-to-version.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a SVG <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>version</para></entry> +<entry role="parameter_description"><para>SVG version</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-svg-get-versions" role="function" condition="since:1.2"> +<title>cairo_svg_get_versions ()</title> +<indexterm zone="cairo-svg-get-versions" role="1.2"><primary sortas="svg_get_versions">cairo_svg_get_versions</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_svg_get_versions (<parameter><link linkend="cairo-svg-version-t"><type>cairo_svg_version_t</type></link> const **versions</parameter>, + <parameter><link linkend="int"><type>int</type></link> *num_versions</parameter>);</programlisting> +<para>Used to retrieve the list of supported versions. See +<link linkend="cairo-svg-surface-restrict-to-version"><function>cairo_svg_surface_restrict_to_version()</function></link>.</para> +<refsect3 id="cairo-svg-get-versions.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>versions</para></entry> +<entry role="parameter_description"><para>supported version list</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_versions</para></entry> +<entry role="parameter_description"><para>list length</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-svg-version-to-string" role="function" condition="since:1.2"> +<title>cairo_svg_version_to_string ()</title> +<indexterm zone="cairo-svg-version-to-string" role="1.2"><primary sortas="svg_version_to_string">cairo_svg_version_to_string</primary></indexterm> +<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> * +cairo_svg_version_to_string (<parameter><link linkend="cairo-svg-version-t"><type>cairo_svg_version_t</type></link> version</parameter>);</programlisting> +<para>Get the string representation of the given <parameter>version</parameter> + id. This function +will return <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>version</parameter> + isn't valid. See <link linkend="cairo-svg-get-versions"><function>cairo_svg_get_versions()</function></link> +for a way to get the list of valid version ids.</para> +<refsect3 id="cairo-svg-version-to-string.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>version</para></entry> +<entry role="parameter_description"><para>a version id</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-svg-version-to-string.returns" role="returns"> +<title>Returns</title> +<para> the string associated to given version.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-SVG-Surfaces.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-SVG-SURFACE:CAPS" role="macro" condition="since:1.2"> +<title>CAIRO_HAS_SVG_SURFACE</title> +<indexterm zone="CAIRO-HAS-SVG-SURFACE:CAPS" role="1.2"><primary sortas="HAS_SVG_SURFACE">CAIRO_HAS_SVG_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_SVG_SURFACE 1 +</programlisting> +<para>Defined if the SVG surface backend is available. +This macro can be used to conditionally compile backend-specific code.</para> +<para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-svg-version-t" role="enum" condition="since:1.2"> +<title>enum cairo_svg_version_t</title> +<indexterm zone="cairo-svg-version-t" role="1.2"><primary sortas="svg_version_t">cairo_svg_version_t</primary></indexterm> +<para><link linkend="cairo-svg-version-t"><type>cairo_svg_version_t</type></link> is used to describe the version number of the SVG +specification that a generated SVG file will conform to.</para> +<refsect3 id="cairo-svg-version-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SVG-VERSION-1-1:CAPS">CAIRO_SVG_VERSION_1_1</para></entry> +<entry role="enum_member_description"><para>The version 1.1 of the SVG specification. (Since 1.2)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SVG-VERSION-1-2:CAPS">CAIRO_SVG_VERSION_1_2</para></entry> +<entry role="enum_member_description"><para>The version 1.2 of the SVG specification. (Since 1.2)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-svg-unit-t" role="enum" condition="since:1.16"> +<title>enum cairo_svg_unit_t</title> +<indexterm zone="cairo-svg-unit-t" role="1.16"><primary sortas="svg_unit_t">cairo_svg_unit_t</primary></indexterm> +<para><parameter>CAIRO_SVG_UNIT_USER</parameter> +: User unit, a value in the current coordinate system. + If used in the root element for the initial coordinate systems it + corresponds to pixels. (Since 1.16) +<parameter>CAIRO_SVG_UNIT_EM</parameter> +: The size of the element's font. (Since 1.16) +<parameter>CAIRO_SVG_UNIT_EX</parameter> +: The x-height of the element’s font. (Since 1.16) +<parameter>CAIRO_SVG_UNIT_PX</parameter> +: Pixels (1px = 1/96th of 1in). (Since 1.16) +<parameter>CAIRO_SVG_UNIT_IN</parameter> +: Inches (1in = 2.54cm = 96px). (Since 1.16) +<parameter>CAIRO_SVG_UNIT_CM</parameter> +: Centimeters (1cm = 96px/2.54). (Since 1.16) +<parameter>CAIRO_SVG_UNIT_MM</parameter> +: Millimeters (1mm = 1/10th of 1cm). (Since 1.16) +<parameter>CAIRO_SVG_UNIT_PT</parameter> +: Points (1pt = 1/72th of 1in). (Since 1.16) +<parameter>CAIRO_SVG_UNIT_PC</parameter> +: Picas (1pc = 1/6th of 1in). (Since 1.16) +<parameter>CAIRO_SVG_UNIT_PERCENT</parameter> +: Percent, a value that is some fraction of another + reference value. (Since 1.16)</para> +<para><link linkend="cairo-svg-unit-t"><type>cairo_svg_unit_t</type></link> is used to describe the units valid for coordinates and +lengths in the SVG specification.</para> +<para>See also: +https://www.w3.org/TR/SVG/coords.html<link linkend="Units"><type>Units</type></link> +https://www.w3.org/TR/SVG/types.html<link linkend="DataTypeLength"><type>DataTypeLength</type></link> +https://www.w3.org/TR/css-values-3/<link linkend="lengths"><type>lengths</type></link></para> +<refsect3 id="cairo-svg-unit-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SVG-UNIT-USER:CAPS">CAIRO_SVG_UNIT_USER</para></entry> +<entry /><entry /> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SVG-UNIT-EM:CAPS">CAIRO_SVG_UNIT_EM</para></entry> +<entry /><entry /> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SVG-UNIT-EX:CAPS">CAIRO_SVG_UNIT_EX</para></entry> +<entry /><entry /> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SVG-UNIT-PX:CAPS">CAIRO_SVG_UNIT_PX</para></entry> +<entry /><entry /> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SVG-UNIT-IN:CAPS">CAIRO_SVG_UNIT_IN</para></entry> +<entry /><entry /> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SVG-UNIT-CM:CAPS">CAIRO_SVG_UNIT_CM</para></entry> +<entry /><entry /> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SVG-UNIT-MM:CAPS">CAIRO_SVG_UNIT_MM</para></entry> +<entry /><entry /> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SVG-UNIT-PT:CAPS">CAIRO_SVG_UNIT_PT</para></entry> +<entry /><entry /> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SVG-UNIT-PC:CAPS">CAIRO_SVG_UNIT_PC</para></entry> +<entry /><entry /> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-SVG-UNIT-PERCENT:CAPS">CAIRO_SVG_UNIT_PERCENT</para></entry> +<entry /><entry /> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-SVG-Surfaces.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-tag.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-tag.xml new file mode 100644 index 0000000..bf2a8d0 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-tag.xml @@ -0,0 +1,353 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Tags-and-Links"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Tags-and-Links.top_of_page">Tags and Links</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Tags and Links</refname> +<refpurpose>Hyperlinks and document structure</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Tags-and-Links.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-tag-begin">cairo_tag_begin</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-tag-end">cairo_tag_end</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Tags-and-Links.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-TAG-DEST:CAPS">CAIRO_TAG_DEST</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-TAG-LINK:CAPS">CAIRO_TAG_LINK</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Tags-and-Links.description" role="desc"> +<title role="desc.title">Description</title> +<para>The tag functions provide the ability to specify hyperlinks and +document logical structure on supported backends. The following tags are supported:</para> +<itemizedlist> +<listitem><para><link linkend="link">Link</link> - Create a hyperlink</para></listitem> +<listitem><para><link linkend="dest">Destinations</link> - Create a hyperlink destination</para></listitem> +<listitem> +<para><link linkend="doc-struct">Document Structure Tags</link> - Create PDF Document Structure</para> +</listitem> +</itemizedlist> +<refsect2 id="link"><title>Link Tags</title><para>A hyperlink is specified by enclosing the hyperlink text with the <link linkend="CAIRO-TAG-LINK:CAPS"><literal>CAIRO_TAG_LINK</literal></link> tag.</para> +<para>For example:</para> +<informalexample><programlisting> +cairo_tag_begin (cr, CAIRO_TAG_LINK, "uri='https://cairographics.org'"); +cairo_move_to (cr, 50, 50); +cairo_show_text (cr, "This is a link to the cairo website."); +cairo_tag_end (cr, CAIRO_TAG_LINK); +</programlisting></informalexample> +<para>The PDF backend uses one or more rectangles to define the clickable +area of the link. By default cairo will use the extents of the +drawing operations enclosed by the begin/end link tags to define the +clickable area. In some cases, such as a link split across two +lines, the default rectangle is undesirable.</para> +<para><parameter>rect</parameter> +: [optional] The "rect" attribute allows the application to +specify one or more rectangles that form the clickable region. The +value of this attribute is an array of floats. Each rectangle is +specified by four elements in the array: x, y, width, height. The +array size must be a multiple of four.</para> +<para>An example of creating a link with user specified clickable region:</para> +<informalexample><programlisting> +cairo_font_extents_t font_extents; +cairo_text_extents_t text1_extents; +cairo_text_extents_t text2_extents; +char attribs[100]; +const char *text1 = "This link is split"; +const char *text2 = "across two lines"; + +cairo_font_extents (cr, &font_extents); +cairo_move_to (cr, 450, 50); +cairo_text_extents (cr, text1, &text1_extents); +cairo_move_to (cr, 50, 70); +cairo_text_extents (cr, text2, &text2_extents); +sprintf (attribs, + "rect=[%f %f %f %f %f %f %f %f] uri='https://cairographics.org'", + text1_extents.x_bearing, + text1_extents.y_bearing, + text1_extents.width, + text1_extents.height, + text2_extents.x_bearing, + text2_extents.y_bearing, + text2_extents.width, + text2_extents.height); + +cairo_tag_begin (cr, CAIRO_TAG_LINK, attribs); +cairo_show_text (cr, "This is a link to the cairo website"); +cairo_move_to (cr, 450, 50); +cairo_show_text (cr, text1); +cairo_move_to (cr, 50, 70); +cairo_show_text (cr, text2); +cairo_tag_end (cr, CAIRO_TAG_LINK); +</programlisting></informalexample> +<para>There are three types of links. Each type has its own attributes as detailed below.</para> +<itemizedlist> +<listitem><para><link linkend="internal-link">Internal Links</link> - A link to a location in the same document</para></listitem> +<listitem><para><link linkend="uri-link">URI Links</link> - A link to a Uniform resource identifier</para></listitem> +<listitem> +<para><link linkend="file-link">File Links</link> - A link to a location in another document</para> +</listitem> +</itemizedlist> +<refsect3 id="internal-link"><title>Internal Links</title><para>An internal link is a link to a location in the same document. The destination +is specified with either:</para> +<para><parameter>dest</parameter> +: a UTF-8 string specifying the destination in the PDF file to link +to. Destinations are created with the <link linkend="CAIRO-TAG-DEST:CAPS"><literal>CAIRO_TAG_DEST</literal></link> tag.</para> +<para>or the two attributes:</para> +<para><parameter>page</parameter> +: An integer specifying the page number in the PDF file to link to.</para> +<para><parameter>pos</parameter> +: [optional] An array of two floats specifying the x,y position +on the page.</para> +<para>An example of the link attributes to link to a page and x,y position:</para> +<programlisting> +"page=3 pos=[3.1 6.2]" +</programlisting> +</refsect3> +<refsect3 id="uri-link"><title>URI Links</title><para>A URI link is a link to a Uniform Resource Identifier (<ulink url="http://tools.ietf.org/html/rfc2396">RFC 2396</ulink>).</para> +<para>A URI is specified with the following attribute:</para> +<para><parameter>uri</parameter> +: An ASCII string specifying the URI.</para> +<para>An example of the link attributes to the cairo website:</para> +<programlisting> +"uri='https://cairographics.org'" +</programlisting> +</refsect3> +<refsect3 id="file-link"><title>File Links</title><para>A file link is a link a location in another PDF file.</para> +<para>The file attribute (required) specifies the name of the PDF file:</para> +<para><parameter>file</parameter> +: File name of PDF file to link to.</para> +<para>The position is specified by either:</para> +<para> <parameter>dest</parameter> +: a UTF-8 string specifying the named destination in the PDF file.</para> +<para>or</para> +<para> <parameter>page</parameter> +: An integer specifying the page number in the PDF file.</para> +<para> <parameter>pos</parameter> +: [optional] An array of two floats specifying the x,y + position on the page. Position coordinates in external files are in PDF + coordinates (0,0 at bottom left).</para> +<para>An example of the link attributes to PDF file:</para> +<programlisting> +"file='document.pdf' page=16 pos=[25 40]" +</programlisting> +</refsect3> +</refsect2> +<refsect2 id="dest"><title>Destination Tags</title><para>A destination is specified by enclosing the destination drawing +operations with the <link linkend="CAIRO-TAG-DEST:CAPS"><literal>CAIRO_TAG_DEST</literal></link> tag.</para> +<para><parameter>name</parameter> +: [required] A UTF-8 string specifying the name of this destination.</para> +<para><parameter>x</parameter> +: [optional] A float specifying the x coordinate of destination + position on this page. If not specified the default + x coordinate is the left side of the extents of the + operations enclosed by the <link linkend="CAIRO-TAG-DEST:CAPS"><literal>CAIRO_TAG_DEST</literal></link> begin/end tags. If + no operations are enclosed, the x coordidate is 0.</para> +<para><parameter>y</parameter> +: [optional] A float specifying the y coordinate of destination + position on this page. If not specified the default + y coordinate is the top of the extents of the + operations enclosed by the <link linkend="CAIRO-TAG-DEST:CAPS"><literal>CAIRO_TAG_DEST</literal></link> begin/end tags. If + no operations are enclosed, the y coordidate is 0.</para> +<para><parameter>internal</parameter> +: A boolean that if true, the destination name may be + omitted from PDF where possible. In this case, links + refer directly to the page and position instead of via + the named destination table. Note that if this + destination is referenced by another PDF (see <link linkend="file-link">File Links</link>), + this attribute must be false. Default is false.</para> +<informalexample><programlisting> +/* Create a hyperlink */ +cairo_tag_begin (cr, CAIRO_TAG_LINK, "dest='mydest' internal"); +cairo_move_to (cr, 50, 50); +cairo_show_text (cr, "This is a hyperlink."); +cairo_tag_end (cr, CAIRO_TAG_LINK); + +/* Create a destination */ +cairo_tag_begin (cr, CAIRO_TAG_DEST, "name='mydest'"); +cairo_move_to (cr, 50, 250); +cairo_show_text (cr, "This paragraph is the destination of the above link."); +cairo_tag_end (cr, CAIRO_TAG_DEST); +</programlisting></informalexample> +</refsect2> +<refsect2 id="doc-struct"><title>Document Structure (PDF)</title><para>The document structure tags provide a means of specifying structural information +such as headers, paragraphs, tables, and figures. The inclusion of structural information facilitates:</para> +<itemizedlist> +<listitem><para>Extraction of text and graphics for copy and paste</para></listitem> +<listitem><para>Reflow of text and graphics in the viewer</para></listitem> +<listitem><para>Processing text eg searching and indexing</para></listitem> +<listitem><para>Conversion to other formats</para></listitem> +<listitem> +<para>Accessability support</para> +</listitem> +</itemizedlist> +<para>The list of structure types is specified in section 14.8.4 of the +<ulink url="http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf">PDF Reference</ulink>.</para> +<para>Note the PDF "Link" structure tag is the same as the cairo <link linkend="CAIRO-TAG-LINK:CAPS"><literal>CAIRO_TAG_LINK</literal></link> tag.</para> +<para>The following example creates a document structure for a document containing two section, each with +a header and a paragraph.</para> +<informalexample><programlisting> +cairo_tag_begin (cr, "Document", NULL); + +cairo_tag_begin (cr, "Sect", NULL); +cairo_tag_begin (cr, "H1", NULL); +cairo_show_text (cr, "Heading 1"); +cairo_tag_end (cr, "H1"); + +cairo_tag_begin (cr, "P", NULL); +cairo_show_text (cr, "Paragraph 1"); +cairo_tag_end (cr, "P"); +cairo_tag_end (cr, "Sect"); + +cairo_tag_begin (cr, "Sect", NULL); +cairo_tag_begin (cr, "H1", NULL); +cairo_show_text (cr, "Heading 2"); +cairo_tag_end (cr, "H1"); + +cairo_tag_begin (cr, "P", NULL); +cairo_show_text (cr, "Paragraph 2"); +cairo_tag_end (cr, "P"); +cairo_tag_end (cr, "Sect"); + +cairo_tag_end (cr, "Document"); +</programlisting></informalexample> +</refsect2> + +</refsect1> +<refsect1 id="cairo-Tags-and-Links.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-tag-begin" role="function" condition="since:1.16"> +<title>cairo_tag_begin ()</title> +<indexterm zone="cairo-tag-begin" role="1.16"><primary sortas="tag_begin">cairo_tag_begin</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_tag_begin (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *tag_name</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *attributes</parameter>);</programlisting> +<para>Marks the beginning of the <parameter>tag_name</parameter> + structure. Call +<link linkend="cairo-tag-end"><function>cairo_tag_end()</function></link> with the same <parameter>tag_name</parameter> + to mark the end of the +structure.</para> +<para>The attributes string is of the form "key1=value2 key2=value2 ...". +Values may be boolean (true/false or 1/0), integer, float, string, +or an array.</para> +<para>String values are enclosed in single quotes +('). Single quotes and backslashes inside the string should be +escaped with a backslash.</para> +<para>Boolean values may be set to true by only +specifying the key. eg the attribute string "key" is the equivalent +to "key=true".</para> +<para>Arrays are enclosed in '[]'. eg "rect=[1.2 4.3 2.0 3.0]".</para> +<para>If no attributes are required, <parameter>attributes</parameter> + can be an empty string or NULL.</para> +<para>See <link linkend="cairo-Tags-and-Links.description">Tags and Links Description</link> +for the list of tags and attributes.</para> +<para>Invalid nesting of tags or invalid attributes will cause <parameter>cr</parameter> + to +shutdown with a status of <link linkend="CAIRO-STATUS-TAG-ERROR:CAPS"><literal>CAIRO_STATUS_TAG_ERROR</literal></link>.</para> +<para>See <link linkend="cairo-tag-end"><function>cairo_tag_end()</function></link>.</para> +<refsect3 id="cairo-tag-begin.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>tag_name</para></entry> +<entry role="parameter_description"><para>tag name</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>attributes</para></entry> +<entry role="parameter_description"><para>tag attributes</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="cairo-tag-end" role="function" condition="since:1.16"> +<title>cairo_tag_end ()</title> +<indexterm zone="cairo-tag-end" role="1.16"><primary sortas="tag_end">cairo_tag_end</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_tag_end (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *tag_name</parameter>);</programlisting> +<para>Marks the end of the <parameter>tag_name</parameter> + structure.</para> +<para>Invalid nesting of tags will cause <parameter>cr</parameter> + to shutdown with a status of +<link linkend="CAIRO-STATUS-TAG-ERROR:CAPS"><literal>CAIRO_STATUS_TAG_ERROR</literal></link>.</para> +<para>See <link linkend="cairo-tag-begin"><function>cairo_tag_begin()</function></link>.</para> +<refsect3 id="cairo-tag-end.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>tag_name</para></entry> +<entry role="parameter_description"><para>tag name</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Tags-and-Links.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-TAG-DEST:CAPS" role="macro" condition="since:1.16"> +<title>CAIRO_TAG_DEST</title> +<indexterm zone="CAIRO-TAG-DEST:CAPS" role="1.16"><primary sortas="TAG_DEST">CAIRO_TAG_DEST</primary></indexterm> +<programlisting language="C">#define CAIRO_TAG_DEST "cairo.dest" +</programlisting> +<para>Create a destination for a hyperlink. Destination tag attributes +are detailed at <link linkend="dests">Destinations</link>.</para> +<para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> +<refsect2 id="CAIRO-TAG-LINK:CAPS" role="macro" condition="since:1.16"> +<title>CAIRO_TAG_LINK</title> +<indexterm zone="CAIRO-TAG-LINK:CAPS" role="1.16"><primary sortas="TAG_LINK">CAIRO_TAG_LINK</primary></indexterm> +<programlisting language="C">#define CAIRO_TAG_LINK "Link" +</programlisting> +<para>Create hyperlink. Link tag attributes are detailed at +<link linkend="links">Links</link>.</para> +<para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Tags-and-Links.see-also"> +<title>See Also</title> +<para><link linkend="cairo-pdf-surface-t"><type>cairo_pdf_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-text.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-text.xml new file mode 100644 index 0000000..b62edec --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-text.xml @@ -0,0 +1,1090 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-text"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-text.top_of_page">text</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>text</refname> +<refpurpose>Rendering text and glyphs</refpurpose> +</refnamediv> + +<refsect1 id="cairo-text.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-select-font-face">cairo_select_font_face</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-font-size">cairo_set_font_size</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-font-matrix">cairo_set_font_matrix</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-font-matrix">cairo_get_font_matrix</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-font-options">cairo_set_font_options</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-font-options">cairo_get_font_options</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-font-face">cairo_set_font_face</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-get-font-face">cairo_get_font_face</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-scaled-font">cairo_set_scaled_font</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-scaled-font-t"><returnvalue>cairo_scaled_font_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-get-scaled-font">cairo_get_scaled_font</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-show-text">cairo_show_text</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-show-glyphs">cairo_show_glyphs</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-show-text-glyphs">cairo_show_text_glyphs</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-font-extents">cairo_font_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-text-extents">cairo_text_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-glyph-extents">cairo_glyph_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-toy-font-face-create">cairo_toy_font_face_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-toy-font-face-get-family">cairo_toy_font_face_get_family</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-slant-t"><returnvalue>cairo_font_slant_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-toy-font-face-get-slant">cairo_toy_font_face_get_slant</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-weight-t"><returnvalue>cairo_font_weight_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-toy-font-face-get-weight">cairo_toy_font_face_get_weight</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-glyph-t"><returnvalue>cairo_glyph_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-glyph-allocate">cairo_glyph_allocate</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-glyph-free">cairo_glyph_free</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-text-cluster-t"><returnvalue>cairo_text_cluster_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-text-cluster-allocate">cairo_text_cluster_allocate</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-text-cluster-free">cairo_text_cluster_free</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-text.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="cairo-glyph-t">cairo_glyph_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-font-slant-t">cairo_font_slant_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-font-weight-t">cairo_font_weight_t</link></entry></row> +<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="cairo-text-cluster-t">cairo_text_cluster_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-text-cluster-flags-t">cairo_text_cluster_flags_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-text.description" role="desc"> +<title role="desc.title">Description</title> +<para>The functions with <emphasis>text</emphasis> in their name form cairo's +<firstterm>toy</firstterm> text API. The toy API takes UTF-8 encoded +text and is limited in its functionality to rendering simple +left-to-right text with no advanced features. That means for example +that most complex scripts like Hebrew, Arabic, and Indic scripts are +out of question. No kerning or correct positioning of diacritical marks +either. The font selection is pretty limited too and doesn't handle the +case that the selected font does not cover the characters in the text. +This set of functions are really that, a toy text API, for testing and +demonstration purposes. Any serious application should avoid them.</para> +<para>The functions with <emphasis>glyphs</emphasis> in their name form cairo's +<firstterm>low-level</firstterm> text API. The low-level API relies on +the user to convert text to a set of glyph indexes and positions. This +is a very hard problem and is best handled by external libraries, like +the pangocairo that is part of the Pango text layout and rendering library. +Pango is available from <ulink +url="http://www.pango.org/">http://www.pango.org/</ulink>.</para> + +</refsect1> +<refsect1 id="cairo-text.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-select-font-face" role="function" condition="since:1.0"> +<title>cairo_select_font_face ()</title> +<indexterm zone="cairo-select-font-face" role="1.0"><primary sortas="select_font_face">cairo_select_font_face</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_select_font_face (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *family</parameter>, + <parameter><link linkend="cairo-font-slant-t"><type>cairo_font_slant_t</type></link> slant</parameter>, + <parameter><link linkend="cairo-font-weight-t"><type>cairo_font_weight_t</type></link> weight</parameter>);</programlisting> +<para>Note: The <link linkend="cairo-select-font-face"><function>cairo_select_font_face()</function></link> function call is part of what +the cairo designers call the "toy" text API. It is convenient for +short demos and simple programs, but it is not expected to be +adequate for serious text-using applications.</para> +<para>Selects a family and style of font from a simplified description as +a family name, slant and weight. Cairo provides no operation to +list available family names on the system (this is a "toy", +remember), but the standard CSS2 generic family names, ("serif", +"sans-serif", "cursive", "fantasy", "monospace"), are likely to +work as expected.</para> +<para>If <parameter>family</parameter> + starts with the string "<parameter>cairo</parameter> +:", or if no native font +backends are compiled in, cairo will use an internal font family. +The internal font family recognizes many modifiers in the <parameter>family</parameter> + +string, most notably, it recognizes the string "monospace". That is, +the family name "<parameter>cairo</parameter> +:monospace" will use the monospace version of +the internal font family.</para> +<para>For "real" font selection, see the font-backend-specific +font_face_create functions for the font backend you are using. (For +example, if you are using the freetype-based cairo-ft font backend, +see <link linkend="cairo-ft-font-face-create-for-ft-face"><function>cairo_ft_font_face_create_for_ft_face()</function></link> or +<link linkend="cairo-ft-font-face-create-for-pattern"><function>cairo_ft_font_face_create_for_pattern()</function></link>.) The resulting font face +could then be used with <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link> and +<link linkend="cairo-set-scaled-font"><function>cairo_set_scaled_font()</function></link>.</para> +<para>Similarly, when using the "real" font support, you can call +directly into the underlying font system, (such as fontconfig or +freetype), for operations such as listing available fonts, etc.</para> +<para>It is expected that most applications will need to use a more +comprehensive font handling and text layout library, (for example, +pango), in conjunction with cairo.</para> +<para>If text is drawn without a call to <link linkend="cairo-select-font-face"><function>cairo_select_font_face()</function></link>, (nor +<link linkend="cairo-set-font-face"><function>cairo_set_font_face()</function></link> nor <link linkend="cairo-set-scaled-font"><function>cairo_set_scaled_font()</function></link>), the default +family is platform-specific, but is essentially "sans-serif". +Default slant is <link linkend="CAIRO-FONT-SLANT-NORMAL:CAPS"><literal>CAIRO_FONT_SLANT_NORMAL</literal></link>, and default weight is +<link linkend="CAIRO-FONT-WEIGHT-NORMAL:CAPS"><literal>CAIRO_FONT_WEIGHT_NORMAL</literal></link>.</para> +<para>This function is equivalent to a call to <link linkend="cairo-toy-font-face-create"><function>cairo_toy_font_face_create()</function></link> +followed by <link linkend="cairo-set-font-face"><function>cairo_set_font_face()</function></link>.</para> +<refsect3 id="cairo-select-font-face.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>family</para></entry> +<entry role="parameter_description"><para>a font family name, encoded in UTF-8</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>slant</para></entry> +<entry role="parameter_description"><para>the slant for the font</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>weight</para></entry> +<entry role="parameter_description"><para>the weight for the font</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-font-size" role="function" condition="since:1.0"> +<title>cairo_set_font_size ()</title> +<indexterm zone="cairo-set-font-size" role="1.0"><primary sortas="set_font_size">cairo_set_font_size</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_font_size (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> size</parameter>);</programlisting> +<para>Sets the current font matrix to a scale by a factor of <parameter>size</parameter> +, replacing +any font matrix previously set with <link linkend="cairo-set-font-size"><function>cairo_set_font_size()</function></link> or +<link linkend="cairo-set-font-matrix"><function>cairo_set_font_matrix()</function></link>. This results in a font size of <parameter>size</parameter> + user space +units. (More precisely, this matrix will result in the font's +em-square being a <parameter>size</parameter> + by <parameter>size</parameter> + square in user space.)</para> +<para>If text is drawn without a call to <link linkend="cairo-set-font-size"><function>cairo_set_font_size()</function></link>, (nor +<link linkend="cairo-set-font-matrix"><function>cairo_set_font_matrix()</function></link> nor <link linkend="cairo-set-scaled-font"><function>cairo_set_scaled_font()</function></link>), the default +font size is 10.0.</para> +<refsect3 id="cairo-set-font-size.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>size</para></entry> +<entry role="parameter_description"><para>the new font size, in user space units</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-font-matrix" role="function" condition="since:1.0"> +<title>cairo_set_font_matrix ()</title> +<indexterm zone="cairo-set-font-matrix" role="1.0"><primary sortas="set_font_matrix">cairo_set_font_matrix</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_font_matrix (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>);</programlisting> +<para>Sets the current font matrix to <parameter>matrix</parameter> +. The font matrix gives a +transformation from the design space of the font (in this space, +the em-square is 1 unit by 1 unit) to user space. Normally, a +simple scale is used (see <link linkend="cairo-set-font-size"><function>cairo_set_font_size()</function></link>), but a more +complex font matrix can be used to shear the font +or stretch it unequally along the two axes</para> +<refsect3 id="cairo-set-font-matrix.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> describing a transform to be applied to +the current font.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-font-matrix" role="function" condition="since:1.0"> +<title>cairo_get_font_matrix ()</title> +<indexterm zone="cairo-get-font-matrix" role="1.0"><primary sortas="get_font_matrix">cairo_get_font_matrix</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_get_font_matrix (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>);</programlisting> +<para>Stores the current font matrix into <parameter>matrix</parameter> +. See +<link linkend="cairo-set-font-matrix"><function>cairo_set_font_matrix()</function></link>.</para> +<refsect3 id="cairo-get-font-matrix.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>return value for the matrix</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-font-options" role="function" condition="since:1.0"> +<title>cairo_set_font_options ()</title> +<indexterm zone="cairo-set-font-options" role="1.0"><primary sortas="set_font_options">cairo_set_font_options</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_font_options (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Sets a set of custom font rendering options for the <link linkend="cairo-t"><type>cairo_t</type></link>. +Rendering options are derived by merging these options with the +options derived from underlying surface; if the value in <parameter>options</parameter> + +has a default value (like <link linkend="CAIRO-ANTIALIAS-DEFAULT:CAPS"><literal>CAIRO_ANTIALIAS_DEFAULT</literal></link>), then the value +from the surface is used.</para> +<refsect3 id="cairo-set-font-options.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>font options to use</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-font-options" role="function" condition="since:1.0"> +<title>cairo_get_font_options ()</title> +<indexterm zone="cairo-get-font-options" role="1.0"><primary sortas="get_font_options">cairo_get_font_options</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_get_font_options (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>);</programlisting> +<para>Retrieves font rendering options set via <link linkend="cairo-set-font-options"><type>cairo_set_font_options</type></link>. +Note that the returned options do not include any options derived +from the underlying surface; they are literally the options +passed to <link linkend="cairo-set-font-options"><function>cairo_set_font_options()</function></link>.</para> +<refsect3 id="cairo-get-font-options.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>options</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> object into which to store +the retrieved options. All existing values are overwritten</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-font-face" role="function" condition="since:1.0"> +<title>cairo_set_font_face ()</title> +<indexterm zone="cairo-set-font-face" role="1.0"><primary sortas="set_font_face">cairo_set_font_face</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_font_face (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>Replaces the current <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> object in the <link linkend="cairo-t"><type>cairo_t</type></link> with +<parameter>font_face</parameter> +. The replaced font face in the <link linkend="cairo-t"><type>cairo_t</type></link> will be +destroyed if there are no other references to it.</para> +<refsect3 id="cairo-set-font-face.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to restore to the default font</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-font-face" role="function" condition="since:1.0"> +<title>cairo_get_font_face ()</title> +<indexterm zone="cairo-get-font-face" role="1.0"><primary sortas="get_font_face">cairo_get_font_face</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +cairo_get_font_face (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the current font face for a <link linkend="cairo-t"><type>cairo_t</type></link>.</para> +<refsect3 id="cairo-get-font-face.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-font-face.returns" role="returns"> +<title>Returns</title> +<para> the current font face. This object is owned by +cairo. To keep a reference to it, you must call +<link linkend="cairo-font-face-reference"><function>cairo_font_face_reference()</function></link>.</para> +<para>This function never returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>. If memory cannot be allocated, a +special "nil" <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> object will be returned on which +<link linkend="cairo-font-face-status"><function>cairo_font_face_status()</function></link> returns <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link>. Using +this nil object will cause its error state to propagate to other +objects it is passed to, (for example, calling +<link linkend="cairo-set-font-face"><function>cairo_set_font_face()</function></link> with a nil font will trigger an error that +will shutdown the <link linkend="cairo-t"><type>cairo_t</type></link> object).</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-scaled-font" role="function" condition="since:1.2"> +<title>cairo_set_scaled_font ()</title> +<indexterm zone="cairo-set-scaled-font" role="1.2"><primary sortas="set_scaled_font">cairo_set_scaled_font</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_scaled_font (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting> +<para>Replaces the current font face, font matrix, and font options in +the <link linkend="cairo-t"><type>cairo_t</type></link> with those of the <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link>. Except for +some translation, the current CTM of the <link linkend="cairo-t"><type>cairo_t</type></link> should be the +same as that of the <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link>, which can be accessed +using <link linkend="cairo-scaled-font-get-ctm"><function>cairo_scaled_font_get_ctm()</function></link>.</para> +<refsect3 id="cairo-set-scaled-font.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-get-scaled-font" role="function" condition="since:1.4"> +<title>cairo_get_scaled_font ()</title> +<indexterm zone="cairo-get-scaled-font" role="1.4"><primary sortas="get_scaled_font">cairo_get_scaled_font</primary></indexterm> +<programlisting language="C"><link linkend="cairo-scaled-font-t"><returnvalue>cairo_scaled_font_t</returnvalue></link> * +cairo_get_scaled_font (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the current scaled font for a <link linkend="cairo-t"><type>cairo_t</type></link>.</para> +<refsect3 id="cairo-get-scaled-font.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-scaled-font.returns" role="returns"> +<title>Returns</title> +<para> the current scaled font. This object is owned by +cairo. To keep a reference to it, you must call +<link linkend="cairo-scaled-font-reference"><function>cairo_scaled_font_reference()</function></link>.</para> +<para>This function never returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>. If memory cannot be allocated, a +special "nil" <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> object will be returned on which +<link linkend="cairo-scaled-font-status"><function>cairo_scaled_font_status()</function></link> returns <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link>. Using +this nil object will cause its error state to propagate to other +objects it is passed to, (for example, calling +<link linkend="cairo-set-scaled-font"><function>cairo_set_scaled_font()</function></link> with a nil font will trigger an error that +will shutdown the <link linkend="cairo-t"><type>cairo_t</type></link> object).</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-show-text" role="function" condition="since:1.0"> +<title>cairo_show_text ()</title> +<indexterm zone="cairo-show-text" role="1.0"><primary sortas="show_text">cairo_show_text</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_show_text (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *utf8</parameter>);</programlisting> +<para>A drawing operator that generates the shape from a string of UTF-8 +characters, rendered according to the current font_face, font_size +(font_matrix), and font_options.</para> +<para>This function first computes a set of glyphs for the string of +text. The first glyph is placed so that its origin is at the +current point. The origin of each subsequent glyph is offset from +that of the previous glyph by the advance values of the previous +glyph.</para> +<para>After this call the current point is moved to the origin of where +the next glyph would be placed in this same progression. That is, +the current point will be at the origin of the final glyph offset +by its advance values. This allows for easy display of a single +logical string with multiple calls to <link linkend="cairo-show-text"><function>cairo_show_text()</function></link>.</para> +<para>Note: The <link linkend="cairo-show-text"><function>cairo_show_text()</function></link> function call is part of what the cairo +designers call the "toy" text API. It is convenient for short demos +and simple programs, but it is not expected to be adequate for +serious text-using applications. See <link linkend="cairo-show-glyphs"><function>cairo_show_glyphs()</function></link> for the +"real" text display API in cairo.</para> +<refsect3 id="cairo-show-text.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8</para></entry> +<entry role="parameter_description"><para>a NUL-terminated string of text encoded in UTF-8, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-show-glyphs" role="function" condition="since:1.0"> +<title>cairo_show_glyphs ()</title> +<indexterm zone="cairo-show-glyphs" role="1.0"><primary sortas="show_glyphs">cairo_show_glyphs</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_show_glyphs (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link> *glyphs</parameter>, + <parameter><link linkend="int"><type>int</type></link> num_glyphs</parameter>);</programlisting> +<para>A drawing operator that generates the shape from an array of glyphs, +rendered according to the current font face, font size +(font matrix), and font options.</para> +<refsect3 id="cairo-show-glyphs.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>glyphs</para></entry> +<entry role="parameter_description"><para>array of glyphs to show</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_glyphs</para></entry> +<entry role="parameter_description"><para>number of glyphs to show</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-show-text-glyphs" role="function" condition="since:1.8"> +<title>cairo_show_text_glyphs ()</title> +<indexterm zone="cairo-show-text-glyphs" role="1.8"><primary sortas="show_text_glyphs">cairo_show_text_glyphs</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_show_text_glyphs (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *utf8</parameter>, + <parameter><link linkend="int"><type>int</type></link> utf8_len</parameter>, + <parameter>const <link linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link> *glyphs</parameter>, + <parameter><link linkend="int"><type>int</type></link> num_glyphs</parameter>, + <parameter>const <link linkend="cairo-text-cluster-t"><type>cairo_text_cluster_t</type></link> *clusters</parameter>, + <parameter><link linkend="int"><type>int</type></link> num_clusters</parameter>, + <parameter><link linkend="cairo-text-cluster-flags-t"><type>cairo_text_cluster_flags_t</type></link> cluster_flags</parameter>);</programlisting> +<para>This operation has rendering effects similar to <link linkend="cairo-show-glyphs"><function>cairo_show_glyphs()</function></link> +but, if the target surface supports it, uses the provided text and +cluster mapping to embed the text for the glyphs shown in the output. +If the target does not support the extended attributes, this function +acts like the basic <link linkend="cairo-show-glyphs"><function>cairo_show_glyphs()</function></link> as if it had been passed +<parameter>glyphs</parameter> + and <parameter>num_glyphs</parameter> +.</para> +<para>The mapping between <parameter>utf8</parameter> + and <parameter>glyphs</parameter> + is provided by an array of +<firstterm>clusters</firstterm>. Each cluster covers a number of +text bytes and glyphs, and neighboring clusters cover neighboring +areas of <parameter>utf8</parameter> + and <parameter>glyphs</parameter> +. The clusters should collectively cover <parameter>utf8</parameter> + +and <parameter>glyphs</parameter> + in entirety.</para> +<para>The first cluster always covers bytes from the beginning of <parameter>utf8</parameter> +. +If <parameter>cluster_flags</parameter> + do not have the <link linkend="CAIRO-TEXT-CLUSTER-FLAG-BACKWARD:CAPS"><literal>CAIRO_TEXT_CLUSTER_FLAG_BACKWARD</literal></link> +set, the first cluster also covers the beginning +of <parameter>glyphs</parameter> +, otherwise it covers the end of the <parameter>glyphs</parameter> + array and +following clusters move backward.</para> +<para>See <link linkend="cairo-text-cluster-t"><type>cairo_text_cluster_t</type></link> for constraints on valid clusters.</para> +<refsect3 id="cairo-show-text-glyphs.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8</para></entry> +<entry role="parameter_description"><para>a string of text encoded in UTF-8</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8_len</para></entry> +<entry role="parameter_description"><para>length of <parameter>utf8</parameter> +in bytes, or -1 if it is NUL-terminated</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>glyphs</para></entry> +<entry role="parameter_description"><para>array of glyphs to show</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_glyphs</para></entry> +<entry role="parameter_description"><para>number of glyphs to show</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>clusters</para></entry> +<entry role="parameter_description"><para>array of cluster mapping information</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_clusters</para></entry> +<entry role="parameter_description"><para>number of clusters in the mapping</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>cluster_flags</para></entry> +<entry role="parameter_description"><para>cluster mapping flags</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-font-extents" role="function" condition="since:1.0"> +<title>cairo_font_extents ()</title> +<indexterm zone="cairo-font-extents" role="1.0"><primary sortas="font_extents">cairo_font_extents</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_font_extents (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-font-extents-t"><type>cairo_font_extents_t</type></link> *extents</parameter>);</programlisting> +<para>Gets the font extents for the currently selected font.</para> +<refsect3 id="cairo-font-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-font-extents-t"><type>cairo_font_extents_t</type></link> object into which the results +will be stored.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-text-extents" role="function" condition="since:1.0"> +<title>cairo_text_extents ()</title> +<indexterm zone="cairo-text-extents" role="1.0"><primary sortas="text_extents">cairo_text_extents</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_text_extents (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *utf8</parameter>, + <parameter><link linkend="cairo-text-extents-t"><type>cairo_text_extents_t</type></link> *extents</parameter>);</programlisting> +<para>Gets the extents for a string of text. The extents describe a +user-space rectangle that encloses the "inked" portion of the text, +(as it would be drawn by <link linkend="cairo-show-text"><function>cairo_show_text()</function></link>). Additionally, the +x_advance and y_advance values indicate the amount by which the +current point would be advanced by <link linkend="cairo-show-text"><function>cairo_show_text()</function></link>.</para> +<para>Note that whitespace characters do not directly contribute to the +size of the rectangle (extents.width and extents.height). They do +contribute indirectly by changing the position of non-whitespace +characters. In particular, trailing whitespace characters are +likely to not affect the size of the rectangle, though they will +affect the x_advance and y_advance values.</para> +<refsect3 id="cairo-text-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8</para></entry> +<entry role="parameter_description"><para>a NUL-terminated string of text encoded in UTF-8, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-text-extents-t"><type>cairo_text_extents_t</type></link> object into which the results +will be stored</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-glyph-extents" role="function" condition="since:1.0"> +<title>cairo_glyph_extents ()</title> +<indexterm zone="cairo-glyph-extents" role="1.0"><primary sortas="glyph_extents">cairo_glyph_extents</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_glyph_extents (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link> *glyphs</parameter>, + <parameter><link linkend="int"><type>int</type></link> num_glyphs</parameter>, + <parameter><link linkend="cairo-text-extents-t"><type>cairo_text_extents_t</type></link> *extents</parameter>);</programlisting> +<para>Gets the extents for an array of glyphs. The extents describe a +user-space rectangle that encloses the "inked" portion of the +glyphs, (as they would be drawn by <link linkend="cairo-show-glyphs"><function>cairo_show_glyphs()</function></link>). +Additionally, the x_advance and y_advance values indicate the +amount by which the current point would be advanced by +<link linkend="cairo-show-glyphs"><function>cairo_show_glyphs()</function></link>.</para> +<para>Note that whitespace glyphs do not contribute to the size of the +rectangle (extents.width and extents.height).</para> +<refsect3 id="cairo-glyph-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>glyphs</para></entry> +<entry role="parameter_description"><para>an array of <link linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link> objects</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_glyphs</para></entry> +<entry role="parameter_description"><para>the number of elements in <parameter>glyphs</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-text-extents-t"><type>cairo_text_extents_t</type></link> object into which the results +will be stored</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-toy-font-face-create" role="function" condition="since:1.8"> +<title>cairo_toy_font_face_create ()</title> +<indexterm zone="cairo-toy-font-face-create" role="1.8"><primary sortas="toy_font_face_create">cairo_toy_font_face_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +cairo_toy_font_face_create (<parameter>const <link linkend="char"><type>char</type></link> *family</parameter>, + <parameter><link linkend="cairo-font-slant-t"><type>cairo_font_slant_t</type></link> slant</parameter>, + <parameter><link linkend="cairo-font-weight-t"><type>cairo_font_weight_t</type></link> weight</parameter>);</programlisting> +<para>Creates a font face from a triplet of family, slant, and weight. +These font faces are used in implementation of the the <link linkend="cairo-t"><type>cairo_t</type></link> "toy" +font API.</para> +<para>If <parameter>family</parameter> + is the zero-length string "", the platform-specific default +family is assumed. The default family then can be queried using +<link linkend="cairo-toy-font-face-get-family"><function>cairo_toy_font_face_get_family()</function></link>.</para> +<para>The <link linkend="cairo-select-font-face"><function>cairo_select_font_face()</function></link> function uses this to create font faces. +See that function for limitations and other details of toy font faces.</para> +<refsect3 id="cairo-toy-font-face-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>family</para></entry> +<entry role="parameter_description"><para>a font family name, encoded in UTF-8</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>slant</para></entry> +<entry role="parameter_description"><para>the slant for the font</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>weight</para></entry> +<entry role="parameter_description"><para>the weight for the font</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-toy-font-face-create.returns" role="returns"> +<title>Returns</title> +<para> a newly created <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. Free with +<link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link> when you are done using it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-toy-font-face-get-family" role="function" condition="since:1.8"> +<title>cairo_toy_font_face_get_family ()</title> +<indexterm zone="cairo-toy-font-face-get-family" role="1.8"><primary sortas="toy_font_face_get_family">cairo_toy_font_face_get_family</primary></indexterm> +<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> * +cairo_toy_font_face_get_family (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>Gets the familly name of a toy font.</para> +<refsect3 id="cairo-toy-font-face-get-family.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>A toy font face</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-toy-font-face-get-family.returns" role="returns"> +<title>Returns</title> +<para> The family name. This string is owned by the font face +and remains valid as long as the font face is alive (referenced).</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-toy-font-face-get-slant" role="function" condition="since:1.8"> +<title>cairo_toy_font_face_get_slant ()</title> +<indexterm zone="cairo-toy-font-face-get-slant" role="1.8"><primary sortas="toy_font_face_get_slant">cairo_toy_font_face_get_slant</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-slant-t"><returnvalue>cairo_font_slant_t</returnvalue></link> +cairo_toy_font_face_get_slant (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>Gets the slant a toy font.</para> +<refsect3 id="cairo-toy-font-face-get-slant.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>A toy font face</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-toy-font-face-get-slant.returns" role="returns"> +<title>Returns</title> +<para> The slant value</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-toy-font-face-get-weight" role="function" condition="since:1.8"> +<title>cairo_toy_font_face_get_weight ()</title> +<indexterm zone="cairo-toy-font-face-get-weight" role="1.8"><primary sortas="toy_font_face_get_weight">cairo_toy_font_face_get_weight</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-weight-t"><returnvalue>cairo_font_weight_t</returnvalue></link> +cairo_toy_font_face_get_weight (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>Gets the weight a toy font.</para> +<refsect3 id="cairo-toy-font-face-get-weight.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>A toy font face</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-toy-font-face-get-weight.returns" role="returns"> +<title>Returns</title> +<para> The weight value</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-glyph-allocate" role="function" condition="since:1.8"> +<title>cairo_glyph_allocate ()</title> +<indexterm zone="cairo-glyph-allocate" role="1.8"><primary sortas="glyph_allocate">cairo_glyph_allocate</primary></indexterm> +<programlisting language="C"><link linkend="cairo-glyph-t"><returnvalue>cairo_glyph_t</returnvalue></link> * +cairo_glyph_allocate (<parameter><link linkend="int"><type>int</type></link> num_glyphs</parameter>);</programlisting> +<para>Allocates an array of <link linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link>'s. +This function is only useful in implementations of +<link linkend="cairo-user-scaled-font-text-to-glyphs-func-t"><type>cairo_user_scaled_font_text_to_glyphs_func_t</type></link> where the user +needs to allocate an array of glyphs that cairo will free. +For all other uses, user can use their own allocation method +for glyphs.</para> +<para>This function returns <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>num_glyphs</parameter> + is not positive, +or if out of memory. That means, the <link linkend="NULL:CAPS"><literal>NULL</literal></link> return value +signals out-of-memory only if <parameter>num_glyphs</parameter> + was positive.</para> +<refsect3 id="cairo-glyph-allocate.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>num_glyphs</para></entry> +<entry role="parameter_description"><para>number of glyphs to allocate</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-glyph-allocate.returns" role="returns"> +<title>Returns</title> +<para> the newly allocated array of glyphs that should be +freed using <link linkend="cairo-glyph-free"><function>cairo_glyph_free()</function></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-glyph-free" role="function" condition="since:1.8"> +<title>cairo_glyph_free ()</title> +<indexterm zone="cairo-glyph-free" role="1.8"><primary sortas="glyph_free">cairo_glyph_free</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_glyph_free (<parameter><link linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link> *glyphs</parameter>);</programlisting> +<para>Frees an array of <link linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link>'s allocated using <link linkend="cairo-glyph-allocate"><function>cairo_glyph_allocate()</function></link>. +This function is only useful to free glyph array returned +by <link linkend="cairo-scaled-font-text-to-glyphs"><function>cairo_scaled_font_text_to_glyphs()</function></link> where cairo returns +an array of glyphs that the user will free. +For all other uses, user can use their own allocation method +for glyphs.</para> +<refsect3 id="cairo-glyph-free.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>glyphs</para></entry> +<entry role="parameter_description"><para>array of glyphs to free, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-text-cluster-allocate" role="function" condition="since:1.8"> +<title>cairo_text_cluster_allocate ()</title> +<indexterm zone="cairo-text-cluster-allocate" role="1.8"><primary sortas="text_cluster_allocate">cairo_text_cluster_allocate</primary></indexterm> +<programlisting language="C"><link linkend="cairo-text-cluster-t"><returnvalue>cairo_text_cluster_t</returnvalue></link> * +cairo_text_cluster_allocate (<parameter><link linkend="int"><type>int</type></link> num_clusters</parameter>);</programlisting> +<para>Allocates an array of <link linkend="cairo-text-cluster-t"><type>cairo_text_cluster_t</type></link>'s. +This function is only useful in implementations of +<link linkend="cairo-user-scaled-font-text-to-glyphs-func-t"><type>cairo_user_scaled_font_text_to_glyphs_func_t</type></link> where the user +needs to allocate an array of text clusters that cairo will free. +For all other uses, user can use their own allocation method +for text clusters.</para> +<para>This function returns <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>num_clusters</parameter> + is not positive, +or if out of memory. That means, the <link linkend="NULL:CAPS"><literal>NULL</literal></link> return value +signals out-of-memory only if <parameter>num_clusters</parameter> + was positive.</para> +<refsect3 id="cairo-text-cluster-allocate.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>num_clusters</para></entry> +<entry role="parameter_description"><para>number of text_clusters to allocate</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-text-cluster-allocate.returns" role="returns"> +<title>Returns</title> +<para> the newly allocated array of text clusters that should be +freed using <link linkend="cairo-text-cluster-free"><function>cairo_text_cluster_free()</function></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-text-cluster-free" role="function" condition="since:1.8"> +<title>cairo_text_cluster_free ()</title> +<indexterm zone="cairo-text-cluster-free" role="1.8"><primary sortas="text_cluster_free">cairo_text_cluster_free</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_text_cluster_free (<parameter><link linkend="cairo-text-cluster-t"><type>cairo_text_cluster_t</type></link> *clusters</parameter>);</programlisting> +<para>Frees an array of <link linkend="cairo-text-cluster"><type>cairo_text_cluster</type></link>'s allocated using <link linkend="cairo-text-cluster-allocate"><function>cairo_text_cluster_allocate()</function></link>. +This function is only useful to free text cluster array returned +by <link linkend="cairo-scaled-font-text-to-glyphs"><function>cairo_scaled_font_text_to_glyphs()</function></link> where cairo returns +an array of text clusters that the user will free. +For all other uses, user can use their own allocation method +for text clusters.</para> +<refsect3 id="cairo-text-cluster-free.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>clusters</para></entry> +<entry role="parameter_description"><para>array of text clusters to free, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-text.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="cairo-glyph-t" role="struct" condition="since:1.0"> +<title>cairo_glyph_t</title> +<indexterm zone="cairo-glyph-t" role="1.0"><primary sortas="glyph_t">cairo_glyph_t</primary></indexterm> +<programlisting language="C">typedef struct { + unsigned long index; + double x; + double y; +} cairo_glyph_t; +</programlisting> +<para>The <link linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link> structure holds information about a single glyph +when drawing or measuring text. A font is (in simple terms) a +collection of shapes used to draw text. A glyph is one of these +shapes. There can be multiple glyphs for a single character +(alternates to be used in different contexts, for example), or a +glyph can be a <firstterm>ligature</firstterm> of multiple +characters. Cairo doesn't expose any way of converting input text +into glyphs, so in order to use the Cairo interfaces that take +arrays of glyphs, you must directly access the appropriate +underlying font system.</para> +<para>Note that the offsets given by <parameter>x</parameter> + and <parameter>y</parameter> + are not cumulative. When +drawing or measuring text, each glyph is individually positioned +with respect to the overall origin</para> +<refsect3 id="cairo-glyph-t.members" role="struct_members"> +<title>Members</title> +<informaltable role="struct_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="struct_members_name" colwidth="300px"/> +<colspec colname="struct_members_description"/> +<colspec colname="struct_members_annotations" colwidth="200px"/> +<tbody> +<row role="member"><entry role="struct_member_name"><para>unsigned <link linkend="long"><type>long</type></link> <structfield id="cairo-glyph-t.index">index</structfield>;</para></entry> +<entry role="struct_member_description"><para>glyph index in the font. The exact interpretation of the +glyph index depends on the font technology being used.</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-glyph-t.x">x</structfield>;</para></entry> +<entry role="struct_member_description"><para>the offset in the X direction between the origin used for +drawing or measuring the string and the origin of this glyph.</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-glyph-t.y">y</structfield>;</para></entry> +<entry role="struct_member_description"><para>the offset in the Y direction between the origin used for +drawing or measuring the string and the origin of this glyph.</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-slant-t" role="enum" condition="since:1.0"> +<title>enum cairo_font_slant_t</title> +<indexterm zone="cairo-font-slant-t" role="1.0"><primary sortas="font_slant_t">cairo_font_slant_t</primary></indexterm> +<para>Specifies variants of a font face based on their slant.</para> +<refsect3 id="cairo-font-slant-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FONT-SLANT-NORMAL:CAPS">CAIRO_FONT_SLANT_NORMAL</para></entry> +<entry role="enum_member_description"><para>Upright font style, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FONT-SLANT-ITALIC:CAPS">CAIRO_FONT_SLANT_ITALIC</para></entry> +<entry role="enum_member_description"><para>Italic font style, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FONT-SLANT-OBLIQUE:CAPS">CAIRO_FONT_SLANT_OBLIQUE</para></entry> +<entry role="enum_member_description"><para>Oblique font style, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-font-weight-t" role="enum" condition="since:1.0"> +<title>enum cairo_font_weight_t</title> +<indexterm zone="cairo-font-weight-t" role="1.0"><primary sortas="font_weight_t">cairo_font_weight_t</primary></indexterm> +<para>Specifies variants of a font face based on their weight.</para> +<refsect3 id="cairo-font-weight-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FONT-WEIGHT-NORMAL:CAPS">CAIRO_FONT_WEIGHT_NORMAL</para></entry> +<entry role="enum_member_description"><para>Normal font weight, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FONT-WEIGHT-BOLD:CAPS">CAIRO_FONT_WEIGHT_BOLD</para></entry> +<entry role="enum_member_description"><para>Bold font weight, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-text-cluster-t" role="struct" condition="since:1.8"> +<title>cairo_text_cluster_t</title> +<indexterm zone="cairo-text-cluster-t" role="1.8"><primary sortas="text_cluster_t">cairo_text_cluster_t</primary></indexterm> +<programlisting language="C">typedef struct { + int num_bytes; + int num_glyphs; +} cairo_text_cluster_t; +</programlisting> +<para>The <link linkend="cairo-text-cluster-t"><type>cairo_text_cluster_t</type></link> structure holds information about a single +<firstterm>text cluster</firstterm>. A text cluster is a minimal +mapping of some glyphs corresponding to some UTF-8 text.</para> +<para>For a cluster to be valid, both <parameter>num_bytes</parameter> + and <parameter>num_glyphs</parameter> + should +be non-negative, and at least one should be non-zero. +Note that clusters with zero glyphs are not as well supported as +normal clusters. For example, PDF rendering applications typically +ignore those clusters when PDF text is being selected.</para> +<para>See <link linkend="cairo-show-text-glyphs"><function>cairo_show_text_glyphs()</function></link> for how clusters are used in advanced +text operations.</para> +<refsect3 id="cairo-text-cluster-t.members" role="struct_members"> +<title>Members</title> +<informaltable role="struct_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="struct_members_name" colwidth="300px"/> +<colspec colname="struct_members_description"/> +<colspec colname="struct_members_annotations" colwidth="200px"/> +<tbody> +<row role="member"><entry role="struct_member_name"><para><link linkend="int"><type>int</type></link> <structfield id="cairo-text-cluster-t.num-bytes">num_bytes</structfield>;</para></entry> +<entry role="struct_member_description"><para>the number of bytes of UTF-8 text covered by cluster</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="int"><type>int</type></link> <structfield id="cairo-text-cluster-t.num-glyphs">num_glyphs</structfield>;</para></entry> +<entry role="struct_member_description"><para>the number of glyphs covered by cluster</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3> +<para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-text-cluster-flags-t" role="enum" condition="since:1.8"> +<title>enum cairo_text_cluster_flags_t</title> +<indexterm zone="cairo-text-cluster-flags-t" role="1.8"><primary sortas="text_cluster_flags_t">cairo_text_cluster_flags_t</primary></indexterm> +<para>Specifies properties of a text cluster mapping.</para> +<refsect3 id="cairo-text-cluster-flags-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-TEXT-CLUSTER-FLAG-BACKWARD:CAPS">CAIRO_TEXT_CLUSTER_FLAG_BACKWARD</para></entry> +<entry role="enum_member_description"><para>The clusters in the cluster array +map to glyphs in the glyph array from end to start. (Since 1.8)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-text.see-also"> +<title>See Also</title> +<para><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>, <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link>, <link linkend="cairo-text-path"><function>cairo_text_path()</function></link>, + <link linkend="cairo-glyph-path"><function>cairo_glyph_path()</function></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-transforms.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-transforms.xml new file mode 100644 index 0000000..22d38bb --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-transforms.xml @@ -0,0 +1,389 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Transformations"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Transformations.top_of_page">Transformations</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Transformations</refname> +<refpurpose>Manipulating the current transformation matrix</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Transformations.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-translate">cairo_translate</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-scale">cairo_scale</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-rotate">cairo_rotate</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-transform">cairo_transform</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-matrix">cairo_set_matrix</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-matrix">cairo_get_matrix</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-identity-matrix">cairo_identity_matrix</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-user-to-device">cairo_user_to_device</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-user-to-device-distance">cairo_user_to_device_distance</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-to-user">cairo_device_to_user</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-device-to-user-distance">cairo_device_to_user_distance</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Transformations.description" role="desc"> +<title role="desc.title">Description</title> +<para>The current transformation matrix, <firstterm>ctm</firstterm>, is a +two-dimensional affine transformation that maps all coordinates and other +drawing instruments from the <firstterm>user space</firstterm> into the +surface's canonical coordinate system, also known as the <firstterm>device +space</firstterm>.</para> + +</refsect1> +<refsect1 id="cairo-Transformations.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-translate" role="function" condition="since:1.0"> +<title>cairo_translate ()</title> +<indexterm zone="cairo-translate" role="1.0"><primary sortas="translate">cairo_translate</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_translate (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> tx</parameter>, + <parameter><link linkend="double"><type>double</type></link> ty</parameter>);</programlisting> +<para>Modifies the current transformation matrix (CTM) by translating the +user-space origin by (<parameter>tx</parameter> +, <parameter>ty</parameter> +). This offset is interpreted as a +user-space coordinate according to the CTM in place before the new +call to <link linkend="cairo-translate"><function>cairo_translate()</function></link>. In other words, the translation of the +user-space origin takes place after any existing transformation.</para> +<refsect3 id="cairo-translate.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>tx</para></entry> +<entry role="parameter_description"><para>amount to translate in the X direction</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>ty</para></entry> +<entry role="parameter_description"><para>amount to translate in the Y direction</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-scale" role="function" condition="since:1.0"> +<title>cairo_scale ()</title> +<indexterm zone="cairo-scale" role="1.0"><primary sortas="scale">cairo_scale</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_scale (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> sx</parameter>, + <parameter><link linkend="double"><type>double</type></link> sy</parameter>);</programlisting> +<para>Modifies the current transformation matrix (CTM) by scaling the X +and Y user-space axes by <parameter>sx</parameter> + and <parameter>sy</parameter> + respectively. The scaling of +the axes takes place after any existing transformation of user +space.</para> +<refsect3 id="cairo-scale.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>sx</para></entry> +<entry role="parameter_description"><para>scale factor for the X dimension</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>sy</para></entry> +<entry role="parameter_description"><para>scale factor for the Y dimension</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-rotate" role="function" condition="since:1.0"> +<title>cairo_rotate ()</title> +<indexterm zone="cairo-rotate" role="1.0"><primary sortas="rotate">cairo_rotate</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_rotate (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> angle</parameter>);</programlisting> +<para>Modifies the current transformation matrix (CTM) by rotating the +user-space axes by <parameter>angle</parameter> + radians. The rotation of the axes takes +places after any existing transformation of user space. The +rotation direction for positive angles is from the positive X axis +toward the positive Y axis.</para> +<refsect3 id="cairo-rotate.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>angle</para></entry> +<entry role="parameter_description"><para>angle (in radians) by which the user-space axes will be +rotated</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-transform" role="function" condition="since:1.0"> +<title>cairo_transform ()</title> +<indexterm zone="cairo-transform" role="1.0"><primary sortas="transform">cairo_transform</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_transform (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>);</programlisting> +<para>Modifies the current transformation matrix (CTM) by applying +<parameter>matrix</parameter> + as an additional transformation. The new transformation of +user space takes place after any existing transformation.</para> +<refsect3 id="cairo-transform.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a transformation to be applied to the user-space axes</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-matrix" role="function" condition="since:1.0"> +<title>cairo_set_matrix ()</title> +<indexterm zone="cairo-set-matrix" role="1.0"><primary sortas="set_matrix">cairo_set_matrix</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_matrix (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>);</programlisting> +<para>Modifies the current transformation matrix (CTM) by setting it +equal to <parameter>matrix</parameter> +.</para> +<refsect3 id="cairo-set-matrix.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>a transformation matrix from user space to device space</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-matrix" role="function" condition="since:1.0"> +<title>cairo_get_matrix ()</title> +<indexterm zone="cairo-get-matrix" role="1.0"><primary sortas="get_matrix">cairo_get_matrix</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_get_matrix (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *matrix</parameter>);</programlisting> +<para>Stores the current transformation matrix (CTM) into <parameter>matrix</parameter> +.</para> +<refsect3 id="cairo-get-matrix.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>matrix</para></entry> +<entry role="parameter_description"><para>return value for the matrix</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-identity-matrix" role="function" condition="since:1.0"> +<title>cairo_identity_matrix ()</title> +<indexterm zone="cairo-identity-matrix" role="1.0"><primary sortas="identity_matrix">cairo_identity_matrix</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_identity_matrix (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Resets the current transformation matrix (CTM) by setting it equal +to the identity matrix. That is, the user-space and device-space +axes will be aligned and one user-space unit will transform to one +device-space unit.</para> +<refsect3 id="cairo-identity-matrix.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-user-to-device" role="function" condition="since:1.0"> +<title>cairo_user_to_device ()</title> +<indexterm zone="cairo-user-to-device" role="1.0"><primary sortas="user_to_device">cairo_user_to_device</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_user_to_device (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y</parameter>);</programlisting> +<para>Transform a coordinate from user space to device space by +multiplying the given point by the current transformation matrix +(CTM).</para> +<refsect3 id="cairo-user-to-device.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>X value of coordinate (in/out parameter)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>Y value of coordinate (in/out parameter)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-user-to-device-distance" role="function" condition="since:1.0"> +<title>cairo_user_to_device_distance ()</title> +<indexterm zone="cairo-user-to-device-distance" role="1.0"><primary sortas="user_to_device_distance">cairo_user_to_device_distance</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_user_to_device_distance (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> *dx</parameter>, + <parameter><link linkend="double"><type>double</type></link> *dy</parameter>);</programlisting> +<para>Transform a distance vector from user space to device space. This +function is similar to <link linkend="cairo-user-to-device"><function>cairo_user_to_device()</function></link> except that the +translation components of the CTM will be ignored when transforming +(<parameter>dx</parameter> +,<parameter>dy</parameter> +).</para> +<refsect3 id="cairo-user-to-device-distance.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dx</para></entry> +<entry role="parameter_description"><para>X component of a distance vector (in/out parameter)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dy</para></entry> +<entry role="parameter_description"><para>Y component of a distance vector (in/out parameter)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-device-to-user" role="function" condition="since:1.0"> +<title>cairo_device_to_user ()</title> +<indexterm zone="cairo-device-to-user" role="1.0"><primary sortas="device_to_user">cairo_device_to_user</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_device_to_user (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y</parameter>);</programlisting> +<para>Transform a coordinate from device space to user space by +multiplying the given point by the inverse of the current +transformation matrix (CTM).</para> +<refsect3 id="cairo-device-to-user.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>X value of coordinate (in/out parameter)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>Y value of coordinate (in/out parameter)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-device-to-user-distance" role="function" condition="since:1.0"> +<title>cairo_device_to_user_distance ()</title> +<indexterm zone="cairo-device-to-user-distance" role="1.0"><primary sortas="device_to_user_distance">cairo_device_to_user_distance</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_device_to_user_distance (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> *dx</parameter>, + <parameter><link linkend="double"><type>double</type></link> *dy</parameter>);</programlisting> +<para>Transform a distance vector from device space to user space. This +function is similar to <link linkend="cairo-device-to-user"><function>cairo_device_to_user()</function></link> except that the +translation components of the inverse CTM will be ignored when +transforming (<parameter>dx</parameter> +,<parameter>dy</parameter> +).</para> +<refsect3 id="cairo-device-to-user-distance.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dx</para></entry> +<entry role="parameter_description"><para>X component of a distance vector (in/out parameter)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dy</para></entry> +<entry role="parameter_description"><para>Y component of a distance vector (in/out parameter)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Transformations.other_details" role="details"> +<title role="details.title">Types and Values</title> + +</refsect1> +<refsect1 id="cairo-Transformations.see-also"> +<title>See Also</title> +<para><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-types.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-types.xml new file mode 100644 index 0000000..916e4f4 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-types.xml @@ -0,0 +1,161 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Types"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Types.top_of_page">Types</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Types</refname> +<refpurpose>Generic data types</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Types.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-destroy-func-t">*cairo_destroy_func_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Types.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="typedef_keyword">typedef</entry><entry role="function_name"><link linkend="cairo-bool-t">cairo_bool_t</link></entry></row> +<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="cairo-user-data-key-t">cairo_user_data_key_t</link></entry></row> +<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="cairo-rectangle-int-t">cairo_rectangle_int_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Types.description" role="desc"> +<title role="desc.title">Description</title> +<para>This section lists generic data types used in the cairo API.</para> + +</refsect1> +<refsect1 id="cairo-Types.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-destroy-func-t" role="function" condition="since:1.0"> +<title>cairo_destroy_func_t ()</title> +<indexterm zone="cairo-destroy-func-t" role="1.0"><primary sortas="destroy_func_t">cairo_destroy_func_t</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_destroy_func_t<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="void"><type>void</type></link> *data</parameter>);</programlisting> +<para><link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> the type of function which is called when a +data element is destroyed. It is passed the pointer to the data +element and should free any memory and resources allocated for it.</para> +<refsect3 id="cairo-destroy-func-t.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>data</para></entry> +<entry role="parameter_description"><para>The data element being destroyed.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Types.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="cairo-bool-t" role="typedef" condition="since:1.0"> +<title>cairo_bool_t</title> +<indexterm zone="cairo-bool-t" role="1.0"><primary sortas="bool_t">cairo_bool_t</primary></indexterm> +<programlisting language="C">typedef int cairo_bool_t; +</programlisting> +<para><link linkend="cairo-bool-t"><type>cairo_bool_t</type></link> is used for boolean values. Returns of type +<link linkend="cairo-bool-t"><type>cairo_bool_t</type></link> will always be either 0 or 1, but testing against +these values explicitly is not encouraged; just use the +value as a boolean condition.</para> +<informalexample><programlisting> + if (cairo_in_stroke (cr, x, y)) { + /<!-- -->* do something *<!-- -->/ + } +</programlisting></informalexample> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-user-data-key-t" role="struct" condition="since:1.0"> +<title>cairo_user_data_key_t</title> +<indexterm zone="cairo-user-data-key-t" role="1.0"><primary sortas="user_data_key_t">cairo_user_data_key_t</primary></indexterm> +<programlisting language="C">typedef struct { + int unused; +} cairo_user_data_key_t; +</programlisting> +<para><link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> is used for attaching user data to cairo +data structures. The actual contents of the struct is never used, +and there is no need to initialize the object; only the unique +address of a <link linkend="cairo-data-key-t"><type>cairo_data_key_t</type></link> object is used. Typically, you +would just use the address of a static <link linkend="cairo-data-key-t"><type>cairo_data_key_t</type></link> object.</para> +<refsect3 id="cairo-user-data-key-t.members" role="struct_members"> +<title>Members</title> +<informaltable role="struct_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="struct_members_name" colwidth="300px"/> +<colspec colname="struct_members_description"/> +<colspec colname="struct_members_annotations" colwidth="200px"/> +<tbody> +<row role="member"><entry role="struct_member_name"><para><link linkend="int"><type>int</type></link> <structfield id="cairo-user-data-key-t.unused">unused</structfield>;</para></entry> +<entry role="struct_member_description"><para>not used; ignore.</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-rectangle-int-t" role="struct" condition="since:1.10"> +<title>cairo_rectangle_int_t</title> +<indexterm zone="cairo-rectangle-int-t" role="1.10"><primary sortas="rectangle_int_t">cairo_rectangle_int_t</primary></indexterm> +<programlisting language="C">typedef struct { + int x, y; + int width, height; +} cairo_rectangle_int_t; +</programlisting> +<para>A data structure for holding a rectangle with integer coordinates.</para> +<refsect3 id="cairo-rectangle-int-t.members" role="struct_members"> +<title>Members</title> +<informaltable role="struct_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="struct_members_name" colwidth="300px"/> +<colspec colname="struct_members_description"/> +<colspec colname="struct_members_annotations" colwidth="200px"/> +<tbody> +<row role="member"><entry role="struct_member_name"><para><link linkend="int"><type>int</type></link> <structfield id="cairo-rectangle-int-t.x">x</structfield>;</para></entry> +<entry role="struct_member_description"><para>X coordinate of the left side of the rectangle</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="int"><type>int</type></link> <structfield id="cairo-rectangle-int-t.y">y</structfield>;</para></entry> +<entry role="struct_member_description"><para>Y coordinate of the the top side of the rectangle</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="int"><type>int</type></link> <structfield id="cairo-rectangle-int-t.width">width</structfield>;</para></entry> +<entry role="struct_member_description"><para>width of the rectangle</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="int"><type>int</type></link> <structfield id="cairo-rectangle-int-t.height">height</structfield>;</para></entry> +<entry role="struct_member_description"><para>height of the rectangle</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3> +<para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-user-fonts.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-user-fonts.xml new file mode 100644 index 0000000..894fd7a --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-user-fonts.xml @@ -0,0 +1,626 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-User-Fonts"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-User-Fonts.top_of_page">User Fonts</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>User Fonts</refname> +<refpurpose>Font support with font data provided by the user</refpurpose> +</refnamediv> + +<refsect1 id="cairo-User-Fonts.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-user-scaled-font-init-func-t">*cairo_user_scaled_font_init_func_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-user-scaled-font-render-glyph-func-t">*cairo_user_scaled_font_render_glyph_func_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-user-scaled-font-text-to-glyphs-func-t">*cairo_user_scaled_font_text_to_glyphs_func_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="cairo-user-scaled-font-unicode-to-glyph-func-t">*cairo_user_scaled_font_unicode_to_glyph_func_t</link><phrase role="c_punctuation">)</phrase> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-user-font-face-create">cairo_user_font_face_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-user-font-face-set-init-func">cairo_user_font_face_set_init_func</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-user-scaled-font-init-func-t"><returnvalue>cairo_user_scaled_font_init_func_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-user-font-face-get-init-func">cairo_user_font_face_get_init_func</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-user-font-face-set-render-glyph-func">cairo_user_font_face_set_render_glyph_func</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-user-scaled-font-render-glyph-func-t"><returnvalue>cairo_user_scaled_font_render_glyph_func_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-user-font-face-get-render-glyph-func">cairo_user_font_face_get_render_glyph_func</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-user-font-face-set-unicode-to-glyph-func">cairo_user_font_face_set_unicode_to_glyph_func</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-user-scaled-font-unicode-to-glyph-func-t"><returnvalue>cairo_user_scaled_font_unicode_to_glyph_func_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-user-font-face-get-unicode-to-glyph-func">cairo_user_font_face_get_unicode_to_glyph_func</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-user-font-face-set-text-to-glyphs-func">cairo_user_font_face_set_text_to_glyphs_func</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-user-scaled-font-text-to-glyphs-func-t"><returnvalue>cairo_user_scaled_font_text_to_glyphs_func_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-user-font-face-get-text-to-glyphs-func">cairo_user_font_face_get_text_to_glyphs_func</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-User-Fonts.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-USER-FONT:CAPS">CAIRO_HAS_USER_FONT</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-User-Fonts.description" role="desc"> +<title role="desc.title">Description</title> +<para>The user-font feature allows the cairo user to provide drawings for glyphs +in a font. This is most useful in implementing fonts in non-standard +formats, like SVG fonts and Flash fonts, but can also be used by games and +other application to draw "funky" fonts.</para> + +</refsect1> +<refsect1 id="cairo-User-Fonts.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-user-scaled-font-init-func-t" role="function" condition="since:1.8"> +<title>cairo_user_scaled_font_init_func_t ()</title> +<indexterm zone="cairo-user-scaled-font-init-func-t" role="1.8"><primary sortas="user_scaled_font_init_func_t">cairo_user_scaled_font_init_func_t</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_user_scaled_font_init_func_t<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-font-extents-t"><type>cairo_font_extents_t</type></link> *extents</parameter>);</programlisting> +<para><link linkend="cairo-user-scaled-font-init-func-t"><type>cairo_user_scaled_font_init_func_t</type></link> is the type of function which is +called when a scaled-font needs to be created for a user font-face.</para> +<para>The cairo context <parameter>cr</parameter> + is not used by the caller, but is prepared in font +space, similar to what the cairo contexts passed to the render_glyph +method will look like. The callback can use this context for extents +computation for example. After the callback is called, <parameter>cr</parameter> + is checked +for any error status.</para> +<para>The <parameter>extents</parameter> + argument is where the user font sets the font extents for +<parameter>scaled_font</parameter> +. It is in font space, which means that for most cases its +ascent and descent members should add to 1.0. <parameter>extents</parameter> + is preset to +hold a value of 1.0 for ascent, height, and max_x_advance, and 0.0 for +descent and max_y_advance members.</para> +<para>The callback is optional. If not set, default font extents as described +in the previous paragraph will be used.</para> +<para>Note that <parameter>scaled_font</parameter> + is not fully initialized at this +point and trying to use it for text operations in the callback will result +in deadlock.</para> +<refsect3 id="cairo-user-scaled-font-init-func-t.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>the scaled-font being created</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context, in font space</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>font extents to fill in, in font space</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-user-scaled-font-init-func-t.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> upon success, or an error status on error.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-user-scaled-font-render-glyph-func-t" role="function" condition="since:1.8"> +<title>cairo_user_scaled_font_render_glyph_func_t ()</title> +<indexterm zone="cairo-user-scaled-font-render-glyph-func-t" role="1.8"><primary sortas="user_scaled_font_render_glyph_func_t">cairo_user_scaled_font_render_glyph_func_t</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_user_scaled_font_render_glyph_func_t<phrase role="c_punctuation">)</phrase> + (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter><type>unsigned long </type> glyph</parameter>, + <parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-text-extents-t"><type>cairo_text_extents_t</type></link> *extents</parameter>);</programlisting> +<para><link linkend="cairo-user-scaled-font-render-glyph-func-t"><type>cairo_user_scaled_font_render_glyph_func_t</type></link> is the type of function which +is called when a user scaled-font needs to render a glyph.</para> +<para>The callback is mandatory, and expected to draw the glyph with code <parameter>glyph</parameter> + to +the cairo context <parameter>cr</parameter> +. <parameter>cr</parameter> + is prepared such that the glyph drawing is done in +font space. That is, the matrix set on <parameter>cr</parameter> + is the scale matrix of <parameter>scaled_font</parameter> +, +The <parameter>extents</parameter> + argument is where the user font sets the font extents for +<parameter>scaled_font</parameter> +. However, if user prefers to draw in user space, they can +achieve that by changing the matrix on <parameter>cr</parameter> +. All cairo rendering operations +to <parameter>cr</parameter> + are permitted, however, the result is undefined if any source other +than the default source on <parameter>cr</parameter> + is used. That means, glyph bitmaps should +be rendered using <link linkend="cairo-mask"><function>cairo_mask()</function></link> instead of <link linkend="cairo-paint"><function>cairo_paint()</function></link>.</para> +<para>Other non-default settings on <parameter>cr</parameter> + include a font size of 1.0 (given that +it is set up to be in font space), and font options corresponding to +<parameter>scaled_font</parameter> +.</para> +<para>The <parameter>extents</parameter> + argument is preset to have <literal>x_bearing</literal>, +<literal>width</literal>, and <literal>y_advance</literal> of zero, +<literal>y_bearing</literal> set to <literal>-font_extents.ascent</literal>, +<literal>height</literal> to <literal>font_extents.ascent+font_extents.descent</literal>, +and <literal>x_advance</literal> to <literal>font_extents.max_x_advance</literal>. +The only field user needs to set in majority of cases is +<literal>x_advance</literal>. +If the <literal>width</literal> field is zero upon the callback returning +(which is its preset value), the glyph extents are automatically computed +based on the drawings done to <parameter>cr</parameter> +. This is in most cases exactly what the +desired behavior is. However, if for any reason the callback sets the +extents, it must be ink extents, and include the extents of all drawing +done to <parameter>cr</parameter> + in the callback.</para> +<refsect3 id="cairo-user-scaled-font-render-glyph-func-t.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>user scaled-font</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>glyph</para></entry> +<entry role="parameter_description"><para>glyph code to render</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>cairo context to draw to, in font space</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>extents</para></entry> +<entry role="parameter_description"><para>glyph extents to fill in, in font space</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-user-scaled-font-render-glyph-func-t.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> upon success, or +<link linkend="CAIRO-STATUS-USER-FONT-ERROR:CAPS"><literal>CAIRO_STATUS_USER_FONT_ERROR</literal></link> or any other error status on error.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-user-scaled-font-text-to-glyphs-func-t" role="function" condition="since:1.8"> +<title>cairo_user_scaled_font_text_to_glyphs_func_t ()</title> +<indexterm zone="cairo-user-scaled-font-text-to-glyphs-func-t" role="1.8"><primary sortas="user_scaled_font_text_to_glyphs_func_t">cairo_user_scaled_font_text_to_glyphs_func_t</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_user_scaled_font_text_to_glyphs_func_t<phrase role="c_punctuation">)</phrase> + (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter>const <link linkend="char"><type>char</type></link> *utf8</parameter>, + <parameter><link linkend="int"><type>int</type></link> utf8_len</parameter>, + <parameter><link linkend="cairo-glyph-t"><type>cairo_glyph_t</type></link> **glyphs</parameter>, + <parameter><link linkend="int"><type>int</type></link> *num_glyphs</parameter>, + <parameter><link linkend="cairo-text-cluster-t"><type>cairo_text_cluster_t</type></link> **clusters</parameter>, + <parameter><link linkend="int"><type>int</type></link> *num_clusters</parameter>, + <parameter><link linkend="cairo-text-cluster-flags-t"><type>cairo_text_cluster_flags_t</type></link> *cluster_flags</parameter>);</programlisting> +<para><link linkend="cairo-user-scaled-font-text-to-glyphs-func-t"><type>cairo_user_scaled_font_text_to_glyphs_func_t</type></link> is the type of function which +is called to convert input text to an array of glyphs. This is used by the +<link linkend="cairo-show-text"><function>cairo_show_text()</function></link> operation.</para> +<para>Using this callback the user-font has full control on glyphs and their +positions. That means, it allows for features like ligatures and kerning, +as well as complex <firstterm>shaping</firstterm> required for scripts like +Arabic and Indic.</para> +<para>The <parameter>num_glyphs</parameter> + argument is preset to the number of glyph entries available +in the <parameter>glyphs</parameter> + buffer. If the <parameter>glyphs</parameter> + buffer is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, the value of +<parameter>num_glyphs</parameter> + will be zero. If the provided glyph array is too short for +the conversion (or for convenience), a new glyph array may be allocated +using <link linkend="cairo-glyph-allocate"><function>cairo_glyph_allocate()</function></link> and placed in <parameter>glyphs</parameter> +. Upon return, +<parameter>num_glyphs</parameter> + should contain the number of generated glyphs. If the value +<parameter>glyphs</parameter> + points at has changed after the call, the caller will free the +allocated glyph array using <link linkend="cairo-glyph-free"><function>cairo_glyph_free()</function></link>. The caller will also free +the original value of <parameter>glyphs</parameter> +, so the callback shouldn't do so. +The callback should populate the glyph indices and positions (in font space) +assuming that the text is to be shown at the origin.</para> +<para>If <parameter>clusters</parameter> + is not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, <parameter>num_clusters</parameter> + and <parameter>cluster_flags</parameter> + are also +non-<link linkend="NULL:CAPS"><literal>NULL</literal></link>, and cluster mapping should be computed. The semantics of how +cluster array allocation works is similar to the glyph array. That is, +if <parameter>clusters</parameter> + initially points to a non-<link linkend="NULL:CAPS"><literal>NULL</literal></link> value, that array may be used +as a cluster buffer, and <parameter>num_clusters</parameter> + points to the number of cluster +entries available there. If the provided cluster array is too short for +the conversion (or for convenience), a new cluster array may be allocated +using <link linkend="cairo-text-cluster-allocate"><function>cairo_text_cluster_allocate()</function></link> and placed in <parameter>clusters</parameter> +. In this case, +the original value of <parameter>clusters</parameter> + will still be freed by the caller. Upon +return, <parameter>num_clusters</parameter> + should contain the number of generated clusters. +If the value <parameter>clusters</parameter> + points at has changed after the call, the caller +will free the allocated cluster array using <link linkend="cairo-text-cluster-free"><function>cairo_text_cluster_free()</function></link>.</para> +<para>The callback is optional. If <parameter>num_glyphs</parameter> + is negative upon +the callback returning or if the return value +is <link linkend="CAIRO-STATUS-USER-FONT-NOT-IMPLEMENTED:CAPS"><literal>CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED</literal></link>, the unicode_to_glyph callback +is tried. See <link linkend="cairo-user-scaled-font-unicode-to-glyph-func-t"><type>cairo_user_scaled_font_unicode_to_glyph_func_t</type></link>.</para> +<para>Note: While cairo does not impose any limitation on glyph indices, +some applications may assume that a glyph index fits in a 16-bit +unsigned integer. As such, it is advised that user-fonts keep their +glyphs in the 0 to 65535 range. Furthermore, some applications may +assume that glyph 0 is a special glyph-not-found glyph. User-fonts +are advised to use glyph 0 for such purposes and do not use that +glyph value for other purposes.</para> +<refsect3 id="cairo-user-scaled-font-text-to-glyphs-func-t.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>the scaled-font being created</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8</para></entry> +<entry role="parameter_description"><para>a string of text encoded in UTF-8</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>utf8_len</para></entry> +<entry role="parameter_description"><para>length of <parameter>utf8</parameter> +in bytes</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>glyphs</para></entry> +<entry role="parameter_description"><para>pointer to array of glyphs to fill, in font space</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_glyphs</para></entry> +<entry role="parameter_description"><para>pointer to number of glyphs</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>clusters</para></entry> +<entry role="parameter_description"><para>pointer to array of cluster mapping information to fill, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_clusters</para></entry> +<entry role="parameter_description"><para>pointer to number of clusters</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>cluster_flags</para></entry> +<entry role="parameter_description"><para>pointer to location to store cluster flags corresponding to the +output <parameter>clusters</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-user-scaled-font-text-to-glyphs-func-t.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> upon success, +<link linkend="CAIRO-STATUS-USER-FONT-NOT-IMPLEMENTED:CAPS"><literal>CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED</literal></link> if fallback options should be tried, +or <link linkend="CAIRO-STATUS-USER-FONT-ERROR:CAPS"><literal>CAIRO_STATUS_USER_FONT_ERROR</literal></link> or any other error status on error.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-user-scaled-font-unicode-to-glyph-func-t" role="function" condition="since:1.8"> +<title>cairo_user_scaled_font_unicode_to_glyph_func_t ()</title> +<indexterm zone="cairo-user-scaled-font-unicode-to-glyph-func-t" role="1.8"><primary sortas="user_scaled_font_unicode_to_glyph_func_t">cairo_user_scaled_font_unicode_to_glyph_func_t</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +<phrase role="c_punctuation">(</phrase>*cairo_user_scaled_font_unicode_to_glyph_func_t<phrase role="c_punctuation">)</phrase> + (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter><type>unsigned long </type> unicode</parameter>, + <parameter>unsigned <link linkend="long"><type>long</type></link> *glyph_index</parameter>);</programlisting> +<para><link linkend="cairo-user-scaled-font-unicode-to-glyph-func-t"><type>cairo_user_scaled_font_unicode_to_glyph_func_t</type></link> is the type of function which +is called to convert an input Unicode character to a single glyph. +This is used by the <link linkend="cairo-show-text"><function>cairo_show_text()</function></link> operation.</para> +<para>This callback is used to provide the same functionality as the +text_to_glyphs callback does (see <link linkend="cairo-user-scaled-font-text-to-glyphs-func-t"><type>cairo_user_scaled_font_text_to_glyphs_func_t</type></link>) +but has much less control on the output, +in exchange for increased ease of use. The inherent assumption to using +this callback is that each character maps to one glyph, and that the +mapping is context independent. It also assumes that glyphs are positioned +according to their advance width. These mean no ligatures, kerning, or +complex scripts can be implemented using this callback.</para> +<para>The callback is optional, and only used if text_to_glyphs callback is not +set or fails to return glyphs. If this callback is not set or if it returns +<link linkend="CAIRO-STATUS-USER-FONT-NOT-IMPLEMENTED:CAPS"><literal>CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED</literal></link>, an identity mapping from Unicode +code-points to glyph indices is assumed.</para> +<para>Note: While cairo does not impose any limitation on glyph indices, +some applications may assume that a glyph index fits in a 16-bit +unsigned integer. As such, it is advised that user-fonts keep their +glyphs in the 0 to 65535 range. Furthermore, some applications may +assume that glyph 0 is a special glyph-not-found glyph. User-fonts +are advised to use glyph 0 for such purposes and do not use that +glyph value for other purposes.</para> +<refsect3 id="cairo-user-scaled-font-unicode-to-glyph-func-t.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>the scaled-font being created</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>unicode</para></entry> +<entry role="parameter_description"><para>input unicode character code-point</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>glyph_index</para></entry> +<entry role="parameter_description"><para>output glyph index</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-user-scaled-font-unicode-to-glyph-func-t.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> upon success, +<link linkend="CAIRO-STATUS-USER-FONT-NOT-IMPLEMENTED:CAPS"><literal>CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED</literal></link> if fallback options should be tried, +or <link linkend="CAIRO-STATUS-USER-FONT-ERROR:CAPS"><literal>CAIRO_STATUS_USER_FONT_ERROR</literal></link> or any other error status on error.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-user-font-face-create" role="function" condition="since:1.8"> +<title>cairo_user_font_face_create ()</title> +<indexterm zone="cairo-user-font-face-create" role="1.8"><primary sortas="user_font_face_create">cairo_user_font_face_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +cairo_user_font_face_create (<parameter><type>void</type></parameter>);</programlisting> +<para>Creates a new user font-face.</para> +<para>Use the setter functions to associate callbacks with the returned +user font. The only mandatory callback is render_glyph.</para> +<para>After the font-face is created, the user can attach arbitrary data +(the actual font data) to it using <link linkend="cairo-font-face-set-user-data"><function>cairo_font_face_set_user_data()</function></link> +and access it from the user-font callbacks by using +<link linkend="cairo-scaled-font-get-font-face"><function>cairo_scaled_font_get_font_face()</function></link> followed by +<link linkend="cairo-font-face-get-user-data"><function>cairo_font_face_get_user_data()</function></link>.</para> +<refsect3 id="cairo-user-font-face-create.returns" role="returns"> +<title>Returns</title> +<para> a newly created <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. Free with +<link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link> when you are done using it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-user-font-face-set-init-func" role="function" condition="since:1.8"> +<title>cairo_user_font_face_set_init_func ()</title> +<indexterm zone="cairo-user-font-face-set-init-func" role="1.8"><primary sortas="user_font_face_set_init_func">cairo_user_font_face_set_init_func</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_user_font_face_set_init_func (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>, + <parameter><link linkend="cairo-user-scaled-font-init-func-t"><type>cairo_user_scaled_font_init_func_t</type></link> init_func</parameter>);</programlisting> +<para>Sets the scaled-font initialization function of a user-font. +See <link linkend="cairo-user-scaled-font-init-func-t"><type>cairo_user_scaled_font_init_func_t</type></link> for details of how the callback +works.</para> +<para>The font-face should not be immutable or a <link linkend="CAIRO-STATUS-USER-FONT-IMMUTABLE:CAPS"><literal>CAIRO_STATUS_USER_FONT_IMMUTABLE</literal></link> +error will occur. A user font-face is immutable as soon as a scaled-font +is created from it.</para> +<refsect3 id="cairo-user-font-face-set-init-func.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>A user font face</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>init_func</para></entry> +<entry role="parameter_description"><para>The init callback, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-user-font-face-get-init-func" role="function" condition="since:1.8"> +<title>cairo_user_font_face_get_init_func ()</title> +<indexterm zone="cairo-user-font-face-get-init-func" role="1.8"><primary sortas="user_font_face_get_init_func">cairo_user_font_face_get_init_func</primary></indexterm> +<programlisting language="C"><link linkend="cairo-user-scaled-font-init-func-t"><returnvalue>cairo_user_scaled_font_init_func_t</returnvalue></link> +cairo_user_font_face_get_init_func (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>Gets the scaled-font initialization function of a user-font.</para> +<refsect3 id="cairo-user-font-face-get-init-func.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>A user font face</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-user-font-face-get-init-func.returns" role="returns"> +<title>Returns</title> +<para> The init callback of <parameter>font_face</parameter> +or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if none set or an error has occurred.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-user-font-face-set-render-glyph-func" role="function" condition="since:1.8"> +<title>cairo_user_font_face_set_render_glyph_func ()</title> +<indexterm zone="cairo-user-font-face-set-render-glyph-func" role="1.8"><primary sortas="user_font_face_set_render_glyph_func">cairo_user_font_face_set_render_glyph_func</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_user_font_face_set_render_glyph_func + (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>, + <parameter><link linkend="cairo-user-scaled-font-render-glyph-func-t"><type>cairo_user_scaled_font_render_glyph_func_t</type></link> render_glyph_func</parameter>);</programlisting> +<para>Sets the glyph rendering function of a user-font. +See <link linkend="cairo-user-scaled-font-render-glyph-func-t"><type>cairo_user_scaled_font_render_glyph_func_t</type></link> for details of how the callback +works.</para> +<para>The font-face should not be immutable or a <link linkend="CAIRO-STATUS-USER-FONT-IMMUTABLE:CAPS"><literal>CAIRO_STATUS_USER_FONT_IMMUTABLE</literal></link> +error will occur. A user font-face is immutable as soon as a scaled-font +is created from it.</para> +<para>The render_glyph callback is the only mandatory callback of a user-font. +If the callback is <link linkend="NULL:CAPS"><literal>NULL</literal></link> and a glyph is tried to be rendered using +<parameter>font_face</parameter> +, a <link linkend="CAIRO-STATUS-USER-FONT-ERROR:CAPS"><literal>CAIRO_STATUS_USER_FONT_ERROR</literal></link> will occur.</para> +<refsect3 id="cairo-user-font-face-set-render-glyph-func.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>A user font face</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>render_glyph_func</para></entry> +<entry role="parameter_description"><para>The render_glyph callback, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-user-font-face-get-render-glyph-func" role="function" condition="since:1.8"> +<title>cairo_user_font_face_get_render_glyph_func ()</title> +<indexterm zone="cairo-user-font-face-get-render-glyph-func" role="1.8"><primary sortas="user_font_face_get_render_glyph_func">cairo_user_font_face_get_render_glyph_func</primary></indexterm> +<programlisting language="C"><link linkend="cairo-user-scaled-font-render-glyph-func-t"><returnvalue>cairo_user_scaled_font_render_glyph_func_t</returnvalue></link> +cairo_user_font_face_get_render_glyph_func + (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>Gets the glyph rendering function of a user-font.</para> +<refsect3 id="cairo-user-font-face-get-render-glyph-func.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>A user font face</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-user-font-face-get-render-glyph-func.returns" role="returns"> +<title>Returns</title> +<para> The render_glyph callback of <parameter>font_face</parameter> +or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if none set or an error has occurred.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-user-font-face-set-unicode-to-glyph-func" role="function" condition="since:1.8"> +<title>cairo_user_font_face_set_unicode_to_glyph_func ()</title> +<indexterm zone="cairo-user-font-face-set-unicode-to-glyph-func" role="1.8"><primary sortas="user_font_face_set_unicode_to_glyph_func">cairo_user_font_face_set_unicode_to_glyph_func</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_user_font_face_set_unicode_to_glyph_func + (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>, + <parameter><link linkend="cairo-user-scaled-font-unicode-to-glyph-func-t"><type>cairo_user_scaled_font_unicode_to_glyph_func_t</type></link> unicode_to_glyph_func</parameter>);</programlisting> +<para>Sets the unicode-to-glyph conversion function of a user-font. +See <link linkend="cairo-user-scaled-font-unicode-to-glyph-func-t"><type>cairo_user_scaled_font_unicode_to_glyph_func_t</type></link> for details of how the callback +works.</para> +<para>The font-face should not be immutable or a <link linkend="CAIRO-STATUS-USER-FONT-IMMUTABLE:CAPS"><literal>CAIRO_STATUS_USER_FONT_IMMUTABLE</literal></link> +error will occur. A user font-face is immutable as soon as a scaled-font +is created from it.</para> +<refsect3 id="cairo-user-font-face-set-unicode-to-glyph-func.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>A user font face</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>unicode_to_glyph_func</para></entry> +<entry role="parameter_description"><para>The unicode_to_glyph callback, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-user-font-face-get-unicode-to-glyph-func" role="function" condition="since:1.8"> +<title>cairo_user_font_face_get_unicode_to_glyph_func ()</title> +<indexterm zone="cairo-user-font-face-get-unicode-to-glyph-func" role="1.8"><primary sortas="user_font_face_get_unicode_to_glyph_func">cairo_user_font_face_get_unicode_to_glyph_func</primary></indexterm> +<programlisting language="C"><link linkend="cairo-user-scaled-font-unicode-to-glyph-func-t"><returnvalue>cairo_user_scaled_font_unicode_to_glyph_func_t</returnvalue></link> +cairo_user_font_face_get_unicode_to_glyph_func + (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>Gets the unicode-to-glyph conversion function of a user-font.</para> +<refsect3 id="cairo-user-font-face-get-unicode-to-glyph-func.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>A user font face</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-user-font-face-get-unicode-to-glyph-func.returns" role="returns"> +<title>Returns</title> +<para> The unicode_to_glyph callback of <parameter>font_face</parameter> +or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if none set or an error occurred.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-user-font-face-set-text-to-glyphs-func" role="function" condition="since:1.8"> +<title>cairo_user_font_face_set_text_to_glyphs_func ()</title> +<indexterm zone="cairo-user-font-face-set-text-to-glyphs-func" role="1.8"><primary sortas="user_font_face_set_text_to_glyphs_func">cairo_user_font_face_set_text_to_glyphs_func</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_user_font_face_set_text_to_glyphs_func + (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>, + <parameter><link linkend="cairo-user-scaled-font-text-to-glyphs-func-t"><type>cairo_user_scaled_font_text_to_glyphs_func_t</type></link> text_to_glyphs_func</parameter>);</programlisting> +<para>Sets th text-to-glyphs conversion function of a user-font. +See <link linkend="cairo-user-scaled-font-text-to-glyphs-func-t"><type>cairo_user_scaled_font_text_to_glyphs_func_t</type></link> for details of how the callback +works.</para> +<para>The font-face should not be immutable or a <link linkend="CAIRO-STATUS-USER-FONT-IMMUTABLE:CAPS"><literal>CAIRO_STATUS_USER_FONT_IMMUTABLE</literal></link> +error will occur. A user font-face is immutable as soon as a scaled-font +is created from it.</para> +<refsect3 id="cairo-user-font-face-set-text-to-glyphs-func.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>A user font face</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>text_to_glyphs_func</para></entry> +<entry role="parameter_description"><para>The text_to_glyphs callback, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-user-font-face-get-text-to-glyphs-func" role="function" condition="since:1.8"> +<title>cairo_user_font_face_get_text_to_glyphs_func ()</title> +<indexterm zone="cairo-user-font-face-get-text-to-glyphs-func" role="1.8"><primary sortas="user_font_face_get_text_to_glyphs_func">cairo_user_font_face_get_text_to_glyphs_func</primary></indexterm> +<programlisting language="C"><link linkend="cairo-user-scaled-font-text-to-glyphs-func-t"><returnvalue>cairo_user_scaled_font_text_to_glyphs_func_t</returnvalue></link> +cairo_user_font_face_get_text_to_glyphs_func + (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting> +<para>Gets the text-to-glyphs conversion function of a user-font.</para> +<refsect3 id="cairo-user-font-face-get-text-to-glyphs-func.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font_face</para></entry> +<entry role="parameter_description"><para>A user font face</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-user-font-face-get-text-to-glyphs-func.returns" role="returns"> +<title>Returns</title> +<para> The text_to_glyphs callback of <parameter>font_face</parameter> +or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if none set or an error occurred.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-User-Fonts.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-USER-FONT:CAPS" role="macro" condition="since:1.8"> +<title>CAIRO_HAS_USER_FONT</title> +<indexterm zone="CAIRO-HAS-USER-FONT:CAPS" role="1.8"><primary sortas="HAS_USER_FONT">CAIRO_HAS_USER_FONT</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_USER_FONT 1 +</programlisting> +<para>Defined if the user font backend is available. +This macro can be used to conditionally compile backend-specific code. +The user font backend is always built in versions of cairo that support +this feature (1.8 and later).</para> +<para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-version.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-version.xml new file mode 100644 index 0000000..7825ecd --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-version.xml @@ -0,0 +1,278 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Version-Information"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Version-Information.top_of_page">Version Information</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Version Information</refname> +<refpurpose>Compile-time and run-time version checks.</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Version-Information.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-VERSION-ENCODE:CAPS">CAIRO_VERSION_ENCODE</link><phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-VERSION-STRINGIZE:CAPS">CAIRO_VERSION_STRINGIZE</link><phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-version">cairo_version</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-version-string">cairo_version_string</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Version-Information.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-VERSION:CAPS">CAIRO_VERSION</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-VERSION-MAJOR:CAPS">CAIRO_VERSION_MAJOR</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-VERSION-MINOR:CAPS">CAIRO_VERSION_MINOR</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-VERSION-MICRO:CAPS">CAIRO_VERSION_MICRO</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-VERSION-STRING:CAPS">CAIRO_VERSION_STRING</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Version-Information.description" role="desc"> +<title role="desc.title">Description</title> +<para>Cairo has a three-part version number scheme. In this scheme, we use +even vs. odd numbers to distinguish fixed points in the software +vs. in-progress development, (such as from git instead of a tar file, +or as a "snapshot" tar file as opposed to a "release" tar file).</para> +<informalexample><screen> + _____ Major. Always 1, until we invent a new scheme. +/ ___ Minor. Even/Odd = Release/Snapshot (tar files) or Branch/Head (git) +| / _ Micro. Even/Odd = Tar-file/git +| | / +1.0.0 +</screen></informalexample> +<para>Here are a few examples of versions that one might see.</para> +<informalexample><screen> +Releases +-------- +1.0.0 - A major release +1.0.2 - A subsequent maintenance release +1.2.0 - Another major release + +Snapshots +--------- +1.1.2 - A snapshot (working toward the 1.2.0 release) + +In-progress development (eg. from git) +-------------------------------------- +1.0.1 - Development on a maintenance branch (toward 1.0.2 release) +1.1.1 - Development on head (toward 1.1.2 snapshot and 1.2.0 release) +</screen></informalexample> +<refsect2> +<title>Compatibility</title> + +The API/ABI compatibility guarantees for various versions are as +follows. First, let's assume some cairo-using application code that is +successfully using the API/ABI "from" one version of cairo. Then let's +ask the question whether this same code can be moved "to" the API/ABI +of another version of cairo. + +Moving from a release to any later version (release, snapshot, +development) is always guaranteed to provide compatibility. + +Moving from a snapshot to any later version is not guaranteed to +provide compatibility, since snapshots may introduce new API that ends +up being removed before the next release. + +Moving from an in-development version (odd micro component) to any +later version is not guaranteed to provide compatibility. In fact, +there's not even a guarantee that the code will even continue to work +with the same in-development version number. This is because these +numbers don't correspond to any fixed state of the software, but +rather the many states between snapshots and releases. + +</refsect2> +<refsect2> +<title>Examining the version</title> + +Cairo provides the ability to examine the version at either +compile-time or run-time and in both a human-readable form as well as +an encoded form suitable for direct comparison. Cairo also provides the +macro <link linkend="CAIRO-VERSION-ENCODE:CAPS"><function>CAIRO_VERSION_ENCODE()</function></link> to perform the encoding. + +<informalexample><screen> +Compile-time +------------ +<link linkend="CAIRO-VERSION-STRING:CAPS"><type>CAIRO_VERSION_STRING</type></link> Human-readable +<link linkend="CAIRO-VERSION:CAPS"><type>CAIRO_VERSION</type></link> Encoded, suitable for comparison + +Run-time +-------- +<link linkend="cairo-version-string"><function>cairo_version_string()</function></link> Human-readable +<link linkend="cairo-version"><function>cairo_version()</function></link> Encoded, suitable for comparison +</screen></informalexample> + +For example, checking that the cairo version is greater than or equal +to 1.0.0 could be achieved at compile-time or run-time as follows: + +<informalexample><programlisting> +##if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 0, 0) +printf ("Compiling with suitable cairo version: %s\n", %CAIRO_VERSION_STRING); +##endif + +if (cairo_version() >= CAIRO_VERSION_ENCODE(1, 0, 0)) + printf ("Running with suitable cairo version: %s\n", cairo_version_string ()); +</programlisting></informalexample> + +</refsect2> + +</refsect1> +<refsect1 id="cairo-Version-Information.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="CAIRO-VERSION-ENCODE:CAPS" role="macro" condition="since:1.0"> +<title>CAIRO_VERSION_ENCODE()</title> +<indexterm zone="CAIRO-VERSION-ENCODE:CAPS" role="1.0"><primary sortas="VERSION_ENCODE">CAIRO_VERSION_ENCODE</primary></indexterm> +<programlisting language="C">#define CAIRO_VERSION_ENCODE(major, minor, micro)</programlisting> +<para>This macro encodes the given cairo version into an integer. The numbers +returned by <link linkend="CAIRO-VERSION:CAPS"><literal>CAIRO_VERSION</literal></link> and <link linkend="cairo-version"><function>cairo_version()</function></link> are encoded using this macro. +Two encoded version numbers can be compared as integers. The encoding ensures +that later versions compare greater than earlier versions.</para> +<refsect3 id="CAIRO-VERSION-ENCODE.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>major</para></entry> +<entry role="parameter_description"><para>the major component of the version number</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>minor</para></entry> +<entry role="parameter_description"><para>the minor component of the version number</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>micro</para></entry> +<entry role="parameter_description"><para>the micro component of the version number</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="CAIRO-VERSION-ENCODE.returns" role="returns"> +<title>Returns</title> +<para> the encoded version.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="CAIRO-VERSION-STRINGIZE:CAPS" role="macro" condition="since:1.8"> +<title>CAIRO_VERSION_STRINGIZE()</title> +<indexterm zone="CAIRO-VERSION-STRINGIZE:CAPS" role="1.8"><primary sortas="VERSION_STRINGIZE">CAIRO_VERSION_STRINGIZE</primary></indexterm> +<programlisting language="C">#define CAIRO_VERSION_STRINGIZE(major, minor, micro)</programlisting> +<para>This macro encodes the given cairo version into an string. The numbers +returned by <link linkend="CAIRO-VERSION-STRING:CAPS"><literal>CAIRO_VERSION_STRING</literal></link> and <link linkend="cairo-version-string"><function>cairo_version_string()</function></link> are encoded using this macro. +The parameters to this macro must expand to numerical literals.</para> +<refsect3 id="CAIRO-VERSION-STRINGIZE.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>major</para></entry> +<entry role="parameter_description"><para>the major component of the version number</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>minor</para></entry> +<entry role="parameter_description"><para>the minor component of the version number</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>micro</para></entry> +<entry role="parameter_description"><para>the micro component of the version number</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="CAIRO-VERSION-STRINGIZE.returns" role="returns"> +<title>Returns</title> +<para> a string literal containing the version.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> +<refsect2 id="cairo-version" role="function" condition="since:1.0"> +<title>cairo_version ()</title> +<indexterm zone="cairo-version" role="1.0"><primary sortas="version">cairo_version</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_version (<parameter><type>void</type></parameter>);</programlisting> +<para>Returns the version of the cairo library encoded in a single +integer as per <link linkend="CAIRO-VERSION-ENCODE:CAPS"><literal>CAIRO_VERSION_ENCODE</literal></link>. The encoding ensures that +later versions compare greater than earlier versions.</para> +<para>A run-time comparison to check that cairo's version is greater than +or equal to version X.Y.Z could be performed as follows:</para> +<informalexample><programlisting> +if (cairo_version() >= CAIRO_VERSION_ENCODE(X,Y,Z)) {...} +</programlisting></informalexample> +<para>See also <link linkend="cairo-version-string"><function>cairo_version_string()</function></link> as well as the compile-time +equivalents <link linkend="CAIRO-VERSION:CAPS"><literal>CAIRO_VERSION</literal></link> and <link linkend="CAIRO-VERSION-STRING:CAPS"><literal>CAIRO_VERSION_STRING</literal></link>.</para> +<refsect3 id="cairo-version.returns" role="returns"> +<title>Returns</title> +<para> the encoded version.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-version-string" role="function" condition="since:1.0"> +<title>cairo_version_string ()</title> +<indexterm zone="cairo-version-string" role="1.0"><primary sortas="version_string">cairo_version_string</primary></indexterm> +<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> * +cairo_version_string (<parameter><type>void</type></parameter>);</programlisting> +<para>Returns the version of the cairo library as a human-readable string +of the form "X.Y.Z".</para> +<para>See also <link linkend="cairo-version"><function>cairo_version()</function></link> as well as the compile-time equivalents +<link linkend="CAIRO-VERSION-STRING:CAPS"><literal>CAIRO_VERSION_STRING</literal></link> and <link linkend="CAIRO-VERSION:CAPS"><literal>CAIRO_VERSION</literal></link>.</para> +<refsect3 id="cairo-version-string.returns" role="returns"> +<title>Returns</title> +<para> a string containing the version.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Version-Information.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-VERSION:CAPS" role="macro" condition="since:1.0"> +<title>CAIRO_VERSION</title> +<indexterm zone="CAIRO-VERSION:CAPS" role="1.0"><primary sortas="VERSION">CAIRO_VERSION</primary></indexterm> +<programlisting language="C">#define CAIRO_VERSION</programlisting> +<para>The version of cairo available at compile-time, encoded using +<link linkend="CAIRO-VERSION-ENCODE:CAPS"><function>CAIRO_VERSION_ENCODE()</function></link>.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="CAIRO-VERSION-MAJOR:CAPS" role="macro" condition="since:1.0"> +<title>CAIRO_VERSION_MAJOR</title> +<indexterm zone="CAIRO-VERSION-MAJOR:CAPS" role="1.0"><primary sortas="VERSION_MAJOR">CAIRO_VERSION_MAJOR</primary></indexterm> +<programlisting language="C">#define CAIRO_VERSION_MAJOR USE_cairo_version_OR_cairo_version_string_INSTEAD +</programlisting> +<para>The major component of the version of cairo available at compile-time.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="CAIRO-VERSION-MINOR:CAPS" role="macro" condition="since:1.0"> +<title>CAIRO_VERSION_MINOR</title> +<indexterm zone="CAIRO-VERSION-MINOR:CAPS" role="1.0"><primary sortas="VERSION_MINOR">CAIRO_VERSION_MINOR</primary></indexterm> +<programlisting language="C">#define CAIRO_VERSION_MINOR USE_cairo_version_OR_cairo_version_string_INSTEAD +</programlisting> +<para>The minor component of the version of cairo available at compile-time.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="CAIRO-VERSION-MICRO:CAPS" role="macro" condition="since:1.0"> +<title>CAIRO_VERSION_MICRO</title> +<indexterm zone="CAIRO-VERSION-MICRO:CAPS" role="1.0"><primary sortas="VERSION_MICRO">CAIRO_VERSION_MICRO</primary></indexterm> +<programlisting language="C">#define CAIRO_VERSION_MICRO USE_cairo_version_OR_cairo_version_string_INSTEAD +</programlisting> +<para>The micro component of the version of cairo available at compile-time.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="CAIRO-VERSION-STRING:CAPS" role="macro" condition="since:1.8"> +<title>CAIRO_VERSION_STRING</title> +<indexterm zone="CAIRO-VERSION-STRING:CAPS" role="1.8"><primary sortas="VERSION_STRING">CAIRO_VERSION_STRING</primary></indexterm> +<programlisting language="C">#define CAIRO_VERSION_STRING</programlisting> +<para>A human-readable string literal containing the version of cairo available +at compile-time, in the form of "X.Y.Z".</para> +<para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-win32-fonts.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-win32-fonts.xml new file mode 100644 index 0000000..2a2d0e1 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-win32-fonts.xml @@ -0,0 +1,323 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Win32-Fonts"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Win32-Fonts.top_of_page">Win32 Fonts</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Win32 Fonts</refname> +<refpurpose>Font support for Microsoft Windows</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Win32-Fonts.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-win32-font-face-create-for-logfontw">cairo_win32_font_face_create_for_logfontw</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-win32-font-face-create-for-hfont">cairo_win32_font_face_create_for_hfont</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-win32-font-face-create-for-logfontw-hfont">cairo_win32_font_face_create_for_logfontw_hfont</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-win32-scaled-font-select-font">cairo_win32_scaled_font_select_font</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-win32-scaled-font-done-font">cairo_win32_scaled_font_done_font</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-win32-scaled-font-get-metrics-factor">cairo_win32_scaled_font_get_metrics_factor</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-win32-scaled-font-get-logical-to-device">cairo_win32_scaled_font_get_logical_to_device</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-win32-scaled-font-get-device-to-logical">cairo_win32_scaled_font_get_device_to_logical</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Win32-Fonts.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-WIN32-FONT:CAPS">CAIRO_HAS_WIN32_FONT</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Win32-Fonts.description" role="desc"> +<title role="desc.title">Description</title> +<para>The Microsoft Windows font backend is primarily used to render text on +Microsoft Windows systems.</para> + +</refsect1> +<refsect1 id="cairo-Win32-Fonts.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-win32-font-face-create-for-logfontw" role="function" condition="since:1.0"> +<title>cairo_win32_font_face_create_for_logfontw ()</title> +<indexterm zone="cairo-win32-font-face-create-for-logfontw" role="1.0"><primary sortas="win32_font_face_create_for_logfontw">cairo_win32_font_face_create_for_logfontw</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +cairo_win32_font_face_create_for_logfontw + (<parameter><link linkend="LOGFONTW:CAPS"><type>LOGFONTW</type></link> *logfont</parameter>);</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-face"><function>cairo_set_font_face()</function></link> or <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>. +The <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> +returned from <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link> is also for the Win32 backend +and can be used with functions such as <link linkend="cairo-win32-scaled-font-select-font"><function>cairo_win32_scaled_font_select_font()</function></link>.</para> +<refsect3 id="cairo-win32-font-face-create-for-logfontw.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>logfont</para></entry> +<entry role="parameter_description"><para>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.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-win32-font-face-create-for-logfontw.returns" role="returns"> +<title>Returns</title> +<para> a newly created <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. Free with +<link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link> when you are done using it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-win32-font-face-create-for-hfont" role="function" condition="since:1.2"> +<title>cairo_win32_font_face_create_for_hfont ()</title> +<indexterm zone="cairo-win32-font-face-create-for-hfont" role="1.2"><primary sortas="win32_font_face_create_for_hfont">cairo_win32_font_face_create_for_hfont</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +cairo_win32_font_face_create_for_hfont + (<parameter><link linkend="HFONT:CAPS"><type>HFONT</type></link> font</parameter>);</programlisting> +<para>Creates a new font for the Win32 font backend based on a +<link linkend="HFONT:CAPS"><type>HFONT</type></link>. This font can then be used with +<link linkend="cairo-set-font-face"><function>cairo_set_font_face()</function></link> or <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>. +The <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> +returned from <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link> is also for the Win32 backend +and can be used with functions such as <link linkend="cairo-win32-scaled-font-select-font"><function>cairo_win32_scaled_font_select_font()</function></link>.</para> +<refsect3 id="cairo-win32-font-face-create-for-hfont.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>font</para></entry> +<entry role="parameter_description"><para>An <link linkend="HFONT:CAPS"><type>HFONT</type></link> structure specifying the font to use.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-win32-font-face-create-for-hfont.returns" role="returns"> +<title>Returns</title> +<para> a newly created <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. Free with +<link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link> when you are done using it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-win32-font-face-create-for-logfontw-hfont" role="function" condition="since:1.6"> +<title>cairo_win32_font_face_create_for_logfontw_hfont ()</title> +<indexterm zone="cairo-win32-font-face-create-for-logfontw-hfont" role="1.6"><primary sortas="win32_font_face_create_for_logfontw_hfont">cairo_win32_font_face_create_for_logfontw_hfont</primary></indexterm> +<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link> * +cairo_win32_font_face_create_for_logfontw_hfont + (<parameter><link linkend="LOGFONTW:CAPS"><type>LOGFONTW</type></link> *logfont</parameter>, + <parameter><link linkend="HFONT:CAPS"><type>HFONT</type></link> font</parameter>);</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-face"><function>cairo_set_font_face()</function></link> or <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>. +The <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> +returned from <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link> is also for the Win32 backend +and can be used with functions such as <link linkend="cairo-win32-scaled-font-select-font"><function>cairo_win32_scaled_font_select_font()</function></link>.</para> +<refsect3 id="cairo-win32-font-face-create-for-logfontw-hfont.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>logfont</para></entry> +<entry role="parameter_description"><para>A <link linkend="LOGFONTW:CAPS"><type>LOGFONTW</type></link> structure specifying the font to use. +If <parameter>font</parameter> +is <link linkend="NULL:CAPS"><literal>NULL</literal></link> then the lfHeight, lfWidth, lfOrientation and lfEscapement +fields of this structure are ignored. Otherwise lfWidth, lfOrientation and +lfEscapement must be zero.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>font</para></entry> +<entry role="parameter_description"><para>An <link linkend="HFONT:CAPS"><type>HFONT</type></link> that can be used when the font matrix is a scale by +-lfHeight and the CTM is identity.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-win32-font-face-create-for-logfontw-hfont.returns" role="returns"> +<title>Returns</title> +<para> a newly created <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. Free with +<link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link> when you are done using it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-win32-scaled-font-select-font" role="function" condition="since:1.0"> +<title>cairo_win32_scaled_font_select_font ()</title> +<indexterm zone="cairo-win32-scaled-font-select-font" role="1.0"><primary sortas="win32_scaled_font_select_font">cairo_win32_scaled_font_select_font</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_win32_scaled_font_select_font (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter><link linkend="HDC:CAPS"><type>HDC</type></link> hdc</parameter>);</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-scaled-font-done-font"><function>cairo_win32_scaled_font_done_font()</function></link> to release any resources allocated +by this function.</para> +<para>See <link linkend="cairo-win32-scaled-font-get-metrics-factor"><function>cairo_win32_scaled_font_get_metrics_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> +<refsect3 id="cairo-win32-scaled-font-select-font.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>A <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> from the Win32 font backend. Such an +object can be created with <link linkend="cairo-win32-font-face-create-for-logfontw"><function>cairo_win32_font_face_create_for_logfontw()</function></link>.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>hdc</para></entry> +<entry role="parameter_description"><para>a device context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-win32-scaled-font-select-font.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> if the operation succeeded. +otherwise an error such as <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> and +the device context is unchanged.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-win32-scaled-font-done-font" role="function" condition="since:1.0"> +<title>cairo_win32_scaled_font_done_font ()</title> +<indexterm zone="cairo-win32-scaled-font-done-font" role="1.0"><primary sortas="win32_scaled_font_done_font">cairo_win32_scaled_font_done_font</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_win32_scaled_font_done_font (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting> +<para>Releases any resources allocated by <link linkend="cairo-win32-scaled-font-select-font"><function>cairo_win32_scaled_font_select_font()</function></link></para> +<refsect3 id="cairo-win32-scaled-font-done-font.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>A scaled font from the Win32 font backend.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-win32-scaled-font-get-metrics-factor" role="function" condition="since:1.0"> +<title>cairo_win32_scaled_font_get_metrics_factor ()</title> +<indexterm zone="cairo-win32-scaled-font-get-metrics-factor" role="1.0"><primary sortas="win32_scaled_font_get_metrics_factor">cairo_win32_scaled_font_get_metrics_factor</primary></indexterm> +<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> +cairo_win32_scaled_font_get_metrics_factor + (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting> +<para>Gets a scale factor between logical coordinates in the coordinate +space used by <link linkend="cairo-win32-scaled-font-select-font"><function>cairo_win32_scaled_font_select_font()</function></link> (that is, the +coordinate system used by the Windows functions to return metrics) and +font space coordinates.</para> +<refsect3 id="cairo-win32-scaled-font-get-metrics-factor.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a scaled font from the Win32 font backend</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-win32-scaled-font-get-metrics-factor.returns" role="returns"> +<title>Returns</title> +<para> factor to multiply logical units by to get font space +coordinates.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-win32-scaled-font-get-logical-to-device" role="function" condition="since:1.4"> +<title>cairo_win32_scaled_font_get_logical_to_device ()</title> +<indexterm zone="cairo-win32-scaled-font-get-logical-to-device" role="1.4"><primary sortas="win32_scaled_font_get_logical_to_device">cairo_win32_scaled_font_get_logical_to_device</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_win32_scaled_font_get_logical_to_device + (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *logical_to_device</parameter>);</programlisting> +<para>Gets the transformation mapping the logical space used by <parameter>scaled_font</parameter> + +to device space.</para> +<refsect3 id="cairo-win32-scaled-font-get-logical-to-device.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a scaled font from the Win32 font backend</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>logical_to_device</para></entry> +<entry role="parameter_description"><para>matrix to return</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-win32-scaled-font-get-device-to-logical" role="function" condition="since:1.4"> +<title>cairo_win32_scaled_font_get_device_to_logical ()</title> +<indexterm zone="cairo-win32-scaled-font-get-device-to-logical" role="1.4"><primary sortas="win32_scaled_font_get_device_to_logical">cairo_win32_scaled_font_get_device_to_logical</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_win32_scaled_font_get_device_to_logical + (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>, + <parameter><link linkend="cairo-matrix-t"><type>cairo_matrix_t</type></link> *device_to_logical</parameter>);</programlisting> +<para>Gets the transformation mapping device space to the logical space +used by <parameter>scaled_font</parameter> +.</para> +<refsect3 id="cairo-win32-scaled-font-get-device-to-logical.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>scaled_font</para></entry> +<entry role="parameter_description"><para>a scaled font from the Win32 font backend</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>device_to_logical</para></entry> +<entry role="parameter_description"><para>matrix to return</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Win32-Fonts.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-WIN32-FONT:CAPS" role="macro" condition="since:1.8"> +<title>CAIRO_HAS_WIN32_FONT</title> +<indexterm zone="CAIRO-HAS-WIN32-FONT:CAPS" role="1.8"><primary sortas="HAS_WIN32_FONT">CAIRO_HAS_WIN32_FONT</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_WIN32_FONT 1 +</programlisting> +<para>Defined if the Microsoft Windows font backend is available. +This macro can be used to conditionally compile backend-specific code.</para> +<para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Win32-Fonts.see-also"> +<title>See Also</title> +<para><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-win32.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-win32.xml new file mode 100644 index 0000000..52b7a71 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-win32.xml @@ -0,0 +1,306 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-Win32-Surfaces"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-Win32-Surfaces.top_of_page">Win32 Surfaces</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>Win32 Surfaces</refname> +<refpurpose>Microsoft Windows surface support</refpurpose> +</refnamediv> + +<refsect1 id="cairo-Win32-Surfaces.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-win32-surface-create">cairo_win32_surface_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-win32-surface-create-with-dib">cairo_win32_surface_create_with_dib</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-win32-surface-create-with-ddb">cairo_win32_surface_create_with_ddb</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-win32-surface-create-with-format">cairo_win32_surface_create_with_format</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-win32-printing-surface-create">cairo_win32_printing_surface_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="HDC:CAPS"><returnvalue>HDC</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-win32-surface-get-dc">cairo_win32_surface_get_dc</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-win32-surface-get-image">cairo_win32_surface_get_image</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-Win32-Surfaces.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-WIN32-SURFACE:CAPS">CAIRO_HAS_WIN32_SURFACE</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-Win32-Surfaces.description" role="desc"> +<title role="desc.title">Description</title> +<para>The Microsoft Windows surface is used to render cairo graphics to +Microsoft Windows windows, bitmaps, and printing device contexts.</para> +<para>The surface returned by <link linkend="cairo-win32-printing-surface-create"><function>cairo_win32_printing_surface_create()</function></link> is of surface +type <link linkend="CAIRO-SURFACE-TYPE-WIN32-PRINTING:CAPS"><literal>CAIRO_SURFACE_TYPE_WIN32_PRINTING</literal></link> and is a multi-page vector surface +type.</para> +<para>The surface returned by the other win32 constructors is of surface type +<link linkend="CAIRO-SURFACE-TYPE-WIN32:CAPS"><literal>CAIRO_SURFACE_TYPE_WIN32</literal></link> and is a raster surface type.</para> + +</refsect1> +<refsect1 id="cairo-Win32-Surfaces.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-win32-surface-create" role="function" condition="since:1.0"> +<title>cairo_win32_surface_create ()</title> +<indexterm zone="cairo-win32-surface-create" role="1.0"><primary sortas="win32_surface_create">cairo_win32_surface_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_win32_surface_create (<parameter><link linkend="HDC:CAPS"><type>HDC</type></link> hdc</parameter>);</programlisting> +<para>Creates a cairo surface that targets the given DC. The DC will be +queried for its initial clip extents, and this will be used as the +size of the cairo surface. The resulting surface will always be of +format <link linkend="CAIRO-FORMAT-RGB24:CAPS"><literal>CAIRO_FORMAT_RGB24</literal></link>; should you need another surface format, +you will need to create one through +<link linkend="cairo-win32-surface-create-with-format"><function>cairo_win32_surface_create_with_format()</function></link> or +<link linkend="cairo-win32-surface-create-with-dib"><function>cairo_win32_surface_create_with_dib()</function></link>.</para> +<refsect3 id="cairo-win32-surface-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>hdc</para></entry> +<entry role="parameter_description"><para>the DC to create a surface for</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-win32-surface-create.returns" role="returns"> +<title>Returns</title> +<para> the newly created surface, NULL on failure</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-win32-surface-create-with-dib" role="function" condition="since:1.2"> +<title>cairo_win32_surface_create_with_dib ()</title> +<indexterm zone="cairo-win32-surface-create-with-dib" role="1.2"><primary sortas="win32_surface_create_with_dib">cairo_win32_surface_create_with_dib</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_win32_surface_create_with_dib (<parameter><link linkend="cairo-format-t"><type>cairo_format_t</type></link> format</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Creates a device-independent-bitmap surface not associated with +any particular existing surface or device context. The created +bitmap will be uninitialized.</para> +<refsect3 id="cairo-win32-surface-create-with-dib.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>format</para></entry> +<entry role="parameter_description"><para>format of pixels in the surface to create</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>width of the surface, in pixels</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>height of the surface, in pixels</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-win32-surface-create-with-dib.returns" role="returns"> +<title>Returns</title> +<para> the newly created surface</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-win32-surface-create-with-ddb" role="function" condition="since:1.4"> +<title>cairo_win32_surface_create_with_ddb ()</title> +<indexterm zone="cairo-win32-surface-create-with-ddb" role="1.4"><primary sortas="win32_surface_create_with_ddb">cairo_win32_surface_create_with_ddb</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_win32_surface_create_with_ddb (<parameter><link linkend="HDC:CAPS"><type>HDC</type></link> hdc</parameter>, + <parameter><link linkend="cairo-format-t"><type>cairo_format_t</type></link> format</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Creates a device-dependent-bitmap surface not associated with +any particular existing surface or device context. The created +bitmap will be uninitialized.</para> +<refsect3 id="cairo-win32-surface-create-with-ddb.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>hdc</para></entry> +<entry role="parameter_description"><para>a DC compatible with the surface to create</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>format</para></entry> +<entry role="parameter_description"><para>format of pixels in the surface to create</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>width of the surface, in pixels</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>height of the surface, in pixels</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-win32-surface-create-with-ddb.returns" role="returns"> +<title>Returns</title> +<para> the newly created surface</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-win32-surface-create-with-format" role="function" condition="since:1.14"> +<title>cairo_win32_surface_create_with_format ()</title> +<indexterm zone="cairo-win32-surface-create-with-format" role="1.14"><primary sortas="win32_surface_create_with_format">cairo_win32_surface_create_with_format</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_win32_surface_create_with_format + (<parameter><link linkend="HDC:CAPS"><type>HDC</type></link> hdc</parameter>, + <parameter><link linkend="cairo-format-t"><type>cairo_format_t</type></link> format</parameter>);</programlisting> +<para>Creates a cairo surface that targets the given DC. The DC will be +queried for its initial clip extents, and this will be used as the +size of the cairo surface.</para> +<para>Supported formats are: +<link linkend="CAIRO-FORMAT-ARGB32:CAPS"><literal>CAIRO_FORMAT_ARGB32</literal></link> +<link linkend="CAIRO-FORMAT-RGB24:CAPS"><literal>CAIRO_FORMAT_RGB24</literal></link></para> +<para>Note: <parameter>format</parameter> + only tells cairo how to draw on the surface, not what +the format of the surface is. Namely, cairo does not (and cannot) +check that <parameter>hdc</parameter> + actually supports alpha-transparency.</para> +<refsect3 id="cairo-win32-surface-create-with-format.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>hdc</para></entry> +<entry role="parameter_description"><para>the DC to create a surface for</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>format</para></entry> +<entry role="parameter_description"><para>format of pixels in the surface to create</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-win32-surface-create-with-format.returns" role="returns"> +<title>Returns</title> +<para> the newly created surface, NULL on failure</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.14">1.14</link></para></refsect2> +<refsect2 id="cairo-win32-printing-surface-create" role="function" condition="since:1.6"> +<title>cairo_win32_printing_surface_create ()</title> +<indexterm zone="cairo-win32-printing-surface-create" role="1.6"><primary sortas="win32_printing_surface_create">cairo_win32_printing_surface_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_win32_printing_surface_create (<parameter><link linkend="HDC:CAPS"><type>HDC</type></link> hdc</parameter>);</programlisting> +<para>Creates a cairo surface that targets the given DC. The DC will be +queried for its initial clip extents, and this will be used as the +size of the cairo surface. The DC should be a printing DC; +antialiasing will be ignored, and GDI will be used as much as +possible to draw to the surface.</para> +<para>The returned surface will be wrapped using the paginated surface to +provide correct complex rendering behaviour; <link linkend="cairo-surface-show-page"><function>cairo_surface_show_page()</function></link> and +associated methods must be used for correct output.</para> +<refsect3 id="cairo-win32-printing-surface-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>hdc</para></entry> +<entry role="parameter_description"><para>the DC to create a surface for</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-win32-printing-surface-create.returns" role="returns"> +<title>Returns</title> +<para> the newly created surface</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> +<refsect2 id="cairo-win32-surface-get-dc" role="function" condition="since:1.2"> +<title>cairo_win32_surface_get_dc ()</title> +<indexterm zone="cairo-win32-surface-get-dc" role="1.2"><primary sortas="win32_surface_get_dc">cairo_win32_surface_get_dc</primary></indexterm> +<programlisting language="C"><link linkend="HDC:CAPS"><returnvalue>HDC</returnvalue></link> +cairo_win32_surface_get_dc (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Returns the HDC associated with this surface, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if none. +Also returns <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the surface is not a win32 surface.</para> +<para>A call to <link linkend="cairo-surface-flush"><function>cairo_surface_flush()</function></link> is required before using the HDC to +ensure that all pending drawing operations are finished and to +restore any temporary modification cairo has made to its state. A +call to <link linkend="cairo-surface-mark-dirty"><function>cairo_surface_mark_dirty()</function></link> is required after the state or +the content of the HDC has been modified.</para> +<refsect3 id="cairo-win32-surface-get-dc.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-win32-surface-get-dc.returns" role="returns"> +<title>Returns</title> +<para> HDC or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if no HDC available.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-win32-surface-get-image" role="function" condition="since:1.4"> +<title>cairo_win32_surface_get_image ()</title> +<indexterm zone="cairo-win32-surface-get-image" role="1.4"><primary sortas="win32_surface_get_image">cairo_win32_surface_get_image</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_win32_surface_get_image (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Returns a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> image surface that refers to the same bits +as the DIB of the Win32 surface. If the passed-in win32 surface +is not a DIB surface, <link linkend="NULL:CAPS"><literal>NULL</literal></link> is returned.</para> +<refsect3 id="cairo-win32-surface-get-image.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-win32-surface-get-image.returns" role="returns"> +<title>Returns</title> +<para> a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> (owned by the win32 <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link>), +or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the win32 surface is not a DIB.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Win32-Surfaces.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-WIN32-SURFACE:CAPS" role="macro" condition="since:1.0"> +<title>CAIRO_HAS_WIN32_SURFACE</title> +<indexterm zone="CAIRO-HAS-WIN32-SURFACE:CAPS" role="1.0"><primary sortas="HAS_WIN32_SURFACE">CAIRO_HAS_WIN32_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_WIN32_SURFACE 1 +</programlisting> +<para>Defined if the Microsoft Windows surface backend is available. +This macro can be used to conditionally compile backend-specific code.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-Win32-Surfaces.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-xcb.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-xcb.xml new file mode 100644 index 0000000..5c23f62 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-xcb.xml @@ -0,0 +1,474 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-XCB-Surfaces"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-XCB-Surfaces.top_of_page">XCB Surfaces</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>XCB Surfaces</refname> +<refpurpose>X Window System rendering using the XCB library</refpurpose> +</refnamediv> + +<refsect1 id="cairo-XCB-Surfaces.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-xcb-surface-create">cairo_xcb_surface_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-xcb-surface-create-for-bitmap">cairo_xcb_surface_create_for_bitmap</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-xcb-surface-create-with-xrender-format">cairo_xcb_surface_create_with_xrender_format</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xcb-surface-set-size">cairo_xcb_surface_set_size</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xcb-surface-set-drawable">cairo_xcb_surface_set_drawable</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="xcb-connection-t"><returnvalue>xcb_connection_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-xcb-device-get-connection">cairo_xcb_device_get_connection</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xcb-device-debug-cap-xrender-version">cairo_xcb_device_debug_cap_xrender_version</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xcb-device-debug-cap-xshm-version">cairo_xcb_device_debug_cap_xshm_version</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xcb-device-debug-get-precision">cairo_xcb_device_debug_get_precision</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xcb-device-debug-set-precision">cairo_xcb_device_debug_set_precision</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-XCB-Surfaces.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-XCB-SURFACE:CAPS">CAIRO_HAS_XCB_SURFACE</link></entry></row> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-XCB-SHM-FUNCTIONS:CAPS">CAIRO_HAS_XCB_SHM_FUNCTIONS</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-XCB-Surfaces.description" role="desc"> +<title role="desc.title">Description</title> +<para>The XCB surface is used to render cairo graphics to X Window System +windows and pixmaps using the XCB library.</para> +<para>Note that the XCB surface automatically takes advantage of the X render +extension if it is available.</para> + +</refsect1> +<refsect1 id="cairo-XCB-Surfaces.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-xcb-surface-create" role="function" condition="since:1.12"> +<title>cairo_xcb_surface_create ()</title> +<indexterm zone="cairo-xcb-surface-create" role="1.12"><primary sortas="xcb_surface_create">cairo_xcb_surface_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_xcb_surface_create (<parameter><link linkend="xcb-connection-t"><type>xcb_connection_t</type></link> *connection</parameter>, + <parameter><link linkend="xcb-drawable-t"><type>xcb_drawable_t</type></link> drawable</parameter>, + <parameter><link linkend="xcb-visualtype-t"><type>xcb_visualtype_t</type></link> *visual</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Creates an XCB surface that draws to the given drawable. +The way that colors are represented in the drawable is specified +by the provided visual.</para> +<para>Note: If <parameter>drawable</parameter> + is a Window, then the function +<link linkend="cairo-xcb-surface-set-size"><function>cairo_xcb_surface_set_size()</function></link> must be called whenever the size of the +window changes.</para> +<para>When <parameter>drawable</parameter> + is a Window containing child windows then drawing to +the created surface will be clipped by those child windows. When +the created surface is used as a source, the contents of the +children will be included.</para> +<refsect3 id="cairo-xcb-surface-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>connection</para></entry> +<entry role="parameter_description"><para>an XCB connection</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>drawable</para></entry> +<entry role="parameter_description"><para>an XCB drawable</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>visual</para></entry> +<entry role="parameter_description"><para>the visual to use for drawing to <parameter>drawable</parameter> +. The depth +of the visual must match the depth of the drawable. +Currently, only TrueColor visuals are fully supported.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the current width of <parameter>drawable</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the current height of <parameter>drawable</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xcb-surface-create.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-xcb-surface-create-for-bitmap" role="function" condition="since:1.12"> +<title>cairo_xcb_surface_create_for_bitmap ()</title> +<indexterm zone="cairo-xcb-surface-create-for-bitmap" role="1.12"><primary sortas="xcb_surface_create_for_bitmap">cairo_xcb_surface_create_for_bitmap</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_xcb_surface_create_for_bitmap (<parameter><link linkend="xcb-connection-t"><type>xcb_connection_t</type></link> *connection</parameter>, + <parameter><link linkend="xcb-screen-t"><type>xcb_screen_t</type></link> *screen</parameter>, + <parameter><link linkend="xcb-pixmap-t"><type>xcb_pixmap_t</type></link> bitmap</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Creates an XCB surface that draws to the given bitmap. +This will be drawn to as a <link linkend="CAIRO-FORMAT-A1:CAPS"><literal>CAIRO_FORMAT_A1</literal></link> object.</para> +<refsect3 id="cairo-xcb-surface-create-for-bitmap.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>connection</para></entry> +<entry role="parameter_description"><para>an XCB connection</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>screen</para></entry> +<entry role="parameter_description"><para>the XCB screen associated with <parameter>bitmap</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>bitmap</para></entry> +<entry role="parameter_description"><para>an XCB drawable (a Pixmap with depth 1)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the current width of <parameter>bitmap</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the current height of <parameter>bitmap</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xcb-surface-create-for-bitmap.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-xcb-surface-create-with-xrender-format" role="function" condition="since:1.12"> +<title>cairo_xcb_surface_create_with_xrender_format ()</title> +<indexterm zone="cairo-xcb-surface-create-with-xrender-format" role="1.12"><primary sortas="xcb_surface_create_with_xrender_format">cairo_xcb_surface_create_with_xrender_format</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_xcb_surface_create_with_xrender_format + (<parameter><link linkend="xcb-connection-t"><type>xcb_connection_t</type></link> *connection</parameter>, + <parameter><link linkend="xcb-screen-t"><type>xcb_screen_t</type></link> *screen</parameter>, + <parameter><link linkend="xcb-drawable-t"><type>xcb_drawable_t</type></link> drawable</parameter>, + <parameter><link linkend="xcb-render-pictforminfo-t"><type>xcb_render_pictforminfo_t</type></link> *format</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Creates an XCB surface that draws to the given drawable. +The way that colors are represented in the drawable is specified +by the provided picture format.</para> +<para>Note: If <parameter>drawable</parameter> + is a Window, then the function +<link linkend="cairo-xcb-surface-set-size"><function>cairo_xcb_surface_set_size()</function></link> must be called whenever the size of the +window changes.</para> +<para>When <parameter>drawable</parameter> + is a Window containing child windows then drawing to +the created surface will be clipped by those child windows. When +the created surface is used as a source, the contents of the +children will be included.</para> +<refsect3 id="cairo-xcb-surface-create-with-xrender-format.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>connection</para></entry> +<entry role="parameter_description"><para>an XCB connection</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>drawable</para></entry> +<entry role="parameter_description"><para>an XCB drawable</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>screen</para></entry> +<entry role="parameter_description"><para>the XCB screen associated with <parameter>drawable</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>format</para></entry> +<entry role="parameter_description"><para>the picture format to use for drawing to <parameter>drawable</parameter> +. The +depth of <parameter>format</parameter> +mush match the depth of the drawable.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the current width of <parameter>drawable</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the current height of <parameter>drawable</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xcb-surface-create-with-xrender-format.returns" role="returns"> +<title>Returns</title> +<para> a pointer to the newly created surface. The caller +owns the surface and should call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> when done +with it.</para> +<para>This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if an error such as out of memory +occurs. You can use <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> to check for this.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-xcb-surface-set-size" role="function" condition="since:1.12"> +<title>cairo_xcb_surface_set_size ()</title> +<indexterm zone="cairo-xcb-surface-set-size" role="1.12"><primary sortas="xcb_surface_set_size">cairo_xcb_surface_set_size</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_xcb_surface_set_size (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Informs cairo of the new size of the XCB drawable underlying the +surface. For a surface created for a window (rather than a pixmap), +this function must be called each time the size of the window +changes. (For a subwindow, you are normally resizing the window +yourself, but for a toplevel window, it is necessary to listen for +ConfigureNotify events.)</para> +<para>A pixmap can never change size, so it is never necessary to call +this function on a surface created for a pixmap.</para> +<para>If <link linkend="cairo-surface-flush"><function>cairo_surface_flush()</function></link> wasn't called, some pending operations +might be discarded.</para> +<refsect3 id="cairo-xcb-surface-set-size.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> for the XCB backend</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the new width of the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the new height of the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-xcb-surface-set-drawable" role="function" condition="since:1.12"> +<title>cairo_xcb_surface_set_drawable ()</title> +<indexterm zone="cairo-xcb-surface-set-drawable" role="1.12"><primary sortas="xcb_surface_set_drawable">cairo_xcb_surface_set_drawable</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_xcb_surface_set_drawable (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="xcb-drawable-t"><type>xcb_drawable_t</type></link> drawable</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Informs cairo of the new drawable and size of the XCB drawable underlying the +surface.</para> +<para>If <link linkend="cairo-surface-flush"><function>cairo_surface_flush()</function></link> wasn't called, some pending operations +might be discarded.</para> +<refsect3 id="cairo-xcb-surface-set-drawable.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> for the XCB backend</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>drawable</para></entry> +<entry role="parameter_description"><para>the new drawable of the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the new width of the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the new height of the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-xcb-device-get-connection" role="function" condition="since:1.12"> +<title>cairo_xcb_device_get_connection ()</title> +<indexterm zone="cairo-xcb-device-get-connection" role="1.12"><primary sortas="xcb_device_get_connection">cairo_xcb_device_get_connection</primary></indexterm> +<programlisting language="C"><link linkend="xcb-connection-t"><returnvalue>xcb_connection_t</returnvalue></link> * +cairo_xcb_device_get_connection (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +<para>Get the connection for the XCB device.</para> +<refsect3 id="cairo-xcb-device-get-connection.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link> for the XCB backend</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xcb-device-get-connection.returns" role="returns"> +<title>Returns</title> +<para> the <link linkend="xcb-connection-t"><type>xcb_connection_t</type></link> for the connection</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-xcb-device-debug-cap-xrender-version" role="function" condition="since:1.12"> +<title>cairo_xcb_device_debug_cap_xrender_version ()</title> +<indexterm zone="cairo-xcb-device-debug-cap-xrender-version" role="1.12"><primary sortas="xcb_device_debug_cap_xrender_version">cairo_xcb_device_debug_cap_xrender_version</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_xcb_device_debug_cap_xrender_version + (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>, + <parameter><link linkend="int"><type>int</type></link> major_version</parameter>, + <parameter><link linkend="int"><type>int</type></link> minor_version</parameter>);</programlisting> +<para>Restricts all future XCB surfaces for this devices to the specified version +of the RENDER extension. This function exists solely for debugging purpose. +It let's you find out how cairo would behave with an older version of +the RENDER extension.</para> +<para>Use the special values -1 and -1 for disabling the RENDER extension.</para> +<refsect3 id="cairo-xcb-device-debug-cap-xrender-version.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link> for the XCB backend</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>major_version</para></entry> +<entry role="parameter_description"><para>major version to restrict to</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>minor_version</para></entry> +<entry role="parameter_description"><para>minor version to restrict to</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-xcb-device-debug-cap-xshm-version" role="function" condition="since:1.12"> +<title>cairo_xcb_device_debug_cap_xshm_version ()</title> +<indexterm zone="cairo-xcb-device-debug-cap-xshm-version" role="1.12"><primary sortas="xcb_device_debug_cap_xshm_version">cairo_xcb_device_debug_cap_xshm_version</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_xcb_device_debug_cap_xshm_version + (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>, + <parameter><link linkend="int"><type>int</type></link> major_version</parameter>, + <parameter><link linkend="int"><type>int</type></link> minor_version</parameter>);</programlisting> +<para>Restricts all future XCB surfaces for this devices to the specified version +of the SHM extension. This function exists solely for debugging purpose. +It let's you find out how cairo would behave with an older version of +the SHM extension.</para> +<para>Use the special values -1 and -1 for disabling the SHM extension.</para> +<refsect3 id="cairo-xcb-device-debug-cap-xshm-version.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link> for the XCB backend</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>major_version</para></entry> +<entry role="parameter_description"><para>major version to restrict to</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>minor_version</para></entry> +<entry role="parameter_description"><para>minor version to restrict to</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-xcb-device-debug-get-precision" role="function" condition="since:1.12"> +<title>cairo_xcb_device_debug_get_precision ()</title> +<indexterm zone="cairo-xcb-device-debug-get-precision" role="1.12"><primary sortas="xcb_device_debug_get_precision">cairo_xcb_device_debug_get_precision</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_xcb_device_debug_get_precision (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +<para>Get the Xrender precision mode.</para> +<refsect3 id="cairo-xcb-device-debug-get-precision.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link> for the XCB backend</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xcb-device-debug-get-precision.returns" role="returns"> +<title>Returns</title> +<para> the render precision mode</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-xcb-device-debug-set-precision" role="function" condition="since:1.12"> +<title>cairo_xcb_device_debug_set_precision ()</title> +<indexterm zone="cairo-xcb-device-debug-set-precision" role="1.12"><primary sortas="xcb_device_debug_set_precision">cairo_xcb_device_debug_set_precision</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_xcb_device_debug_set_precision (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>, + <parameter><link linkend="int"><type>int</type></link> precision</parameter>);</programlisting> +<para>Render supports two modes of precision when rendering trapezoids. Set +the precision to the desired mode.</para> +<refsect3 id="cairo-xcb-device-debug-set-precision.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link> for the XCB backend</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>precision</para></entry> +<entry role="parameter_description"><para>the precision to use</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-XCB-Surfaces.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-XCB-SURFACE:CAPS" role="macro" condition="since:1.12"> +<title>CAIRO_HAS_XCB_SURFACE</title> +<indexterm zone="CAIRO-HAS-XCB-SURFACE:CAPS" role="1.12"><primary sortas="HAS_XCB_SURFACE">CAIRO_HAS_XCB_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_XCB_SURFACE 1 +</programlisting> +<para>Defined if the xcb surface backend is available. +This macro can be used to conditionally compile backend-specific code.</para> +<para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="CAIRO-HAS-XCB-SHM-FUNCTIONS:CAPS" role="macro"> +<title>CAIRO_HAS_XCB_SHM_FUNCTIONS</title> +<indexterm zone="CAIRO-HAS-XCB-SHM-FUNCTIONS:CAPS"><primary sortas="HAS_XCB_SHM_FUNCTIONS">CAIRO_HAS_XCB_SHM_FUNCTIONS</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_XCB_SHM_FUNCTIONS 1 +</programlisting> +</refsect2> + +</refsect1> +<refsect1 id="cairo-XCB-Surfaces.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-xlib-xrender.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-xlib-xrender.xml new file mode 100644 index 0000000..2f7c6ce --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-xlib-xrender.xml @@ -0,0 +1,162 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-XLib-XRender-Backend"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-XLib-XRender-Backend.top_of_page">XLib-XRender Backend</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>XLib-XRender Backend</refname> +<refpurpose>X Window System rendering using XLib and the X Render extension</refpurpose> +</refnamediv> + +<refsect1 id="cairo-XLib-XRender-Backend.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-create-with-xrender-format">cairo_xlib_surface_create_with_xrender_format</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="XRenderPictFormat"><returnvalue>XRenderPictFormat</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-get-xrender-format">cairo_xlib_surface_get_xrender_format</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-XLib-XRender-Backend.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-XLIB-XRENDER-SURFACE:CAPS">CAIRO_HAS_XLIB_XRENDER_SURFACE</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-XLib-XRender-Backend.description" role="desc"> +<title role="desc.title">Description</title> +<para>The XLib surface is used to render cairo graphics to X Window System +windows and pixmaps using the XLib and Xrender libraries.</para> +<para>Note that the XLib surface automatically takes advantage of X Render extension +if it is available.</para> + +</refsect1> +<refsect1 id="cairo-XLib-XRender-Backend.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-xlib-surface-create-with-xrender-format" role="function" condition="since:1.0"> +<title>cairo_xlib_surface_create_with_xrender_format ()</title> +<indexterm zone="cairo-xlib-surface-create-with-xrender-format" role="1.0"><primary sortas="xlib_surface_create_with_xrender_format">cairo_xlib_surface_create_with_xrender_format</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_xlib_surface_create_with_xrender_format + (<parameter><link linkend="Display"><type>Display</type></link> *dpy</parameter>, + <parameter><link linkend="Drawable"><type>Drawable</type></link> drawable</parameter>, + <parameter><link linkend="Screen"><type>Screen</type></link> *screen</parameter>, + <parameter><link linkend="XRenderPictFormat"><type>XRenderPictFormat</type></link> *format</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Creates an Xlib surface that draws to the given drawable. +The way that colors are represented in the drawable is specified +by the provided picture format.</para> +<para>Note: If <parameter>drawable</parameter> + is a Window, then the function +<link linkend="cairo-xlib-surface-set-size"><function>cairo_xlib_surface_set_size()</function></link> must be called whenever the size of the +window changes.</para> +<refsect3 id="cairo-xlib-surface-create-with-xrender-format.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>dpy</para></entry> +<entry role="parameter_description"><para>an X Display</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>drawable</para></entry> +<entry role="parameter_description"><para>an X Drawable, (a Pixmap or a Window)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>screen</para></entry> +<entry role="parameter_description"><para>the X Screen associated with <parameter>drawable</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>format</para></entry> +<entry role="parameter_description"><para>the picture format to use for drawing to <parameter>drawable</parameter> +. The depth +of <parameter>format</parameter> +must match the depth of the drawable.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the current width of <parameter>drawable</parameter> +.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the current height of <parameter>drawable</parameter> +.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xlib-surface-create-with-xrender-format.returns" role="returns"> +<title>Returns</title> +<para> the newly created surface</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-xlib-surface-get-xrender-format" role="function" condition="since:1.6"> +<title>cairo_xlib_surface_get_xrender_format ()</title> +<indexterm zone="cairo-xlib-surface-get-xrender-format" role="1.6"><primary sortas="xlib_surface_get_xrender_format">cairo_xlib_surface_get_xrender_format</primary></indexterm> +<programlisting language="C"><link linkend="XRenderPictFormat"><returnvalue>XRenderPictFormat</returnvalue></link> * +cairo_xlib_surface_get_xrender_format (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Gets the X Render picture format that <parameter>surface</parameter> + uses for rendering with the +X Render extension. If the surface was created by +<link linkend="cairo-xlib-surface-create-with-xrender-format"><function>cairo_xlib_surface_create_with_xrender_format()</function></link> originally, the return +value is the format passed to that constructor.</para> +<refsect3 id="cairo-xlib-surface-get-xrender-format.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>an xlib surface</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xlib-surface-get-xrender-format.returns" role="returns"> +<title>Returns</title> +<para> the XRenderPictFormat* associated with <parameter>surface</parameter> +, +or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the surface is not an xlib surface +or if the X Render extension is not available.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-XLib-XRender-Backend.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-XLIB-XRENDER-SURFACE:CAPS" role="macro" condition="since:1.6"> +<title>CAIRO_HAS_XLIB_XRENDER_SURFACE</title> +<indexterm zone="CAIRO-HAS-XLIB-XRENDER-SURFACE:CAPS" role="1.6"><primary sortas="HAS_XLIB_XRENDER_SURFACE">CAIRO_HAS_XLIB_XRENDER_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_XLIB_XRENDER_SURFACE 1 +</programlisting> +<para>Defined if the XLib/XRender surface functions are available. +This macro can be used to conditionally compile backend-specific code.</para> +<para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-XLib-XRender-Backend.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-xlib.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-xlib.xml new file mode 100644 index 0000000..77d0702 --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo-xlib.xml @@ -0,0 +1,507 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-XLib-Surfaces"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-XLib-Surfaces.top_of_page">XLib Surfaces</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>XLib Surfaces</refname> +<refpurpose>X Window System rendering using XLib</refpurpose> +</refnamediv> + +<refsect1 id="cairo-XLib-Surfaces.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-create">cairo_xlib_surface_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-create-for-bitmap">cairo_xlib_surface_create_for_bitmap</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-set-size">cairo_xlib_surface_set_size</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="Display"><returnvalue>Display</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-get-display">cairo_xlib_surface_get_display</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="Screen"><returnvalue>Screen</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-get-screen">cairo_xlib_surface_get_screen</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-set-drawable">cairo_xlib_surface_set_drawable</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="Drawable"><returnvalue>Drawable</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-get-drawable">cairo_xlib_surface_get_drawable</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="Visual"><returnvalue>Visual</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-get-visual">cairo_xlib_surface_get_visual</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-get-width">cairo_xlib_surface_get_width</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-get-height">cairo_xlib_surface_get_height</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xlib-surface-get-depth">cairo_xlib_surface_get_depth</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xlib-device-debug-cap-xrender-version">cairo_xlib_device_debug_cap_xrender_version</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xlib-device-debug-get-precision">cairo_xlib_device_debug_get_precision</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-xlib-device-debug-set-precision">cairo_xlib_device_debug_set_precision</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-XLib-Surfaces.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-XLIB-SURFACE:CAPS">CAIRO_HAS_XLIB_SURFACE</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-XLib-Surfaces.description" role="desc"> +<title role="desc.title">Description</title> +<para>The XLib surface is used to render cairo graphics to X Window System +windows and pixmaps using the XLib library.</para> +<para>Note that the XLib surface automatically takes advantage of X render extension +if it is available.</para> + +</refsect1> +<refsect1 id="cairo-XLib-Surfaces.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-xlib-surface-create" role="function" condition="since:1.0"> +<title>cairo_xlib_surface_create ()</title> +<indexterm zone="cairo-xlib-surface-create" role="1.0"><primary sortas="xlib_surface_create">cairo_xlib_surface_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_xlib_surface_create (<parameter><link linkend="Display"><type>Display</type></link> *dpy</parameter>, + <parameter><link linkend="Drawable"><type>Drawable</type></link> drawable</parameter>, + <parameter><link linkend="Visual"><type>Visual</type></link> *visual</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Creates an Xlib surface that draws to the given drawable. +The way that colors are represented in the drawable is specified +by the provided visual.</para> +<para>Note: If <parameter>drawable</parameter> + is a Window, then the function +<link linkend="cairo-xlib-surface-set-size"><function>cairo_xlib_surface_set_size()</function></link> must be called whenever the size of the +window changes.</para> +<para>When <parameter>drawable</parameter> + is a Window containing child windows then drawing to +the created surface will be clipped by those child windows. When +the created surface is used as a source, the contents of the +children will be included.</para> +<refsect3 id="cairo-xlib-surface-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>dpy</para></entry> +<entry role="parameter_description"><para>an X Display</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>drawable</para></entry> +<entry role="parameter_description"><para>an X Drawable, (a Pixmap or a Window)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>visual</para></entry> +<entry role="parameter_description"><para>the visual to use for drawing to <parameter>drawable</parameter> +. The depth +of the visual must match the depth of the drawable. +Currently, only TrueColor visuals are fully supported.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the current width of <parameter>drawable</parameter> +.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the current height of <parameter>drawable</parameter> +.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xlib-surface-create.returns" role="returns"> +<title>Returns</title> +<para> the newly created surface</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-xlib-surface-create-for-bitmap" role="function" condition="since:1.0"> +<title>cairo_xlib_surface_create_for_bitmap ()</title> +<indexterm zone="cairo-xlib-surface-create-for-bitmap" role="1.0"><primary sortas="xlib_surface_create_for_bitmap">cairo_xlib_surface_create_for_bitmap</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_xlib_surface_create_for_bitmap (<parameter><link linkend="Display"><type>Display</type></link> *dpy</parameter>, + <parameter><link linkend="Pixmap"><type>Pixmap</type></link> bitmap</parameter>, + <parameter><link linkend="Screen"><type>Screen</type></link> *screen</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Creates an Xlib surface that draws to the given bitmap. +This will be drawn to as a <link linkend="CAIRO-FORMAT-A1:CAPS"><literal>CAIRO_FORMAT_A1</literal></link> object.</para> +<refsect3 id="cairo-xlib-surface-create-for-bitmap.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>dpy</para></entry> +<entry role="parameter_description"><para>an X Display</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>bitmap</para></entry> +<entry role="parameter_description"><para>an X Drawable, (a depth-1 Pixmap)</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>screen</para></entry> +<entry role="parameter_description"><para>the X Screen associated with <parameter>bitmap</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the current width of <parameter>bitmap</parameter> +.</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the current height of <parameter>bitmap</parameter> +.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xlib-surface-create-for-bitmap.returns" role="returns"> +<title>Returns</title> +<para> the newly created surface</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-xlib-surface-set-size" role="function" condition="since:1.0"> +<title>cairo_xlib_surface_set_size ()</title> +<indexterm zone="cairo-xlib-surface-set-size" role="1.0"><primary sortas="xlib_surface_set_size">cairo_xlib_surface_set_size</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_xlib_surface_set_size (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Informs cairo of the new size of the X Drawable underlying the +surface. For a surface created for a Window (rather than a Pixmap), +this function must be called each time the size of the window +changes. (For a subwindow, you are normally resizing the window +yourself, but for a toplevel window, it is necessary to listen for +ConfigureNotify events.)</para> +<para>A Pixmap can never change size, so it is never necessary to call +this function on a surface created for a Pixmap.</para> +<refsect3 id="cairo-xlib-surface-set-size.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> for the XLib backend</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the new width of the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the new height of the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-xlib-surface-get-display" role="function" condition="since:1.2"> +<title>cairo_xlib_surface_get_display ()</title> +<indexterm zone="cairo-xlib-surface-get-display" role="1.2"><primary sortas="xlib_surface_get_display">cairo_xlib_surface_get_display</primary></indexterm> +<programlisting language="C"><link linkend="Display"><returnvalue>Display</returnvalue></link> * +cairo_xlib_surface_get_display (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Get the X Display for the underlying X Drawable.</para> +<refsect3 id="cairo-xlib-surface-get-display.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-xlib-surface-t"><type>cairo_xlib_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xlib-surface-get-display.returns" role="returns"> +<title>Returns</title> +<para> the display.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-xlib-surface-get-screen" role="function" condition="since:1.2"> +<title>cairo_xlib_surface_get_screen ()</title> +<indexterm zone="cairo-xlib-surface-get-screen" role="1.2"><primary sortas="xlib_surface_get_screen">cairo_xlib_surface_get_screen</primary></indexterm> +<programlisting language="C"><link linkend="Screen"><returnvalue>Screen</returnvalue></link> * +cairo_xlib_surface_get_screen (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Get the X Screen for the underlying X Drawable.</para> +<refsect3 id="cairo-xlib-surface-get-screen.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-xlib-surface-t"><type>cairo_xlib_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xlib-surface-get-screen.returns" role="returns"> +<title>Returns</title> +<para> the screen.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-xlib-surface-set-drawable" role="function" condition="since:1.0"> +<title>cairo_xlib_surface_set_drawable ()</title> +<indexterm zone="cairo-xlib-surface-set-drawable" role="1.0"><primary sortas="xlib_surface_set_drawable">cairo_xlib_surface_set_drawable</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_xlib_surface_set_drawable (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="Drawable"><type>Drawable</type></link> drawable</parameter>, + <parameter><link linkend="int"><type>int</type></link> width</parameter>, + <parameter><link linkend="int"><type>int</type></link> height</parameter>);</programlisting> +<para>Informs cairo of a new X Drawable underlying the +surface. The drawable must match the display, screen +and format of the existing drawable or the application +will get X protocol errors and will probably terminate. +No checks are done by this function to ensure this +compatibility.</para> +<refsect3 id="cairo-xlib-surface-set-drawable.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> for the XLib backend</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>drawable</para></entry> +<entry role="parameter_description"><para>the new drawable for the surface</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>the width of the new drawable</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>height</para></entry> +<entry role="parameter_description"><para>the height of the new drawable</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-xlib-surface-get-drawable" role="function" condition="since:1.2"> +<title>cairo_xlib_surface_get_drawable ()</title> +<indexterm zone="cairo-xlib-surface-get-drawable" role="1.2"><primary sortas="xlib_surface_get_drawable">cairo_xlib_surface_get_drawable</primary></indexterm> +<programlisting language="C"><link linkend="Drawable"><returnvalue>Drawable</returnvalue></link> +cairo_xlib_surface_get_drawable (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Get the underlying X Drawable used for the surface.</para> +<refsect3 id="cairo-xlib-surface-get-drawable.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-xlib-surface-t"><type>cairo_xlib_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xlib-surface-get-drawable.returns" role="returns"> +<title>Returns</title> +<para> the drawable.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-xlib-surface-get-visual" role="function" condition="since:1.2"> +<title>cairo_xlib_surface_get_visual ()</title> +<indexterm zone="cairo-xlib-surface-get-visual" role="1.2"><primary sortas="xlib_surface_get_visual">cairo_xlib_surface_get_visual</primary></indexterm> +<programlisting language="C"><link linkend="Visual"><returnvalue>Visual</returnvalue></link> * +cairo_xlib_surface_get_visual (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Gets the X Visual associated with <parameter>surface</parameter> +, suitable for use with the +underlying X Drawable. If <parameter>surface</parameter> + was created by +<link linkend="cairo-xlib-surface-create"><function>cairo_xlib_surface_create()</function></link>, the return value is the Visual passed to that +constructor.</para> +<refsect3 id="cairo-xlib-surface-get-visual.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-xlib-surface-t"><type>cairo_xlib_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xlib-surface-get-visual.returns" role="returns"> +<title>Returns</title> +<para> the Visual or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if there is no appropriate Visual for +<parameter>surface</parameter> +.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-xlib-surface-get-width" role="function" condition="since:1.2"> +<title>cairo_xlib_surface_get_width ()</title> +<indexterm zone="cairo-xlib-surface-get-width" role="1.2"><primary sortas="xlib_surface_get_width">cairo_xlib_surface_get_width</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_xlib_surface_get_width (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Get the width of the X Drawable underlying the surface in pixels.</para> +<refsect3 id="cairo-xlib-surface-get-width.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-xlib-surface-t"><type>cairo_xlib_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xlib-surface-get-width.returns" role="returns"> +<title>Returns</title> +<para> the width of the surface in pixels.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-xlib-surface-get-height" role="function" condition="since:1.2"> +<title>cairo_xlib_surface_get_height ()</title> +<indexterm zone="cairo-xlib-surface-get-height" role="1.2"><primary sortas="xlib_surface_get_height">cairo_xlib_surface_get_height</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_xlib_surface_get_height (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Get the height of the X Drawable underlying the surface in pixels.</para> +<refsect3 id="cairo-xlib-surface-get-height.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-xlib-surface-t"><type>cairo_xlib_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xlib-surface-get-height.returns" role="returns"> +<title>Returns</title> +<para> the height of the surface in pixels.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-xlib-surface-get-depth" role="function" condition="since:1.2"> +<title>cairo_xlib_surface_get_depth ()</title> +<indexterm zone="cairo-xlib-surface-get-depth" role="1.2"><primary sortas="xlib_surface_get_depth">cairo_xlib_surface_get_depth</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_xlib_surface_get_depth (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>);</programlisting> +<para>Get the number of bits used to represent each pixel value.</para> +<refsect3 id="cairo-xlib-surface-get-depth.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-xlib-surface-t"><type>cairo_xlib_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xlib-surface-get-depth.returns" role="returns"> +<title>Returns</title> +<para> the depth of the surface in bits.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-xlib-device-debug-cap-xrender-version" role="function" condition="since:1.12"> +<title>cairo_xlib_device_debug_cap_xrender_version ()</title> +<indexterm zone="cairo-xlib-device-debug-cap-xrender-version" role="1.12"><primary sortas="xlib_device_debug_cap_xrender_version">cairo_xlib_device_debug_cap_xrender_version</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_xlib_device_debug_cap_xrender_version + (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>, + <parameter><link linkend="int"><type>int</type></link> major_version</parameter>, + <parameter><link linkend="int"><type>int</type></link> minor_version</parameter>);</programlisting> +<para>Restricts all future Xlib surfaces for this devices to the specified version +of the RENDER extension. This function exists solely for debugging purpose. +It lets you find out how cairo would behave with an older version of +the RENDER extension.</para> +<para>Use the special values -1 and -1 for disabling the RENDER extension.</para> +<refsect3 id="cairo-xlib-device-debug-cap-xrender-version.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link> for the Xlib backend</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>major_version</para></entry> +<entry role="parameter_description"><para>major version to restrict to</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>minor_version</para></entry> +<entry role="parameter_description"><para>minor version to restrict to</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-xlib-device-debug-get-precision" role="function" condition="since:1.12"> +<title>cairo_xlib_device_debug_get_precision ()</title> +<indexterm zone="cairo-xlib-device-debug-get-precision" role="1.12"><primary sortas="xlib_device_debug_get_precision">cairo_xlib_device_debug_get_precision</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_xlib_device_debug_get_precision (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>);</programlisting> +<para>Get the Xrender precision mode.</para> +<refsect3 id="cairo-xlib-device-debug-get-precision.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link> for the Xlib backend</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-xlib-device-debug-get-precision.returns" role="returns"> +<title>Returns</title> +<para> the render precision mode</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> +<refsect2 id="cairo-xlib-device-debug-set-precision" role="function" condition="since:1.12"> +<title>cairo_xlib_device_debug_set_precision ()</title> +<indexterm zone="cairo-xlib-device-debug-set-precision" role="1.12"><primary sortas="xlib_device_debug_set_precision">cairo_xlib_device_debug_set_precision</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_xlib_device_debug_set_precision (<parameter><link linkend="cairo-device-t"><type>cairo_device_t</type></link> *device</parameter>, + <parameter><link linkend="int"><type>int</type></link> precision</parameter>);</programlisting> +<para>Render supports two modes of precision when rendering trapezoids. Set +the precision to the desired mode.</para> +<refsect3 id="cairo-xlib-device-debug-set-precision.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>device</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-device-t"><type>cairo_device_t</type></link> for the Xlib backend</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>precision</para></entry> +<entry role="parameter_description"><para>the precision to use</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-XLib-Surfaces.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="CAIRO-HAS-XLIB-SURFACE:CAPS" role="macro" condition="since:1.0"> +<title>CAIRO_HAS_XLIB_SURFACE</title> +<indexterm zone="CAIRO-HAS-XLIB-SURFACE:CAPS" role="1.0"><primary sortas="HAS_XLIB_SURFACE">CAIRO_HAS_XLIB_SURFACE</primary></indexterm> +<programlisting language="C">#define CAIRO_HAS_XLIB_SURFACE 1 +</programlisting> +<para>Defined if the Xlib surface backend is available. +This macro can be used to conditionally compile backend-specific code.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-XLib-Surfaces.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo.xml b/libs/cairo-1.16.0/doc/public/xml/cairo.xml new file mode 100644 index 0000000..c4b546f --- /dev/null +++ b/libs/cairo-1.16.0/doc/public/xml/cairo.xml @@ -0,0 +1,2538 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ +<!ENTITY version SYSTEM "version.xml"> +]> +<refentry id="cairo-cairo-t"> +<refmeta> +<refentrytitle role="top_of_page" id="cairo-cairo-t.top_of_page">cairo_t</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>CAIRO Library</refmiscinfo> +</refmeta> +<refnamediv> +<refname>cairo_t</refname> +<refpurpose>The cairo drawing context</refpurpose> +</refnamediv> + +<refsect1 id="cairo-cairo-t.functions" role="functions_proto"> +<title role="functions_proto.title">Functions</title> +<informaltable pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="functions_return" colwidth="150px"/> +<colspec colname="functions_name"/> +<tbody> +<row><entry role="function_type"><link linkend="cairo-t"><returnvalue>cairo_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-create">cairo_create</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-t"><returnvalue>cairo_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-reference">cairo_reference</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-destroy">cairo_destroy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-status">cairo_status</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-save">cairo_save</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-restore">cairo_restore</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-get-target">cairo_get_target</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-push-group">cairo_push_group</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-push-group-with-content">cairo_push_group_with_content</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-pop-group">cairo_pop_group</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-pop-group-to-source">cairo_pop_group_to_source</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-get-group-target">cairo_get_group_target</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-source-rgb">cairo_set_source_rgb</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-source-rgba">cairo_set_source_rgba</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-source">cairo_set_source</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-source-surface">cairo_set_source_surface</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-get-source">cairo_get_source</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-antialias">cairo_set_antialias</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-antialias-t"><returnvalue>cairo_antialias_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-antialias">cairo_get_antialias</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-dash">cairo_set_dash</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-dash-count">cairo_get_dash_count</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-dash">cairo_get_dash</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-fill-rule">cairo_set_fill_rule</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-fill-rule-t"><returnvalue>cairo_fill_rule_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-fill-rule">cairo_get_fill_rule</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-line-cap">cairo_set_line_cap</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-line-cap-t"><returnvalue>cairo_line_cap_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-line-cap">cairo_get_line_cap</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-line-join">cairo_set_line_join</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-line-join-t"><returnvalue>cairo_line_join_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-line-join">cairo_get_line_join</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-line-width">cairo_set_line_width</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-line-width">cairo_get_line_width</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-miter-limit">cairo_set_miter_limit</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-miter-limit">cairo_get_miter_limit</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-operator">cairo_set_operator</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-operator-t"><returnvalue>cairo_operator_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-operator">cairo_get_operator</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-tolerance">cairo_set_tolerance</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-tolerance">cairo_get_tolerance</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-clip">cairo_clip</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-clip-preserve">cairo_clip_preserve</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-clip-extents">cairo_clip_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-in-clip">cairo_in_clip</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-reset-clip">cairo_reset_clip</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-rectangle-list-destroy">cairo_rectangle_list_destroy</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-rectangle-list-t"><returnvalue>cairo_rectangle_list_t</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-copy-clip-rectangle-list">cairo_copy_clip_rectangle_list</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-fill">cairo_fill</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-fill-preserve">cairo_fill_preserve</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-fill-extents">cairo_fill_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-in-fill">cairo_in_fill</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mask">cairo_mask</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-mask-surface">cairo_mask_surface</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-paint">cairo_paint</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-paint-with-alpha">cairo_paint_with_alpha</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-stroke">cairo_stroke</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-stroke-preserve">cairo_stroke_preserve</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-stroke-extents">cairo_stroke_extents</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-in-stroke">cairo_in_stroke</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-copy-page">cairo_copy_page</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-show-page">cairo_show_page</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-get-reference-count">cairo_get_reference_count</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +</entry><entry role="function_name"><link linkend="cairo-set-user-data">cairo_set_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> +<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link> * +</entry><entry role="function_name"><link linkend="cairo-get-user-data">cairo_get_user_data</link> <phrase role="c_punctuation">()</phrase></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> +<refsect1 id="cairo-cairo-t.other" role="other_proto"> +<title role="other_proto.title">Types and Values</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="2"> +<colspec colname="name" colwidth="150px"/> +<colspec colname="description"/> +<tbody> +<row><entry role="typedef_keyword">typedef</entry><entry role="function_name"><link linkend="cairo-t">cairo_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-antialias-t">cairo_antialias_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-fill-rule-t">cairo_fill_rule_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-line-cap-t">cairo_line_cap_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-line-join-t">cairo_line_join_t</link></entry></row> +<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-operator-t">cairo_operator_t</link></entry></row> +<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="cairo-rectangle-t">cairo_rectangle_t</link></entry></row> +<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="cairo-rectangle-list-t">cairo_rectangle_list_t</link></entry></row> + +</tbody> +</tgroup> +</informaltable> +</refsect1> + + +<refsect1 id="cairo-cairo-t.description" role="desc"> +<title role="desc.title">Description</title> +<para><link linkend="cairo-t"><type>cairo_t</type></link> is the main object used when drawing with cairo. To +draw with cairo, you create a <link linkend="cairo-t"><type>cairo_t</type></link>, set the target surface, +and drawing options for the <link linkend="cairo-t"><type>cairo_t</type></link>, create shapes with +functions like <link linkend="cairo-move-to"><function>cairo_move_to()</function></link> and <link linkend="cairo-line-to"><function>cairo_line_to()</function></link>, and then +draw shapes with <link linkend="cairo-stroke"><function>cairo_stroke()</function></link> or <link linkend="cairo-fill"><function>cairo_fill()</function></link>.</para> +<para><link linkend="cairo-t"><type>cairo_t</type></link><!-- -->'s can be pushed to a stack via <link linkend="cairo-save"><function>cairo_save()</function></link>. +They may then safely be changed, without losing the current state. +Use <link linkend="cairo-restore"><function>cairo_restore()</function></link> to restore to the saved state.</para> + +</refsect1> +<refsect1 id="cairo-cairo-t.functions_details" role="details"> +<title role="details.title">Functions</title> +<refsect2 id="cairo-create" role="function" condition="since:1.0"> +<title>cairo_create ()</title> +<indexterm zone="cairo-create" role="1.0"><primary sortas="create">cairo_create</primary></indexterm> +<programlisting language="C"><link linkend="cairo-t"><returnvalue>cairo_t</returnvalue></link> * +cairo_create (<parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *target</parameter>);</programlisting> +<para>Creates a new <link linkend="cairo-t"><type>cairo_t</type></link> with all graphics state parameters set to +default values and with <parameter>target</parameter> + as a target surface. The target +surface should be constructed with a backend-specific function such +as <link linkend="cairo-image-surface-create"><function>cairo_image_surface_create()</function></link> (or any other +<function>cairo_<emphasis>backend</emphasis>_surface_create(<!-- -->)</function> +variant).</para> +<para>This function references <parameter>target</parameter> +, so you can immediately +call <link linkend="cairo-surface-destroy"><function>cairo_surface_destroy()</function></link> on it if you don't need to +maintain a separate reference to it.</para> +<refsect3 id="cairo-create.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>target</para></entry> +<entry role="parameter_description"><para>target surface for the context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-create.returns" role="returns"> +<title>Returns</title> +<para> a newly allocated <link linkend="cairo-t"><type>cairo_t</type></link> with a reference +count of 1. The initial reference count should be released +with <link linkend="cairo-destroy"><function>cairo_destroy()</function></link> when you are done using the <link linkend="cairo-t"><type>cairo_t</type></link>. +This function never returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>. If memory cannot be +allocated, a special <link linkend="cairo-t"><type>cairo_t</type></link> object will be returned on +which <link linkend="cairo-status"><function>cairo_status()</function></link> returns <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link>. If +you attempt to target a surface which does not support +writing (such as <link linkend="cairo-mime-surface-t"><type>cairo_mime_surface_t</type></link>) then a +<link linkend="CAIRO-STATUS-WRITE-ERROR:CAPS"><literal>CAIRO_STATUS_WRITE_ERROR</literal></link> will be raised. You can use this +object normally, but no drawing will be done.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-reference" role="function" condition="since:1.0"> +<title>cairo_reference ()</title> +<indexterm zone="cairo-reference" role="1.0"><primary sortas="reference">cairo_reference</primary></indexterm> +<programlisting language="C"><link linkend="cairo-t"><returnvalue>cairo_t</returnvalue></link> * +cairo_reference (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Increases the reference count on <parameter>cr</parameter> + by one. This prevents +<parameter>cr</parameter> + from being destroyed until a matching call to <link linkend="cairo-destroy"><function>cairo_destroy()</function></link> +is made.</para> +<para>Use <link linkend="cairo-get-reference-count"><function>cairo_get_reference_count()</function></link> to get the number of references to +a <link linkend="cairo-t"><type>cairo_t</type></link>.</para> +<refsect3 id="cairo-reference.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-reference.returns" role="returns"> +<title>Returns</title> +<para> the referenced <link linkend="cairo-t"><type>cairo_t</type></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-destroy" role="function" condition="since:1.0"> +<title>cairo_destroy ()</title> +<indexterm zone="cairo-destroy" role="1.0"><primary sortas="destroy">cairo_destroy</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_destroy (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Decreases the reference count on <parameter>cr</parameter> + by one. If the result +is zero, then <parameter>cr</parameter> + and all associated resources are freed. +See <link linkend="cairo-reference"><function>cairo_reference()</function></link>.</para> +<refsect3 id="cairo-destroy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-status" role="function" condition="since:1.0"> +<title>cairo_status ()</title> +<indexterm zone="cairo-status" role="1.0"><primary sortas="status">cairo_status</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_status (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Checks whether an error has previously occurred for this context.</para> +<refsect3 id="cairo-status.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-status.returns" role="returns"> +<title>Returns</title> +<para> the current status of this context, see <link linkend="cairo-status-t"><type>cairo_status_t</type></link></para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-save" role="function" condition="since:1.0"> +<title>cairo_save ()</title> +<indexterm zone="cairo-save" role="1.0"><primary sortas="save">cairo_save</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_save (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Makes a copy of the current state of <parameter>cr</parameter> + and saves it +on an internal stack of saved states for <parameter>cr</parameter> +. When +<link linkend="cairo-restore"><function>cairo_restore()</function></link> is called, <parameter>cr</parameter> + will be restored to +the saved state. Multiple calls to <link linkend="cairo-save"><function>cairo_save()</function></link> and +<link linkend="cairo-restore"><function>cairo_restore()</function></link> can be nested; each call to <link linkend="cairo-restore"><function>cairo_restore()</function></link> +restores the state from the matching paired <link linkend="cairo-save"><function>cairo_save()</function></link>.</para> +<para>It isn't necessary to clear all saved states before +a <link linkend="cairo-t"><type>cairo_t</type></link> is freed. If the reference count of a <link linkend="cairo-t"><type>cairo_t</type></link> +drops to zero in response to a call to <link linkend="cairo-destroy"><function>cairo_destroy()</function></link>, +any saved states will be freed along with the <link linkend="cairo-t"><type>cairo_t</type></link>.</para> +<refsect3 id="cairo-save.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-restore" role="function" condition="since:1.0"> +<title>cairo_restore ()</title> +<indexterm zone="cairo-restore" role="1.0"><primary sortas="restore">cairo_restore</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_restore (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Restores <parameter>cr</parameter> + to the state saved by a preceding call to +<link linkend="cairo-save"><function>cairo_save()</function></link> and removes that state from the stack of +saved states.</para> +<refsect3 id="cairo-restore.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-target" role="function" condition="since:1.0"> +<title>cairo_get_target ()</title> +<indexterm zone="cairo-get-target" role="1.0"><primary sortas="get_target">cairo_get_target</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_get_target (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the target surface for the cairo context as passed to +<link linkend="cairo-create"><function>cairo_create()</function></link>.</para> +<para>This function will always return a valid pointer, but the result +can be a "nil" surface if <parameter>cr</parameter> + is already in an error state, +(ie. <link linkend="cairo-status"><function>cairo_status()</function></link> <literal>!=</literal> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>). +A nil surface is indicated by <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> +<literal>!=</literal> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>.</para> +<refsect3 id="cairo-get-target.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-target.returns" role="returns"> +<title>Returns</title> +<para> the target surface. This object is owned by cairo. To +keep a reference to it, you must call <link linkend="cairo-surface-reference"><function>cairo_surface_reference()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-push-group" role="function" condition="since:1.2"> +<title>cairo_push_group ()</title> +<indexterm zone="cairo-push-group" role="1.2"><primary sortas="push_group">cairo_push_group</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_push_group (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Temporarily redirects drawing to an intermediate surface known as a +group. The redirection lasts until the group is completed by a call +to <link linkend="cairo-pop-group"><function>cairo_pop_group()</function></link> or <link linkend="cairo-pop-group-to-source"><function>cairo_pop_group_to_source()</function></link>. These calls +provide the result of any drawing to the group as a pattern, +(either as an explicit object, or set as the source pattern).</para> +<para>This group functionality can be convenient for performing +intermediate compositing. One common use of a group is to render +objects as opaque within the group, (so that they occlude each +other), and then blend the result with translucence onto the +destination.</para> +<para>Groups can be nested arbitrarily deep by making balanced calls to +<link linkend="cairo-push-group"><function>cairo_push_group()</function></link>/<link linkend="cairo-pop-group"><function>cairo_pop_group()</function></link>. Each call pushes/pops the new +target group onto/from a stack.</para> +<para>The <link linkend="cairo-push-group"><function>cairo_push_group()</function></link> function calls <link linkend="cairo-save"><function>cairo_save()</function></link> so that any +changes to the graphics state will not be visible outside the +group, (the pop_group functions call <link linkend="cairo-restore"><function>cairo_restore()</function></link>).</para> +<para>By default the intermediate group will have a content type of +<link linkend="CAIRO-CONTENT-COLOR-ALPHA:CAPS"><literal>CAIRO_CONTENT_COLOR_ALPHA</literal></link>. Other content types can be chosen for +the group by using <link linkend="cairo-push-group-with-content"><function>cairo_push_group_with_content()</function></link> instead.</para> +<para>As an example, here is how one might fill and stroke a path with +translucence, but without any portion of the fill being visible +under the stroke:</para> +<informalexample><programlisting> +cairo_push_group (cr); +cairo_set_source (cr, fill_pattern); +cairo_fill_preserve (cr); +cairo_set_source (cr, stroke_pattern); +cairo_stroke (cr); +cairo_pop_group_to_source (cr); +cairo_paint_with_alpha (cr, alpha); +</programlisting></informalexample> +<refsect3 id="cairo-push-group.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-push-group-with-content" role="function" condition="since:1.2"> +<title>cairo_push_group_with_content ()</title> +<indexterm zone="cairo-push-group-with-content" role="1.2"><primary sortas="push_group_with_content">cairo_push_group_with_content</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_push_group_with_content (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-content-t"><type>cairo_content_t</type></link> content</parameter>);</programlisting> +<para>Temporarily redirects drawing to an intermediate surface known as a +group. The redirection lasts until the group is completed by a call +to <link linkend="cairo-pop-group"><function>cairo_pop_group()</function></link> or <link linkend="cairo-pop-group-to-source"><function>cairo_pop_group_to_source()</function></link>. These calls +provide the result of any drawing to the group as a pattern, +(either as an explicit object, or set as the source pattern).</para> +<para>The group will have a content type of <parameter>content</parameter> +. The ability to +control this content type is the only distinction between this +function and <link linkend="cairo-push-group"><function>cairo_push_group()</function></link> which you should see for a more +detailed description of group rendering.</para> +<refsect3 id="cairo-push-group-with-content.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>content</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-content-t"><type>cairo_content_t</type></link> indicating the type of group that +will be created</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-pop-group" role="function" condition="since:1.2"> +<title>cairo_pop_group ()</title> +<indexterm zone="cairo-pop-group" role="1.2"><primary sortas="pop_group">cairo_pop_group</primary></indexterm> +<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +cairo_pop_group (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Terminates the redirection begun by a call to <link linkend="cairo-push-group"><function>cairo_push_group()</function></link> or +<link linkend="cairo-push-group-with-content"><function>cairo_push_group_with_content()</function></link> and returns a new pattern +containing the results of all drawing operations performed to the +group.</para> +<para>The <link linkend="cairo-pop-group"><function>cairo_pop_group()</function></link> function calls <link linkend="cairo-restore"><function>cairo_restore()</function></link>, (balancing a +call to <link linkend="cairo-save"><function>cairo_save()</function></link> by the push_group function), so that any +changes to the graphics state will not be visible outside the +group.</para> +<refsect3 id="cairo-pop-group.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-pop-group.returns" role="returns"> +<title>Returns</title> +<para> a newly created (surface) pattern containing the +results of all drawing operations performed to the group. The +caller owns the returned object and should call +<link linkend="cairo-pattern-destroy"><function>cairo_pattern_destroy()</function></link> when finished with it.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-pop-group-to-source" role="function" condition="since:1.2"> +<title>cairo_pop_group_to_source ()</title> +<indexterm zone="cairo-pop-group-to-source" role="1.2"><primary sortas="pop_group_to_source">cairo_pop_group_to_source</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_pop_group_to_source (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Terminates the redirection begun by a call to <link linkend="cairo-push-group"><function>cairo_push_group()</function></link> or +<link linkend="cairo-push-group-with-content"><function>cairo_push_group_with_content()</function></link> and installs the resulting pattern +as the source pattern in the given cairo context.</para> +<para>The behavior of this function is equivalent to the sequence of +operations:</para> +<informalexample><programlisting> +cairo_pattern_t *group = cairo_pop_group (cr); +cairo_set_source (cr, group); +cairo_pattern_destroy (group); +</programlisting></informalexample> +<para>but is more convenient as their is no need for a variable to store +the short-lived pointer to the pattern.</para> +<para>The <link linkend="cairo-pop-group"><function>cairo_pop_group()</function></link> function calls <link linkend="cairo-restore"><function>cairo_restore()</function></link>, (balancing a +call to <link linkend="cairo-save"><function>cairo_save()</function></link> by the push_group function), so that any +changes to the graphics state will not be visible outside the +group.</para> +<refsect3 id="cairo-pop-group-to-source.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-get-group-target" role="function" condition="since:1.2"> +<title>cairo_get_group_target ()</title> +<indexterm zone="cairo-get-group-target" role="1.2"><primary sortas="get_group_target">cairo_get_group_target</primary></indexterm> +<programlisting language="C"><link linkend="cairo-surface-t"><returnvalue>cairo_surface_t</returnvalue></link> * +cairo_get_group_target (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the current destination surface for the context. This is either +the original target surface as passed to <link linkend="cairo-create"><function>cairo_create()</function></link> or the target +surface for the current group as started by the most recent call to +<link linkend="cairo-push-group"><function>cairo_push_group()</function></link> or <link linkend="cairo-push-group-with-content"><function>cairo_push_group_with_content()</function></link>.</para> +<para>This function will always return a valid pointer, but the result +can be a "nil" surface if <parameter>cr</parameter> + is already in an error state, +(ie. <link linkend="cairo-status"><function>cairo_status()</function></link> <literal>!=</literal> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>). +A nil surface is indicated by <link linkend="cairo-surface-status"><function>cairo_surface_status()</function></link> +<literal>!=</literal> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link>.</para> +<refsect3 id="cairo-get-group-target.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-group-target.returns" role="returns"> +<title>Returns</title> +<para> the target surface. This object is owned by cairo. To +keep a reference to it, you must call <link linkend="cairo-surface-reference"><function>cairo_surface_reference()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2> +<refsect2 id="cairo-set-source-rgb" role="function" condition="since:1.0"> +<title>cairo_set_source_rgb ()</title> +<indexterm zone="cairo-set-source-rgb" role="1.0"><primary sortas="set_source_rgb">cairo_set_source_rgb</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_source_rgb (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> red</parameter>, + <parameter><link linkend="double"><type>double</type></link> green</parameter>, + <parameter><link linkend="double"><type>double</type></link> blue</parameter>);</programlisting> +<para>Sets the source pattern within <parameter>cr</parameter> + to an opaque color. This opaque +color will then be used for any subsequent drawing operation until +a new source pattern is set.</para> +<para>The color components are floating point numbers in the range 0 to</para> +<orderedlist> +<listitem> +<para>If the values passed in are outside that range, they will be +clamped.</para> +</listitem> +</orderedlist> +<para>The default source pattern is opaque black, (that is, it is +equivalent to cairo_set_source_rgb(cr, 0.0, 0.0, 0.0)).</para> +<refsect3 id="cairo-set-source-rgb.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>red</para></entry> +<entry role="parameter_description"><para>red component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>green</para></entry> +<entry role="parameter_description"><para>green component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>blue</para></entry> +<entry role="parameter_description"><para>blue component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-source-rgba" role="function" condition="since:1.0"> +<title>cairo_set_source_rgba ()</title> +<indexterm zone="cairo-set-source-rgba" role="1.0"><primary sortas="set_source_rgba">cairo_set_source_rgba</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_source_rgba (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> red</parameter>, + <parameter><link linkend="double"><type>double</type></link> green</parameter>, + <parameter><link linkend="double"><type>double</type></link> blue</parameter>, + <parameter><link linkend="double"><type>double</type></link> alpha</parameter>);</programlisting> +<para>Sets the source pattern within <parameter>cr</parameter> + to a translucent color. This +color will then be used for any subsequent drawing operation until +a new source pattern is set.</para> +<para>The color and alpha components are floating point numbers in the +range 0 to 1. If the values passed in are outside that range, they +will be clamped.</para> +<para>The default source pattern is opaque black, (that is, it is +equivalent to cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0)).</para> +<refsect3 id="cairo-set-source-rgba.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>red</para></entry> +<entry role="parameter_description"><para>red component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>green</para></entry> +<entry role="parameter_description"><para>green component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>blue</para></entry> +<entry role="parameter_description"><para>blue component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>alpha</para></entry> +<entry role="parameter_description"><para>alpha component of color</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-source" role="function" condition="since:1.0"> +<title>cairo_set_source ()</title> +<indexterm zone="cairo-set-source" role="1.0"><primary sortas="set_source">cairo_set_source</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_source (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *source</parameter>);</programlisting> +<para>Sets the source pattern within <parameter>cr</parameter> + to <parameter>source</parameter> +. This pattern +will then be used for any subsequent drawing operation until a new +source pattern is set.</para> +<para>Note: The pattern's transformation matrix will be locked to the +user space in effect at the time of <link linkend="cairo-set-source"><function>cairo_set_source()</function></link>. This means +that further modifications of the current transformation matrix +will not affect the source pattern. See <link linkend="cairo-pattern-set-matrix"><function>cairo_pattern_set_matrix()</function></link>.</para> +<para>The default source pattern is a solid pattern that is opaque black, +(that is, it is equivalent to cairo_set_source_rgb(cr, 0.0, 0.0, +0.0)).</para> +<refsect3 id="cairo-set-source.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>source</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> to be used as the source for +subsequent drawing operations.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-source-surface" role="function" condition="since:1.0"> +<title>cairo_set_source_surface ()</title> +<indexterm zone="cairo-set-source-surface" role="1.0"><primary sortas="set_source_surface">cairo_set_source_surface</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_source_surface (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="double"><type>double</type></link> x</parameter>, + <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> +<para>This is a convenience function for creating a pattern from <parameter>surface</parameter> + +and setting it as the source in <parameter>cr</parameter> + with <link linkend="cairo-set-source"><function>cairo_set_source()</function></link>.</para> +<para>The <parameter>x</parameter> + and <parameter>y</parameter> + parameters give the user-space coordinate at which +the surface origin should appear. (The surface origin is its +upper-left corner before any transformation has been applied.) The +<parameter>x</parameter> + and <parameter>y</parameter> + parameters are negated and then set as translation values +in the pattern matrix.</para> +<para>Other than the initial translation pattern matrix, as described +above, all other pattern attributes, (such as its extend mode), are +set to the default values as in <link linkend="cairo-pattern-create-for-surface"><function>cairo_pattern_create_for_surface()</function></link>. +The resulting pattern can be queried with <link linkend="cairo-get-source"><function>cairo_get_source()</function></link> so +that these attributes can be modified if desired, (eg. to create a +repeating pattern with <link linkend="cairo-pattern-set-extend"><function>cairo_pattern_set_extend()</function></link>).</para> +<refsect3 id="cairo-set-source-surface.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a surface to be used to set the source pattern</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>User-space X coordinate for surface origin</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>User-space Y coordinate for surface origin</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-source" role="function" condition="since:1.0"> +<title>cairo_get_source ()</title> +<indexterm zone="cairo-get-source" role="1.0"><primary sortas="get_source">cairo_get_source</primary></indexterm> +<programlisting language="C"><link linkend="cairo-pattern-t"><returnvalue>cairo_pattern_t</returnvalue></link> * +cairo_get_source (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the current source pattern for <parameter>cr</parameter> +.</para> +<refsect3 id="cairo-get-source.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-source.returns" role="returns"> +<title>Returns</title> +<para> the current source pattern. This object is owned by +cairo. To keep a reference to it, you must call +<link linkend="cairo-pattern-reference"><function>cairo_pattern_reference()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-antialias" role="function" condition="since:1.0"> +<title>cairo_set_antialias ()</title> +<indexterm zone="cairo-set-antialias" role="1.0"><primary sortas="set_antialias">cairo_set_antialias</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_antialias (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-antialias-t"><type>cairo_antialias_t</type></link> antialias</parameter>);</programlisting> +<para>Set the antialiasing mode of the rasterizer used for drawing shapes. +This value is a hint, and a particular backend may or may not support +a particular value. At the current time, no backend supports +<link linkend="CAIRO-ANTIALIAS-SUBPIXEL:CAPS"><literal>CAIRO_ANTIALIAS_SUBPIXEL</literal></link> when drawing shapes.</para> +<para>Note that this option does not affect text rendering, instead see +<link linkend="cairo-font-options-set-antialias"><function>cairo_font_options_set_antialias()</function></link>.</para> +<refsect3 id="cairo-set-antialias.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>antialias</para></entry> +<entry role="parameter_description"><para>the new antialiasing mode</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-antialias" role="function" condition="since:1.0"> +<title>cairo_get_antialias ()</title> +<indexterm zone="cairo-get-antialias" role="1.0"><primary sortas="get_antialias">cairo_get_antialias</primary></indexterm> +<programlisting language="C"><link linkend="cairo-antialias-t"><returnvalue>cairo_antialias_t</returnvalue></link> +cairo_get_antialias (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the current shape antialiasing mode, as set by +<link linkend="cairo-set-antialias"><function>cairo_set_antialias()</function></link>.</para> +<refsect3 id="cairo-get-antialias.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-antialias.returns" role="returns"> +<title>Returns</title> +<para> the current shape antialiasing mode.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-dash" role="function" condition="since:1.0"> +<title>cairo_set_dash ()</title> +<indexterm zone="cairo-set-dash" role="1.0"><primary sortas="set_dash">cairo_set_dash</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_dash (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="double"><type>double</type></link> *dashes</parameter>, + <parameter><link linkend="int"><type>int</type></link> num_dashes</parameter>, + <parameter><link linkend="double"><type>double</type></link> offset</parameter>);</programlisting> +<para>Sets the dash pattern to be used by <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>. A dash pattern +is specified by <parameter>dashes</parameter> +, an array of positive values. Each value +provides the length of alternate "on" and "off" portions of the +stroke. The <parameter>offset</parameter> + specifies an offset into the pattern at which +the stroke begins.</para> +<para>Each "on" segment will have caps applied as if the segment were a +separate sub-path. In particular, it is valid to use an "on" length +of 0.0 with <link linkend="CAIRO-LINE-CAP-ROUND:CAPS"><literal>CAIRO_LINE_CAP_ROUND</literal></link> or <link linkend="CAIRO-LINE-CAP-SQUARE:CAPS"><literal>CAIRO_LINE_CAP_SQUARE</literal></link> in order +to distributed dots or squares along a path.</para> +<para>Note: The length values are in user-space units as evaluated at the +time of stroking. This is not necessarily the same as the user +space at the time of <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link>.</para> +<para>If <parameter>num_dashes</parameter> + is 0 dashing is disabled.</para> +<para>If <parameter>num_dashes</parameter> + is 1 a symmetric pattern is assumed with alternating +on and off portions of the size specified by the single value in +<parameter>dashes</parameter> +.</para> +<para>If any value in <parameter>dashes</parameter> + is negative, or if all values are 0, then +<parameter>cr</parameter> + will be put into an error state with a status of +<link linkend="CAIRO-STATUS-INVALID-DASH:CAPS"><literal>CAIRO_STATUS_INVALID_DASH</literal></link>.</para> +<refsect3 id="cairo-set-dash.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dashes</para></entry> +<entry role="parameter_description"><para>an array specifying alternate lengths of on and off stroke portions</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>num_dashes</para></entry> +<entry role="parameter_description"><para>the length of the dashes array</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>offset</para></entry> +<entry role="parameter_description"><para>an offset into the dash pattern at which the stroke should start</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-dash-count" role="function" condition="since:1.4"> +<title>cairo_get_dash_count ()</title> +<indexterm zone="cairo-get-dash-count" role="1.4"><primary sortas="get_dash_count">cairo_get_dash_count</primary></indexterm> +<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link> +cairo_get_dash_count (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>This function returns the length of the dash array in <parameter>cr</parameter> + (0 if dashing +is not currently in effect).</para> +<para>See also <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link> and <link linkend="cairo-get-dash"><function>cairo_get_dash()</function></link>.</para> +<refsect3 id="cairo-get-dash-count.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-dash-count.returns" role="returns"> +<title>Returns</title> +<para> the length of the dash array, or 0 if no dash array set.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-get-dash" role="function" condition="since:1.4"> +<title>cairo_get_dash ()</title> +<indexterm zone="cairo-get-dash" role="1.4"><primary sortas="get_dash">cairo_get_dash</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_get_dash (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> *dashes</parameter>, + <parameter><link linkend="double"><type>double</type></link> *offset</parameter>);</programlisting> +<para>Gets the current dash array. If not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, <parameter>dashes</parameter> + should be big +enough to hold at least the number of values returned by +<link linkend="cairo-get-dash-count"><function>cairo_get_dash_count()</function></link>.</para> +<refsect3 id="cairo-get-dash.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>dashes</para></entry> +<entry role="parameter_description"><para>return value for the dash array, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>offset</para></entry> +<entry role="parameter_description"><para>return value for the current dash offset, or <link linkend="NULL:CAPS"><literal>NULL</literal></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-set-fill-rule" role="function" condition="since:1.0"> +<title>cairo_set_fill_rule ()</title> +<indexterm zone="cairo-set-fill-rule" role="1.0"><primary sortas="set_fill_rule">cairo_set_fill_rule</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_fill_rule (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-fill-rule-t"><type>cairo_fill_rule_t</type></link> fill_rule</parameter>);</programlisting> +<para>Set the current fill rule within the cairo context. The fill rule +is used to determine which regions are inside or outside a complex +(potentially self-intersecting) path. The current fill rule affects +both <link linkend="cairo-fill"><function>cairo_fill()</function></link> and <link linkend="cairo-clip"><function>cairo_clip()</function></link>. See <link linkend="cairo-fill-rule-t"><type>cairo_fill_rule_t</type></link> for details +on the semantics of each available fill rule.</para> +<para>The default fill rule is <link linkend="CAIRO-FILL-RULE-WINDING:CAPS"><literal>CAIRO_FILL_RULE_WINDING</literal></link>.</para> +<refsect3 id="cairo-set-fill-rule.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>fill_rule</para></entry> +<entry role="parameter_description"><para>a fill rule, specified as a <link linkend="cairo-fill-rule-t"><type>cairo_fill_rule_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-fill-rule" role="function" condition="since:1.0"> +<title>cairo_get_fill_rule ()</title> +<indexterm zone="cairo-get-fill-rule" role="1.0"><primary sortas="get_fill_rule">cairo_get_fill_rule</primary></indexterm> +<programlisting language="C"><link linkend="cairo-fill-rule-t"><returnvalue>cairo_fill_rule_t</returnvalue></link> +cairo_get_fill_rule (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the current fill rule, as set by <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link>.</para> +<refsect3 id="cairo-get-fill-rule.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-fill-rule.returns" role="returns"> +<title>Returns</title> +<para> the current fill rule.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-line-cap" role="function" condition="since:1.0"> +<title>cairo_set_line_cap ()</title> +<indexterm zone="cairo-set-line-cap" role="1.0"><primary sortas="set_line_cap">cairo_set_line_cap</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_line_cap (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-line-cap-t"><type>cairo_line_cap_t</type></link> line_cap</parameter>);</programlisting> +<para>Sets the current line cap style within the cairo context. See +<link linkend="cairo-line-cap-t"><type>cairo_line_cap_t</type></link> for details about how the available line cap +styles are drawn.</para> +<para>As with the other stroke parameters, the current line cap style is +examined by <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link>, and +<link linkend="cairo-stroke-to-path"><function>cairo_stroke_to_path()</function></link>, but does not have any effect during path +construction.</para> +<para>The default line cap style is <link linkend="CAIRO-LINE-CAP-BUTT:CAPS"><literal>CAIRO_LINE_CAP_BUTT</literal></link>.</para> +<refsect3 id="cairo-set-line-cap.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>line_cap</para></entry> +<entry role="parameter_description"><para>a line cap style</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-line-cap" role="function" condition="since:1.0"> +<title>cairo_get_line_cap ()</title> +<indexterm zone="cairo-get-line-cap" role="1.0"><primary sortas="get_line_cap">cairo_get_line_cap</primary></indexterm> +<programlisting language="C"><link linkend="cairo-line-cap-t"><returnvalue>cairo_line_cap_t</returnvalue></link> +cairo_get_line_cap (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the current line cap style, as set by <link linkend="cairo-set-line-cap"><function>cairo_set_line_cap()</function></link>.</para> +<refsect3 id="cairo-get-line-cap.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-line-cap.returns" role="returns"> +<title>Returns</title> +<para> the current line cap style.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-line-join" role="function" condition="since:1.0"> +<title>cairo_set_line_join ()</title> +<indexterm zone="cairo-set-line-join" role="1.0"><primary sortas="set_line_join">cairo_set_line_join</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_line_join (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-line-join-t"><type>cairo_line_join_t</type></link> line_join</parameter>);</programlisting> +<para>Sets the current line join style within the cairo context. See +<link linkend="cairo-line-join-t"><type>cairo_line_join_t</type></link> for details about how the available line join +styles are drawn.</para> +<para>As with the other stroke parameters, the current line join style is +examined by <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link>, and +<link linkend="cairo-stroke-to-path"><function>cairo_stroke_to_path()</function></link>, but does not have any effect during path +construction.</para> +<para>The default line join style is <link linkend="CAIRO-LINE-JOIN-MITER:CAPS"><literal>CAIRO_LINE_JOIN_MITER</literal></link>.</para> +<refsect3 id="cairo-set-line-join.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>line_join</para></entry> +<entry role="parameter_description"><para>a line join style</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-line-join" role="function" condition="since:1.0"> +<title>cairo_get_line_join ()</title> +<indexterm zone="cairo-get-line-join" role="1.0"><primary sortas="get_line_join">cairo_get_line_join</primary></indexterm> +<programlisting language="C"><link linkend="cairo-line-join-t"><returnvalue>cairo_line_join_t</returnvalue></link> +cairo_get_line_join (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the current line join style, as set by <link linkend="cairo-set-line-join"><function>cairo_set_line_join()</function></link>.</para> +<refsect3 id="cairo-get-line-join.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-line-join.returns" role="returns"> +<title>Returns</title> +<para> the current line join style.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-line-width" role="function" condition="since:1.0"> +<title>cairo_set_line_width ()</title> +<indexterm zone="cairo-set-line-width" role="1.0"><primary sortas="set_line_width">cairo_set_line_width</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_line_width (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> width</parameter>);</programlisting> +<para>Sets the current line width within the cairo context. The line +width value specifies the diameter of a pen that is circular in +user space, (though device-space pen may be an ellipse in general +due to scaling/shear/rotation of the CTM).</para> +<para>Note: When the description above refers to user space and CTM it +refers to the user space and CTM in effect at the time of the +stroking operation, not the user space and CTM in effect at the +time of the call to <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link>. The simplest usage +makes both of these spaces identical. That is, if there is no +change to the CTM between a call to <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link> and the +stroking operation, then one can just pass user-space values to +<link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link> and ignore this note.</para> +<para>As with the other stroke parameters, the current line width is +examined by <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link>, and +<link linkend="cairo-stroke-to-path"><function>cairo_stroke_to_path()</function></link>, but does not have any effect during path +construction.</para> +<para>The default line width value is 2.0.</para> +<refsect3 id="cairo-set-line-width.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>width</para></entry> +<entry role="parameter_description"><para>a line width</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-line-width" role="function" condition="since:1.0"> +<title>cairo_get_line_width ()</title> +<indexterm zone="cairo-get-line-width" role="1.0"><primary sortas="get_line_width">cairo_get_line_width</primary></indexterm> +<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> +cairo_get_line_width (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>This function returns the current line width value exactly as set by +<link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link>. Note that the value is unchanged even if +the CTM has changed between the calls to <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link> and +<link linkend="cairo-get-line-width"><function>cairo_get_line_width()</function></link>.</para> +<refsect3 id="cairo-get-line-width.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-line-width.returns" role="returns"> +<title>Returns</title> +<para> the current line width.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-miter-limit" role="function" condition="since:1.0"> +<title>cairo_set_miter_limit ()</title> +<indexterm zone="cairo-set-miter-limit" role="1.0"><primary sortas="set_miter_limit">cairo_set_miter_limit</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_miter_limit (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> limit</parameter>);</programlisting> +<para>Sets the current miter limit within the cairo context.</para> +<para>If the current line join style is set to <link linkend="CAIRO-LINE-JOIN-MITER:CAPS"><literal>CAIRO_LINE_JOIN_MITER</literal></link> +(see <link linkend="cairo-set-line-join"><function>cairo_set_line_join()</function></link>), the miter limit is used to determine +whether the lines should be joined with a bevel instead of a miter. +Cairo divides the length of the miter by the line width. +If the result is greater than the miter limit, the style is +converted to a bevel.</para> +<para>As with the other stroke parameters, the current line miter limit is +examined by <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link>, and +<link linkend="cairo-stroke-to-path"><function>cairo_stroke_to_path()</function></link>, but does not have any effect during path +construction.</para> +<para>The default miter limit value is 10.0, which will convert joins +with interior angles less than 11 degrees to bevels instead of +miters. For reference, a miter limit of 2.0 makes the miter cutoff +at 60 degrees, and a miter limit of 1.414 makes the cutoff at 90 +degrees.</para> +<para>A miter limit for a desired angle can be computed as: miter limit = +1/sin(angle/2)</para> +<refsect3 id="cairo-set-miter-limit.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>limit</para></entry> +<entry role="parameter_description"><para>miter limit to set</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-miter-limit" role="function" condition="since:1.0"> +<title>cairo_get_miter_limit ()</title> +<indexterm zone="cairo-get-miter-limit" role="1.0"><primary sortas="get_miter_limit">cairo_get_miter_limit</primary></indexterm> +<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> +cairo_get_miter_limit (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the current miter limit, as set by <link linkend="cairo-set-miter-limit"><function>cairo_set_miter_limit()</function></link>.</para> +<refsect3 id="cairo-get-miter-limit.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-miter-limit.returns" role="returns"> +<title>Returns</title> +<para> the current miter limit.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-operator" role="function" condition="since:1.0"> +<title>cairo_set_operator ()</title> +<indexterm zone="cairo-set-operator" role="1.0"><primary sortas="set_operator">cairo_set_operator</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_operator (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-operator-t"><type>cairo_operator_t</type></link> op</parameter>);</programlisting> +<para>Sets the compositing operator to be used for all drawing +operations. See <link linkend="cairo-operator-t"><type>cairo_operator_t</type></link> for details on the semantics of +each available compositing operator.</para> +<para>The default operator is <link linkend="CAIRO-OPERATOR-OVER:CAPS"><literal>CAIRO_OPERATOR_OVER</literal></link>.</para> +<refsect3 id="cairo-set-operator.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>op</para></entry> +<entry role="parameter_description"><para>a compositing operator, specified as a <link linkend="cairo-operator-t"><type>cairo_operator_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-operator" role="function" condition="since:1.0"> +<title>cairo_get_operator ()</title> +<indexterm zone="cairo-get-operator" role="1.0"><primary sortas="get_operator">cairo_get_operator</primary></indexterm> +<programlisting language="C"><link linkend="cairo-operator-t"><returnvalue>cairo_operator_t</returnvalue></link> +cairo_get_operator (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the current compositing operator for a cairo context.</para> +<refsect3 id="cairo-get-operator.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-operator.returns" role="returns"> +<title>Returns</title> +<para> the current compositing operator.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-set-tolerance" role="function" condition="since:1.0"> +<title>cairo_set_tolerance ()</title> +<indexterm zone="cairo-set-tolerance" role="1.0"><primary sortas="set_tolerance">cairo_set_tolerance</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_set_tolerance (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> tolerance</parameter>);</programlisting> +<para>Sets the tolerance used when converting paths into trapezoids. +Curved segments of the path will be subdivided until the maximum +deviation between the original path and the polygonal approximation +is less than <parameter>tolerance</parameter> +. The default value is 0.1. A larger +value will give better performance, a smaller value, better +appearance. (Reducing the value from the default value of 0.1 +is unlikely to improve appearance significantly.) The accuracy of paths +within Cairo is limited by the precision of its internal arithmetic, and +the prescribed <parameter>tolerance</parameter> + is restricted to the smallest +representable internal value.</para> +<refsect3 id="cairo-set-tolerance.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>tolerance</para></entry> +<entry role="parameter_description"><para>the tolerance, in device units (typically pixels)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-tolerance" role="function" condition="since:1.0"> +<title>cairo_get_tolerance ()</title> +<indexterm zone="cairo-get-tolerance" role="1.0"><primary sortas="get_tolerance">cairo_get_tolerance</primary></indexterm> +<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link> +cairo_get_tolerance (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the current tolerance value, as set by <link linkend="cairo-set-tolerance"><function>cairo_set_tolerance()</function></link>.</para> +<refsect3 id="cairo-get-tolerance.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-tolerance.returns" role="returns"> +<title>Returns</title> +<para> the current tolerance value.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-clip" role="function" condition="since:1.0"> +<title>cairo_clip ()</title> +<indexterm zone="cairo-clip" role="1.0"><primary sortas="clip">cairo_clip</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_clip (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Establishes a new clip region by intersecting the current clip +region with the current path as it would be filled by <link linkend="cairo-fill"><function>cairo_fill()</function></link> +and according to the current fill rule (see <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link>).</para> +<para>After <link linkend="cairo-clip"><function>cairo_clip()</function></link>, the current path will be cleared from the cairo +context.</para> +<para>The current clip region affects all drawing operations by +effectively masking out any changes to the surface that are outside +the current clip region.</para> +<para>Calling <link linkend="cairo-clip"><function>cairo_clip()</function></link> can only make the clip region smaller, never +larger. But the current clip is part of the graphics state, so a +temporary restriction of the clip region can be achieved by +calling <link linkend="cairo-clip"><function>cairo_clip()</function></link> within a <link linkend="cairo-save"><function>cairo_save()</function></link>/<link linkend="cairo-restore"><function>cairo_restore()</function></link> +pair. The only other means of increasing the size of the clip +region is <link linkend="cairo-reset-clip"><function>cairo_reset_clip()</function></link>.</para> +<refsect3 id="cairo-clip.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-clip-preserve" role="function" condition="since:1.0"> +<title>cairo_clip_preserve ()</title> +<indexterm zone="cairo-clip-preserve" role="1.0"><primary sortas="clip_preserve">cairo_clip_preserve</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_clip_preserve (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Establishes a new clip region by intersecting the current clip +region with the current path as it would be filled by <link linkend="cairo-fill"><function>cairo_fill()</function></link> +and according to the current fill rule (see <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link>).</para> +<para>Unlike <link linkend="cairo-clip"><function>cairo_clip()</function></link>, <link linkend="cairo-clip-preserve"><function>cairo_clip_preserve()</function></link> preserves the path within +the cairo context.</para> +<para>The current clip region affects all drawing operations by +effectively masking out any changes to the surface that are outside +the current clip region.</para> +<para>Calling <link linkend="cairo-clip-preserve"><function>cairo_clip_preserve()</function></link> can only make the clip region smaller, never +larger. But the current clip is part of the graphics state, so a +temporary restriction of the clip region can be achieved by +calling <link linkend="cairo-clip-preserve"><function>cairo_clip_preserve()</function></link> within a <link linkend="cairo-save"><function>cairo_save()</function></link>/<link linkend="cairo-restore"><function>cairo_restore()</function></link> +pair. The only other means of increasing the size of the clip +region is <link linkend="cairo-reset-clip"><function>cairo_reset_clip()</function></link>.</para> +<refsect3 id="cairo-clip-preserve.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-clip-extents" role="function" condition="since:1.4"> +<title>cairo_clip_extents ()</title> +<indexterm zone="cairo-clip-extents" role="1.4"><primary sortas="clip_extents">cairo_clip_extents</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_clip_extents (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x1</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y1</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x2</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y2</parameter>);</programlisting> +<para>Computes a bounding box in user coordinates covering the area inside the +current clip.</para> +<refsect3 id="cairo-clip-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x1</para></entry> +<entry role="parameter_description"><para>left of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y1</para></entry> +<entry role="parameter_description"><para>top of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x2</para></entry> +<entry role="parameter_description"><para>right of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y2</para></entry> +<entry role="parameter_description"><para>bottom of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-in-clip" role="function" condition="since:1.10"> +<title>cairo_in_clip ()</title> +<indexterm zone="cairo-in-clip" role="1.10"><primary sortas="in_clip">cairo_in_clip</primary></indexterm> +<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +cairo_in_clip (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> x</parameter>, + <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> +<para>Tests whether the given point is inside the area that would be +visible through the current clip, i.e. the area that would be filled by +a <link linkend="cairo-paint"><function>cairo_paint()</function></link> operation.</para> +<para>See <link linkend="cairo-clip"><function>cairo_clip()</function></link>, and <link linkend="cairo-clip-preserve"><function>cairo_clip_preserve()</function></link>.</para> +<refsect3 id="cairo-in-clip.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>X coordinate of the point to test</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>Y coordinate of the point to test</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-in-clip.returns" role="returns"> +<title>Returns</title> +<para> A non-zero value if the point is inside, or zero if +outside.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2> +<refsect2 id="cairo-reset-clip" role="function" condition="since:1.0"> +<title>cairo_reset_clip ()</title> +<indexterm zone="cairo-reset-clip" role="1.0"><primary sortas="reset_clip">cairo_reset_clip</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_reset_clip (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Reset the current clip region to its original, unrestricted +state. That is, set the clip region to an infinitely large shape +containing the target surface. Equivalently, if infinity is too +hard to grasp, one can imagine the clip region being reset to the +exact bounds of the target surface.</para> +<para>Note that code meant to be reusable should not call +<link linkend="cairo-reset-clip"><function>cairo_reset_clip()</function></link> as it will cause results unexpected by +higher-level code which calls <link linkend="cairo-clip"><function>cairo_clip()</function></link>. Consider using +<link linkend="cairo-save"><function>cairo_save()</function></link> and <link linkend="cairo-restore"><function>cairo_restore()</function></link> around <link linkend="cairo-clip"><function>cairo_clip()</function></link> as a more +robust means of temporarily restricting the clip region.</para> +<refsect3 id="cairo-reset-clip.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-rectangle-list-destroy" role="function" condition="since:1.4"> +<title>cairo_rectangle_list_destroy ()</title> +<indexterm zone="cairo-rectangle-list-destroy" role="1.4"><primary sortas="rectangle_list_destroy">cairo_rectangle_list_destroy</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_rectangle_list_destroy (<parameter><link linkend="cairo-rectangle-list-t"><type>cairo_rectangle_list_t</type></link> *rectangle_list</parameter>);</programlisting> +<para>Unconditionally frees <parameter>rectangle_list</parameter> + and all associated +references. After this call, the <parameter>rectangle_list</parameter> + pointer must not +be dereferenced.</para> +<refsect3 id="cairo-rectangle-list-destroy.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>rectangle_list</para></entry> +<entry role="parameter_description"><para>a rectangle list, as obtained from <link linkend="cairo-copy-clip-rectangle-list"><function>cairo_copy_clip_rectangle_list()</function></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-copy-clip-rectangle-list" role="function" condition="since:1.4"> +<title>cairo_copy_clip_rectangle_list ()</title> +<indexterm zone="cairo-copy-clip-rectangle-list" role="1.4"><primary sortas="copy_clip_rectangle_list">cairo_copy_clip_rectangle_list</primary></indexterm> +<programlisting language="C"><link linkend="cairo-rectangle-list-t"><returnvalue>cairo_rectangle_list_t</returnvalue></link> * +cairo_copy_clip_rectangle_list (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Gets the current clip region as a list of rectangles in user coordinates. +Never returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +<para>The status in the list may be <link linkend="CAIRO-STATUS-CLIP-NOT-REPRESENTABLE:CAPS"><literal>CAIRO_STATUS_CLIP_NOT_REPRESENTABLE</literal></link> to +indicate that the clip region cannot be represented as a list of +user-space rectangles. The status may have other values to indicate +other errors.</para> +<refsect3 id="cairo-copy-clip-rectangle-list.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-copy-clip-rectangle-list.returns" role="returns"> +<title>Returns</title> +<para> the current clip region as a list of rectangles in user coordinates, +which should be destroyed using <link linkend="cairo-rectangle-list-destroy"><function>cairo_rectangle_list_destroy()</function></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-fill" role="function" condition="since:1.0"> +<title>cairo_fill ()</title> +<indexterm zone="cairo-fill" role="1.0"><primary sortas="fill">cairo_fill</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_fill (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>A drawing operator that fills the current path according to the +current fill rule, (each sub-path is implicitly closed before being +filled). After <link linkend="cairo-fill"><function>cairo_fill()</function></link>, the current path will be cleared from +the cairo context. See <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link> and +<link linkend="cairo-fill-preserve"><function>cairo_fill_preserve()</function></link>.</para> +<refsect3 id="cairo-fill.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-fill-preserve" role="function" condition="since:1.0"> +<title>cairo_fill_preserve ()</title> +<indexterm zone="cairo-fill-preserve" role="1.0"><primary sortas="fill_preserve">cairo_fill_preserve</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_fill_preserve (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>A drawing operator that fills the current path according to the +current fill rule, (each sub-path is implicitly closed before being +filled). Unlike <link linkend="cairo-fill"><function>cairo_fill()</function></link>, <link linkend="cairo-fill-preserve"><function>cairo_fill_preserve()</function></link> preserves the +path within the cairo context.</para> +<para>See <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link> and <link linkend="cairo-fill"><function>cairo_fill()</function></link>.</para> +<refsect3 id="cairo-fill-preserve.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-fill-extents" role="function" condition="since:1.0"> +<title>cairo_fill_extents ()</title> +<indexterm zone="cairo-fill-extents" role="1.0"><primary sortas="fill_extents">cairo_fill_extents</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_fill_extents (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x1</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y1</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x2</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y2</parameter>);</programlisting> +<para>Computes a bounding box in user coordinates covering the area that +would be affected, (the "inked" area), by a <link linkend="cairo-fill"><function>cairo_fill()</function></link> operation +given the current path and fill parameters. If the current path is +empty, returns an empty rectangle ((0,0), (0,0)). Surface +dimensions and clipping are not taken into account.</para> +<para>Contrast with <link linkend="cairo-path-extents"><function>cairo_path_extents()</function></link>, which is similar, but returns +non-zero extents for some paths with no inked area, (such as a +simple line segment).</para> +<para>Note that <link linkend="cairo-fill-extents"><function>cairo_fill_extents()</function></link> must necessarily do more work to +compute the precise inked areas in light of the fill rule, so +<link linkend="cairo-path-extents"><function>cairo_path_extents()</function></link> may be more desirable for sake of performance +if the non-inked path extents are desired.</para> +<para>See <link linkend="cairo-fill"><function>cairo_fill()</function></link>, <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link> and <link linkend="cairo-fill-preserve"><function>cairo_fill_preserve()</function></link>.</para> +<refsect3 id="cairo-fill-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x1</para></entry> +<entry role="parameter_description"><para>left of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y1</para></entry> +<entry role="parameter_description"><para>top of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x2</para></entry> +<entry role="parameter_description"><para>right of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y2</para></entry> +<entry role="parameter_description"><para>bottom of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-in-fill" role="function" condition="since:1.0"> +<title>cairo_in_fill ()</title> +<indexterm zone="cairo-in-fill" role="1.0"><primary sortas="in_fill">cairo_in_fill</primary></indexterm> +<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +cairo_in_fill (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> x</parameter>, + <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> +<para>Tests whether the given point is inside the area that would be +affected by a <link linkend="cairo-fill"><function>cairo_fill()</function></link> operation given the current path and +filling parameters. Surface dimensions and clipping are not taken +into account.</para> +<para>See <link linkend="cairo-fill"><function>cairo_fill()</function></link>, <link linkend="cairo-set-fill-rule"><function>cairo_set_fill_rule()</function></link> and <link linkend="cairo-fill-preserve"><function>cairo_fill_preserve()</function></link>.</para> +<refsect3 id="cairo-in-fill.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>X coordinate of the point to test</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>Y coordinate of the point to test</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-in-fill.returns" role="returns"> +<title>Returns</title> +<para> A non-zero value if the point is inside, or zero if +outside.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-mask" role="function" condition="since:1.0"> +<title>cairo_mask ()</title> +<indexterm zone="cairo-mask" role="1.0"><primary sortas="mask">cairo_mask</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_mask (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link> *pattern</parameter>);</programlisting> +<para>A drawing operator that paints the current source +using the alpha channel of <parameter>pattern</parameter> + as a mask. (Opaque +areas of <parameter>pattern</parameter> + are painted with the source, transparent +areas are not painted.)</para> +<refsect3 id="cairo-mask.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>pattern</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-pattern-t"><type>cairo_pattern_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-mask-surface" role="function" condition="since:1.0"> +<title>cairo_mask_surface ()</title> +<indexterm zone="cairo-mask-surface" role="1.0"><primary sortas="mask_surface">cairo_mask_surface</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_mask_surface (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> *surface</parameter>, + <parameter><link linkend="double"><type>double</type></link> surface_x</parameter>, + <parameter><link linkend="double"><type>double</type></link> surface_y</parameter>);</programlisting> +<para>A drawing operator that paints the current source +using the alpha channel of <parameter>surface</parameter> + as a mask. (Opaque +areas of <parameter>surface</parameter> + are painted with the source, transparent +areas are not painted.)</para> +<refsect3 id="cairo-mask-surface.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>surface</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>surface_x</para></entry> +<entry role="parameter_description"><para>X coordinate at which to place the origin of <parameter>surface</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>surface_y</para></entry> +<entry role="parameter_description"><para>Y coordinate at which to place the origin of <parameter>surface</parameter> +</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-paint" role="function" condition="since:1.0"> +<title>cairo_paint ()</title> +<indexterm zone="cairo-paint" role="1.0"><primary sortas="paint">cairo_paint</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_paint (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>A drawing operator that paints the current source everywhere within +the current clip region.</para> +<refsect3 id="cairo-paint.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-paint-with-alpha" role="function" condition="since:1.0"> +<title>cairo_paint_with_alpha ()</title> +<indexterm zone="cairo-paint-with-alpha" role="1.0"><primary sortas="paint_with_alpha">cairo_paint_with_alpha</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_paint_with_alpha (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> alpha</parameter>);</programlisting> +<para>A drawing operator that paints the current source everywhere within +the current clip region using a mask of constant alpha value +<parameter>alpha</parameter> +. The effect is similar to <link linkend="cairo-paint"><function>cairo_paint()</function></link>, but the drawing +is faded out using the alpha value.</para> +<refsect3 id="cairo-paint-with-alpha.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>alpha</para></entry> +<entry role="parameter_description"><para>alpha value, between 0 (transparent) and 1 (opaque)</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-stroke" role="function" condition="since:1.0"> +<title>cairo_stroke ()</title> +<indexterm zone="cairo-stroke" role="1.0"><primary sortas="stroke">cairo_stroke</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_stroke (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>A drawing operator that strokes the current path according to the +current line width, line join, line cap, and dash settings. After +<link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, the current path will be cleared from the cairo +context. See <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link>, <link linkend="cairo-set-line-join"><function>cairo_set_line_join()</function></link>, +<link linkend="cairo-set-line-cap"><function>cairo_set_line_cap()</function></link>, <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link>, and +<link linkend="cairo-stroke-preserve"><function>cairo_stroke_preserve()</function></link>.</para> +<para>Note: Degenerate segments and sub-paths are treated specially and +provide a useful result. These can result in two different +situations:</para> +<orderedlist> +<listitem> +<para>Zero-length "on" segments set in <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link>. If the cap +style is <link linkend="CAIRO-LINE-CAP-ROUND:CAPS"><literal>CAIRO_LINE_CAP_ROUND</literal></link> or <link linkend="CAIRO-LINE-CAP-SQUARE:CAPS"><literal>CAIRO_LINE_CAP_SQUARE</literal></link> then these +segments will be drawn as circular dots or squares respectively. In +the case of <link linkend="CAIRO-LINE-CAP-SQUARE:CAPS"><literal>CAIRO_LINE_CAP_SQUARE</literal></link>, the orientation of the squares +is determined by the direction of the underlying path.</para> +</listitem> +<listitem> +<para>A sub-path created by <link linkend="cairo-move-to"><function>cairo_move_to()</function></link> followed by either a +<link linkend="cairo-close-path"><function>cairo_close_path()</function></link> or one or more calls to <link linkend="cairo-line-to"><function>cairo_line_to()</function></link> to the +same coordinate as the <link linkend="cairo-move-to"><function>cairo_move_to()</function></link>. If the cap style is +<link linkend="CAIRO-LINE-CAP-ROUND:CAPS"><literal>CAIRO_LINE_CAP_ROUND</literal></link> then these sub-paths will be drawn as circular +dots. Note that in the case of <link linkend="CAIRO-LINE-CAP-SQUARE:CAPS"><literal>CAIRO_LINE_CAP_SQUARE</literal></link> a degenerate +sub-path will not be drawn at all, (since the correct orientation +is indeterminate).</para> +</listitem> +</orderedlist> +<para>In no case will a cap style of <link linkend="CAIRO-LINE-CAP-BUTT:CAPS"><literal>CAIRO_LINE_CAP_BUTT</literal></link> cause anything +to be drawn in the case of either degenerate segments or sub-paths.</para> +<refsect3 id="cairo-stroke.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-stroke-preserve" role="function" condition="since:1.0"> +<title>cairo_stroke_preserve ()</title> +<indexterm zone="cairo-stroke-preserve" role="1.0"><primary sortas="stroke_preserve">cairo_stroke_preserve</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_stroke_preserve (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>A drawing operator that strokes the current path according to the +current line width, line join, line cap, and dash settings. Unlike +<link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-stroke-preserve"><function>cairo_stroke_preserve()</function></link> preserves the path within the +cairo context.</para> +<para>See <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link>, <link linkend="cairo-set-line-join"><function>cairo_set_line_join()</function></link>, +<link linkend="cairo-set-line-cap"><function>cairo_set_line_cap()</function></link>, <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link>, and +<link linkend="cairo-stroke-preserve"><function>cairo_stroke_preserve()</function></link>.</para> +<refsect3 id="cairo-stroke-preserve.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-stroke-extents" role="function" condition="since:1.0"> +<title>cairo_stroke_extents ()</title> +<indexterm zone="cairo-stroke-extents" role="1.0"><primary sortas="stroke_extents">cairo_stroke_extents</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_stroke_extents (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x1</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y1</parameter>, + <parameter><link linkend="double"><type>double</type></link> *x2</parameter>, + <parameter><link linkend="double"><type>double</type></link> *y2</parameter>);</programlisting> +<para>Computes a bounding box in user coordinates covering the area that +would be affected, (the "inked" area), by a <link linkend="cairo-stroke"><function>cairo_stroke()</function></link> +operation given the current path and stroke parameters. +If the current path is empty, returns an empty rectangle ((0,0), (0,0)). +Surface dimensions and clipping are not taken into account.</para> +<para>Note that if the line width is set to exactly zero, then +<link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link> will return an empty rectangle. Contrast with +<link linkend="cairo-path-extents"><function>cairo_path_extents()</function></link> which can be used to compute the non-empty +bounds as the line width approaches zero.</para> +<para>Note that <link linkend="cairo-stroke-extents"><function>cairo_stroke_extents()</function></link> must necessarily do more work to +compute the precise inked areas in light of the stroke parameters, +so <link linkend="cairo-path-extents"><function>cairo_path_extents()</function></link> may be more desirable for sake of +performance if non-inked path extents are desired.</para> +<para>See <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link>, <link linkend="cairo-set-line-join"><function>cairo_set_line_join()</function></link>, +<link linkend="cairo-set-line-cap"><function>cairo_set_line_cap()</function></link>, <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link>, and +<link linkend="cairo-stroke-preserve"><function>cairo_stroke_preserve()</function></link>.</para> +<refsect3 id="cairo-stroke-extents.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x1</para></entry> +<entry role="parameter_description"><para>left of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y1</para></entry> +<entry role="parameter_description"><para>top of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x2</para></entry> +<entry role="parameter_description"><para>right of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y2</para></entry> +<entry role="parameter_description"><para>bottom of the resulting extents</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-in-stroke" role="function" condition="since:1.0"> +<title>cairo_in_stroke ()</title> +<indexterm zone="cairo-in-stroke" role="1.0"><primary sortas="in_stroke">cairo_in_stroke</primary></indexterm> +<programlisting language="C"><link linkend="cairo-bool-t"><returnvalue>cairo_bool_t</returnvalue></link> +cairo_in_stroke (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter><link linkend="double"><type>double</type></link> x</parameter>, + <parameter><link linkend="double"><type>double</type></link> y</parameter>);</programlisting> +<para>Tests whether the given point is inside the area that would be +affected by a <link linkend="cairo-stroke"><function>cairo_stroke()</function></link> operation given the current path and +stroking parameters. Surface dimensions and clipping are not taken +into account.</para> +<para>See <link linkend="cairo-stroke"><function>cairo_stroke()</function></link>, <link linkend="cairo-set-line-width"><function>cairo_set_line_width()</function></link>, <link linkend="cairo-set-line-join"><function>cairo_set_line_join()</function></link>, +<link linkend="cairo-set-line-cap"><function>cairo_set_line_cap()</function></link>, <link linkend="cairo-set-dash"><function>cairo_set_dash()</function></link>, and +<link linkend="cairo-stroke-preserve"><function>cairo_stroke_preserve()</function></link>.</para> +<refsect3 id="cairo-in-stroke.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>x</para></entry> +<entry role="parameter_description"><para>X coordinate of the point to test</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>y</para></entry> +<entry role="parameter_description"><para>Y coordinate of the point to test</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-in-stroke.returns" role="returns"> +<title>Returns</title> +<para> A non-zero value if the point is inside, or zero if +outside.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-copy-page" role="function" condition="since:1.0"> +<title>cairo_copy_page ()</title> +<indexterm zone="cairo-copy-page" role="1.0"><primary sortas="copy_page">cairo_copy_page</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_copy_page (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Emits the current page for backends that support multiple pages, but +doesn't clear it, so, the contents of the current page will be retained +for the next page too. Use <link linkend="cairo-show-page"><function>cairo_show_page()</function></link> if you want to get an +empty page after the emission.</para> +<para>This is a convenience function that simply calls +<link linkend="cairo-surface-copy-page"><function>cairo_surface_copy_page()</function></link> on <parameter>cr</parameter> +'s target.</para> +<refsect3 id="cairo-copy-page.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-show-page" role="function" condition="since:1.0"> +<title>cairo_show_page ()</title> +<indexterm zone="cairo-show-page" role="1.0"><primary sortas="show_page">cairo_show_page</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> +cairo_show_page (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Emits and clears the current page for backends that support multiple +pages. Use <link linkend="cairo-copy-page"><function>cairo_copy_page()</function></link> if you don't want to clear the page.</para> +<para>This is a convenience function that simply calls +<link linkend="cairo-surface-show-page"><function>cairo_surface_show_page()</function></link> on <parameter>cr</parameter> +'s target.</para> +<refsect3 id="cairo-show-page.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a cairo context</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-get-reference-count" role="function" condition="since:1.4"> +<title>cairo_get_reference_count ()</title> +<indexterm zone="cairo-get-reference-count" role="1.4"><primary sortas="get_reference_count">cairo_get_reference_count</primary></indexterm> +<programlisting language="C">unsigned <link linkend="int"><returnvalue>int</returnvalue></link> +cairo_get_reference_count (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>);</programlisting> +<para>Returns the current reference count of <parameter>cr</parameter> +.</para> +<refsect3 id="cairo-get-reference-count.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-reference-count.returns" role="returns"> +<title>Returns</title> +<para> the current reference count of <parameter>cr</parameter> +. If the +object is a nil object, 0 will be returned.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-set-user-data" role="function" condition="since:1.4"> +<title>cairo_set_user_data ()</title> +<indexterm zone="cairo-set-user-data" role="1.4"><primary sortas="set_user_data">cairo_set_user_data</primary></indexterm> +<programlisting language="C"><link linkend="cairo-status-t"><returnvalue>cairo_status_t</returnvalue></link> +cairo_set_user_data (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>, + <parameter><link linkend="void"><type>void</type></link> *user_data</parameter>, + <parameter><link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> destroy</parameter>);</programlisting> +<para>Attach user data to <parameter>cr</parameter> +. To remove user data from a surface, +call this function with the key that was used to set it and <link linkend="NULL:CAPS"><literal>NULL</literal></link> +for <parameter>data</parameter> +.</para> +<refsect3 id="cairo-set-user-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>key</para></entry> +<entry role="parameter_description"><para>the address of a <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> to attach the user data to</para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>user_data</para></entry> +<entry role="parameter_description"><para>the user data to attach to the <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>destroy</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> which will be called when the +<link linkend="cairo-t"><type>cairo_t</type></link> is destroyed or when new user data is attached using the +same key.</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-set-user-data.returns" role="returns"> +<title>Returns</title> +<para> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link> if a +slot could not be allocated for the user data.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-get-user-data" role="function" condition="since:1.4"> +<title>cairo_get_user_data ()</title> +<indexterm zone="cairo-get-user-data" role="1.4"><primary sortas="get_user_data">cairo_get_user_data</primary></indexterm> +<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link> * +cairo_get_user_data (<parameter><link linkend="cairo-t"><type>cairo_t</type></link> *cr</parameter>, + <parameter>const <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> *key</parameter>);</programlisting> +<para>Return user data previously attached to <parameter>cr</parameter> + using the specified +key. If no user data has been attached with the given key this +function returns <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +<refsect3 id="cairo-get-user-data.parameters" role="parameters"> +<title>Parameters</title> +<informaltable role="parameters_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="parameters_name" colwidth="150px"/> +<colspec colname="parameters_description"/> +<colspec colname="parameters_annotations" colwidth="200px"/> +<tbody> +<row><entry role="parameter_name"><para>cr</para></entry> +<entry role="parameter_description"><para>a <link linkend="cairo-t"><type>cairo_t</type></link></para></entry> +<entry role="parameter_annotations"></entry></row> +<row><entry role="parameter_name"><para>key</para></entry> +<entry role="parameter_description"><para>the address of the <link linkend="cairo-user-data-key-t"><type>cairo_user_data_key_t</type></link> the user data was +attached to</para></entry> +<entry role="parameter_annotations"></entry></row> +</tbody></tgroup></informaltable> +</refsect3><refsect3 id="cairo-get-user-data.returns" role="returns"> +<title>Returns</title> +<para> the user data previously attached or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para> +</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-t.other_details" role="details"> +<title role="details.title">Types and Values</title> +<refsect2 id="cairo-t" role="typedef" condition="since:1.0"> +<title>cairo_t</title> +<indexterm zone="cairo-t" role="1.0"><primary sortas="t">cairo_t</primary></indexterm> +<programlisting language="C">typedef struct _cairo cairo_t; +</programlisting> +<para>A <link linkend="cairo-t"><type>cairo_t</type></link> contains the current state of the rendering device, +including coordinates of yet to be drawn shapes.</para> +<para>Cairo contexts, as <link linkend="cairo-t"><type>cairo_t</type></link> objects are named, are central to +cairo and all drawing with cairo is always done to a <link linkend="cairo-t"><type>cairo_t</type></link> +object.</para> +<para>Memory management of <link linkend="cairo-t"><type>cairo_t</type></link> is done with +<link linkend="cairo-reference"><function>cairo_reference()</function></link> and <link linkend="cairo-destroy"><function>cairo_destroy()</function></link>.</para> +<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-antialias-t" role="enum" condition="since:1.0"> +<title>enum cairo_antialias_t</title> +<indexterm zone="cairo-antialias-t" role="1.0"><primary sortas="antialias_t">cairo_antialias_t</primary></indexterm> +<para>Specifies the type of antialiasing to do when rendering text or shapes.</para> +<para>As it is not necessarily clear from the above what advantages a particular +antialias method provides, since 1.12, there is also a set of hints: +<parameter>CAIRO_ANTIALIAS_FAST</parameter> +: Allow the backend to degrade raster quality for speed +<parameter>CAIRO_ANTIALIAS_GOOD</parameter> +: A balance between speed and quality +<parameter>CAIRO_ANTIALIAS_BEST</parameter> +: A high-fidelity, but potentially slow, raster mode</para> +<para>These make no guarantee on how the backend will perform its rasterisation +(if it even rasterises!), nor that they have any differing effect other +than to enable some form of antialiasing. In the case of glyph rendering, +<parameter>CAIRO_ANTIALIAS_FAST</parameter> + and <parameter>CAIRO_ANTIALIAS_GOOD</parameter> + will be mapped to +<parameter>CAIRO_ANTIALIAS_GRAY</parameter> +, with <parameter>CAIRO_ANTALIAS_BEST</parameter> + being equivalent to +<parameter>CAIRO_ANTIALIAS_SUBPIXEL</parameter> +.</para> +<para>The interpretation of <parameter>CAIRO_ANTIALIAS_DEFAULT</parameter> + is left entirely up to +the backend, typically this will be similar to <parameter>CAIRO_ANTIALIAS_GOOD</parameter> +.</para> +<refsect3 id="cairo-antialias-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-DEFAULT:CAPS">CAIRO_ANTIALIAS_DEFAULT</para></entry> +<entry role="enum_member_description"><para>Use the default antialiasing for + the subsystem and target device, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-NONE:CAPS">CAIRO_ANTIALIAS_NONE</para></entry> +<entry role="enum_member_description"><para>Use a bilevel alpha mask, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-GRAY:CAPS">CAIRO_ANTIALIAS_GRAY</para></entry> +<entry role="enum_member_description"><para>Perform single-color antialiasing (using + shades of gray for black text on a white background, for example), since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-SUBPIXEL:CAPS">CAIRO_ANTIALIAS_SUBPIXEL</para></entry> +<entry role="enum_member_description"><para>Perform antialiasing by taking + advantage of the order of subpixel elements on devices + such as LCD panels, since 1.0</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-FAST:CAPS">CAIRO_ANTIALIAS_FAST</para></entry> +<entry role="enum_member_description"><para>Hint that the backend should perform some +antialiasing but prefer speed over quality, since 1.12</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-GOOD:CAPS">CAIRO_ANTIALIAS_GOOD</para></entry> +<entry role="enum_member_description"><para>The backend should balance quality against +performance, since 1.12</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-ANTIALIAS-BEST:CAPS">CAIRO_ANTIALIAS_BEST</para></entry> +<entry role="enum_member_description"><para>Hint that the backend should render at the highest +quality, sacrificing speed if necessary, since 1.12</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-fill-rule-t" role="enum" condition="since:1.0"> +<title>enum cairo_fill_rule_t</title> +<indexterm zone="cairo-fill-rule-t" role="1.0"><primary sortas="fill_rule_t">cairo_fill_rule_t</primary></indexterm> +<para><link linkend="cairo-fill-rule-t"><type>cairo_fill_rule_t</type></link> is used to select how paths are filled. For both +fill rules, whether or not a point is included in the fill is +determined by taking a ray from that point to infinity and looking +at intersections with the path. The ray can be in any direction, +as long as it doesn't pass through the end point of a segment +or have a tricky intersection such as intersecting tangent to the path. +(Note that filling is not actually implemented in this way. This +is just a description of the rule that is applied.)</para> +<para>The default fill rule is <link linkend="CAIRO-FILL-RULE-WINDING:CAPS"><literal>CAIRO_FILL_RULE_WINDING</literal></link>.</para> +<para>New entries may be added in future versions.</para> +<refsect3 id="cairo-fill-rule-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILL-RULE-WINDING:CAPS">CAIRO_FILL_RULE_WINDING</para></entry> +<entry role="enum_member_description"><para>If the path crosses the ray from +left-to-right, counts +1. If the path crosses the ray +from right to left, counts -1. (Left and right are determined +from the perspective of looking along the ray from the starting +point.) If the total count is non-zero, the point will be filled. (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FILL-RULE-EVEN-ODD:CAPS">CAIRO_FILL_RULE_EVEN_ODD</para></entry> +<entry role="enum_member_description"><para>Counts the total number of +intersections, without regard to the orientation of the contour. If +the total number of intersections is odd, the point will be +filled. (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-line-cap-t" role="enum" condition="since:1.0"> +<title>enum cairo_line_cap_t</title> +<indexterm zone="cairo-line-cap-t" role="1.0"><primary sortas="line_cap_t">cairo_line_cap_t</primary></indexterm> +<para>Specifies how to render the endpoints of the path when stroking.</para> +<para>The default line cap style is <link linkend="CAIRO-LINE-CAP-BUTT:CAPS"><literal>CAIRO_LINE_CAP_BUTT</literal></link>.</para> +<refsect3 id="cairo-line-cap-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-LINE-CAP-BUTT:CAPS">CAIRO_LINE_CAP_BUTT</para></entry> +<entry role="enum_member_description"><para>start(stop) the line exactly at the start(end) point (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-LINE-CAP-ROUND:CAPS">CAIRO_LINE_CAP_ROUND</para></entry> +<entry role="enum_member_description"><para>use a round ending, the center of the circle is the end point (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-LINE-CAP-SQUARE:CAPS">CAIRO_LINE_CAP_SQUARE</para></entry> +<entry role="enum_member_description"><para>use squared ending, the center of the square is the end point (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-line-join-t" role="enum" condition="since:1.0"> +<title>enum cairo_line_join_t</title> +<indexterm zone="cairo-line-join-t" role="1.0"><primary sortas="line_join_t">cairo_line_join_t</primary></indexterm> +<para>Specifies how to render the junction of two lines when stroking.</para> +<para>The default line join style is <link linkend="CAIRO-LINE-JOIN-MITER:CAPS"><literal>CAIRO_LINE_JOIN_MITER</literal></link>.</para> +<refsect3 id="cairo-line-join-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-LINE-JOIN-MITER:CAPS">CAIRO_LINE_JOIN_MITER</para></entry> +<entry role="enum_member_description"><para>use a sharp (angled) corner, see +<link linkend="cairo-set-miter-limit"><function>cairo_set_miter_limit()</function></link> (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-LINE-JOIN-ROUND:CAPS">CAIRO_LINE_JOIN_ROUND</para></entry> +<entry role="enum_member_description"><para>use a rounded join, the center of the circle is the +joint point (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-LINE-JOIN-BEVEL:CAPS">CAIRO_LINE_JOIN_BEVEL</para></entry> +<entry role="enum_member_description"><para>use a cut-off join, the join is cut off at half +the line width from the joint point (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-operator-t" role="enum" condition="since:1.0"> +<title>enum cairo_operator_t</title> +<indexterm zone="cairo-operator-t" role="1.0"><primary sortas="operator_t">cairo_operator_t</primary></indexterm> +<para><link linkend="cairo-operator-t"><type>cairo_operator_t</type></link> is used to set the compositing operator for all cairo +drawing operations.</para> +<para>The default operator is <link linkend="CAIRO-OPERATOR-OVER:CAPS"><literal>CAIRO_OPERATOR_OVER</literal></link>.</para> +<para>The operators marked as <firstterm>unbounded</firstterm> modify their +destination even outside of the mask layer (that is, their effect is not +bound by the mask layer). However, their effect can still be limited by +way of clipping.</para> +<para>To keep things simple, the operator descriptions here +document the behavior for when both source and destination are either fully +transparent or fully opaque. The actual implementation works for +translucent layers too. +For a more detailed explanation of the effects of each operator, including +the mathematical definitions, see</para> +<ulink url="https://cairographics.org/operators/">https://cairographics.org/operators/</ulink>. +<refsect3 id="cairo-operator-t.members" role="enum_members"> +<title>Members</title> +<informaltable role="enum_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="enum_members_name" colwidth="300px"/> +<colspec colname="enum_members_description"/> +<colspec colname="enum_members_annotations" colwidth="200px"/> +<tbody> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-CLEAR:CAPS">CAIRO_OPERATOR_CLEAR</para></entry> +<entry role="enum_member_description"><para>clear destination layer (bounded) (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-SOURCE:CAPS">CAIRO_OPERATOR_SOURCE</para></entry> +<entry role="enum_member_description"><para>replace destination layer (bounded) (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-OVER:CAPS">CAIRO_OPERATOR_OVER</para></entry> +<entry role="enum_member_description"><para>draw source layer on top of destination layer +(bounded) (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-IN:CAPS">CAIRO_OPERATOR_IN</para></entry> +<entry role="enum_member_description"><para>draw source where there was destination content +(unbounded) (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-OUT:CAPS">CAIRO_OPERATOR_OUT</para></entry> +<entry role="enum_member_description"><para>draw source where there was no destination +content (unbounded) (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-ATOP:CAPS">CAIRO_OPERATOR_ATOP</para></entry> +<entry role="enum_member_description"><para>draw source on top of destination content and +only there (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DEST:CAPS">CAIRO_OPERATOR_DEST</para></entry> +<entry role="enum_member_description"><para>ignore the source (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DEST-OVER:CAPS">CAIRO_OPERATOR_DEST_OVER</para></entry> +<entry role="enum_member_description"><para>draw destination on top of source (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DEST-IN:CAPS">CAIRO_OPERATOR_DEST_IN</para></entry> +<entry role="enum_member_description"><para>leave destination only where there was +source content (unbounded) (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DEST-OUT:CAPS">CAIRO_OPERATOR_DEST_OUT</para></entry> +<entry role="enum_member_description"><para>leave destination only where there was no +source content (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DEST-ATOP:CAPS">CAIRO_OPERATOR_DEST_ATOP</para></entry> +<entry role="enum_member_description"><para>leave destination on top of source content +and only there (unbounded) (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-XOR:CAPS">CAIRO_OPERATOR_XOR</para></entry> +<entry role="enum_member_description"><para>source and destination are shown where there is only +one of them (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-ADD:CAPS">CAIRO_OPERATOR_ADD</para></entry> +<entry role="enum_member_description"><para>source and destination layers are accumulated (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-SATURATE:CAPS">CAIRO_OPERATOR_SATURATE</para></entry> +<entry role="enum_member_description"><para>like over, but assuming source and dest are +disjoint geometries (Since 1.0)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-MULTIPLY:CAPS">CAIRO_OPERATOR_MULTIPLY</para></entry> +<entry role="enum_member_description"><para>source and destination layers are multiplied. +This causes the result to be at least as dark as the darker inputs. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-SCREEN:CAPS">CAIRO_OPERATOR_SCREEN</para></entry> +<entry role="enum_member_description"><para>source and destination are complemented and +multiplied. This causes the result to be at least as light as the lighter +inputs. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-OVERLAY:CAPS">CAIRO_OPERATOR_OVERLAY</para></entry> +<entry role="enum_member_description"><para>multiplies or screens, depending on the +lightness of the destination color. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DARKEN:CAPS">CAIRO_OPERATOR_DARKEN</para></entry> +<entry role="enum_member_description"><para>replaces the destination with the source if it +is darker, otherwise keeps the source. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-LIGHTEN:CAPS">CAIRO_OPERATOR_LIGHTEN</para></entry> +<entry role="enum_member_description"><para>replaces the destination with the source if it +is lighter, otherwise keeps the source. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-COLOR-DODGE:CAPS">CAIRO_OPERATOR_COLOR_DODGE</para></entry> +<entry role="enum_member_description"><para>brightens the destination color to reflect +the source color. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-COLOR-BURN:CAPS">CAIRO_OPERATOR_COLOR_BURN</para></entry> +<entry role="enum_member_description"><para>darkens the destination color to reflect +the source color. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-HARD-LIGHT:CAPS">CAIRO_OPERATOR_HARD_LIGHT</para></entry> +<entry role="enum_member_description"><para>Multiplies or screens, dependent on source +color. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-SOFT-LIGHT:CAPS">CAIRO_OPERATOR_SOFT_LIGHT</para></entry> +<entry role="enum_member_description"><para>Darkens or lightens, dependent on source +color. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-DIFFERENCE:CAPS">CAIRO_OPERATOR_DIFFERENCE</para></entry> +<entry role="enum_member_description"><para>Takes the difference of the source and +destination color. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-EXCLUSION:CAPS">CAIRO_OPERATOR_EXCLUSION</para></entry> +<entry role="enum_member_description"><para>Produces an effect similar to difference, but +with lower contrast. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-HSL-HUE:CAPS">CAIRO_OPERATOR_HSL_HUE</para></entry> +<entry role="enum_member_description"><para>Creates a color with the hue of the source +and the saturation and luminosity of the target. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-HSL-SATURATION:CAPS">CAIRO_OPERATOR_HSL_SATURATION</para></entry> +<entry role="enum_member_description"><para>Creates a color with the saturation +of the source and the hue and luminosity of the target. Painting with +this mode onto a gray area produces no change. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-HSL-COLOR:CAPS">CAIRO_OPERATOR_HSL_COLOR</para></entry> +<entry role="enum_member_description"><para>Creates a color with the hue and saturation +of the source and the luminosity of the target. This preserves the gray +levels of the target and is useful for coloring monochrome images or +tinting color images. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +<row role="constant"><entry role="enum_member_name"><para id="CAIRO-OPERATOR-HSL-LUMINOSITY:CAPS">CAIRO_OPERATOR_HSL_LUMINOSITY</para></entry> +<entry role="enum_member_description"><para>Creates a color with the luminosity of +the source and the hue and saturation of the target. This produces an +inverse effect to <parameter>CAIRO_OPERATOR_HSL_COLOR</parameter> +. (Since 1.10)</para> +</entry> +<entry role="enum_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2> +<refsect2 id="cairo-rectangle-t" role="struct" condition="since:1.4"> +<title>cairo_rectangle_t</title> +<indexterm zone="cairo-rectangle-t" role="1.4"><primary sortas="rectangle_t">cairo_rectangle_t</primary></indexterm> +<programlisting language="C">typedef struct { + double x, y, width, height; +} cairo_rectangle_t; +</programlisting> +<para>A data structure for holding a rectangle.</para> +<refsect3 id="cairo-rectangle-t.members" role="struct_members"> +<title>Members</title> +<informaltable role="struct_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="struct_members_name" colwidth="300px"/> +<colspec colname="struct_members_description"/> +<colspec colname="struct_members_annotations" colwidth="200px"/> +<tbody> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-rectangle-t.x">x</structfield>;</para></entry> +<entry role="struct_member_description"><para>X coordinate of the left side of the rectangle</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-rectangle-t.y">y</structfield>;</para></entry> +<entry role="struct_member_description"><para>Y coordinate of the the top side of the rectangle</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-rectangle-t.width">width</structfield>;</para></entry> +<entry role="struct_member_description"><para>width of the rectangle</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link> <structfield id="cairo-rectangle-t.height">height</structfield>;</para></entry> +<entry role="struct_member_description"><para>height of the rectangle</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3> +<para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> +<refsect2 id="cairo-rectangle-list-t" role="struct" condition="since:1.4"> +<title>cairo_rectangle_list_t</title> +<indexterm zone="cairo-rectangle-list-t" role="1.4"><primary sortas="rectangle_list_t">cairo_rectangle_list_t</primary></indexterm> +<programlisting language="C">typedef struct { + cairo_status_t status; + cairo_rectangle_t *rectangles; + int num_rectangles; +} cairo_rectangle_list_t; +</programlisting> +<para>A data structure for holding a dynamically allocated +array of rectangles.</para> +<refsect3 id="cairo-rectangle-list-t.members" role="struct_members"> +<title>Members</title> +<informaltable role="struct_members_table" pgwide="1" frame="none"> +<tgroup cols="3"> +<colspec colname="struct_members_name" colwidth="300px"/> +<colspec colname="struct_members_description"/> +<colspec colname="struct_members_annotations" colwidth="200px"/> +<tbody> +<row role="member"><entry role="struct_member_name"><para><link linkend="cairo-status-t"><type>cairo_status_t</type></link> <structfield id="cairo-rectangle-list-t.status">status</structfield>;</para></entry> +<entry role="struct_member_description"><para>Error status of the rectangle list</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="cairo-rectangle-t"><type>cairo_rectangle_t</type></link> *<structfield id="cairo-rectangle-list-t.rectangles">rectangles</structfield>;</para></entry> +<entry role="struct_member_description"><para>Array containing the rectangles</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +<row role="member"><entry role="struct_member_name"><para><link linkend="int"><type>int</type></link> <structfield id="cairo-rectangle-list-t.num-rectangles">num_rectangles</structfield>;</para></entry> +<entry role="struct_member_description"><para>Number of rectangles in this list</para></entry> +<entry role="struct_member_annotations"></entry> +</row> +</tbody></tgroup></informaltable> +</refsect3> +<para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2> + +</refsect1> +<refsect1 id="cairo-cairo-t.see-also"> +<title>See Also</title> +<para><link linkend="cairo-surface-t"><type>cairo_surface_t</type></link></para> + +</refsect1> + +</refentry> |