diff --git a/doc/public/cairo-sections.txt b/doc/public/cairo-sections.txt index 7e23ce0c3..d5832aa86 100644 --- a/doc/public/cairo-sections.txt +++ b/doc/public/cairo-sections.txt @@ -334,7 +334,7 @@ cairo_debug_reset_static_data
cairo-font-face -font-face +cairo_font_face_t cairo_font_face_t cairo_font_face_reference cairo_font_face_destroy @@ -373,7 +373,7 @@ cairo_scaled_font_get_user_data
cairo-font-options -font-options +cairo_font_options_t 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 5cc8a01e7..000000000 --- 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 434bec659..000000000 --- a/doc/public/tmpl/cairo-atsui.sgml +++ /dev/null @@ -1,21 +0,0 @@ - -ATSUI Fonts - - -Font support for ATSUI on OS X - - - -The ATSUI font backend is primarily used to render text on Apple OS X systems. - - - - - -#cairo_font_face_t - - - - - - diff --git a/doc/public/tmpl/cairo-beos.sgml b/doc/public/tmpl/cairo-beos.sgml deleted file mode 100644 index d4fbc09c4..000000000 --- a/doc/public/tmpl/cairo-beos.sgml +++ /dev/null @@ -1,22 +0,0 @@ - -BeOS Surfaces - - -BeOS surface support - - - -The BeOS surface is used to render cairo graphics to -BeOS views and bitmaps. - - - - - -#cairo_surface_t - - - - - - diff --git a/doc/public/tmpl/cairo-font-face.sgml b/doc/public/tmpl/cairo-font-face.sgml deleted file mode 100644 index e3c168964..000000000 --- a/doc/public/tmpl/cairo-font-face.sgml +++ /dev/null @@ -1,116 +0,0 @@ - -cairo_font_face_t - - -Base class for font faces - - - -#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 font-backend-specific -constructors, typically of the form -cairo_backend_font_face_create(), -or implicitly using the toy text API by way of -cairo_select_font_face(). The resulting face can be accessed using -cairo_get_font_face(). - - - - - -#cairo_scaled_font_t - - - - - - - - - - - - - - - - - - - - -@font_face: -@Returns: - - - - - - - -@font_face: - - - - - - - -@font_face: -@Returns: - - - - - - - -@CAIRO_FONT_TYPE_TOY: -@CAIRO_FONT_TYPE_FT: -@CAIRO_FONT_TYPE_WIN32: -@CAIRO_FONT_TYPE_QUARTZ: -@CAIRO_FONT_TYPE_USER: - - - - - - -@font_face: -@Returns: - - - - - - - -@font_face: -@Returns: - - - - - - - -@font_face: -@key: -@user_data: -@destroy: -@Returns: - - - - - - - -@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 b0743fb6d..000000000 --- a/doc/public/tmpl/cairo-font-options.sgml +++ /dev/null @@ -1,199 +0,0 @@ - -cairo_font_options_t - - -How a font should be rendered - - - -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. - - - - - -#cairo_scaled_font_t - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@original: -@Returns: - - - - - - - -@options: - - - - - - - -@options: -@Returns: - - - - - - - -@options: -@other: - - - - - - - -@options: -@Returns: - - - - - - - -@options: -@other: -@Returns: - - - - - - - -@options: -@antialias: - - - - - - - -@options: -@Returns: - - - - - - - -@CAIRO_SUBPIXEL_ORDER_DEFAULT: -@CAIRO_SUBPIXEL_ORDER_RGB: -@CAIRO_SUBPIXEL_ORDER_BGR: -@CAIRO_SUBPIXEL_ORDER_VRGB: -@CAIRO_SUBPIXEL_ORDER_VBGR: - - - - - - -@options: -@subpixel_order: - - - - - - - -@options: -@Returns: - - - - - - - -@CAIRO_HINT_STYLE_DEFAULT: -@CAIRO_HINT_STYLE_NONE: -@CAIRO_HINT_STYLE_SLIGHT: -@CAIRO_HINT_STYLE_MEDIUM: -@CAIRO_HINT_STYLE_FULL: - - - - - - -@options: -@hint_style: - - - - - - - -@options: -@Returns: - - - - - - - -@CAIRO_HINT_METRICS_DEFAULT: -@CAIRO_HINT_METRICS_OFF: -@CAIRO_HINT_METRICS_ON: - - - - - - -@options: -@hint_metrics: - - - - - - - -@options: -@Returns: - - diff --git a/doc/public/tmpl/cairo-ft.sgml b/doc/public/tmpl/cairo-ft.sgml deleted file mode 100644 index 66a4727be..000000000 --- a/doc/public/tmpl/cairo-ft.sgml +++ /dev/null @@ -1,87 +0,0 @@ - -FreeType Fonts - - -Font support for FreeType - - - -The FreeType font backend is primarily used to render text on GNU/Linux -systems, but can be used on other platforms too. - - - - - -#cairo_font_face_t - - - - - - - - - - - -Defined if the FreeType font backend is available. -This macro can be used to conditionally compile backend-specific code. - - - - - - -Defined if the Fontconfig-specific functions of the FreeType font backend -are available. -This macro can be used to conditionally compile backend-specific code. - - - - - - - - - -@face: -@load_flags: -@Returns: - - - - - - - -@pattern: -@Returns: - - - - - - - -@options: -@pattern: - - - - - - - -@scaled_font: -@Returns: - - - - - - - -@scaled_font: - - diff --git a/doc/public/tmpl/cairo-image.sgml b/doc/public/tmpl/cairo-image.sgml deleted file mode 100644 index 68988f49a..000000000 --- a/doc/public/tmpl/cairo-image.sgml +++ /dev/null @@ -1,127 +0,0 @@ - -Image Surfaces - - -Rendering to memory buffers - - - -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_surface_t - - - - - - - - - - - -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 - - - - - - - -@CAIRO_FORMAT_INVALID: -@CAIRO_FORMAT_ARGB32: -@CAIRO_FORMAT_RGB24: -@CAIRO_FORMAT_A8: -@CAIRO_FORMAT_A1: -@CAIRO_FORMAT_RGB16_565: - - - - - - -@format: -@width: -@Returns: - - - - - - - -@format: -@width: -@height: -@Returns: - - - - - - - -@data: -@format: -@width: -@height: -@stride: -@Returns: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@Returns: - - diff --git a/doc/public/tmpl/cairo-matrix.sgml b/doc/public/tmpl/cairo-matrix.sgml deleted file mode 100644 index 09232472b..000000000 --- a/doc/public/tmpl/cairo-matrix.sgml +++ /dev/null @@ -1,169 +0,0 @@ - -cairo_matrix_t - - -Generic matrix operations - - - - #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 (x,y) - is given by: - - - x_new = xx * x + xy * y + x0; - y_new = yx * x + yy * y + y0; - - - 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(). - - - - - -#cairo_t - - - - - - - - - - - - - - -@xx: -@yx: -@xy: -@yy: -@x0: -@y0: - - - - - - -@matrix: -@xx: -@yx: -@xy: -@yy: -@x0: -@y0: - - - - - - - -@matrix: - - - - - - - -@matrix: -@tx: -@ty: - - - - - - - -@matrix: -@sx: -@sy: - - - - - - - -@matrix: -@radians: - - - - - - - -@matrix: -@tx: -@ty: - - - - - - - -@matrix: -@sx: -@sy: - - - - - - - -@matrix: -@radians: - - - - - - - -@matrix: -@Returns: - - - - - - - -@result: -@a: -@b: - - - - - - - -@matrix: -@dx: -@dy: - - - - - - - -@matrix: -@x: -@y: - - diff --git a/doc/public/tmpl/cairo-paths.sgml b/doc/public/tmpl/cairo-paths.sgml deleted file mode 100644 index 0bffa2930..000000000 --- a/doc/public/tmpl/cairo-paths.sgml +++ /dev/null @@ -1,263 +0,0 @@ - -Paths - - -Creating paths and manipulating path data - - - -Paths are the most basic drawing tools and are primarily used to implicitly -generate simple masks. - - - - - - - - - - - - - - - - - - -@status: -@data: -@num_data: - - - - - - - - - - - - -@CAIRO_PATH_MOVE_TO: -@CAIRO_PATH_LINE_TO: -@CAIRO_PATH_CURVE_TO: -@CAIRO_PATH_CLOSE_PATH: - - - - - - -@cr: -@Returns: - - - - - - - -@cr: -@Returns: - - - - - - - -@path: - - - - - - - -@cr: -@path: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: -@x: -@y: - - - - - - - -@cr: - - - - - - - -@cr: - - - - - - - -@cr: - - - - - - - -@cr: -@xc: -@yc: -@radius: -@angle1: -@angle2: - - - - - - - -@cr: -@xc: -@yc: -@radius: -@angle1: -@angle2: - - - - - - - -@cr: -@x1: -@y1: -@x2: -@y2: -@x3: -@y3: - - - - - - - -@cr: -@x: -@y: - - - - - - - -@cr: -@x: -@y: - - - - - - - -@cr: -@x: -@y: -@width: -@height: - - - - - - - -@cr: -@glyphs: -@num_glyphs: - - - - - - - -@cr: -@utf8: - - - - - - - -@cr: -@dx1: -@dy1: -@dx2: -@dy2: -@dx3: -@dy3: - - - - - - - -@cr: -@dx: -@dy: - - - - - - - -@cr: -@dx: -@dy: - - - - - - - -@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 b6c2cd5f2..000000000 --- a/doc/public/tmpl/cairo-pattern.sgml +++ /dev/null @@ -1,350 +0,0 @@ - -cairo_pattern_t - - -Sources for drawing - - - -#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_type() -or implicitly through -cairo_set_source_type() functions. - - - - - -#cairo_t -#cairo_surface_t - - - - - - - - - - - - - - - - - - - - -@pattern: -@offset: -@red: -@green: -@blue: - - - - - - - -@pattern: -@offset: -@red: -@green: -@blue: -@alpha: - - - - - - - -@pattern: -@count: -@Returns: - - - - - - - -@pattern: -@index: -@offset: -@red: -@green: -@blue: -@alpha: -@Returns: - - - - - - - -@red: -@green: -@blue: -@Returns: - - - - - - - -@red: -@green: -@blue: -@alpha: -@Returns: - - - - - - - -@pattern: -@red: -@green: -@blue: -@alpha: -@Returns: - - - - - - - -@surface: -@Returns: - - - - - - - -@pattern: -@surface: -@Returns: - - - - - - - -@x0: -@y0: -@x1: -@y1: -@Returns: - - - - - - - -@pattern: -@x0: -@y0: -@x1: -@y1: -@Returns: - - - - - - - -@cx0: -@cy0: -@radius0: -@cx1: -@cy1: -@radius1: -@Returns: - - - - - - - -@pattern: -@x0: -@y0: -@r0: -@x1: -@y1: -@r1: -@Returns: - - - - - - - -@pattern: -@Returns: - - - - - - - -@pattern: - - - - - - - -@pattern: -@Returns: - - - - - - - -@CAIRO_EXTEND_NONE: -@CAIRO_EXTEND_REPEAT: -@CAIRO_EXTEND_REFLECT: -@CAIRO_EXTEND_PAD: - - - - - - -@pattern: -@extend: - - - - - - - -@pattern: -@Returns: - - - - - - - -@CAIRO_FILTER_FAST: -@CAIRO_FILTER_GOOD: -@CAIRO_FILTER_BEST: -@CAIRO_FILTER_NEAREST: -@CAIRO_FILTER_BILINEAR: -@CAIRO_FILTER_GAUSSIAN: - - - - - - -@pattern: -@filter: - - - - - - - -@pattern: -@Returns: - - - - - - - -@pattern: -@matrix: - - - - - - - -@pattern: -@matrix: - - - - - - - -@CAIRO_PATTERN_TYPE_SOLID: -@CAIRO_PATTERN_TYPE_SURFACE: -@CAIRO_PATTERN_TYPE_LINEAR: -@CAIRO_PATTERN_TYPE_RADIAL: - - - - - - -@pattern: -@Returns: - - - - - - - -@pattern: -@Returns: - - - - - - - -@pattern: -@key: -@user_data: -@destroy: -@Returns: - - - - - - - -@pattern: -@key: -@Returns: - - diff --git a/doc/public/tmpl/cairo-pdf.sgml b/doc/public/tmpl/cairo-pdf.sgml deleted file mode 100644 index 9cc3a6e0b..000000000 --- a/doc/public/tmpl/cairo-pdf.sgml +++ /dev/null @@ -1,101 +0,0 @@ - -PDF Surfaces - - -Rendering PDF documents - - - -The PDF surface is used to render cairo graphics to Adobe -PDF files and is a multi-page vector surface backend. - - - - - -#cairo_surface_t - - - - - - - - - - - -Defined if the PDF surface backend is available. -This macro can be used to conditionally compile backend-specific code. - - - - - - - - - -@filename: -@width_in_points: -@height_in_points: -@Returns: - - - - - - - -@write_func: -@closure: -@width_in_points: -@height_in_points: -@Returns: - - - - - - - -@surface: -@version: - - - - - - - -@CAIRO_PDF_VERSION_1_4: -@CAIRO_PDF_VERSION_1_5: - - - - - - -@versions: -@num_versions: - - - - - - - -@version: -@Returns: - - - - - - - -@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 c65c3fcac..000000000 --- a/doc/public/tmpl/cairo-png.sgml +++ /dev/null @@ -1,96 +0,0 @@ - -PNG Support - - -Reading and writing PNG images - - - -The PNG functions allow reading PNG images into image surfaces, and writing -any surface to a PNG file. - - - - - -#cairo_surface_t - - - - - - - - - - - -Defined if the PNG functions are available. -This macro can be used to conditionally compile code using the cairo -PNG functions. - - - - - - - - - -@filename: -@Returns: - - - - - - - -@closure: -@data: -@length: -@Returns: - - - - - - - -@read_func: -@closure: -@Returns: - - - - - - - -@surface: -@filename: -@Returns: - - - - - - - -@closure: -@data: -@length: -@Returns: - - - - - - - -@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 ac8f35195..000000000 --- a/doc/public/tmpl/cairo-ps.sgml +++ /dev/null @@ -1,144 +0,0 @@ - -PostScript Surfaces - - -Rendering PostScript documents - - - -The PostScript surface is used to render cairo graphics to Adobe -PostScript files and is a multi-page vector surface backend. - - - - - -#cairo_surface_t - - - - - - - - - - - -Defined if the PostScript surface backend is available. -This macro can be used to conditionally compile backend-specific code. - - - - - - - - - -@filename: -@width_in_points: -@height_in_points: -@Returns: - - - - - - - -@write_func: -@closure: -@width_in_points: -@height_in_points: -@Returns: - - - - - - - -@surface: -@level: - - - - - - - -@CAIRO_PS_LEVEL_2: -@CAIRO_PS_LEVEL_3: - - - - - - -@levels: -@num_levels: - - - - - - - -@level: -@Returns: - - - - - - - -@surface: -@eps: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@width_in_points: -@height_in_points: - - - - - - - -@surface: - - - - - - - -@surface: - - - - - - - -@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 4fcd42945..000000000 --- a/doc/public/tmpl/cairo-quartz-fonts.sgml +++ /dev/null @@ -1,52 +0,0 @@ - -Quartz (CGFont) Fonts - - -Font support via CGFont on OS X - - - -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_font_face_t - - - - - - - - - - - -Defined if the Quartz font backend is available. -This macro can be used to conditionally compile backend-specific code. - - - - - - - - - -@font: -@Returns: - - - - - - - -@font_id: -@Returns: - - diff --git a/doc/public/tmpl/cairo-quartz.sgml b/doc/public/tmpl/cairo-quartz.sgml deleted file mode 100644 index 4ece81712..000000000 --- a/doc/public/tmpl/cairo-quartz.sgml +++ /dev/null @@ -1,64 +0,0 @@ - -Quartz Surfaces - - -Rendering to Quartz surfaces - - - -The Quartz surface is used to render cairo graphics targeting the -Apple OS X Quartz rendering system. - - - - - -#cairo_surface_t - - - - - - - - - - - -Defined if the Quartz surface backend is available. -This macro can be used to conditionally compile backend-specific code. - - - - - - - - - -@format: -@width: -@height: -@Returns: - - - - - - - -@cgContext: -@width: -@height: -@Returns: - - - - - - - -@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 9dd8c1962..000000000 --- a/doc/public/tmpl/cairo-scaled-font.sgml +++ /dev/null @@ -1,227 +0,0 @@ - -cairo_scaled_font_t - - -Font face at particular size and options - - - -#cairo_scaled_font_t represents a realization of a font face at a particular -size and transformation and a certain set of font options. - - - - - -#cairo_font_face_t -#cairo_matrix_t -#cairo_font_options_t - - - - - - - - - - - - - - - - - - - - -@font_face: -@font_matrix: -@ctm: -@options: -@Returns: - - - - - - - -@scaled_font: -@Returns: - - - - - - - -@scaled_font: - - - - - - - -@scaled_font: -@Returns: - - - - - - - -@ascent: -@descent: -@height: -@max_x_advance: -@max_y_advance: - - - - - - -@scaled_font: -@extents: - - - - - - - -@x_bearing: -@y_bearing: -@width: -@height: -@x_advance: -@y_advance: - - - - - - -@scaled_font: -@utf8: -@extents: - - - - - - - -@scaled_font: -@glyphs: -@num_glyphs: -@extents: - - - - - - - -@scaled_font: -@x: -@y: -@utf8: -@utf8_len: -@glyphs: -@num_glyphs: -@clusters: -@num_clusters: -@cluster_flags: -@Returns: - - - - - - - -@scaled_font: -@Returns: - - - - - - - -@scaled_font: -@options: - - - - - - - -@scaled_font: -@font_matrix: - - - - - - - -@scaled_font: -@ctm: - - - - - - - -@scaled_font: -@scale_matrix: - - - - - - - -@scaled_font: -@Returns: - - - - - - - -@scaled_font: -@Returns: - - - - - - - -@scaled_font: -@key: -@user_data: -@destroy: -@Returns: - - - - - - - -@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 fee00c8cd..000000000 --- a/doc/public/tmpl/cairo-status.sgml +++ /dev/null @@ -1,98 +0,0 @@ - -Error handling - - -Decoding cairo's 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 retain 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. - - - - - -cairo_status() -cairo_surface_status() -cairo_pattern_status() -cairo_font_face_status() -cairo_scaled_font_status() - - - - - - - - - - - - - - -@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: - - - - - - -@status: -@Returns: - - - - - - - -@void: - - diff --git a/doc/public/tmpl/cairo-surface.sgml b/doc/public/tmpl/cairo-surface.sgml deleted file mode 100644 index 645b38bc1..000000000 --- a/doc/public/tmpl/cairo-surface.sgml +++ /dev/null @@ -1,326 +0,0 @@ - -cairo_surface_t - - -Base class for surfaces - - - -#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 context. - - -A cairo surface is created by using backend-specific -constructors, typically of the form -cairo_backend_surface_create(). - - - - - -#cairo_t() -#cairo_pattern_t() - - - - - - - - - - - -The Joint Photographic Experts Group (JPEG) 2000 image coding standard (ISO/IEC 15444-1). Since 1.10 - - - - - - -The Joint Photographic Experts Group (JPEG) image coding standard (ISO/IEC 10918-1). Since 1.10 - - - - - - -The Portable Network Graphics image file format (ISO/IEC 15948). Since 1.10 - - - - - - -URI for an image file (unofficial MIME type). Since 1.10 - - - - - - - - - - - - - - - -@CAIRO_CONTENT_COLOR: -@CAIRO_CONTENT_ALPHA: -@CAIRO_CONTENT_COLOR_ALPHA: - - - - - - -@other: -@content: -@width: -@height: -@Returns: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: - - - - - - - -@surface: - - - - - - - -@surface: -@options: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: - - - - - - - -@surface: -@x: -@y: -@width: -@height: - - - - - - - -@surface: -@x_offset: -@y_offset: - - - - - - - -@surface: -@x_offset: -@y_offset: - - - - - - - -@surface: -@x_pixels_per_inch: -@y_pixels_per_inch: - - - - - - - -@surface: -@x_pixels_per_inch: -@y_pixels_per_inch: - - - - - - - -@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: - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@key: -@user_data: -@destroy: -@Returns: - - - - - - - -@surface: -@key: -@Returns: - - - - - - - -@surface: - - - - - - - -@surface: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@mime_type: -@data: -@length: -@destroy: -@closure: -@Returns: - - - - - - - -@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 ae7baf62e..000000000 --- a/doc/public/tmpl/cairo-svg.sgml +++ /dev/null @@ -1,91 +0,0 @@ - -SVG Surfaces - - -Rendering SVG documents - - - -The SVG surface is used to render cairo graphics to -SVG files and is a multi-page vector surface backend. - - - - - -#cairo_surface_t() - - - - - - - - - - - -Defined if the SVG surface backend is available. -This macro can be used to conditionally compile backend-specific code. - - - - - - - - - -@filename: -@width_in_points: -@height_in_points: -@Returns: - - - - - - - -@write_func: -@closure: -@width_in_points: -@height_in_points: -@Returns: - - - - - - - -@surface: -@version: - - - - - - - -@CAIRO_SVG_VERSION_1_1: -@CAIRO_SVG_VERSION_1_2: - - - - - - -@versions: -@num_versions: - - - - - - - -@version: -@Returns: - - diff --git a/doc/public/tmpl/cairo-text.sgml b/doc/public/tmpl/cairo-text.sgml deleted file mode 100644 index caeb3c002..000000000 --- a/doc/public/tmpl/cairo-text.sgml +++ /dev/null @@ -1,319 +0,0 @@ - -Text - - -Rendering text and glyphs - - - -Cairo has two sets of text rendering capabilities: - - - The functions with text in their name form cairo's - toy 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 glyphs in their name form cairo's - low-level 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 http://www.pango.org/. - - - - - - - -#cairo_font_face_t -#cairo_scaled_font_t -cairo_text_path() -cairo_glyph_path() - - - - - - - - - - - - - - -@index: -@x: -@y: - - - - - - -@CAIRO_FONT_SLANT_NORMAL: -@CAIRO_FONT_SLANT_ITALIC: -@CAIRO_FONT_SLANT_OBLIQUE: - - - - - - -@CAIRO_FONT_WEIGHT_NORMAL: -@CAIRO_FONT_WEIGHT_BOLD: - - - - - - -@num_bytes: -@num_glyphs: - - - - - - -@CAIRO_TEXT_CLUSTER_FLAG_BACKWARD: - - - - - - -@cr: -@family: -@slant: -@weight: - - - - - - - -@cr: -@size: - - - - - - - -@cr: -@matrix: - - - - - - - -@cr: -@matrix: - - - - - - - -@cr: -@options: - - - - - - - -@cr: -@options: - - - - - - - -@cr: -@font_face: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: -@scaled_font: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: -@utf8: - - - - - - - -@cr: -@glyphs: -@num_glyphs: - - - - - - - -@cr: -@utf8: -@utf8_len: -@glyphs: -@num_glyphs: -@clusters: -@num_clusters: -@cluster_flags: - - - - - - - -@cr: -@extents: - - - - - - - -@cr: -@utf8: -@extents: - - - - - - - -@cr: -@glyphs: -@num_glyphs: -@extents: - - - - - - - -@family: -@slant: -@weight: -@Returns: - - - - - - - -@font_face: -@Returns: - - - - - - - -@font_face: -@Returns: - - - - - - - -@font_face: -@Returns: - - - - - - - -@num_glyphs: -@Returns: - - - - - - - -@glyphs: - - - - - - - -@num_clusters: -@Returns: - - - - - - - -@clusters: - - diff --git a/doc/public/tmpl/cairo-transforms.sgml b/doc/public/tmpl/cairo-transforms.sgml deleted file mode 100644 index 95f887d8f..000000000 --- a/doc/public/tmpl/cairo-transforms.sgml +++ /dev/null @@ -1,132 +0,0 @@ - -Transformations - - -Manipulating the current transformation matrix - - - -The current transformation matrix, ctm, is a -two-dimensional affine transformation that maps all coordinates and other -drawing instruments from the user space into the -surface's canonical coordinate system, also known as the device -space. - - - - - -#cairo_matrix_t - - - - - - - - - - - - - - -@cr: -@tx: -@ty: - - - - - - - -@cr: -@sx: -@sy: - - - - - - - -@cr: -@angle: - - - - - - - -@cr: -@matrix: - - - - - - - -@cr: -@matrix: - - - - - - - -@cr: -@matrix: - - - - - - - -@cr: - - - - - - - -@cr: -@x: -@y: - - - - - - - -@cr: -@dx: -@dy: - - - - - - - -@cr: -@x: -@y: - - - - - - - -@cr: -@dx: -@dy: - - diff --git a/doc/public/tmpl/cairo-types.sgml b/doc/public/tmpl/cairo-types.sgml deleted file mode 100644 index a5c9ecd9a..000000000 --- a/doc/public/tmpl/cairo-types.sgml +++ /dev/null @@ -1,43 +0,0 @@ - -Types - - -Generic data types - - - -Generic data types used in the cairo API - - - - - - - - - - - - - - - - - - - - - - - - -@unused: - - - - - - -@data: - - diff --git a/doc/public/tmpl/cairo-user-fonts.sgml b/doc/public/tmpl/cairo-user-fonts.sgml deleted file mode 100644 index 53b15c909..000000000 --- a/doc/public/tmpl/cairo-user-fonts.sgml +++ /dev/null @@ -1,169 +0,0 @@ - -User Fonts - - -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. - - - - - - - - - - - - - - - - - -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 - - - - - - - -@scaled_font: -@cr: -@extents: -@Returns: - - - - - - - -@scaled_font: -@glyph: -@cr: -@extents: -@Returns: - - - - - - - -@scaled_font: -@utf8: -@utf8_len: -@glyphs: -@num_glyphs: -@clusters: -@num_clusters: -@cluster_flags: -@Returns: - - - - - - - -@scaled_font: -@unicode: -@glyph_index: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@font_face: -@init_func: - - - - - - - -@font_face: -@Returns: - - - - - - - -@font_face: -@render_glyph_func: - - - - - - - -@font_face: -@Returns: - - - - - - - -@font_face: -@unicode_to_glyph_func: - - - - - - - -@font_face: -@Returns: - - - - - - - -@font_face: -@text_to_glyphs_func: - - - - - - - -@font_face: -@Returns: - - diff --git a/doc/public/tmpl/cairo-version.sgml b/doc/public/tmpl/cairo-version.sgml deleted file mode 100644 index 79828b8cf..000000000 --- a/doc/public/tmpl/cairo-version.sgml +++ /dev/null @@ -1,205 +0,0 @@ - -Version Information - - -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). - - - - _____ 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 - - - -Here are a few examples of versions that one might see. - -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) - - - - -Compatibility - -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. - - - - -Examining the version - -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. - - - - -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 - - - - -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: - - -##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 ()); - - - - - - - - - - - - - - - - - -The version of cairo available at compile-time, encoded using -CAIRO_VERSION_ENCODE(). - - - - - - -The major component of the version of cairo available at compile-time. - - - - - - -The minor component of the version of cairo available at compile-time. - - - - - - -The micro component of the version of cairo available at compile-time. - - - - - - -A human-readable string literal containing the version of cairo available -at compile-time, in the form of "X.Y.Z". - - - - - - -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. - - -@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. - - - - -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. - - -@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 - - - - - - - -@void: -@Returns: - - - - - - - -@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 a38b6ce14..000000000 --- a/doc/public/tmpl/cairo-win32-fonts.sgml +++ /dev/null @@ -1,106 +0,0 @@ - -Win32 Fonts - - -Font support for Microsoft Windows - - - -The Microsoft Windows font backend is primarily used to render text on -Microsoft Windows systems. - - - - - -#cairo_font_face_t - - - - - - - - - - - -Defined if the Microsoft Windows font backend is available. -This macro can be used to conditionally compile backend-specific code. - - - - - - - - - -@logfont: -@Returns: - - - - - - - -@font: -@Returns: - - - - - - - -@logfont: -@font: -@Returns: - - - - - - - -@scaled_font: -@hdc: -@Returns: - - - - - - - -@scaled_font: - - - - - - - -@scaled_font: -@Returns: - - - - - - - -@scaled_font: -@logical_to_device: - - - - - - - -@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 cd4872561..000000000 --- a/doc/public/tmpl/cairo-win32.sgml +++ /dev/null @@ -1,101 +0,0 @@ - -Win32 Surfaces - - -Microsoft Windows surface support - - - -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_surface_t - - - - - - - - - - - -Defined if the Microsoft Windows surface backend is available. -This macro can be used to conditionally compile backend-specific code. - - - - - - - - - -@hdc: -@Returns: - - - - - - - -@format: -@width: -@height: -@Returns: - - - - - - - -@hdc: -@format: -@width: -@height: -@Returns: - - - - - - - -@hdc: -@Returns: - - - - - - - -@surface: -@Returns: - - - - - - - -@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 993caff44..000000000 --- a/doc/public/tmpl/cairo-xcb-xrender.sgml +++ /dev/null @@ -1,26 +0,0 @@ - -XCB Surfaces - - -X Window System rendering using the XCB library and the X Render extension - - - -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. - - - - - -#cairo_surface_t - - - - - - diff --git a/doc/public/tmpl/cairo-xcb.sgml b/doc/public/tmpl/cairo-xcb.sgml deleted file mode 100644 index 845b9a149..000000000 --- a/doc/public/tmpl/cairo-xcb.sgml +++ /dev/null @@ -1,26 +0,0 @@ - -XCB Surfaces - - -X Window System rendering using the XCB library - - - -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. - - - - - -#cairo_surface_t - - - - - - diff --git a/doc/public/tmpl/cairo-xlib-xrender.sgml b/doc/public/tmpl/cairo-xlib-xrender.sgml deleted file mode 100644 index db824a040..000000000 --- a/doc/public/tmpl/cairo-xlib-xrender.sgml +++ /dev/null @@ -1,60 +0,0 @@ - -XLib/XRender Backend - - -X Window System rendering using XLib and the X Render extension - - - -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_surface_t - - - - - - - - - - - -Defined if the XLib/XRender surface functions are available. -This macro can be used to conditionally compile backend-specific code. - - - - - - - - - -@dpy: -@drawable: -@screen: -@format: -@width: -@height: -@Returns: - - - - - - - -@surface: -@Returns: - - diff --git a/doc/public/tmpl/cairo-xlib.sgml b/doc/public/tmpl/cairo-xlib.sgml deleted file mode 100644 index 3c28c3864..000000000 --- a/doc/public/tmpl/cairo-xlib.sgml +++ /dev/null @@ -1,147 +0,0 @@ - -XLib Surfaces - - -X Window System rendering using XLib - - - -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_surface_t - - - - - - - - - - - -Defined if the Xlib surface backend is available. -This macro can be used to conditionally compile backend-specific code. - - - - - - - - - -@dpy: -@drawable: -@visual: -@width: -@height: -@Returns: - - - - - - - -@dpy: -@bitmap: -@screen: -@width: -@height: -@Returns: - - - - - - - -@surface: -@width: -@height: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@drawable: -@width: -@height: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@Returns: - - - - - - - -@surface: -@Returns: - - diff --git a/doc/public/tmpl/cairo.sgml b/doc/public/tmpl/cairo.sgml deleted file mode 100644 index 9c3a02318..000000000 --- a/doc/public/tmpl/cairo.sgml +++ /dev/null @@ -1,674 +0,0 @@ - -cairo_t - - -The cairo drawing context - - - - - #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. - - - - - -#cairo_surface_t - - - - - - - - - - - - - - - - - - - - -@target: -@Returns: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: - - - - - - - -@cr: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: - - - - - - - -@cr: -@content: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: -@red: -@green: -@blue: - - - - - - - -@cr: -@red: -@green: -@blue: -@alpha: - - - - - - - -@cr: -@source: - - - - - - - -@cr: -@surface: -@x: -@y: - - - - - - - -@cr: -@Returns: - - - - - - - -@CAIRO_ANTIALIAS_DEFAULT: -@CAIRO_ANTIALIAS_NONE: -@CAIRO_ANTIALIAS_GRAY: -@CAIRO_ANTIALIAS_SUBPIXEL: - - - - - - -@cr: -@antialias: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: -@dashes: -@num_dashes: -@offset: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: -@dashes: -@offset: - - - - - - - -@CAIRO_FILL_RULE_WINDING: -@CAIRO_FILL_RULE_EVEN_ODD: - - - - - - -@cr: -@fill_rule: - - - - - - - -@cr: -@Returns: - - - - - - - -@CAIRO_LINE_CAP_BUTT: -@CAIRO_LINE_CAP_ROUND: -@CAIRO_LINE_CAP_SQUARE: - - - - - - -@cr: -@line_cap: - - - - - - - -@cr: -@Returns: - - - - - - - -@CAIRO_LINE_JOIN_MITER: -@CAIRO_LINE_JOIN_ROUND: -@CAIRO_LINE_JOIN_BEVEL: - - - - - - -@cr: -@line_join: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: -@width: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: -@limit: - - - - - - - -@cr: -@Returns: - - - - - - - -@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: - - - - - - -@cr: -@op: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: -@tolerance: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: - - - - - - - -@cr: - - - - - - - -@cr: -@x1: -@y1: -@x2: -@y2: - - - - - - - -@cr: - - - - - - - -@x: -@y: -@width: -@height: - - - - - - -@status: -@rectangles: -@num_rectangles: - - - - - - -@rectangle_list: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: - - - - - - - -@cr: - - - - - - - -@cr: -@x1: -@y1: -@x2: -@y2: - - - - - - - -@cr: -@x: -@y: -@Returns: - - - - - - - -@cr: -@pattern: - - - - - - - -@cr: -@surface: -@surface_x: -@surface_y: - - - - - - - -@cr: - - - - - - - -@cr: -@alpha: - - - - - - - -@cr: - - - - - - - -@cr: - - - - - - - -@cr: -@x1: -@y1: -@x2: -@y2: - - - - - - - -@cr: -@x: -@y: -@Returns: - - - - - - - -@cr: - - - - - - - -@cr: - - - - - - - -@cr: -@Returns: - - - - - - - -@cr: -@key: -@user_data: -@destroy: -@Returns: - - - - - - - -@cr: -@key: -@Returns: - - diff --git a/src/cairo-beos-surface.cpp b/src/cairo-beos-surface.cpp index c66f1aa19..2e0f42c6e 100644 --- a/src/cairo-beos-surface.cpp +++ b/src/cairo-beos-surface.cpp @@ -53,6 +53,16 @@ #include #include +/** + * 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 3d619114f..a66054ead 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 font-backend-specific + * constructors, typically of the form + * cairo_backend_font_face_create(), or implicitly + * using the toy 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 971f7d50d..b472a3014 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 77fc9dcbe..828c553b0 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 a23ef48ac..383df9930 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 6ae8e62c8..2536ebffd 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 (x,y) + * is given by: + * + * + * x_new = xx * x + xy * y + x0; + * y_new = yx * x + yy * y + y0; + * + * + * 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 4d5e1801c..603725955 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 retain 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 984041028..28182c0e4 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 56e3b04f4..d9d40a86f 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_type() + * or implicitly through + * cairo_set_source_type() 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 8b4980537..301ddce43 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 6a716145b..8b2ff77fa 100644 --- a/src/cairo-png.c +++ b/src/cairo-png.c @@ -45,6 +45,24 @@ #include #include +/** + * 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 092a2dfae..fda4a309b 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 736fdc296..3bcf1e26f 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 6104eec76..1fad0d427 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 8ad77f5f3..b40e4d40e 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 8906c5ffd..eaee46106 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 context. + * + * A cairo surface is created by using backend-specific + * constructors, typically of the form + * cairo_backend_surface_create(). + */ + #define DEFINE_NIL_SURFACE(status, name) \ const cairo_surface_t name = { \ NULL, /* backend */ \ @@ -810,6 +825,38 @@ _cairo_mime_data_destroy (void *ptr) free (mime_data); } +/** + * 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 diff --git a/src/cairo-svg-surface.c b/src/cairo-svg-surface.c index 4c96a3ac8..5b348f369 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 49fc7092a..af46f4095 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 326b804d3..a524d588f 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 b0a581c79..2f53e1140 100644 --- a/src/cairo-version.c +++ b/src/cairo-version.c @@ -44,6 +44,162 @@ #undef CAIRO_VERSION_H #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). + * + * + * _____ 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 + * + * + * Here are a few examples of versions that one might see. + * + * 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) + * + * + * + * Compatibility + * + * 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. + * + * + * + * Examining the version + * + * 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. + * + * + * 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 + * + * + * 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: + * + * + * ##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 ()); + * + * + * + */ + +/** + * 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: * diff --git a/src/cairo-win32-font.c b/src/cairo-win32-font.c index aa4d7478a..479c672c5 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 cebf83fd7..660aaba35 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 a006d968c..fef12ec0f 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 60425a46f..9c2d3a7f2 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 ddc745c4d..92351300d 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 748a637a9..7c1c76aad 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 text in their name form cairo's + * toy 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 glyphs in their name form cairo's + * low-level 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 http://www.pango.org/. + */ + +/** + * SECTION:cairo-transforms + * @Title: Transformations + * @Short_Description: Manipulating the current transformation matrix + * @See_Also: #cairo_matrix_t + * + * The current transformation matrix, ctm, is a + * two-dimensional affine transformation that maps all coordinates and other + * drawing instruments from the user space into the + * surface's canonical coordinate system, also known as the device + * space. + */ + #define CAIRO_TOLERANCE_MINIMUM _cairo_fixed_to_double(1) #if !defined(INFINITY)