diff options
58 files changed, 666 insertions, 4566 deletions
diff --git a/doc/public/cairo-sections.txt b/doc/public/cairo-sections.txt index 7e23ce0c..d5832aa8 100644 --- a/doc/public/cairo-sections.txt +++ b/doc/public/cairo-sections.txt @@ -334,7 +334,7 @@ cairo_debug_reset_static_data <SECTION> <FILE>cairo-font-face</FILE> -<TITLE>font-face</TITLE> +<TITLE>cairo_font_face_t</TITLE> cairo_font_face_t cairo_font_face_reference cairo_font_face_destroy @@ -373,7 +373,7 @@ cairo_scaled_font_get_user_data <SECTION> <FILE>cairo-font-options</FILE> -<TITLE>font-options</TITLE> +<TITLE>cairo_font_options_t</TITLE> cairo_font_options_t cairo_font_options_create cairo_font_options_copy diff --git a/doc/public/tmpl/.gitignore b/doc/public/tmpl/.gitignore deleted file mode 100644 index 5cc8a01e..00000000 --- a/doc/public/tmpl/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -cairo-unused.sgml -*.bak -*~ diff --git a/doc/public/tmpl/cairo-atsui.sgml b/doc/public/tmpl/cairo-atsui.sgml deleted file mode 100644 index 434bec65..00000000 --- a/doc/public/tmpl/cairo-atsui.sgml +++ /dev/null @@ -1,21 +0,0 @@ -<!-- ##### SECTION Title ##### --> -ATSUI Fonts - -<!-- ##### SECTION Short_Description ##### --> -Font support for ATSUI on OS X - -<!-- ##### SECTION Long_Description ##### --> -<para> -The ATSUI font backend is primarily used to render text on Apple OS X systems. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_font_face_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - diff --git a/doc/public/tmpl/cairo-beos.sgml b/doc/public/tmpl/cairo-beos.sgml deleted file mode 100644 index d4fbc09c..00000000 --- a/doc/public/tmpl/cairo-beos.sgml +++ /dev/null @@ -1,22 +0,0 @@ -<!-- ##### SECTION Title ##### --> -BeOS Surfaces - -<!-- ##### SECTION Short_Description ##### --> -BeOS surface support - -<!-- ##### SECTION Long_Description ##### --> -<para> -The BeOS surface is used to render cairo graphics to -BeOS views and bitmaps. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - diff --git a/doc/public/tmpl/cairo-font-face.sgml b/doc/public/tmpl/cairo-font-face.sgml deleted file mode 100644 index e3c16896..00000000 --- a/doc/public/tmpl/cairo-font-face.sgml +++ /dev/null @@ -1,116 +0,0 @@ -<!-- ##### SECTION Title ##### --> -cairo_font_face_t - -<!-- ##### SECTION Short_Description ##### --> -Base class for font faces - -<!-- ##### SECTION Long_Description ##### --> -<para> -#cairo_font_face_t 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 -cairo_<emphasis>backend</emphasis>_font_face_create(), -or implicitly using the <firstterm>toy</firstterm> text API by way of -cairo_select_font_face(). The resulting face can be accessed using -cairo_get_font_face(). -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_scaled_font_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### TYPEDEF cairo_font_face_t ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION cairo_font_face_reference ##### --> -<para> - -</para> - -@font_face: -@Returns: - - -<!-- ##### FUNCTION cairo_font_face_destroy ##### --> -<para> - -</para> - -@font_face: - - -<!-- ##### FUNCTION cairo_font_face_status ##### --> -<para> - -</para> - -@font_face: -@Returns: - - -<!-- ##### ENUM cairo_font_type_t ##### --> -<para> - -</para> - -@CAIRO_FONT_TYPE_TOY: -@CAIRO_FONT_TYPE_FT: -@CAIRO_FONT_TYPE_WIN32: -@CAIRO_FONT_TYPE_QUARTZ: -@CAIRO_FONT_TYPE_USER: - -<!-- ##### FUNCTION cairo_font_face_get_type ##### --> -<para> - -</para> - -@font_face: -@Returns: - - -<!-- ##### FUNCTION cairo_font_face_get_reference_count ##### --> -<para> - -</para> - -@font_face: -@Returns: - - -<!-- ##### FUNCTION cairo_font_face_set_user_data ##### --> -<para> - -</para> - -@font_face: -@key: -@user_data: -@destroy: -@Returns: - - -<!-- ##### FUNCTION cairo_font_face_get_user_data ##### --> -<para> - -</para> - -@font_face: -@key: -@Returns: - - diff --git a/doc/public/tmpl/cairo-font-options.sgml b/doc/public/tmpl/cairo-font-options.sgml deleted file mode 100644 index b0743fb6..00000000 --- a/doc/public/tmpl/cairo-font-options.sgml +++ /dev/null @@ -1,199 +0,0 @@ -<!-- ##### SECTION Title ##### --> -cairo_font_options_t - -<!-- ##### SECTION Short_Description ##### --> -How a font should be rendered - -<!-- ##### SECTION Long_Description ##### --> -<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> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_scaled_font_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### TYPEDEF cairo_font_options_t ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION cairo_font_options_create ##### --> -<para> - -</para> - -@void: -@Returns: - - -<!-- ##### FUNCTION cairo_font_options_copy ##### --> -<para> - -</para> - -@original: -@Returns: - - -<!-- ##### FUNCTION cairo_font_options_destroy ##### --> -<para> - -</para> - -@options: - - -<!-- ##### FUNCTION cairo_font_options_status ##### --> -<para> - -</para> - -@options: -@Returns: - - -<!-- ##### FUNCTION cairo_font_options_merge ##### --> -<para> - -</para> - -@options: -@other: - - -<!-- ##### FUNCTION cairo_font_options_hash ##### --> -<para> - -</para> - -@options: -@Returns: - - -<!-- ##### FUNCTION cairo_font_options_equal ##### --> -<para> - -</para> - -@options: -@other: -@Returns: - - -<!-- ##### FUNCTION cairo_font_options_set_antialias ##### --> -<para> - -</para> - -@options: -@antialias: - - -<!-- ##### FUNCTION cairo_font_options_get_antialias ##### --> -<para> - -</para> - -@options: -@Returns: - - -<!-- ##### ENUM cairo_subpixel_order_t ##### --> -<para> - -</para> - -@CAIRO_SUBPIXEL_ORDER_DEFAULT: -@CAIRO_SUBPIXEL_ORDER_RGB: -@CAIRO_SUBPIXEL_ORDER_BGR: -@CAIRO_SUBPIXEL_ORDER_VRGB: -@CAIRO_SUBPIXEL_ORDER_VBGR: - -<!-- ##### FUNCTION cairo_font_options_set_subpixel_order ##### --> -<para> - -</para> - -@options: -@subpixel_order: - - -<!-- ##### FUNCTION cairo_font_options_get_subpixel_order ##### --> -<para> - -</para> - -@options: -@Returns: - - -<!-- ##### ENUM cairo_hint_style_t ##### --> -<para> - -</para> - -@CAIRO_HINT_STYLE_DEFAULT: -@CAIRO_HINT_STYLE_NONE: -@CAIRO_HINT_STYLE_SLIGHT: -@CAIRO_HINT_STYLE_MEDIUM: -@CAIRO_HINT_STYLE_FULL: - -<!-- ##### FUNCTION cairo_font_options_set_hint_style ##### --> -<para> - -</para> - -@options: -@hint_style: - - -<!-- ##### FUNCTION cairo_font_options_get_hint_style ##### --> -<para> - -</para> - -@options: -@Returns: - - -<!-- ##### ENUM cairo_hint_metrics_t ##### --> -<para> - -</para> - -@CAIRO_HINT_METRICS_DEFAULT: -@CAIRO_HINT_METRICS_OFF: -@CAIRO_HINT_METRICS_ON: - -<!-- ##### FUNCTION cairo_font_options_set_hint_metrics ##### --> -<para> - -</para> - -@options: -@hint_metrics: - - -<!-- ##### FUNCTION cairo_font_options_get_hint_metrics ##### --> -<para> - -</para> - -@options: -@Returns: - - diff --git a/doc/public/tmpl/cairo-ft.sgml b/doc/public/tmpl/cairo-ft.sgml deleted file mode 100644 index 66a4727b..00000000 --- a/doc/public/tmpl/cairo-ft.sgml +++ /dev/null @@ -1,87 +0,0 @@ -<!-- ##### SECTION Title ##### --> -FreeType Fonts - -<!-- ##### SECTION Short_Description ##### --> -Font support for FreeType - -<!-- ##### SECTION Long_Description ##### --> -<para> -The FreeType font backend is primarily used to render text on GNU/Linux -systems, but can be used on other platforms too. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_font_face_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_FT_FONT ##### --> -<para> -Defined if the FreeType font backend is available. -This macro can be used to conditionally compile backend-specific code. -</para> - - - -<!-- ##### MACRO CAIRO_HAS_FC_FONT ##### --> -<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> - - - -<!-- ##### FUNCTION cairo_ft_font_face_create_for_ft_face ##### --> -<para> - -</para> - -@face: -@load_flags: -@Returns: - - -<!-- ##### FUNCTION cairo_ft_font_face_create_for_pattern ##### --> -<para> - -</para> - -@pattern: -@Returns: - - -<!-- ##### FUNCTION cairo_ft_font_options_substitute ##### --> -<para> - -</para> - -@options: -@pattern: - - -<!-- ##### FUNCTION cairo_ft_scaled_font_lock_face ##### --> -<para> - -</para> - -@scaled_font: -@Returns: - - -<!-- ##### FUNCTION cairo_ft_scaled_font_unlock_face ##### --> -<para> - -</para> - -@scaled_font: - - diff --git a/doc/public/tmpl/cairo-image.sgml b/doc/public/tmpl/cairo-image.sgml deleted file mode 100644 index 68988f49..00000000 --- a/doc/public/tmpl/cairo-image.sgml +++ /dev/null @@ -1,127 +0,0 @@ -<!-- ##### SECTION Title ##### --> -Image Surfaces - -<!-- ##### SECTION Short_Description ##### --> -Rendering to memory buffers - -<!-- ##### SECTION Long_Description ##### --> -<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 #cairo_format_t. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_IMAGE_SURFACE ##### --> -<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> - -@Since: 1.8 - - -<!-- ##### ENUM cairo_format_t ##### --> -<para> - -</para> - -@CAIRO_FORMAT_INVALID: -@CAIRO_FORMAT_ARGB32: -@CAIRO_FORMAT_RGB24: -@CAIRO_FORMAT_A8: -@CAIRO_FORMAT_A1: -@CAIRO_FORMAT_RGB16_565: - -<!-- ##### FUNCTION cairo_format_stride_for_width ##### --> -<para> - -</para> - -@format: -@width: -@Returns: - - -<!-- ##### FUNCTION cairo_image_surface_create ##### --> -<para> - -</para> - -@format: -@width: -@height: -@Returns: - - -<!-- ##### FUNCTION cairo_image_surface_create_for_data ##### --> -<para> - -</para> - -@data: -@format: -@width: -@height: -@stride: -@Returns: - - -<!-- ##### FUNCTION cairo_image_surface_get_data ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_image_surface_get_format ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_image_surface_get_width ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_image_surface_get_height ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_image_surface_get_stride ##### --> -<para> - -</para> - -@surface: -@Returns: - - diff --git a/doc/public/tmpl/cairo-matrix.sgml b/doc/public/tmpl/cairo-matrix.sgml deleted file mode 100644 index 09232472..00000000 --- a/doc/public/tmpl/cairo-matrix.sgml +++ /dev/null @@ -1,169 +0,0 @@ -<!-- ##### SECTION Title ##### --> -cairo_matrix_t - -<!-- ##### SECTION Short_Description ##### --> -Generic matrix operations - -<!-- ##### SECTION Long_Description ##### --> - <para> - #cairo_matrix_t is used throughout cairo to convert between different - coordinate spaces. A #cairo_matrix_t 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 #cairo_t, represented as a - #cairo_matrix_t, defines the transformation from user-space - coordinates to device-space coordinates. See cairo_get_matrix() and - cairo_set_matrix(). - </para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### STRUCT cairo_matrix_t ##### --> -<para> - -</para> - -@xx: -@yx: -@xy: -@yy: -@x0: -@y0: - -<!-- ##### FUNCTION cairo_matrix_init ##### --> -<para> - -</para> - -@matrix: -@xx: -@yx: -@xy: -@yy: -@x0: -@y0: - - -<!-- ##### FUNCTION cairo_matrix_init_identity ##### --> -<para> - -</para> - -@matrix: - - -<!-- ##### FUNCTION cairo_matrix_init_translate ##### --> -<para> - -</para> - -@matrix: -@tx: -@ty: - - -<!-- ##### FUNCTION cairo_matrix_init_scale ##### --> -<para> - -</para> - -@matrix: -@sx: -@sy: - - -<!-- ##### FUNCTION cairo_matrix_init_rotate ##### --> -<para> - -</para> - -@matrix: -@radians: - - -<!-- ##### FUNCTION cairo_matrix_translate ##### --> -<para> - -</para> - -@matrix: -@tx: -@ty: - - -<!-- ##### FUNCTION cairo_matrix_scale ##### --> -<para> - -</para> - -@matrix: -@sx: -@sy: - - -<!-- ##### FUNCTION cairo_matrix_rotate ##### --> -<para> - -</para> - -@matrix: -@radians: - - -<!-- ##### FUNCTION cairo_matrix_invert ##### --> -<para> - -</para> - -@matrix: -@Returns: - - -<!-- ##### FUNCTION cairo_matrix_multiply ##### --> -<para> - -</para> - -@result: -@a: -@b: - - -<!-- ##### FUNCTION cairo_matrix_transform_distance ##### --> -<para> - -</para> - -@matrix: -@dx: -@dy: - - -<!-- ##### FUNCTION cairo_matrix_transform_point ##### --> -<para> - -</para> - -@matrix: -@x: -@y: - - diff --git a/doc/public/tmpl/cairo-paths.sgml b/doc/public/tmpl/cairo-paths.sgml deleted file mode 100644 index 0bffa293..00000000 --- a/doc/public/tmpl/cairo-paths.sgml +++ /dev/null @@ -1,263 +0,0 @@ -<!-- ##### SECTION Title ##### --> -Paths - -<!-- ##### SECTION Short_Description ##### --> -Creating paths and manipulating path data - -<!-- ##### SECTION Long_Description ##### --> -<para> -Paths are the most basic drawing tools and are primarily used to implicitly -generate simple masks. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### STRUCT cairo_path_t ##### --> -<para> - -</para> - -@status: -@data: -@num_data: - -<!-- ##### UNION cairo_path_data_t ##### --> -<para> - -</para> - - -<!-- ##### ENUM cairo_path_data_type_t ##### --> -<para> - -</para> - -@CAIRO_PATH_MOVE_TO: -@CAIRO_PATH_LINE_TO: -@CAIRO_PATH_CURVE_TO: -@CAIRO_PATH_CLOSE_PATH: - -<!-- ##### FUNCTION cairo_copy_path ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_copy_path_flat ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_path_destroy ##### --> -<para> - -</para> - -@path: - - -<!-- ##### FUNCTION cairo_append_path ##### --> -<para> - -</para> - -@cr: -@path: - - -<!-- ##### FUNCTION cairo_has_current_point ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_get_current_point ##### --> -<para> - -</para> - -@cr: -@x: -@y: - - -<!-- ##### FUNCTION cairo_new_path ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_new_sub_path ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_close_path ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_arc ##### --> -<para> - -</para> - -@cr: -@xc: -@yc: -@radius: -@angle1: -@angle2: - - -<!-- ##### FUNCTION cairo_arc_negative ##### --> -<para> - -</para> - -@cr: -@xc: -@yc: -@radius: -@angle1: -@angle2: - - -<!-- ##### FUNCTION cairo_curve_to ##### --> -<para> - -</para> - -@cr: -@x1: -@y1: -@x2: -@y2: -@x3: -@y3: - - -<!-- ##### FUNCTION cairo_line_to ##### --> -<para> - -</para> - -@cr: -@x: -@y: - - -<!-- ##### FUNCTION cairo_move_to ##### --> -<para> - -</para> - -@cr: -@x: -@y: - - -<!-- ##### FUNCTION cairo_rectangle ##### --> -<para> - -</para> - -@cr: -@x: -@y: -@width: -@height: - - -<!-- ##### FUNCTION cairo_glyph_path ##### --> -<para> - -</para> - -@cr: -@glyphs: -@num_glyphs: - - -<!-- ##### FUNCTION cairo_text_path ##### --> -<para> - -</para> - -@cr: -@utf8: - - -<!-- ##### FUNCTION cairo_rel_curve_to ##### --> -<para> - -</para> - -@cr: -@dx1: -@dy1: -@dx2: -@dy2: -@dx3: -@dy3: - - -<!-- ##### FUNCTION cairo_rel_line_to ##### --> -<para> - -</para> - -@cr: -@dx: -@dy: - - -<!-- ##### FUNCTION cairo_rel_move_to ##### --> -<para> - -</para> - -@cr: -@dx: -@dy: - - -<!-- ##### FUNCTION cairo_path_extents ##### --> -<para> - -</para> - -@cr: -@x1: -@y1: -@x2: -@y2: - - diff --git a/doc/public/tmpl/cairo-pattern.sgml b/doc/public/tmpl/cairo-pattern.sgml deleted file mode 100644 index b6c2cd5f..00000000 --- a/doc/public/tmpl/cairo-pattern.sgml +++ /dev/null @@ -1,350 +0,0 @@ -<!-- ##### SECTION Title ##### --> -cairo_pattern_t - -<!-- ##### SECTION Short_Description ##### --> -Sources for drawing - -<!-- ##### SECTION Long_Description ##### --> -<para> -#cairo_pattern_t 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 cairo_pattern_create_<emphasis>type</emphasis>() -or implicitly through -cairo_set_source_<emphasis>type</emphasis>() functions. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_t</listitem> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### TYPEDEF cairo_pattern_t ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION cairo_pattern_add_color_stop_rgb ##### --> -<para> - -</para> - -@pattern: -@offset: -@red: -@green: -@blue: - - -<!-- ##### FUNCTION cairo_pattern_add_color_stop_rgba ##### --> -<para> - -</para> - -@pattern: -@offset: -@red: -@green: -@blue: -@alpha: - - -<!-- ##### FUNCTION cairo_pattern_get_color_stop_count ##### --> -<para> - -</para> - -@pattern: -@count: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_get_color_stop_rgba ##### --> -<para> - -</para> - -@pattern: -@index: -@offset: -@red: -@green: -@blue: -@alpha: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_create_rgb ##### --> -<para> - -</para> - -@red: -@green: -@blue: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_create_rgba ##### --> -<para> - -</para> - -@red: -@green: -@blue: -@alpha: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_get_rgba ##### --> -<para> - -</para> - -@pattern: -@red: -@green: -@blue: -@alpha: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_create_for_surface ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_get_surface ##### --> -<para> - -</para> - -@pattern: -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_create_linear ##### --> -<para> - -</para> - -@x0: -@y0: -@x1: -@y1: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_get_linear_points ##### --> -<para> - -</para> - -@pattern: -@x0: -@y0: -@x1: -@y1: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_create_radial ##### --> -<para> - -</para> - -@cx0: -@cy0: -@radius0: -@cx1: -@cy1: -@radius1: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_get_radial_circles ##### --> -<para> - -</para> - -@pattern: -@x0: -@y0: -@r0: -@x1: -@y1: -@r1: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_reference ##### --> -<para> - -</para> - -@pattern: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_destroy ##### --> -<para> - -</para> - -@pattern: - - -<!-- ##### FUNCTION cairo_pattern_status ##### --> -<para> - -</para> - -@pattern: -@Returns: - - -<!-- ##### ENUM cairo_extend_t ##### --> -<para> - -</para> - -@CAIRO_EXTEND_NONE: -@CAIRO_EXTEND_REPEAT: -@CAIRO_EXTEND_REFLECT: -@CAIRO_EXTEND_PAD: - -<!-- ##### FUNCTION cairo_pattern_set_extend ##### --> -<para> - -</para> - -@pattern: -@extend: - - -<!-- ##### FUNCTION cairo_pattern_get_extend ##### --> -<para> - -</para> - -@pattern: -@Returns: - - -<!-- ##### ENUM cairo_filter_t ##### --> -<para> - -</para> - -@CAIRO_FILTER_FAST: -@CAIRO_FILTER_GOOD: -@CAIRO_FILTER_BEST: -@CAIRO_FILTER_NEAREST: -@CAIRO_FILTER_BILINEAR: -@CAIRO_FILTER_GAUSSIAN: - -<!-- ##### FUNCTION cairo_pattern_set_filter ##### --> -<para> - -</para> - -@pattern: -@filter: - - -<!-- ##### FUNCTION cairo_pattern_get_filter ##### --> -<para> - -</para> - -@pattern: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_set_matrix ##### --> -<para> - -</para> - -@pattern: -@matrix: - - -<!-- ##### FUNCTION cairo_pattern_get_matrix ##### --> -<para> - -</para> - -@pattern: -@matrix: - - -<!-- ##### ENUM cairo_pattern_type_t ##### --> -<para> - -</para> - -@CAIRO_PATTERN_TYPE_SOLID: -@CAIRO_PATTERN_TYPE_SURFACE: -@CAIRO_PATTERN_TYPE_LINEAR: -@CAIRO_PATTERN_TYPE_RADIAL: - -<!-- ##### FUNCTION cairo_pattern_get_type ##### --> -<para> - -</para> - -@pattern: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_get_reference_count ##### --> -<para> - -</para> - -@pattern: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_set_user_data ##### --> -<para> - -</para> - -@pattern: -@key: -@user_data: -@destroy: -@Returns: - - -<!-- ##### FUNCTION cairo_pattern_get_user_data ##### --> -<para> - -</para> - -@pattern: -@key: -@Returns: - - diff --git a/doc/public/tmpl/cairo-pdf.sgml b/doc/public/tmpl/cairo-pdf.sgml deleted file mode 100644 index 9cc3a6e0..00000000 --- a/doc/public/tmpl/cairo-pdf.sgml +++ /dev/null @@ -1,101 +0,0 @@ -<!-- ##### SECTION Title ##### --> -PDF Surfaces - -<!-- ##### SECTION Short_Description ##### --> -Rendering PDF documents - -<!-- ##### SECTION Long_Description ##### --> -<para> -The PDF surface is used to render cairo graphics to Adobe -PDF files and is a multi-page vector surface backend. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_PDF_SURFACE ##### --> -<para> -Defined if the PDF surface backend is available. -This macro can be used to conditionally compile backend-specific code. -</para> - - - -<!-- ##### FUNCTION cairo_pdf_surface_create ##### --> -<para> - -</para> - -@filename: -@width_in_points: -@height_in_points: -@Returns: - - -<!-- ##### FUNCTION cairo_pdf_surface_create_for_stream ##### --> -<para> - -</para> - -@write_func: -@closure: -@width_in_points: -@height_in_points: -@Returns: - - -<!-- ##### FUNCTION cairo_pdf_surface_restrict_to_version ##### --> -<para> - -</para> - -@surface: -@version: - - -<!-- ##### ENUM cairo_pdf_version_t ##### --> -<para> - -</para> - -@CAIRO_PDF_VERSION_1_4: -@CAIRO_PDF_VERSION_1_5: - -<!-- ##### FUNCTION cairo_pdf_get_versions ##### --> -<para> - -</para> - -@versions: -@num_versions: - - -<!-- ##### FUNCTION cairo_pdf_version_to_string ##### --> -<para> - -</para> - -@version: -@Returns: - - -<!-- ##### FUNCTION cairo_pdf_surface_set_size ##### --> -<para> - -</para> - -@surface: -@width_in_points: -@height_in_points: - - diff --git a/doc/public/tmpl/cairo-png.sgml b/doc/public/tmpl/cairo-png.sgml deleted file mode 100644 index c65c3fca..00000000 --- a/doc/public/tmpl/cairo-png.sgml +++ /dev/null @@ -1,96 +0,0 @@ -<!-- ##### SECTION Title ##### --> -PNG Support - -<!-- ##### SECTION Short_Description ##### --> -Reading and writing PNG images - -<!-- ##### SECTION Long_Description ##### --> -<para> -The PNG functions allow reading PNG images into image surfaces, and writing -any surface to a PNG file. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_PNG_FUNCTIONS ##### --> -<para> -Defined if the PNG functions are available. -This macro can be used to conditionally compile code using the cairo -PNG functions. -</para> - - - -<!-- ##### FUNCTION cairo_image_surface_create_from_png ##### --> -<para> - -</para> - -@filename: -@Returns: - - -<!-- ##### USER_FUNCTION cairo_read_func_t ##### --> -<para> - -</para> - -@closure: -@data: -@length: -@Returns: - - -<!-- ##### FUNCTION cairo_image_surface_create_from_png_stream ##### --> -<para> - -</para> - -@read_func: -@closure: -@Returns: - - -<!-- ##### FUNCTION cairo_surface_write_to_png ##### --> -<para> - -</para> - -@surface: -@filename: -@Returns: - - -<!-- ##### USER_FUNCTION cairo_write_func_t ##### --> -<para> - -</para> - -@closure: -@data: -@length: -@Returns: - - -<!-- ##### FUNCTION cairo_surface_write_to_png_stream ##### --> -<para> - -</para> - -@surface: -@write_func: -@closure: -@Returns: - - diff --git a/doc/public/tmpl/cairo-ps.sgml b/doc/public/tmpl/cairo-ps.sgml deleted file mode 100644 index ac8f3519..00000000 --- a/doc/public/tmpl/cairo-ps.sgml +++ /dev/null @@ -1,144 +0,0 @@ -<!-- ##### SECTION Title ##### --> -PostScript Surfaces - -<!-- ##### SECTION Short_Description ##### --> -Rendering PostScript documents - -<!-- ##### SECTION Long_Description ##### --> -<para> -The PostScript surface is used to render cairo graphics to Adobe -PostScript files and is a multi-page vector surface backend. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_PS_SURFACE ##### --> -<para> -Defined if the PostScript surface backend is available. -This macro can be used to conditionally compile backend-specific code. -</para> - - - -<!-- ##### FUNCTION cairo_ps_surface_create ##### --> -<para> - -</para> - -@filename: -@width_in_points: -@height_in_points: -@Returns: - - -<!-- ##### FUNCTION cairo_ps_surface_create_for_stream ##### --> -<para> - -</para> - -@write_func: -@closure: -@width_in_points: -@height_in_points: -@Returns: - - -<!-- ##### FUNCTION cairo_ps_surface_restrict_to_level ##### --> -<para> - -</para> - -@surface: -@level: - - -<!-- ##### ENUM cairo_ps_level_t ##### --> -<para> - -</para> - -@CAIRO_PS_LEVEL_2: -@CAIRO_PS_LEVEL_3: - -<!-- ##### FUNCTION cairo_ps_get_levels ##### --> -<para> - -</para> - -@levels: -@num_levels: - - -<!-- ##### FUNCTION cairo_ps_level_to_string ##### --> -<para> - -</para> - -@level: -@Returns: - - -<!-- ##### FUNCTION cairo_ps_surface_set_eps ##### --> -<para> - -</para> - -@surface: -@eps: - - -<!-- ##### FUNCTION cairo_ps_surface_get_eps ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_ps_surface_set_size ##### --> -<para> - -</para> - -@surface: -@width_in_points: -@height_in_points: - - -<!-- ##### FUNCTION cairo_ps_surface_dsc_begin_setup ##### --> -<para> - -</para> - -@surface: - - -<!-- ##### FUNCTION cairo_ps_surface_dsc_begin_page_setup ##### --> -<para> - -</para> - -@surface: - - -<!-- ##### FUNCTION cairo_ps_surface_dsc_comment ##### --> -<para> - -</para> - -@surface: -@comment: - - diff --git a/doc/public/tmpl/cairo-quartz-fonts.sgml b/doc/public/tmpl/cairo-quartz-fonts.sgml deleted file mode 100644 index 4fcd4294..00000000 --- a/doc/public/tmpl/cairo-quartz-fonts.sgml +++ /dev/null @@ -1,52 +0,0 @@ -<!-- ##### SECTION Title ##### --> -Quartz (CGFont) Fonts - -<!-- ##### SECTION Short_Description ##### --> -Font support via CGFont on OS X - -<!-- ##### SECTION Long_Description ##### --> -<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> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_font_face_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_QUARTZ_FONT ##### --> -<para> -Defined if the Quartz font backend is available. -This macro can be used to conditionally compile backend-specific code. -</para> - - - -<!-- ##### FUNCTION cairo_quartz_font_face_create_for_cgfont ##### --> -<para> - -</para> - -@font: -@Returns: - - -<!-- ##### FUNCTION cairo_quartz_font_face_create_for_atsu_font_id ##### --> -<para> - -</para> - -@font_id: -@Returns: - - diff --git a/doc/public/tmpl/cairo-quartz.sgml b/doc/public/tmpl/cairo-quartz.sgml deleted file mode 100644 index 4ece8171..00000000 --- a/doc/public/tmpl/cairo-quartz.sgml +++ /dev/null @@ -1,64 +0,0 @@ -<!-- ##### SECTION Title ##### --> -Quartz Surfaces - -<!-- ##### SECTION Short_Description ##### --> -Rendering to Quartz surfaces - -<!-- ##### SECTION Long_Description ##### --> -<para> -The Quartz surface is used to render cairo graphics targeting the -Apple OS X Quartz rendering system. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_QUARTZ_SURFACE ##### --> -<para> -Defined if the Quartz surface backend is available. -This macro can be used to conditionally compile backend-specific code. -</para> - - - -<!-- ##### FUNCTION cairo_quartz_surface_create ##### --> -<para> - -</para> - -@format: -@width: -@height: -@Returns: - - -<!-- ##### FUNCTION cairo_quartz_surface_create_for_cg_context ##### --> -<para> - -</para> - -@cgContext: -@width: -@height: -@Returns: - - -<!-- ##### FUNCTION cairo_quartz_surface_get_cg_context ##### --> -<para> - -</para> - -@surface: -@Returns: - - diff --git a/doc/public/tmpl/cairo-scaled-font.sgml b/doc/public/tmpl/cairo-scaled-font.sgml deleted file mode 100644 index 9dd8c196..00000000 --- a/doc/public/tmpl/cairo-scaled-font.sgml +++ /dev/null @@ -1,227 +0,0 @@ -<!-- ##### SECTION Title ##### --> -cairo_scaled_font_t - -<!-- ##### SECTION Short_Description ##### --> -Font face at particular size and options - -<!-- ##### SECTION Long_Description ##### --> -<para> -#cairo_scaled_font_t represents a realization of a font face at a particular -size and transformation and a certain set of font options. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_font_face_t</listitem> -<listitem>#cairo_matrix_t</listitem> -<listitem>#cairo_font_options_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### TYPEDEF cairo_scaled_font_t ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION cairo_scaled_font_create ##### --> -<para> - -</para> - -@font_face: -@font_matrix: -@ctm: -@options: -@Returns: - - -<!-- ##### FUNCTION cairo_scaled_font_reference ##### --> -<para> - -</para> - -@scaled_font: -@Returns: - - -<!-- ##### FUNCTION cairo_scaled_font_destroy ##### --> -<para> - -</para> - -@scaled_font: - - -<!-- ##### FUNCTION cairo_scaled_font_status ##### --> -<para> - -</para> - -@scaled_font: -@Returns: - - -<!-- ##### STRUCT cairo_font_extents_t ##### --> -<para> - -</para> - -@ascent: -@descent: -@height: -@max_x_advance: -@max_y_advance: - -<!-- ##### FUNCTION cairo_scaled_font_extents ##### --> -<para> - -</para> - -@scaled_font: -@extents: - - -<!-- ##### STRUCT cairo_text_extents_t ##### --> -<para> - -</para> - -@x_bearing: -@y_bearing: -@width: -@height: -@x_advance: -@y_advance: - -<!-- ##### FUNCTION cairo_scaled_font_text_extents ##### --> -<para> - -</para> - -@scaled_font: -@utf8: -@extents: - - -<!-- ##### FUNCTION cairo_scaled_font_glyph_extents ##### --> -<para> - -</para> - -@scaled_font: -@glyphs: -@num_glyphs: -@extents: - - -<!-- ##### FUNCTION cairo_scaled_font_text_to_glyphs ##### --> -<para> - -</para> - -@scaled_font: -@x: -@y: -@utf8: -@utf8_len: -@glyphs: -@num_glyphs: -@clusters: -@num_clusters: -@cluster_flags: -@Returns: - - -<!-- ##### FUNCTION cairo_scaled_font_get_font_face ##### --> -<para> - -</para> - -@scaled_font: -@Returns: - - -<!-- ##### FUNCTION cairo_scaled_font_get_font_options ##### --> -<para> - -</para> - -@scaled_font: -@options: - - -<!-- ##### FUNCTION cairo_scaled_font_get_font_matrix ##### --> -<para> - -</para> - -@scaled_font: -@font_matrix: - - -<!-- ##### FUNCTION cairo_scaled_font_get_ctm ##### --> -<para> - -</para> - -@scaled_font: -@ctm: - - -<!-- ##### FUNCTION cairo_scaled_font_get_scale_matrix ##### --> -<para> - -</para> - -@scaled_font: -@scale_matrix: - - -<!-- ##### FUNCTION cairo_scaled_font_get_type ##### --> -<para> - -</para> - -@scaled_font: -@Returns: - - -<!-- ##### FUNCTION cairo_scaled_font_get_reference_count ##### --> -<para> - -</para> - -@scaled_font: -@Returns: - - -<!-- ##### FUNCTION cairo_scaled_font_set_user_data ##### --> -<para> - -</para> - -@scaled_font: -@key: -@user_data: -@destroy: -@Returns: - - -<!-- ##### FUNCTION cairo_scaled_font_get_user_data ##### --> -<para> - -</para> - -@scaled_font: -@key: -@Returns: - - diff --git a/doc/public/tmpl/cairo-status.sgml b/doc/public/tmpl/cairo-status.sgml deleted file mode 100644 index fee00c8c..00000000 --- a/doc/public/tmpl/cairo-status.sgml +++ /dev/null @@ -1,98 +0,0 @@ -<!-- ##### SECTION Title ##### --> -Error handling - -<!-- ##### SECTION Short_Description ##### --> -Decoding cairo's status - -<!-- ##### SECTION Long_Description ##### --> -<para> -Cairo uses a single status type to represent all kinds of errors. A status -value of %CAIRO_STATUS_SUCCESS 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> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>cairo_status()</listitem> -<listitem>cairo_surface_status()</listitem> -<listitem>cairo_pattern_status()</listitem> -<listitem>cairo_font_face_status()</listitem> -<listitem>cairo_scaled_font_status()</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### ENUM cairo_status_t ##### --> -<para> - -</para> - -@CAIRO_STATUS_SUCCESS: -@CAIRO_STATUS_NO_MEMORY: -@CAIRO_STATUS_INVALID_RESTORE: -@CAIRO_STATUS_INVALID_POP_GROUP: -@CAIRO_STATUS_NO_CURRENT_POINT: -@CAIRO_STATUS_INVALID_MATRIX: -@CAIRO_STATUS_INVALID_STATUS: -@CAIRO_STATUS_NULL_POINTER: -@CAIRO_STATUS_INVALID_STRING: -@CAIRO_STATUS_INVALID_PATH_DATA: -@CAIRO_STATUS_READ_ERROR: -@CAIRO_STATUS_WRITE_ERROR: -@CAIRO_STATUS_SURFACE_FINISHED: -@CAIRO_STATUS_SURFACE_TYPE_MISMATCH: -@CAIRO_STATUS_PATTERN_TYPE_MISMATCH: -@CAIRO_STATUS_INVALID_CONTENT: -@CAIRO_STATUS_INVALID_FORMAT: -@CAIRO_STATUS_INVALID_VISUAL: -@CAIRO_STATUS_FILE_NOT_FOUND: -@CAIRO_STATUS_INVALID_DASH: -@CAIRO_STATUS_INVALID_DSC_COMMENT: -@CAIRO_STATUS_INVALID_INDEX: -@CAIRO_STATUS_CLIP_NOT_REPRESENTABLE: -@CAIRO_STATUS_TEMP_FILE_ERROR: -@CAIRO_STATUS_INVALID_STRIDE: -@CAIRO_STATUS_FONT_TYPE_MISMATCH: -@CAIRO_STATUS_USER_FONT_IMMUTABLE: -@CAIRO_STATUS_USER_FONT_ERROR: -@CAIRO_STATUS_NEGATIVE_COUNT: -@CAIRO_STATUS_INVALID_CLUSTERS: -@CAIRO_STATUS_INVALID_SLANT: -@CAIRO_STATUS_INVALID_WEIGHT: -@CAIRO_STATUS_INVALID_SIZE: -@CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED: -@CAIRO_STATUS_DEVICE_TYPE_MISMATCH: -@CAIRO_STATUS_DEVICE_ERROR: -@CAIRO_STATUS_LAST_STATUS: - -<!-- ##### FUNCTION cairo_status_to_string ##### --> -<para> - -</para> - -@status: -@Returns: - - -<!-- ##### FUNCTION cairo_debug_reset_static_data ##### --> -<para> - -</para> - -@void: - - diff --git a/doc/public/tmpl/cairo-surface.sgml b/doc/public/tmpl/cairo-surface.sgml deleted file mode 100644 index 645b38bc..00000000 --- a/doc/public/tmpl/cairo-surface.sgml +++ /dev/null @@ -1,326 +0,0 @@ -<!-- ##### SECTION Title ##### --> -cairo_surface_t - -<!-- ##### SECTION Short_Description ##### --> -Base class for surfaces - -<!-- ##### SECTION Long_Description ##### --> -<para> -#cairo_surface_t 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 -cairo_<emphasis>backend</emphasis>_surface_create(). -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_t()</listitem> -<listitem>#cairo_pattern_t()</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_MIME_TYPE_JP2 ##### --> -<para> -The Joint Photographic Experts Group (JPEG) 2000 image coding standard (ISO/IEC 15444-1). Since 1.10 -</para> - - - -<!-- ##### MACRO CAIRO_MIME_TYPE_JPEG ##### --> -<para> -The Joint Photographic Experts Group (JPEG) image coding standard (ISO/IEC 10918-1). Since 1.10 -</para> - - - -<!-- ##### MACRO CAIRO_MIME_TYPE_PNG ##### --> -<para> -The Portable Network Graphics image file format (ISO/IEC 15948). Since 1.10 -</para> - - - -<!-- ##### MACRO CAIRO_MIME_TYPE_URI ##### --> -<para> -URI for an image file (unofficial MIME type). Since 1.10 -</para> - - - -<!-- ##### TYPEDEF cairo_surface_t ##### --> -<para> - -</para> - - -<!-- ##### ENUM cairo_content_t ##### --> -<para> - -</para> - -@CAIRO_CONTENT_COLOR: -@CAIRO_CONTENT_ALPHA: -@CAIRO_CONTENT_COLOR_ALPHA: - -<!-- ##### FUNCTION cairo_surface_create_similar ##### --> -<para> - -</para> - -@other: -@content: -@width: -@height: -@Returns: - - -<!-- ##### FUNCTION cairo_surface_reference ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_surface_destroy ##### --> -<para> - -</para> - -@surface: - - -<!-- ##### FUNCTION cairo_surface_status ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_surface_finish ##### --> -<para> - -</para> - -@surface: - - -<!-- ##### FUNCTION cairo_surface_flush ##### --> -<para> - -</para> - -@surface: - - -<!-- ##### FUNCTION cairo_surface_get_font_options ##### --> -<para> - -</para> - -@surface: -@options: - - -<!-- ##### FUNCTION cairo_surface_get_content ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_surface_mark_dirty ##### --> -<para> - -</para> - -@surface: - - -<!-- ##### FUNCTION cairo_surface_mark_dirty_rectangle ##### --> -<para> - -</para> - -@surface: -@x: -@y: -@width: -@height: - - -<!-- ##### FUNCTION cairo_surface_set_device_offset ##### --> -<para> - -</para> - -@surface: -@x_offset: -@y_offset: - - -<!-- ##### FUNCTION cairo_surface_get_device_offset ##### --> -<para> - -</para> - -@surface: -@x_offset: -@y_offset: - - -<!-- ##### FUNCTION cairo_surface_set_fallback_resolution ##### --> -<para> - -</para> - -@surface: -@x_pixels_per_inch: -@y_pixels_per_inch: - - -<!-- ##### FUNCTION cairo_surface_get_fallback_resolution ##### --> -<para> - -</para> - -@surface: -@x_pixels_per_inch: -@y_pixels_per_inch: - - -<!-- ##### ENUM cairo_surface_type_t ##### --> -<para> - -</para> - -@CAIRO_SURFACE_TYPE_IMAGE: -@CAIRO_SURFACE_TYPE_PDF: -@CAIRO_SURFACE_TYPE_PS: -@CAIRO_SURFACE_TYPE_XLIB: -@CAIRO_SURFACE_TYPE_XCB: -@CAIRO_SURFACE_TYPE_GLITZ: -@CAIRO_SURFACE_TYPE_QUARTZ: -@CAIRO_SURFACE_TYPE_WIN32: -@CAIRO_SURFACE_TYPE_BEOS: -@CAIRO_SURFACE_TYPE_DIRECTFB: -@CAIRO_SURFACE_TYPE_SVG: -@CAIRO_SURFACE_TYPE_OS2: -@CAIRO_SURFACE_TYPE_WIN32_PRINTING: -@CAIRO_SURFACE_TYPE_QUARTZ_IMAGE: -@CAIRO_SURFACE_TYPE_SCRIPT: -@CAIRO_SURFACE_TYPE_QT: -@CAIRO_SURFACE_TYPE_RECORDING: -@CAIRO_SURFACE_TYPE_VG: -@CAIRO_SURFACE_TYPE_GL: -@CAIRO_SURFACE_TYPE_DRM: -@CAIRO_SURFACE_TYPE_TEE: -@CAIRO_SURFACE_TYPE_XML: -@CAIRO_SURFACE_TYPE_SKIA: - -<!-- ##### FUNCTION cairo_surface_get_type ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_surface_get_reference_count ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_surface_set_user_data ##### --> -<para> - -</para> - -@surface: -@key: -@user_data: -@destroy: -@Returns: - - -<!-- ##### FUNCTION cairo_surface_get_user_data ##### --> -<para> - -</para> - -@surface: -@key: -@Returns: - - -<!-- ##### FUNCTION cairo_surface_copy_page ##### --> -<para> - -</para> - -@surface: - - -<!-- ##### FUNCTION cairo_surface_show_page ##### --> -<para> - -</para> - -@surface: - - -<!-- ##### FUNCTION cairo_surface_has_show_text_glyphs ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_surface_set_mime_data ##### --> -<para> - -</para> - -@surface: -@mime_type: -@data: -@length: -@destroy: -@closure: -@Returns: - - -<!-- ##### FUNCTION cairo_surface_get_mime_data ##### --> -<para> - -</para> - -@surface: -@mime_type: -@data: -@length: - - diff --git a/doc/public/tmpl/cairo-svg.sgml b/doc/public/tmpl/cairo-svg.sgml deleted file mode 100644 index ae7baf62..00000000 --- a/doc/public/tmpl/cairo-svg.sgml +++ /dev/null @@ -1,91 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SVG Surfaces - -<!-- ##### SECTION Short_Description ##### --> -Rendering SVG documents - -<!-- ##### SECTION Long_Description ##### --> -<para> -The SVG surface is used to render cairo graphics to -SVG files and is a multi-page vector surface backend. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t()</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_SVG_SURFACE ##### --> -<para> -Defined if the SVG surface backend is available. -This macro can be used to conditionally compile backend-specific code. -</para> - - - -<!-- ##### FUNCTION cairo_svg_surface_create ##### --> -<para> - -</para> - -@filename: -@width_in_points: -@height_in_points: -@Returns: - - -<!-- ##### FUNCTION cairo_svg_surface_create_for_stream ##### --> -<para> - -</para> - -@write_func: -@closure: -@width_in_points: -@height_in_points: -@Returns: - - -<!-- ##### FUNCTION cairo_svg_surface_restrict_to_version ##### --> -<para> - -</para> - -@surface: -@version: - - -<!-- ##### ENUM cairo_svg_version_t ##### --> -<para> - -</para> - -@CAIRO_SVG_VERSION_1_1: -@CAIRO_SVG_VERSION_1_2: - -<!-- ##### FUNCTION cairo_svg_get_versions ##### --> -<para> - -</para> - -@versions: -@num_versions: - - -<!-- ##### FUNCTION cairo_svg_version_to_string ##### --> -<para> - -</para> - -@version: -@Returns: - - diff --git a/doc/public/tmpl/cairo-text.sgml b/doc/public/tmpl/cairo-text.sgml deleted file mode 100644 index caeb3c00..00000000 --- a/doc/public/tmpl/cairo-text.sgml +++ /dev/null @@ -1,319 +0,0 @@ -<!-- ##### SECTION Title ##### --> -Text - -<!-- ##### SECTION Short_Description ##### --> -Rendering text and glyphs - -<!-- ##### SECTION Long_Description ##### --> -<para> -Cairo has two sets of text rendering capabilities: -<itemizedlist> - <listitem> - 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. - </listitem> - <listitem> - 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>. - </listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_font_face_t</listitem> -<listitem>#cairo_scaled_font_t</listitem> -<listitem>cairo_text_path()</listitem> -<listitem>cairo_glyph_path()</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### STRUCT cairo_glyph_t ##### --> -<para> - -</para> - -@index: -@x: -@y: - -<!-- ##### ENUM cairo_font_slant_t ##### --> -<para> - -</para> - -@CAIRO_FONT_SLANT_NORMAL: -@CAIRO_FONT_SLANT_ITALIC: -@CAIRO_FONT_SLANT_OBLIQUE: - -<!-- ##### ENUM cairo_font_weight_t ##### --> -<para> - -</para> - -@CAIRO_FONT_WEIGHT_NORMAL: -@CAIRO_FONT_WEIGHT_BOLD: - -<!-- ##### STRUCT cairo_text_cluster_t ##### --> -<para> - -</para> - -@num_bytes: -@num_glyphs: - -<!-- ##### ENUM cairo_text_cluster_flags_t ##### --> -<para> - -</para> - -@CAIRO_TEXT_CLUSTER_FLAG_BACKWARD: - -<!-- ##### FUNCTION cairo_select_font_face ##### --> -<para> - -</para> - -@cr: -@family: -@slant: -@weight: - - -<!-- ##### FUNCTION cairo_set_font_size ##### --> -<para> - -</para> - -@cr: -@size: - - -<!-- ##### FUNCTION cairo_set_font_matrix ##### --> -<para> - -</para> - -@cr: -@matrix: - - -<!-- ##### FUNCTION cairo_get_font_matrix ##### --> -<para> - -</para> - -@cr: -@matrix: - - -<!-- ##### FUNCTION cairo_set_font_options ##### --> -<para> - -</para> - -@cr: -@options: - - -<!-- ##### FUNCTION cairo_get_font_options ##### --> -<para> - -</para> - -@cr: -@options: - - -<!-- ##### FUNCTION cairo_set_font_face ##### --> -<para> - -</para> - -@cr: -@font_face: - - -<!-- ##### FUNCTION cairo_get_font_face ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_set_scaled_font ##### --> -<para> - -</para> - -@cr: -@scaled_font: - - -<!-- ##### FUNCTION cairo_get_scaled_font ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_show_text ##### --> -<para> - -</para> - -@cr: -@utf8: - - -<!-- ##### FUNCTION cairo_show_glyphs ##### --> -<para> - -</para> - -@cr: -@glyphs: -@num_glyphs: - - -<!-- ##### FUNCTION cairo_show_text_glyphs ##### --> -<para> - -</para> - -@cr: -@utf8: -@utf8_len: -@glyphs: -@num_glyphs: -@clusters: -@num_clusters: -@cluster_flags: - - -<!-- ##### FUNCTION cairo_font_extents ##### --> -<para> - -</para> - -@cr: -@extents: - - -<!-- ##### FUNCTION cairo_text_extents ##### --> -<para> - -</para> - -@cr: -@utf8: -@extents: - - -<!-- ##### FUNCTION cairo_glyph_extents ##### --> -<para> - -</para> - -@cr: -@glyphs: -@num_glyphs: -@extents: - - -<!-- ##### FUNCTION cairo_toy_font_face_create ##### --> -<para> - -</para> - -@family: -@slant: -@weight: -@Returns: - - -<!-- ##### FUNCTION cairo_toy_font_face_get_family ##### --> -<para> - -</para> - -@font_face: -@Returns: - - -<!-- ##### FUNCTION cairo_toy_font_face_get_slant ##### --> -<para> - -</para> - -@font_face: -@Returns: - - -<!-- ##### FUNCTION cairo_toy_font_face_get_weight ##### --> -<para> - -</para> - -@font_face: -@Returns: - - -<!-- ##### FUNCTION cairo_glyph_allocate ##### --> -<para> - -</para> - -@num_glyphs: -@Returns: - - -<!-- ##### FUNCTION cairo_glyph_free ##### --> -<para> - -</para> - -@glyphs: - - -<!-- ##### FUNCTION cairo_text_cluster_allocate ##### --> -<para> - -</para> - -@num_clusters: -@Returns: - - -<!-- ##### FUNCTION cairo_text_cluster_free ##### --> -<para> - -</para> - -@clusters: - - diff --git a/doc/public/tmpl/cairo-transforms.sgml b/doc/public/tmpl/cairo-transforms.sgml deleted file mode 100644 index 95f887d8..00000000 --- a/doc/public/tmpl/cairo-transforms.sgml +++ /dev/null @@ -1,132 +0,0 @@ -<!-- ##### SECTION Title ##### --> -Transformations - -<!-- ##### SECTION Short_Description ##### --> -Manipulating the current transformation matrix - -<!-- ##### SECTION Long_Description ##### --> -<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> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_matrix_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### FUNCTION cairo_translate ##### --> -<para> - -</para> - -@cr: -@tx: -@ty: - - -<!-- ##### FUNCTION cairo_scale ##### --> -<para> - -</para> - -@cr: -@sx: -@sy: - - -<!-- ##### FUNCTION cairo_rotate ##### --> -<para> - -</para> - -@cr: -@angle: - - -<!-- ##### FUNCTION cairo_transform ##### --> -<para> - -</para> - -@cr: -@matrix: - - -<!-- ##### FUNCTION cairo_set_matrix ##### --> -<para> - -</para> - -@cr: -@matrix: - - -<!-- ##### FUNCTION cairo_get_matrix ##### --> -<para> - -</para> - -@cr: -@matrix: - - -<!-- ##### FUNCTION cairo_identity_matrix ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_user_to_device ##### --> -<para> - -</para> - -@cr: -@x: -@y: - - -<!-- ##### FUNCTION cairo_user_to_device_distance ##### --> -<para> - -</para> - -@cr: -@dx: -@dy: - - -<!-- ##### FUNCTION cairo_device_to_user ##### --> -<para> - -</para> - -@cr: -@x: -@y: - - -<!-- ##### FUNCTION cairo_device_to_user_distance ##### --> -<para> - -</para> - -@cr: -@dx: -@dy: - - diff --git a/doc/public/tmpl/cairo-types.sgml b/doc/public/tmpl/cairo-types.sgml deleted file mode 100644 index a5c9ecd9..00000000 --- a/doc/public/tmpl/cairo-types.sgml +++ /dev/null @@ -1,43 +0,0 @@ -<!-- ##### SECTION Title ##### --> -Types - -<!-- ##### SECTION Short_Description ##### --> -Generic data types - -<!-- ##### SECTION Long_Description ##### --> -<para> -Generic data types used in the cairo API -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### TYPEDEF cairo_bool_t ##### --> -<para> - -</para> - - -<!-- ##### STRUCT cairo_user_data_key_t ##### --> -<para> - -</para> - -@unused: - -<!-- ##### USER_FUNCTION cairo_destroy_func_t ##### --> -<para> - -</para> - -@data: - - diff --git a/doc/public/tmpl/cairo-user-fonts.sgml b/doc/public/tmpl/cairo-user-fonts.sgml deleted file mode 100644 index 53b15c90..00000000 --- a/doc/public/tmpl/cairo-user-fonts.sgml +++ /dev/null @@ -1,169 +0,0 @@ -<!-- ##### SECTION Title ##### --> -User Fonts - -<!-- ##### SECTION Short_Description ##### --> -Font support with font data provided by the user - -<!-- ##### SECTION Long_Description ##### --> -<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. - -<!-- Include samples here --> -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_USER_FONT ##### --> -<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> - -@Since: 1.8 - - -<!-- ##### USER_FUNCTION cairo_user_scaled_font_init_func_t ##### --> -<para> - -</para> - -@scaled_font: -@cr: -@extents: -@Returns: - - -<!-- ##### USER_FUNCTION cairo_user_scaled_font_render_glyph_func_t ##### --> -<para> - -</para> - -@scaled_font: -@glyph: -@cr: -@extents: -@Returns: - - -<!-- ##### USER_FUNCTION cairo_user_scaled_font_text_to_glyphs_func_t ##### --> -<para> - -</para> - -@scaled_font: -@utf8: -@utf8_len: -@glyphs: -@num_glyphs: -@clusters: -@num_clusters: -@cluster_flags: -@Returns: - - -<!-- ##### USER_FUNCTION cairo_user_scaled_font_unicode_to_glyph_func_t ##### --> -<para> - -</para> - -@scaled_font: -@unicode: -@glyph_index: -@Returns: - - -<!-- ##### FUNCTION cairo_user_font_face_create ##### --> -<para> - -</para> - -@void: -@Returns: - - -<!-- ##### FUNCTION cairo_user_font_face_set_init_func ##### --> -<para> - -</para> - -@font_face: -@init_func: - - -<!-- ##### FUNCTION cairo_user_font_face_get_init_func ##### --> -<para> - -</para> - -@font_face: -@Returns: - - -<!-- ##### FUNCTION cairo_user_font_face_set_render_glyph_func ##### --> -<para> - -</para> - -@font_face: -@render_glyph_func: - - -<!-- ##### FUNCTION cairo_user_font_face_get_render_glyph_func ##### --> -<para> - -</para> - -@font_face: -@Returns: - - -<!-- ##### FUNCTION cairo_user_font_face_set_unicode_to_glyph_func ##### --> -<para> - -</para> - -@font_face: -@unicode_to_glyph_func: - - -<!-- ##### FUNCTION cairo_user_font_face_get_unicode_to_glyph_func ##### --> -<para> - -</para> - -@font_face: -@Returns: - - -<!-- ##### FUNCTION cairo_user_font_face_set_text_to_glyphs_func ##### --> -<para> - -</para> - -@font_face: -@text_to_glyphs_func: - - -<!-- ##### FUNCTION cairo_user_font_face_get_text_to_glyphs_func ##### --> -<para> - -</para> - -@font_face: -@Returns: - - diff --git a/doc/public/tmpl/cairo-version.sgml b/doc/public/tmpl/cairo-version.sgml deleted file mode 100644 index 79828b8c..00000000 --- a/doc/public/tmpl/cairo-version.sgml +++ /dev/null @@ -1,205 +0,0 @@ -<!-- ##### SECTION Title ##### --> -Version Information - -<!-- ##### SECTION Short_Description ##### --> -Compile-time and run-time version checks. - -<!-- ##### SECTION Long_Description ##### --> -<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> -<para> -<informalexample><programlisting> - _____ 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 -</programlisting></informalexample> -</para> -<para> -Here are a few examples of versions that one might see. -<informalexample><programlisting> -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) -</programlisting></informalexample> -</para> - -<refsect2> -<title>Compatibility</title> -<para> -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. -</para> - -<para> -Moving from a release to any later version (release, snapshot, -development) is always guaranteed to provide compatibility. -</para> - -<para> -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. -</para> - -<para> -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. -</para> -</refsect2> - -<refsect2> -<title>Examining the version</title> -<para> -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 CAIRO_VERSION_ENCODE() to perform the encoding. -</para> - -<para> -<informalexample><programlisting> -Compile-time ------------- -CAIRO_VERSION_STRING Human-readable -CAIRO_VERSION Encoded, suitable for comparison - -Run-time --------- -cairo_version_string() Human-readable -cairo_version() Encoded, suitable for comparison -</programlisting></informalexample> -</para> - -<para> -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> -</para> -</refsect2> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_VERSION ##### --> -<para> -The version of cairo available at compile-time, encoded using -CAIRO_VERSION_ENCODE(). -</para> - - - -<!-- ##### MACRO CAIRO_VERSION_MAJOR ##### --> -<para> -The major component of the version of cairo available at compile-time. -</para> - - - -<!-- ##### MACRO CAIRO_VERSION_MINOR ##### --> -<para> -The minor component of the version of cairo available at compile-time. -</para> - - - -<!-- ##### MACRO CAIRO_VERSION_MICRO ##### --> -<para> -The micro component of the version of cairo available at compile-time. -</para> - - - -<!-- ##### MACRO CAIRO_VERSION_STRING ##### --> -<para> -A human-readable string literal containing the version of cairo available -at compile-time, in the form of "X.Y.Z". -</para> - - - -<!-- ##### MACRO CAIRO_VERSION_ENCODE ##### --> -<para> -This macro encodes the given cairo version into an integer. The numbers -returned by %CAIRO_VERSION and cairo_version() 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> - -@major: the major component of the version number -@minor: the minor component of the version number -@micro: the micro component of the version number -@Returns: the encoded version. - - -<!-- ##### MACRO CAIRO_VERSION_STRINGIZE ##### --> -<para> -This macro encodes the given cairo version into an string. The numbers -returned by %CAIRO_VERSION_STRING and cairo_version_string() are encoded using this macro. -The parameters to this macro must expand to numerical literals. -</para> - -@major: the major component of the version number -@minor: the minor component of the version number -@micro: the micro component of the version number -@Returns: a string literal containing the version. -@Since: 1.8 - - -<!-- ##### FUNCTION cairo_version ##### --> -<para> - -</para> - -@void: -@Returns: - - -<!-- ##### FUNCTION cairo_version_string ##### --> -<para> - -</para> - -@void: -@Returns: - - diff --git a/doc/public/tmpl/cairo-win32-fonts.sgml b/doc/public/tmpl/cairo-win32-fonts.sgml deleted file mode 100644 index a38b6ce1..00000000 --- a/doc/public/tmpl/cairo-win32-fonts.sgml +++ /dev/null @@ -1,106 +0,0 @@ -<!-- ##### SECTION Title ##### --> -Win32 Fonts - -<!-- ##### SECTION Short_Description ##### --> -Font support for Microsoft Windows - -<!-- ##### SECTION Long_Description ##### --> -<para> -The Microsoft Windows font backend is primarily used to render text on -Microsoft Windows systems. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_font_face_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_WIN32_FONT ##### --> -<para> -Defined if the Microsoft Windows font backend is available. -This macro can be used to conditionally compile backend-specific code. -</para> - - - -<!-- ##### FUNCTION cairo_win32_font_face_create_for_logfontw ##### --> -<para> - -</para> - -@logfont: -@Returns: - - -<!-- ##### FUNCTION cairo_win32_font_face_create_for_hfont ##### --> -<para> - -</para> - -@font: -@Returns: - - -<!-- ##### FUNCTION cairo_win32_font_face_create_for_logfontw_hfont ##### --> -<para> - -</para> - -@logfont: -@font: -@Returns: - - -<!-- ##### FUNCTION cairo_win32_scaled_font_select_font ##### --> -<para> - -</para> - -@scaled_font: -@hdc: -@Returns: - - -<!-- ##### FUNCTION cairo_win32_scaled_font_done_font ##### --> -<para> - -</para> - -@scaled_font: - - -<!-- ##### FUNCTION cairo_win32_scaled_font_get_metrics_factor ##### --> -<para> - -</para> - -@scaled_font: -@Returns: - - -<!-- ##### FUNCTION cairo_win32_scaled_font_get_logical_to_device ##### --> -<para> - -</para> - -@scaled_font: -@logical_to_device: - - -<!-- ##### FUNCTION cairo_win32_scaled_font_get_device_to_logical ##### --> -<para> - -</para> - -@scaled_font: -@device_to_logical: - - diff --git a/doc/public/tmpl/cairo-win32.sgml b/doc/public/tmpl/cairo-win32.sgml deleted file mode 100644 index cd487256..00000000 --- a/doc/public/tmpl/cairo-win32.sgml +++ /dev/null @@ -1,101 +0,0 @@ -<!-- ##### SECTION Title ##### --> -Win32 Surfaces - -<!-- ##### SECTION Short_Description ##### --> -Microsoft Windows surface support - -<!-- ##### SECTION Long_Description ##### --> -<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 cairo_win32_printing_surface_create() is of surface -type %CAIRO_SURFACE_TYPE_WIN32_PRINTING and is a multi-page vector surface -type. -</para> -<para> -The surface returned by the other win32 constructors is of surface type -%CAIRO_SURFACE_TYPE_WIN32 and is a raster surface type. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_WIN32_SURFACE ##### --> -<para> -Defined if the Microsoft Windows surface backend is available. -This macro can be used to conditionally compile backend-specific code. -</para> - - - -<!-- ##### FUNCTION cairo_win32_surface_create ##### --> -<para> - -</para> - -@hdc: -@Returns: - - -<!-- ##### FUNCTION cairo_win32_surface_create_with_dib ##### --> -<para> - -</para> - -@format: -@width: -@height: -@Returns: - - -<!-- ##### FUNCTION cairo_win32_surface_create_with_ddb ##### --> -<para> - -</para> - -@hdc: -@format: -@width: -@height: -@Returns: - - -<!-- ##### FUNCTION cairo_win32_printing_surface_create ##### --> -<para> - -</para> - -@hdc: -@Returns: - - -<!-- ##### FUNCTION cairo_win32_surface_get_dc ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_win32_surface_get_image ##### --> -<para> - -</para> - -@surface: -@Returns: - - diff --git a/doc/public/tmpl/cairo-xcb-xrender.sgml b/doc/public/tmpl/cairo-xcb-xrender.sgml deleted file mode 100644 index 993caff4..00000000 --- a/doc/public/tmpl/cairo-xcb-xrender.sgml +++ /dev/null @@ -1,26 +0,0 @@ -<!-- ##### SECTION Title ##### --> -XCB Surfaces - -<!-- ##### SECTION Short_Description ##### --> -X Window System rendering using the XCB library and the X Render extension - -<!-- ##### SECTION Long_Description ##### --> -<para> -The XCB surface is used to render cairo graphics to X Window System -windows and pixmaps using the XCB library and its X Render extension. -</para> -<para> -Note that the XCB surface automatically takes advantage of the X Render -extension if it is available. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - diff --git a/doc/public/tmpl/cairo-xcb.sgml b/doc/public/tmpl/cairo-xcb.sgml deleted file mode 100644 index 845b9a14..00000000 --- a/doc/public/tmpl/cairo-xcb.sgml +++ /dev/null @@ -1,26 +0,0 @@ -<!-- ##### SECTION Title ##### --> -XCB Surfaces - -<!-- ##### SECTION Short_Description ##### --> -X Window System rendering using the XCB library - -<!-- ##### SECTION Long_Description ##### --> -<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> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - diff --git a/doc/public/tmpl/cairo-xlib-xrender.sgml b/doc/public/tmpl/cairo-xlib-xrender.sgml deleted file mode 100644 index db824a04..00000000 --- a/doc/public/tmpl/cairo-xlib-xrender.sgml +++ /dev/null @@ -1,60 +0,0 @@ -<!-- ##### SECTION Title ##### --> -XLib/XRender Backend - -<!-- ##### SECTION Short_Description ##### --> -X Window System rendering using XLib and the X Render extension - -<!-- ##### SECTION Long_Description ##### --> -<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> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_XLIB_XRENDER_SURFACE ##### --> -<para> -Defined if the XLib/XRender surface functions are available. -This macro can be used to conditionally compile backend-specific code. -</para> - - - -<!-- ##### FUNCTION cairo_xlib_surface_create_with_xrender_format ##### --> -<para> - -</para> - -@dpy: -@drawable: -@screen: -@format: -@width: -@height: -@Returns: - - -<!-- ##### FUNCTION cairo_xlib_surface_get_xrender_format ##### --> -<para> - -</para> - -@surface: -@Returns: - - diff --git a/doc/public/tmpl/cairo-xlib.sgml b/doc/public/tmpl/cairo-xlib.sgml deleted file mode 100644 index 3c28c386..00000000 --- a/doc/public/tmpl/cairo-xlib.sgml +++ /dev/null @@ -1,147 +0,0 @@ -<!-- ##### SECTION Title ##### --> -XLib Surfaces - -<!-- ##### SECTION Short_Description ##### --> -X Window System rendering using XLib - -<!-- ##### SECTION Long_Description ##### --> -<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> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### MACRO CAIRO_HAS_XLIB_SURFACE ##### --> -<para> -Defined if the Xlib surface backend is available. -This macro can be used to conditionally compile backend-specific code. -</para> - - - -<!-- ##### FUNCTION cairo_xlib_surface_create ##### --> -<para> - -</para> - -@dpy: -@drawable: -@visual: -@width: -@height: -@Returns: - - -<!-- ##### FUNCTION cairo_xlib_surface_create_for_bitmap ##### --> -<para> - -</para> - -@dpy: -@bitmap: -@screen: -@width: -@height: -@Returns: - - -<!-- ##### FUNCTION cairo_xlib_surface_set_size ##### --> -<para> - -</para> - -@surface: -@width: -@height: - - -<!-- ##### FUNCTION cairo_xlib_surface_get_display ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_xlib_surface_get_screen ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_xlib_surface_set_drawable ##### --> -<para> - -</para> - -@surface: -@drawable: -@width: -@height: - - -<!-- ##### FUNCTION cairo_xlib_surface_get_drawable ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_xlib_surface_get_visual ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_xlib_surface_get_width ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_xlib_surface_get_height ##### --> -<para> - -</para> - -@surface: -@Returns: - - -<!-- ##### FUNCTION cairo_xlib_surface_get_depth ##### --> -<para> - -</para> - -@surface: -@Returns: - - diff --git a/doc/public/tmpl/cairo.sgml b/doc/public/tmpl/cairo.sgml deleted file mode 100644 index 9c3a0231..00000000 --- a/doc/public/tmpl/cairo.sgml +++ /dev/null @@ -1,674 +0,0 @@ -<!-- ##### SECTION Title ##### --> -cairo_t - -<!-- ##### SECTION Short_Description ##### --> -The cairo drawing context - -<!-- ##### SECTION Long_Description ##### --> - - <para> - #cairo_t is the main object used when drawing with cairo. To - draw with cairo, you create a #cairo_t, set the target surface, - and drawing options for the #cairo_t, create shapes with - functions like cairo_move_to() and cairo_line_to(), and then - draw shapes with cairo_stroke() or cairo_fill(). - </para> - <para> - #cairo_t<!-- -->'s can be pushed to a stack via cairo_save(). - They may then safely be changed, without loosing the current state. - Use cairo_restore() to restore to the saved state. - </para> - -<!-- ##### SECTION See_Also ##### --> -<para> -<itemizedlist> -<listitem>#cairo_surface_t</listitem> -</itemizedlist> -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### TYPEDEF cairo_t ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION cairo_create ##### --> -<para> - -</para> - -@target: -@Returns: - - -<!-- ##### FUNCTION cairo_reference ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_destroy ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_status ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_save ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_restore ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_get_target ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_push_group ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_push_group_with_content ##### --> -<para> - -</para> - -@cr: -@content: - - -<!-- ##### FUNCTION cairo_pop_group ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_pop_group_to_source ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_get_group_target ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_set_source_rgb ##### --> -<para> - -</para> - -@cr: -@red: -@green: -@blue: - - -<!-- ##### FUNCTION cairo_set_source_rgba ##### --> -<para> - -</para> - -@cr: -@red: -@green: -@blue: -@alpha: - - -<!-- ##### FUNCTION cairo_set_source ##### --> -<para> - -</para> - -@cr: -@source: - - -<!-- ##### FUNCTION cairo_set_source_surface ##### --> -<para> - -</para> - -@cr: -@surface: -@x: -@y: - - -<!-- ##### FUNCTION cairo_get_source ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### ENUM cairo_antialias_t ##### --> -<para> - -</para> - -@CAIRO_ANTIALIAS_DEFAULT: -@CAIRO_ANTIALIAS_NONE: -@CAIRO_ANTIALIAS_GRAY: -@CAIRO_ANTIALIAS_SUBPIXEL: - -<!-- ##### FUNCTION cairo_set_antialias ##### --> -<para> - -</para> - -@cr: -@antialias: - - -<!-- ##### FUNCTION cairo_get_antialias ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_set_dash ##### --> -<para> - -</para> - -@cr: -@dashes: -@num_dashes: -@offset: - - -<!-- ##### FUNCTION cairo_get_dash_count ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_get_dash ##### --> -<para> - -</para> - -@cr: -@dashes: -@offset: - - -<!-- ##### ENUM cairo_fill_rule_t ##### --> -<para> - -</para> - -@CAIRO_FILL_RULE_WINDING: -@CAIRO_FILL_RULE_EVEN_ODD: - -<!-- ##### FUNCTION cairo_set_fill_rule ##### --> -<para> - -</para> - -@cr: -@fill_rule: - - -<!-- ##### FUNCTION cairo_get_fill_rule ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### ENUM cairo_line_cap_t ##### --> -<para> - -</para> - -@CAIRO_LINE_CAP_BUTT: -@CAIRO_LINE_CAP_ROUND: -@CAIRO_LINE_CAP_SQUARE: - -<!-- ##### FUNCTION cairo_set_line_cap ##### --> -<para> - -</para> - -@cr: -@line_cap: - - -<!-- ##### FUNCTION cairo_get_line_cap ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### ENUM cairo_line_join_t ##### --> -<para> - -</para> - -@CAIRO_LINE_JOIN_MITER: -@CAIRO_LINE_JOIN_ROUND: -@CAIRO_LINE_JOIN_BEVEL: - -<!-- ##### FUNCTION cairo_set_line_join ##### --> -<para> - -</para> - -@cr: -@line_join: - - -<!-- ##### FUNCTION cairo_get_line_join ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_set_line_width ##### --> -<para> - -</para> - -@cr: -@width: - - -<!-- ##### FUNCTION cairo_get_line_width ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_set_miter_limit ##### --> -<para> - -</para> - -@cr: -@limit: - - -<!-- ##### FUNCTION cairo_get_miter_limit ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### ENUM cairo_operator_t ##### --> -<para> - -</para> - -@CAIRO_OPERATOR_CLEAR: -@CAIRO_OPERATOR_SOURCE: -@CAIRO_OPERATOR_OVER: -@CAIRO_OPERATOR_IN: -@CAIRO_OPERATOR_OUT: -@CAIRO_OPERATOR_ATOP: -@CAIRO_OPERATOR_DEST: -@CAIRO_OPERATOR_DEST_OVER: -@CAIRO_OPERATOR_DEST_IN: -@CAIRO_OPERATOR_DEST_OUT: -@CAIRO_OPERATOR_DEST_ATOP: -@CAIRO_OPERATOR_XOR: -@CAIRO_OPERATOR_ADD: -@CAIRO_OPERATOR_SATURATE: -@CAIRO_OPERATOR_MULTIPLY: -@CAIRO_OPERATOR_SCREEN: -@CAIRO_OPERATOR_OVERLAY: -@CAIRO_OPERATOR_DARKEN: -@CAIRO_OPERATOR_LIGHTEN: -@CAIRO_OPERATOR_COLOR_DODGE: -@CAIRO_OPERATOR_COLOR_BURN: -@CAIRO_OPERATOR_HARD_LIGHT: -@CAIRO_OPERATOR_SOFT_LIGHT: -@CAIRO_OPERATOR_DIFFERENCE: -@CAIRO_OPERATOR_EXCLUSION: -@CAIRO_OPERATOR_HSL_HUE: -@CAIRO_OPERATOR_HSL_SATURATION: -@CAIRO_OPERATOR_HSL_COLOR: -@CAIRO_OPERATOR_HSL_LUMINOSITY: - -<!-- ##### FUNCTION cairo_set_operator ##### --> -<para> - -</para> - -@cr: -@op: - - -<!-- ##### FUNCTION cairo_get_operator ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_set_tolerance ##### --> -<para> - -</para> - -@cr: -@tolerance: - - -<!-- ##### FUNCTION cairo_get_tolerance ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_clip ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_clip_preserve ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_clip_extents ##### --> -<para> - -</para> - -@cr: -@x1: -@y1: -@x2: -@y2: - - -<!-- ##### FUNCTION cairo_reset_clip ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### STRUCT cairo_rectangle_t ##### --> -<para> - -</para> - -@x: -@y: -@width: -@height: - -<!-- ##### STRUCT cairo_rectangle_list_t ##### --> -<para> - -</para> - -@status: -@rectangles: -@num_rectangles: - -<!-- ##### FUNCTION cairo_rectangle_list_destroy ##### --> -<para> - -</para> - -@rectangle_list: - - -<!-- ##### FUNCTION cairo_copy_clip_rectangle_list ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_fill ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_fill_preserve ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_fill_extents ##### --> -<para> - -</para> - -@cr: -@x1: -@y1: -@x2: -@y2: - - -<!-- ##### FUNCTION cairo_in_fill ##### --> -<para> - -</para> - -@cr: -@x: -@y: -@Returns: - - -<!-- ##### FUNCTION cairo_mask ##### --> -<para> - -</para> - -@cr: -@pattern: - - -<!-- ##### FUNCTION cairo_mask_surface ##### --> -<para> - -</para> - -@cr: -@surface: -@surface_x: -@surface_y: - - -<!-- ##### FUNCTION cairo_paint ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_paint_with_alpha ##### --> -<para> - -</para> - -@cr: -@alpha: - - -<!-- ##### FUNCTION cairo_stroke ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_stroke_preserve ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_stroke_extents ##### --> -<para> - -</para> - -@cr: -@x1: -@y1: -@x2: -@y2: - - -<!-- ##### FUNCTION cairo_in_stroke ##### --> -<para> - -</para> - -@cr: -@x: -@y: -@Returns: - - -<!-- ##### FUNCTION cairo_copy_page ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_show_page ##### --> -<para> - -</para> - -@cr: - - -<!-- ##### FUNCTION cairo_get_reference_count ##### --> -<para> - -</para> - -@cr: -@Returns: - - -<!-- ##### FUNCTION cairo_set_user_data ##### --> -<para> - -</para> - -@cr: -@key: -@user_data: -@destroy: -@Returns: - - -<!-- ##### FUNCTION cairo_get_user_data ##### --> -<para> - -</para> - -@cr: -@key: -@Returns: - - diff --git a/src/cairo-beos-surface.cpp b/src/cairo-beos-surface.cpp index c66f1aa1..2e0f42c6 100644 --- a/src/cairo-beos-surface.cpp +++ b/src/cairo-beos-surface.cpp @@ -53,6 +53,16 @@ #include <Window.h> #include <Locker.h> +/** + * SECTION:beos-surface + * @Title: BeOS Surfaces + * @Short_Description: BeOS surface support + * @See_Also: #cairo_surface_t + * + * The BeOS surface is used to render cairo graphics to BeOS views + * and bitmaps. + */ + #define CAIRO_INT_STATUS_SUCCESS (cairo_int_status_t)(CAIRO_STATUS_SUCCESS) struct cairo_beos_surface_t { diff --git a/src/cairo-font-face.c b/src/cairo-font-face.c index 3d619114..a66054ea 100644 --- a/src/cairo-font-face.c +++ b/src/cairo-font-face.c @@ -41,6 +41,23 @@ #include "cairoint.h" #include "cairo-error-private.h" +/** + * SECTION:cairo-font-face + * @Title: cairo_font_face_t + * @Short_Description: Base class for font faces + * @See_Also: #cairo_scaled_font_t + * + * #cairo_font_face_t represents a particular font at a particular weight, + * slant, and other characteristic but no size, transformation, or size. + * + * Font faces are created using <firstterm>font-backend</firstterm>-specific + * constructors, typically of the form + * cairo_<emphasis>backend</emphasis>_font_face_create(), or implicitly + * using the <firstterm>toy</firstterm> text API by way of + * cairo_select_font_face(). The resulting face can be accessed using + * cairo_get_font_face(). + */ + /* #cairo_font_face_t */ const cairo_font_face_t _cairo_font_face_nil = { diff --git a/src/cairo-font-options.c b/src/cairo-font-options.c index 971f7d50..b472a301 100644 --- a/src/cairo-font-options.c +++ b/src/cairo-font-options.c @@ -37,6 +37,18 @@ #include "cairoint.h" #include "cairo-error-private.h" +/** + * SECTION:cairo-font-options + * @Title: cairo_font_options_t + * @Short_Description: How a font should be rendered + * @See_Also: #cairo_scaled_font_t + * + * 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. + */ + static const cairo_font_options_t _cairo_font_options_nil = { CAIRO_ANTIALIAS_DEFAULT, CAIRO_SUBPIXEL_ORDER_DEFAULT, diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c index 77fc9dcb..828c553b 100644 --- a/src/cairo-ft-font.c +++ b/src/cairo-ft-font.c @@ -90,6 +90,31 @@ */ #define MAX_OPEN_FACES 10 +/** + * SECTION:cairo-ft + * @Title: FreeType Fonts + * @Short_Description: Font support for FreeType + * @See_Also: #cairo_font_face_t + * + * The FreeType font backend is primarily used to render text on GNU/Linux + * systems, but can be used on other platforms too. + */ + +/** + * CAIRO_HAS_FT_FONT: + * + * Defined if the FreeType font backend is available. + * This macro can be used to conditionally compile backend-specific code. + */ + +/** + * CAIRO_HAS_FC_FONT: + * + * Defined if the Fontconfig-specific functions of the FreeType font backend + * are available. + * This macro can be used to conditionally compile backend-specific code. + */ + /* * The simple 2x2 matrix is converted into separate scale and shape * factors so that hinting works right diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c index a23ef48a..383df993 100644 --- a/src/cairo-image-surface.c +++ b/src/cairo-image-surface.c @@ -54,6 +54,27 @@ #define MAX_IMAGE_SIZE 32767 #define PIXMAN_MAX_INT ((pixman_fixed_1 >> 1) - pixman_fixed_e) /* need to ensure deltas also fit */ +/** + * SECTION:cairo-image + * @Title: Image Surfaces + * @Short_Description: Rendering to memory buffers + * @See_Also: #cairo_surface_t + * + * 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 #cairo_format_t. + */ + +/** + * CAIRO_HAS_IMAGE_SURFACE: + * + * 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. + * + * @Since: 1.8 + */ + static cairo_int_status_t _cairo_image_surface_fill (void *dst, cairo_operator_t op, diff --git a/src/cairo-matrix.c b/src/cairo-matrix.c index 6ae8e62c..2536ebff 100644 --- a/src/cairo-matrix.c +++ b/src/cairo-matrix.c @@ -43,6 +43,29 @@ #define ISFINITE(x) ((x) * (x) >= 0.) /* check for NaNs */ #endif +/** + * SECTION:cairo-matrix + * @Title: cairo_matrix_t + * @Short_Description: Generic matrix operations + * @See_Also: #cairo_t + * + * #cairo_matrix_t is used throughout cairo to convert between different + * coordinate spaces. A #cairo_matrix_t 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: + * + * <programlisting> + * x_new = xx * x + xy * y + x0; + * y_new = yx * x + yy * y + y0; + * </programlisting> + * + * The current transformation matrix of a #cairo_t, represented as a + * #cairo_matrix_t, defines the transformation from user-space + * coordinates to device-space coordinates. See cairo_get_matrix() and + * cairo_set_matrix(). + */ + static void _cairo_matrix_scalar_multiply (cairo_matrix_t *matrix, double scalar); diff --git a/src/cairo-misc.c b/src/cairo-misc.c index 4d5e1801..60372595 100644 --- a/src/cairo-misc.c +++ b/src/cairo-misc.c @@ -44,6 +44,26 @@ COMPILE_TIME_ASSERT (CAIRO_STATUS_LAST_STATUS < CAIRO_INT_STATUS_UNSUPPORTED); COMPILE_TIME_ASSERT (CAIRO_INT_STATUS_LAST_STATUS <= 127); +/** + * SECTION:cairo-status + * @Title: Error handling + * @Short_Description: Decoding cairo's status + * @See_Also: cairo_status(), cairo_surface_status(), cairo_pattern_status(), + * cairo_font_face_status(), cairo_scaled_font_status(), + * cairo_region_status() + * + * Cairo uses a single status type to represent all kinds of errors. A status + * value of %CAIRO_STATUS_SUCCESS represents no error and has an integer value + * of zero. All other status values represent an error. + * + * 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. + */ + /* Public stuff */ /** diff --git a/src/cairo-path.c b/src/cairo-path.c index 98404102..28182c0e 100644 --- a/src/cairo-path.c +++ b/src/cairo-path.c @@ -41,6 +41,15 @@ #include "cairo-path-private.h" #include "cairo-path-fixed-private.h" +/** + * SECTION:cairo-paths + * @Title: Paths + * @Short_Description: Creating paths and manipulating path data + * + * Paths are the most basic drawing tools and are primarily used to implicitly + * generate simple masks. + */ + static const cairo_path_t _cairo_path_nil = { CAIRO_STATUS_NO_MEMORY, NULL, 0 }; /* Closure for path interpretation. */ diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c index 56e3b04f..d9d40a86 100644 --- a/src/cairo-pattern.c +++ b/src/cairo-pattern.c @@ -32,6 +32,23 @@ #include "cairo-error-private.h" #include "cairo-freed-pool-private.h" +/** + * SECTION:cairo-pattern + * @Title: cairo_pattern_t + * @Short_Description: Sources for drawing + * @See_Also: #cairo_t, #cairo_surface_t + * + * #cairo_pattern_t 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. + * + * A cairo pattern is created by using one of the many constructors, + * of the form cairo_pattern_create_<emphasis>type</emphasis>() + * or implicitly through + * cairo_set_source_<emphasis>type</emphasis>() functions. + */ + #if HAS_FREED_POOL static freed_pool_t freed_pattern_pool[4]; #endif diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c index 8b498053..301ddce4 100644 --- a/src/cairo-pdf-surface.c +++ b/src/cairo-pdf-surface.c @@ -115,6 +115,23 @@ * XObject instead of using an indirect object. */ +/** + * SECTION:cairo-pdf + * @Title: PDF Surfaces + * @Short_Description: Rendering PDF documents + * @See_Also: #cairo_surface_t + * + * The PDF surface is used to render cairo graphics to Adobe + * PDF files and is a multi-page vector surface backend. + */ + +/** + * CAIRO_HAS_PDF_SURFACE: + * + * Defined if the PDF surface backend is available. + * This macro can be used to conditionally compile backend-specific code. + */ + static const cairo_pdf_version_t _cairo_pdf_versions[] = { CAIRO_PDF_VERSION_1_4, diff --git a/src/cairo-png.c b/src/cairo-png.c index 6a716145..8b2ff77f 100644 --- a/src/cairo-png.c +++ b/src/cairo-png.c @@ -45,6 +45,24 @@ #include <errno.h> #include <png.h> +/** + * SECTION:cairo-png + * @Title: PNG Support + * @Short_Description: Reading and writing PNG images + * @See_Also: #cairo_surface_t + * + * The PNG functions allow reading PNG images into image surfaces, and writing + * any surface to a PNG file. + */ + +/** + * CAIRO_HAS_PNG_FUNCTIONS: + * + * Defined if the PNG functions are available. + * This macro can be used to conditionally compile code using the cairo + * PNG functions. + */ + struct png_read_closure_t { cairo_read_func_t read_func; void *closure; diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c index 092a2dfa..fda4a309 100644 --- a/src/cairo-ps-surface.c +++ b/src/cairo-ps-surface.c @@ -88,6 +88,23 @@ #define ctime_r(T, BUF) ctime (T) #endif +/** + * SECTION:cairo-ps + * @Title: PostScript Surfaces + * @Short_Description: Rendering PostScript documents + * @See_Also: #cairo_surface_t + * + * The PostScript surface is used to render cairo graphics to Adobe + * PostScript files and is a multi-page vector surface backend. + */ + +/** + * CAIRO_HAS_PS_SURFACE: + * + * Defined if the PostScript surface backend is available. + * This macro can be used to conditionally compile backend-specific code. + */ + static const cairo_surface_backend_t cairo_ps_surface_backend; static const cairo_paginated_surface_backend_t cairo_ps_surface_paginated_backend; diff --git a/src/cairo-quartz-font.c b/src/cairo-quartz-font.c index 736fdc29..3bcf1e26 100644 --- a/src/cairo-quartz-font.c +++ b/src/cairo-quartz-font.c @@ -43,6 +43,23 @@ #include "cairo-error-private.h" +/** + * SECTION:cairo-quartz-fonts + * @Title: Quartz (CGFont) Fonts + * @Short_Description: Font support via CGFont on OS X + * @See_Also: #cairo_font_face_t + * 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. + */ + +/** + * CAIRO_HAS_QUARTZ_FONT: + * + * Defined if the Quartz font backend is available. + * This macro can be used to conditionally compile backend-specific code. + */ + /* CreateWithFontName exists in 10.5, but not in 10.4; CreateWithName isn't public in 10.4 */ static CGFontRef (*CGFontCreateWithFontNamePtr) (CFStringRef) = NULL; static CGFontRef (*CGFontCreateWithNamePtr) (const char *) = NULL; diff --git a/src/cairo-quartz-surface.c b/src/cairo-quartz-surface.c index 6104eec7..1fad0d42 100644 --- a/src/cairo-quartz-surface.c +++ b/src/cairo-quartz-surface.c @@ -60,6 +60,23 @@ #define IS_EMPTY(s) ((s)->extents.width == 0 || (s)->extents.height == 0) +/** + * SECTION:cairo-quartz + * @Title: Quartz Surfaces + * @Short_Description: Rendering to Quartz surfaces + * @See_Also: #cairo_surface_t + * + * The Quartz surface is used to render cairo graphics targeting the + * Apple OS X Quartz rendering system. + */ + +/** + * CAIRO_HAS_QUARTZ_SURFACE: + * + * Defined if the Quartz surface backend is available. + * This macro can be used to conditionally compile backend-specific code. + */ + /* This method is private, but it exists. Its params are are exposed * as args to the NS* method, but not as CG. */ diff --git a/src/cairo-scaled-font.c b/src/cairo-scaled-font.c index 8ad77f5f..b40e4d40 100644 --- a/src/cairo-scaled-font.c +++ b/src/cairo-scaled-font.c @@ -48,6 +48,16 @@ #define ISFINITE(x) ((x) * (x) >= 0.) /* check for NaNs */ #endif +/** + * SECTION:cairo-scaled-font + * @Title: cairo_scaled_font_t + * @Short_Description: Font face at particular size and options + * @See_Also: #cairo_font_face_t, #cairo_matrix_t, #cairo_font_options_t + * + * #cairo_scaled_font_t represents a realization of a font face at a particular + * size and transformation and a certain set of font options. + */ + /* Global Glyph Cache * * We maintain a global pool of glyphs split between all active fonts. This diff --git a/src/cairo-surface.c b/src/cairo-surface.c index 8906c5ff..eaee4610 100644 --- a/src/cairo-surface.c +++ b/src/cairo-surface.c @@ -46,6 +46,21 @@ #include "cairo-region-private.h" #include "cairo-tee-surface-private.h" +/** + * SECTION:cairo-surface + * @Title: cairo_surface_t + * @Short_Description: Base class for surfaces + * @See_Also: #cairo_t, #cairo_pattern_t + * + * #cairo_surface_t 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>. + * + * A cairo surface is created by using <firstterm>backend</firstterm>-specific + * constructors, typically of the form + * cairo_<emphasis>backend</emphasis>_surface_create(). + */ + #define DEFINE_NIL_SURFACE(status, name) \ const cairo_surface_t name = { \ NULL, /* backend */ \ @@ -811,6 +826,38 @@ _cairo_mime_data_destroy (void *ptr) } /** + * CAIRO_MIME_TYPE_JP2: + * + * The Joint Photographic Experts Group (JPEG) 2000 image coding standard (ISO/IEC 15444-1). + * + * @Since: 1.10 + */ + +/** + * CAIRO_MIME_TYPE_JPEG: + * + * The Joint Photographic Experts Group (JPEG) image coding standard (ISO/IEC 10918-1). + * + * @Since: 1.10 + */ + +/** + * CAIRO_MIME_TYPE_PNG: + * + * The Portable Network Graphics image file format (ISO/IEC 15948). + * + * @Since: 1.10 + */ + +/** + * CAIRO_MIME_TYPE_URI: + * + * URI for an image file (unofficial MIME type). + * + * @Since: 1.10 + */ + +/** * cairo_surface_set_mime_data: * @surface: a #cairo_surface_t * @mime_type: the MIME type of the image data diff --git a/src/cairo-svg-surface.c b/src/cairo-svg-surface.c index 4c96a3ac..5b348f36 100644 --- a/src/cairo-svg-surface.c +++ b/src/cairo-svg-surface.c @@ -53,6 +53,23 @@ #include "cairo-surface-clipper-private.h" #include "cairo-svg-surface-private.h" +/** + * SECTION:cairo-svg + * @Title: SVG Surfaces + * @Short_Description: Rendering SVG documents + * @See_Also: #cairo_surface_t + * + * The SVG surface is used to render cairo graphics to + * SVG files and is a multi-page vector surface backend. + */ + +/** + * CAIRO_HAS_SVG_SURFACE: + * + * Defined if the SVG surface backend is available. + * This macro can be used to conditionally compile backend-specific code. + */ + typedef struct cairo_svg_page cairo_svg_page_t; static const int invalid_pattern_id = -1; diff --git a/src/cairo-types-private.h b/src/cairo-types-private.h index 49fc7092..af46f409 100644 --- a/src/cairo-types-private.h +++ b/src/cairo-types-private.h @@ -44,6 +44,14 @@ #include "cairo-list-private.h" #include "cairo-reference-count-private.h" +/** + * SECTION:cairo-types + * @Title: Types + * @Short_Description: Generic data types + * + * This section lists generic data types used in the cairo API. + */ + typedef struct _cairo_array cairo_array_t; typedef struct _cairo_backend cairo_backend_t; typedef struct _cairo_boxes_t cairo_boxes_t; diff --git a/src/cairo-user-font.c b/src/cairo-user-font.c index 326b804d..a524d588 100644 --- a/src/cairo-user-font.c +++ b/src/cairo-user-font.c @@ -40,6 +40,28 @@ #include "cairo-analysis-surface-private.h" #include "cairo-error-private.h" +/** + * SECTION:cairo-user-fonts + * @Title:User Fonts + * @Short_Description: Font support with font data provided by the user + * + * 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. + */ + +/** + * CAIRO_HAS_USER_FONT: + * + * 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). + * + * @Since: 1.8 + */ + typedef struct _cairo_user_scaled_font_methods { cairo_user_scaled_font_init_func_t init; cairo_user_scaled_font_render_glyph_func_t render_glyph; diff --git a/src/cairo-version.c b/src/cairo-version.c index b0a581c7..2f53e114 100644 --- a/src/cairo-version.c +++ b/src/cairo-version.c @@ -45,6 +45,162 @@ #include "../cairo-version.h" /** + * SECTION:cairo-version + * @Title: Version Information + * @Short_Description: Compile-time and run-time version checks. + * + * 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). + * + * <informalexample><programlisting> + * _____ 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 + * </programlisting></informalexample> + * + * Here are a few examples of versions that one might see. + * <informalexample><programlisting> + * 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) + * </programlisting></informalexample> + * </para> + * <refsect2> + * <title>Compatibility</title> + * <para> + * 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. + * </para> + * </refsect2> + * <refsect2> + * <title>Examining the version</title> + * <para> + * 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 CAIRO_VERSION_ENCODE() to perform the encoding. + * + * <informalexample><programlisting> + * Compile-time + * ------------ + * CAIRO_VERSION_STRING Human-readable + * CAIRO_VERSION Encoded, suitable for comparison + * + * Run-time + * -------- + * cairo_version_string() Human-readable + * cairo_version() Encoded, suitable for comparison + * </programlisting></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> + * </para> + * </refsect2> + */ + +/** + * CAIRO_VERSION: + * + * The version of cairo available at compile-time, encoded using + * CAIRO_VERSION_ENCODE(). + */ + +/** + * CAIRO_VERSION_MAJOR: + * + * The major component of the version of cairo available at compile-time. + */ + +/** + * CAIRO_VERSION_MINOR: + * + * The minor component of the version of cairo available at compile-time. + */ + +/** + * CAIRO_VERSION_MICRO: + * + * The micro component of the version of cairo available at compile-time. + */ + +/** + * CAIRO_VERSION_STRING: + * + * A human-readable string literal containing the version of cairo available + * at compile-time, in the form of "X.Y.Z". + */ + +/** + * CAIRO_VERSION_ENCODE: + * @major: the major component of the version number + * @minor: the minor component of the version number + * @micro: the micro component of the version number + * + * This macro encodes the given cairo version into an integer. The numbers + * returned by %CAIRO_VERSION and cairo_version() 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. + * + * @Returns: the encoded version. + */ + +/** + * CAIRO_VERSION_STRINGIZE: + * @major: the major component of the version number + * @minor: the minor component of the version number + * @micro: the micro component of the version number + * + * This macro encodes the given cairo version into an string. The numbers + * returned by %CAIRO_VERSION_STRING and cairo_version_string() are encoded using this macro. + * The parameters to this macro must expand to numerical literals. + * + * @Returns: a string literal containing the version. + * + * @Since: 1.8 + */ + +/** * cairo_version: * * Returns the version of the cairo library encoded in a single diff --git a/src/cairo-win32-font.c b/src/cairo-win32-font.c index aa4d7478..479c672c 100644 --- a/src/cairo-win32-font.c +++ b/src/cairo-win32-font.c @@ -62,6 +62,23 @@ #define CMAP_TAG 0x70616d63 +/** + * SECTION:cairo-win32-fonts + * @Title: Win32 Fonts + * @Short_Description: Font support for Microsoft Windows + * @See_Also: #cairo_font_face_t + * + * The Microsoft Windows font backend is primarily used to render text on + * Microsoft Windows systems. + */ + +/** + * CAIRO_HAS_WIN32_FONT: + * + * Defined if the Microsoft Windows font backend is available. + * This macro can be used to conditionally compile backend-specific code. + */ + const cairo_scaled_font_backend_t _cairo_win32_scaled_font_backend; typedef struct { diff --git a/src/cairo-win32-surface.c b/src/cairo-win32-surface.c index cebf83fd..660aaba3 100644 --- a/src/cairo-win32-surface.c +++ b/src/cairo-win32-surface.c @@ -74,6 +74,30 @@ #define PELS_72DPI ((LONG)(72. / 0.0254)) +/** + * SECTION:cairo-win32 + * @Title: Win32 Surfaces + * @Short_Description: Microsoft Windows surface support + * @See_Also: #cairo_surface_t + * + * The Microsoft Windows surface is used to render cairo graphics to + * Microsoft Windows windows, bitmaps, and printing device contexts. + * + * The surface returned by cairo_win32_printing_surface_create() is of surface + * type %CAIRO_SURFACE_TYPE_WIN32_PRINTING and is a multi-page vector surface + * type. + * + * The surface returned by the other win32 constructors is of surface type + * %CAIRO_SURFACE_TYPE_WIN32 and is a raster surface type. + */ + +/** + * CAIRO_HAS_WIN32_SURFACE: + * + * Defined if the Microsoft Windows surface backend is available. + * This macro can be used to conditionally compile backend-specific code. + */ + static const cairo_surface_backend_t cairo_win32_surface_backend; /** diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c index a006d968..fef12ec0 100644 --- a/src/cairo-xcb-surface-render.c +++ b/src/cairo-xcb-surface-render.c @@ -46,6 +46,19 @@ #define PIXMAN_MAX_INT ((pixman_fixed_1 >> 1) - pixman_fixed_e) /* need to ensure deltas also fit */ +/** + * SECTION:cairo-xcb-xrender + * @Title: XCB Surfaces + * @Short_Description: X Window System rendering using the XCB library and the X Render extension + * @See_Also: #cairo_surface_t + * + * The XCB surface is used to render cairo graphics to X Window System + * windows and pixmaps using the XCB library and its X Render extension. + * + * Note that the XCB surface automatically takes advantage of the X Render + * extension if it is available. + */ + typedef struct _cairo_xcb_picture { cairo_surface_t base; diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c index 60425a46..9c2d3a7f 100644 --- a/src/cairo-xcb-surface.c +++ b/src/cairo-xcb-surface.c @@ -61,6 +61,19 @@ slim_hidden_proto (cairo_xcb_surface_create_with_xrender_format); #include "drm/cairo-drm-private.h" #endif +/** + * SECTION:cairo-xcb + * @Title: XCB Surfaces + * @Short_Description: X Window System rendering using the XCB library + * @See_Also: #cairo_surface_t + * + * The XCB surface is used to render cairo graphics to X Window System + * windows and pixmaps using the XCB library. + * + * Note that the XCB surface automatically takes advantage of the X render + * extension if it is available. + */ + #if CAIRO_HAS_XCB_SHM_FUNCTIONS static cairo_status_t _cairo_xcb_surface_create_similar_shm (cairo_xcb_surface_t *other, diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c index ddc745c4..92351300 100644 --- a/src/cairo-xlib-surface.c +++ b/src/cairo-xlib-surface.c @@ -107,6 +107,46 @@ _x_bread_crumb (Display *dpy, #define X_DEBUG(x) #endif +/** + * SECTION:cairo-xlib + * @Title: XLib Surfaces + * @Short_Description: X Window System rendering using XLib + * @See_Also: #cairo_surface_t + * + * The XLib surface is used to render cairo graphics to X Window System + * windows and pixmaps using the XLib library. + * + * Note that the XLib surface automatically takes advantage of X render extension + * if it is available. + */ + +/** + * CAIRO_HAS_XLIB_SURFACE: + * + * Defined if the Xlib surface backend is available. + * This macro can be used to conditionally compile backend-specific code. + */ + +/** + * SECTION:cairo-xlib-xrender + * @Title: XLib/XRender Backend + * @Short_Description: X Window System rendering using XLib and the X Render extension + * @See_Also: #cairo_surface_t + * + * The XLib surface is used to render cairo graphics to X Window System + * windows and pixmaps using the XLib and Xrender libraries. + * + * Note that the XLib surface automatically takes advantage of X Render extension + * if it is available. + */ + +/** + * CAIRO_HAS_XLIB_XRENDER_SURFACE: + * + * Defined if the XLib/XRender surface functions are available. + * This macro can be used to conditionally compile backend-specific code. + */ + /* Xlib doesn't define a typedef, so define one ourselves */ typedef int (*cairo_xlib_error_func_t) (Display *display, XErrorEvent *event); diff --git a/src/cairo.c b/src/cairo.c index 748a637a..7c1c76aa 100644 --- a/src/cairo.c +++ b/src/cairo.c @@ -43,6 +43,63 @@ #include "cairo-error-private.h" #include "cairo-path-private.h" +/** + * SECTION:cairo + * @Title: cairo_t + * @Short_Description: The cairo drawing context + * @See_Also: #cairo_surface_t + * + * #cairo_t is the main object used when drawing with cairo. To + * draw with cairo, you create a #cairo_t, set the target surface, + * and drawing options for the #cairo_t, create shapes with + * functions like cairo_move_to() and cairo_line_to(), and then + * draw shapes with cairo_stroke() or cairo_fill(). + * + * #cairo_t<!-- -->'s can be pushed to a stack via cairo_save(). + * They may then safely be changed, without loosing the current state. + * Use cairo_restore() to restore to the saved state. + */ + +/** + * SECTION:cairo-text + * @Title: text + * @Short_Description: Rendering text and glyphs + * @See_Also: #cairo_font_face_t, #cairo_scaled_font_t, cairo_text_path(), + * cairo_glyph_path() + * + * 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. + * + * 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>. + */ + +/** + * SECTION:cairo-transforms + * @Title: Transformations + * @Short_Description: Manipulating the current transformation matrix + * @See_Also: #cairo_matrix_t + * + * 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>. + */ + #define CAIRO_TOLERANCE_MINIMUM _cairo_fixed_to_double(1) #if !defined(INFINITY) |