|
Packit Service |
e3b512 |
/* Copyright (C) 2005 The cairomm Development Team
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* This library is free software; you can redistribute it and/or
|
|
Packit Service |
e3b512 |
* modify it under the terms of the GNU Library General Public
|
|
Packit Service |
e3b512 |
* License as published by the Free Software Foundation; either
|
|
Packit Service |
e3b512 |
* version 2 of the License, or (at your option) any later version.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* This library is distributed in the hope that it will be useful,
|
|
Packit Service |
e3b512 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
e3b512 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit Service |
e3b512 |
* Library General Public License for more details.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* You should have received a copy of the GNU Library General Public
|
|
Packit Service |
e3b512 |
* License along with this library; if not, write to the Free Software
|
|
Packit Service |
e3b512 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
Packit Service |
e3b512 |
* 02110-1301, USA.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
#ifndef __CAIROMM_ENUMS_H
|
|
Packit Service |
e3b512 |
#define __CAIROMM_ENUMS_H
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
#include <cairo.h>
|
|
Packit Service |
e3b512 |
#include <cairo-ft.h>
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
namespace Cairo
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
#ifndef DOXYGEN_IGNORE_THIS
|
|
Packit Service |
e3b512 |
//This is only used internally, but it must be in a public header because we inline some methods.
|
|
Packit Service |
e3b512 |
//Actually, it is used now by the UserFontFace set_*_func() slots, which are public. murrayc.
|
|
Packit Service |
e3b512 |
typedef cairo_status_t ErrorStatus;
|
|
Packit Service |
e3b512 |
#endif //DOXYGEN_IGNORE_THIS
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Cairo::Operator is used to set the compositing operator for all cairo
|
|
Packit Service |
e3b512 |
* drawing operations.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* The default operator is Cairo::OPERATOR_OVER.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* The operators marked as @a unbounded modify their destination even outside
|
|
Packit Service |
e3b512 |
* of the mask layer (that is, their effect is not bound by the mask layer).
|
|
Packit Service |
e3b512 |
* However, their effect can still be limited by way of clipping.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* To keep things simple, the operator descriptions here document the behavior
|
|
Packit Service |
e3b512 |
* for when both source and destination are either fully transparent or fully
|
|
Packit Service |
e3b512 |
* opaque. The actual implementation works for translucent layers too. For a
|
|
Packit Service |
e3b512 |
* more detailed explanation of the effects of each operator, including the
|
|
Packit Service |
e3b512 |
* mathematical definitions, see
|
|
Packit Service |
e3b512 |
* this
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
**/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Clear destination layer (bounded)
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_CLEAR = CAIRO_OPERATOR_CLEAR,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Replace destination layer (bounded)
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_SOURCE = CAIRO_OPERATOR_SOURCE,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Draw source layer on top of destination layer (bounded)
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_OVER = CAIRO_OPERATOR_OVER,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Draw source where there was destination content (unbounded)
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_IN = CAIRO_OPERATOR_IN,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Draw source where there was no destination content (unbounded)
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_OUT = CAIRO_OPERATOR_OUT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Draw source on top of destination content and only there
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_ATOP = CAIRO_OPERATOR_ATOP,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Ignore the source
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_DEST = CAIRO_OPERATOR_DEST,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Draw destination on top of source
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_DEST_OVER = CAIRO_OPERATOR_DEST_OVER,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Leave destination only where there was source content (unbounded)
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_DEST_IN = CAIRO_OPERATOR_DEST_IN,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Leave destination only where there was no source content
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_DEST_OUT = CAIRO_OPERATOR_DEST_OUT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Leave destination on top of source content and only there (unbounded)
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_DEST_ATOP = CAIRO_OPERATOR_DEST_ATOP,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Source and destination are shown where there is only one of them
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_XOR = CAIRO_OPERATOR_XOR,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Source and destination layers are accumulated
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_ADD = CAIRO_OPERATOR_ADD,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Like over, but assuming source and dest are disjoint geometries
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
OPERATOR_SATURATE = CAIRO_OPERATOR_SATURATE
|
|
Packit Service |
e3b512 |
} Operator;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Specifies the type of antialiasing to do when rendering text or shapes.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* The interpretation of Cairo::ANTIALIAS_DEFAULT is left entirely up to
|
|
Packit Service |
e3b512 |
* the backend.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Use the default antialiasing for the subsystem and target device
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
ANTIALIAS_DEFAULT = CAIRO_ANTIALIAS_DEFAULT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Use bilevel alpha mask
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
ANTIALIAS_NONE = CAIRO_ANTIALIAS_NONE,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Perform single-color antialiasing (using shades of gray for black text on
|
|
Packit Service |
e3b512 |
* white background, for example).
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
ANTIALIAS_GRAY = CAIRO_ANTIALIAS_GRAY,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Perform antialiasing by taing advantage of the order of subpixel elements
|
|
Packit Service |
e3b512 |
* on devices such as LCD panels
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
ANTIALIAS_SUBPIXEL = CAIRO_ANTIALIAS_SUBPIXEL
|
|
Packit Service |
e3b512 |
} Antialias;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Cairo::FillRule is used to select how paths are filled. For both fill rules,
|
|
Packit Service |
e3b512 |
* whether or not a point is included in the fill is determined by taking a ray
|
|
Packit Service |
e3b512 |
* from that point to infinity and looking at intersections with the path. The
|
|
Packit Service |
e3b512 |
* ray can be in any direction, as long as it doesn't pass through the end
|
|
Packit Service |
e3b512 |
* point of a segment or have a tricky intersection such as intersecting
|
|
Packit Service |
e3b512 |
* tangent to the path. (Note that filling is not actually implemented in this
|
|
Packit Service |
e3b512 |
* way. This is just a description of the rule that is applied.)
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* The default fill rule is Cairo::FILL_RULE_WINDING.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* New entries may be added in future versions.
|
|
Packit Service |
e3b512 |
**/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* If the path crosses the ray from left-to-right, counts +1. If the path
|
|
Packit Service |
e3b512 |
* crosses the ray from right to left, counts -1. (Left and right are
|
|
Packit Service |
e3b512 |
* determined from the perspective of looking along the ray from the
|
|
Packit Service |
e3b512 |
* starting point.) If the total count is non-zero, the point will be
|
|
Packit Service |
e3b512 |
* filled.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FILL_RULE_WINDING = CAIRO_FILL_RULE_WINDING,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Counts the total number of intersections, without regard to the
|
|
Packit Service |
e3b512 |
* orientation of the contour. If the total number of intersections is odd,
|
|
Packit Service |
e3b512 |
* the point will be filled.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FILL_RULE_EVEN_ODD = CAIRO_FILL_RULE_EVEN_ODD
|
|
Packit Service |
e3b512 |
} FillRule;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Specifies how to render the endpoints of the path when stroking.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* The default line cap style is Cairo::LINE_CAP_BUTT.
|
|
Packit Service |
e3b512 |
**/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Start(stop) the line exactly at the start(end) point
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
LINE_CAP_BUTT = CAIRO_LINE_CAP_BUTT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Use a round ending, the center of teh circle is teh end point
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
LINE_CAP_ROUND = CAIRO_LINE_CAP_ROUND,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Use squared ending, the center of teh square is the end point
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
LINE_CAP_SQUARE = CAIRO_LINE_CAP_SQUARE
|
|
Packit Service |
e3b512 |
} LineCap;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Specifies how to render the junction of two lines when stroking.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* The default line join style is Cairo::LINE_JOIN_MITER.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Use a sharp (angled) corner, see Context::set_miter_limit()
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
LINE_JOIN_MITER = CAIRO_LINE_JOIN_MITER,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Use a rounded join, the center of teh circle is the joint point
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
LINE_JOIN_ROUND = CAIRO_LINE_JOIN_ROUND,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Use cut-off join, the join is cut off at half the line width from the
|
|
Packit Service |
e3b512 |
* join point
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
LINE_JOIN_BEVEL = CAIRO_LINE_JOIN_BEVEL
|
|
Packit Service |
e3b512 |
} LineJoin;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Specifies variants of a font face based on their slant.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Upright font style
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FONT_SLANT_NORMAL = CAIRO_FONT_SLANT_NORMAL,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Italic font style
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FONT_SLANT_ITALIC = CAIRO_FONT_SLANT_ITALIC,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Oblique font style
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FONT_SLANT_OBLIQUE = CAIRO_FONT_SLANT_OBLIQUE
|
|
Packit Service |
e3b512 |
} FontSlant;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Specifies variants of a font face based on their weight.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Normal font weight
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FONT_WEIGHT_NORMAL = CAIRO_FONT_WEIGHT_NORMAL,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Bold font weight
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FONT_WEIGHT_BOLD = CAIRO_FONT_WEIGHT_BOLD
|
|
Packit Service |
e3b512 |
} FontWeight;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Cairo::Content is used to describe the content that a surface will contain,
|
|
Packit Service |
e3b512 |
* whether color information, alpha information (translucence vs. opacity), or
|
|
Packit Service |
e3b512 |
* both.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface will hold color content only.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
CONTENT_COLOR = CAIRO_CONTENT_COLOR,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface will hold alpha content only.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
CONTENT_ALPHA = CAIRO_CONTENT_ALPHA,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface will hold color and alpha content.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
CONTENT_COLOR_ALPHA = CAIRO_CONTENT_COLOR_ALPHA
|
|
Packit Service |
e3b512 |
} Content;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* @since 1.10
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
DEVICE_TYPE_DRM = CAIRO_DEVICE_TYPE_DRM,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
DEVICE_TYPE_GL = CAIRO_DEVICE_TYPE_GL,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
DEVICE_TYPE_SCRIPT = CAIRO_DEVICE_TYPE_SCRIPT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
DEVICE_TYPE_XCB = CAIRO_DEVICE_TYPE_XCB,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
DEVICE_TYPE_XLIB = CAIRO_DEVICE_TYPE_XLIB,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
DEVICE_TYPE_XML = CAIRO_DEVICE_TYPE_XML
|
|
Packit Service |
e3b512 |
} DeviceType;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Cairo::Format is used to identify the memory format of
|
|
Packit Service |
e3b512 |
* image data.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* New entries may be added in future versions.
|
|
Packit Service |
e3b512 |
**/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Each pixel is a 32-bit quantity, with alpha in the upper 8 bits, then
|
|
Packit Service |
e3b512 |
* red, then green, then blue. The 32-bit quantities are stored
|
|
Packit Service |
e3b512 |
* native-endian. Pre-multiplied alpha is used. (That is, 50% transparent
|
|
Packit Service |
e3b512 |
* red is 0x80800000,
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FORMAT_ARGB32 = CAIRO_FORMAT_ARGB32,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Each pixel is a 32-bit quantity, with the upper 8 bits unused. Red,
|
|
Packit Service |
e3b512 |
* Green, and Blue are stored in the remaining 24 bits in that order.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FORMAT_RGB24 = CAIRO_FORMAT_RGB24,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Each pixel is a 8-bit quantity holding an alpha value
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FORMAT_A8 = CAIRO_FORMAT_A8,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Each pikel is a 1-bit quentity holding an alpha value. Pixels are packed
|
|
Packit Service |
e3b512 |
* together into 32-bit quantities. The ordering of the bits matches the
|
|
Packit Service |
e3b512 |
* endianess of the platform. On a big-endian machine, the first pixel is in
|
|
Packit Service |
e3b512 |
* the uppermost bit, on a little endian machine the first pixel is in the
|
|
Packit Service |
e3b512 |
* least-significant bit.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FORMAT_A1 = CAIRO_FORMAT_A1,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Each fixel is a 16-bit quantity with red in the upper 5 bits, then green
|
|
Packit Service |
e3b512 |
* in the middle 6 bits, and blue in the lower 5 bits
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FORMAT_RGB16_565 = CAIRO_FORMAT_RGB16_565
|
|
Packit Service |
e3b512 |
} Format;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Cairo::Extend is used to describe how pattern color/alpha will be determined
|
|
Packit Service |
e3b512 |
* for areas "outside" the pattern's natural area, (for example, outside the
|
|
Packit Service |
e3b512 |
* surface bounds or outside the gradient geometry).
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* Mesh patterns are not affected by the extend mode.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* The default extend mode is Cairo::EXTEND_NONE for surface patterns and
|
|
Packit Service |
e3b512 |
* Cairo::EXTEND_PAD for gradient patterns.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* New entries may be added in future versions.
|
|
Packit Service |
e3b512 |
**/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Pixels outside of the source pattern are fully transparent
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
EXTEND_NONE = CAIRO_EXTEND_NONE,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The pattern is tiled by repeating
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
EXTEND_REPEAT = CAIRO_EXTEND_REPEAT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The pattern is tiled by reflecting at the edges (Implemented for surface
|
|
Packit Service |
e3b512 |
* patterns since 1.6)
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
EXTEND_REFLECT = CAIRO_EXTEND_REFLECT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Pixels outside of the pattern copy the closest pixel from the source
|
|
Packit Service |
e3b512 |
* (Since 1.2; but only implemented for surface patterns since 1.6)
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
EXTEND_PAD = CAIRO_EXTEND_PAD
|
|
Packit Service |
e3b512 |
} Extend;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Cairo::Filter is used to indicate what filtering should be applied when
|
|
Packit Service |
e3b512 |
* reading pixel values from patterns. See Cairo::SurfacePattern::set_filter()
|
|
Packit Service |
e3b512 |
* for indicating the desired filter to be used with a particular pattern.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* A high-performance filter, with quality similar to Cairo::FILTER_NEAREST
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FILTER_FAST = CAIRO_FILTER_FAST,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* A reasonable-performance filter, with quality similar to
|
|
Packit Service |
e3b512 |
* Cairo::FILTER_BILINEAR
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FILTER_GOOD = CAIRO_FILTER_GOOD,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The highest-quality available, performance may not be suitable for
|
|
Packit Service |
e3b512 |
* interactive use.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FILTER_BEST = CAIRO_FILTER_BEST,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Nearest-neighbor filtering
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FILTER_NEAREST = CAIRO_FILTER_NEAREST,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Linear interpolation in two dimensions
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FILTER_BILINEAR = CAIRO_FILTER_BILINEAR,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* This filter value is currently unimplemented, and should not be used in
|
|
Packit Service |
e3b512 |
* current code.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FILTER_GAUSSIAN = CAIRO_FILTER_GAUSSIAN
|
|
Packit Service |
e3b512 |
} Filter;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The subpixel order specifies the order of color elements within each pixel on
|
|
Packit Service |
e3b512 |
* the display device when rendering with an antialiasing mode of
|
|
Packit Service |
e3b512 |
* Cairo::ANTIALIAS_SUBPIXEL.
|
|
Packit Service |
e3b512 |
**/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Use the default subpixel order for for the target device
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SUBPIXEL_ORDER_DEFAULT = CAIRO_SUBPIXEL_ORDER_DEFAULT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Subpixel elements are arranged horizontally with red at the left
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SUBPIXEL_ORDER_RGB = CAIRO_SUBPIXEL_ORDER_RGB,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Subpixel elements are arranged horizontally with blue at the left
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SUBPIXEL_ORDER_BGR = CAIRO_SUBPIXEL_ORDER_BGR,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Subpixel elements are arranged vertically with red at the top
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SUBPIXEL_ORDER_VRGB = CAIRO_SUBPIXEL_ORDER_VRGB,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Subpixel elements are arranged vertically with blue at the top
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SUBPIXEL_ORDER_VBGR = CAIRO_SUBPIXEL_ORDER_VBGR
|
|
Packit Service |
e3b512 |
} SubpixelOrder;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Specifies the type of hinting to do on font outlines. Hinting is the process
|
|
Packit Service |
e3b512 |
* of fitting outlines to the pixel grid in order to improve the appearance of
|
|
Packit Service |
e3b512 |
* the result. Since hinting outlines involves distorting them, it also reduces
|
|
Packit Service |
e3b512 |
* the faithfulness to the original outline shapes. Not all of the outline
|
|
Packit Service |
e3b512 |
* hinting styles are supported by all font backends.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* New entries may be added in future versions.
|
|
Packit Service |
e3b512 |
**/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Use the default hint style for font backend and target device
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
HINT_STYLE_DEFAULT = CAIRO_HINT_STYLE_DEFAULT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Do not hint outlines
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
HINT_STYLE_NONE = CAIRO_HINT_STYLE_NONE,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Hint outlines slightly to improve contrast while retaining food fidelity
|
|
Packit Service |
e3b512 |
* to the original shapes
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
HINT_STYLE_SLIGHT = CAIRO_HINT_STYLE_SLIGHT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Hint outlines with medium strength giving a compromise between fidelity
|
|
Packit Service |
e3b512 |
* to the original shapes and contrast
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
HINT_STYLE_MEDIUM = CAIRO_HINT_STYLE_MEDIUM,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Hint outlines to maximize contrast
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
HINT_STYLE_FULL = CAIRO_HINT_STYLE_FULL
|
|
Packit Service |
e3b512 |
} HintStyle;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Specifies whether to hint font metrics; hinting font metrics means quantizing
|
|
Packit Service |
e3b512 |
* them so that they are integer values in device space. Doing this improves the
|
|
Packit Service |
e3b512 |
* consistency of letter and line spacing, however it also means that text will
|
|
Packit Service |
e3b512 |
* be laid out differently at different zoom factors.
|
|
Packit Service |
e3b512 |
**/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Hint metrics in the default manner for the font backend and target device
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
HINT_METRICS_DEFAULT = CAIRO_HINT_METRICS_DEFAULT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Do not hint font metrics
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
HINT_METRICS_OFF = CAIRO_HINT_METRICS_OFF,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Hint font metrics
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
HINT_METRICS_ON = CAIRO_HINT_METRICS_ON
|
|
Packit Service |
e3b512 |
} HintMetrics;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Cairo::SurfaceType is used to describe the type of a given surface. The
|
|
Packit Service |
e3b512 |
* surface types are also known as "backends" or "surface backends" within
|
|
Packit Service |
e3b512 |
* cairo.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* The surface type can be queried with Surface::get_type()
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* The various Cairo::Surface functions can be used with surfaces of
|
|
Packit Service |
e3b512 |
* any type, but some backends also provide type-specific functions
|
|
Packit Service |
e3b512 |
* that must only be called with a surface of the appropriate
|
|
Packit Service |
e3b512 |
* type.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* New entries may be added in future versions.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* @since 1.2
|
|
Packit Service |
e3b512 |
**/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type image
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_IMAGE = CAIRO_SURFACE_TYPE_IMAGE,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type pdf
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_PDF = CAIRO_SURFACE_TYPE_PDF,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type ps
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_PS = CAIRO_SURFACE_TYPE_PS,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type xlim
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_XLIB = CAIRO_SURFACE_TYPE_XLIB,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type xcb
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_XCB = CAIRO_SURFACE_TYPE_XCB,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type glitz
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_GLITZ = CAIRO_SURFACE_TYPE_GLITZ,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type quartz
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_QUARTZ = CAIRO_SURFACE_TYPE_QUARTZ,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type win32
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_WIN32 = CAIRO_SURFACE_TYPE_WIN32,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type beos
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_BEOS = CAIRO_SURFACE_TYPE_BEOS,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type directfb
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_DIRECTFB = CAIRO_SURFACE_TYPE_DIRECTFB,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type svg
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_SVG = CAIRO_SURFACE_TYPE_SVG,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type os2
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_OS2 = CAIRO_SURFACE_TYPE_OS2,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is a win32 printing surface
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_WIN32_PRINTING = CAIRO_SURFACE_TYPE_WIN32_PRINTING,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type quartz_image
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_QUARTZ_IMAGE = CAIRO_SURFACE_TYPE_QUARTZ_IMAGE,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type script
|
|
Packit Service |
e3b512 |
* @since 1.10
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_SCRIPT = CAIRO_SURFACE_TYPE_SCRIPT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type Qt
|
|
Packit Service |
e3b512 |
* @since 1.10
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_QT = CAIRO_SURFACE_TYPE_QT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type recording
|
|
Packit Service |
e3b512 |
* @since 1.10
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_RECORDING = CAIRO_SURFACE_TYPE_RECORDING,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is a OpenVg surface
|
|
Packit Service |
e3b512 |
* @since 1.10
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_VG = CAIRO_SURFACE_TYPE_VG,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type OpenGl
|
|
Packit Service |
e3b512 |
* @since 1.10
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_GL = CAIRO_SURFACE_TYPE_GL,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type Direct Render Manager
|
|
Packit Service |
e3b512 |
* @since 1.10
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_DRM = CAIRO_SURFACE_TYPE_DRM,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type script 'tee' (a multiplexing surface)
|
|
Packit Service |
e3b512 |
* @since 1.10
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_TEE = CAIRO_SURFACE_TYPE_TEE,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type XML (for debugging)
|
|
Packit Service |
e3b512 |
* @since 1.10
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_XML = CAIRO_SURFACE_TYPE_XML,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type Skia
|
|
Packit Service |
e3b512 |
* @since 1.10
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_SKIA = CAIRO_SURFACE_TYPE_SKIA,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The surface is of type The surface is a subsurface created with
|
|
Packit Service |
e3b512 |
* Surface::create()
|
|
Packit Service |
e3b512 |
* @since 1.10
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
SURFACE_TYPE_SUBSURFACE = CAIRO_SURFACE_TYPE_SUBSURFACE
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
} SurfaceType;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Cairo::PatternType is used to describe the type of a given pattern.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* The pattern type can be queried with Pattern::get_type().
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* New entries may be added in future versions.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* @since 1.2
|
|
Packit Service |
e3b512 |
**/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The pattern is a solid (uniform) color. It may be opaque or translucent.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
PATTERN_TYPE_SOLID = CAIRO_PATTERN_TYPE_SOLID,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The pattern is a based on a surface (an image)
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
PATTERN_TYPE_SURFACE = CAIRO_PATTERN_TYPE_SURFACE,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The pattern is a linear gradient.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
PATTERN_TYPE_LINEAR = CAIRO_PATTERN_TYPE_LINEAR,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The pattern is a radial gradient.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
PATTERN_TYPE_RADIAL = CAIRO_PATTERN_TYPE_RADIAL
|
|
Packit Service |
e3b512 |
} PatternType;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Cairo::FontType is used to describe the type of a given font face or scaled
|
|
Packit Service |
e3b512 |
* font. The font types are also known as "font backends" within cairo.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* New entries may be added in future versions.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* @since 1.2
|
|
Packit Service |
e3b512 |
**/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The font was created using cairo's toy font api
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FONT_TYPE_TOY = CAIRO_FONT_TYPE_TOY,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The font is of type FreeType
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FONT_TYPE_FT = CAIRO_FONT_TYPE_FT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The font is of type Win32
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FONT_TYPE_WIN32 = CAIRO_FONT_TYPE_WIN32,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* @deprecated Use FONT_TYPE_QUARTZ instead.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FONT_TYPE_ATSUI = CAIRO_FONT_TYPE_QUARTZ,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The font is of type Quartz
|
|
Packit Service |
e3b512 |
* @since 1.6
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FONT_TYPE_QUARTZ = CAIRO_FONT_TYPE_QUARTZ,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The font was created using cairo's user font api
|
|
Packit Service |
e3b512 |
* @since 1.8
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
FONT_TYPE_USER = CAIRO_FONT_TYPE_USER
|
|
Packit Service |
e3b512 |
} FontType;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/** Specifies properties of a text cluster mapping.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* @since 1.8
|
|
Packit Service |
e3b512 |
**/
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* The clusters in the cluster array map to glyphs in the glyph array from
|
|
Packit Service |
e3b512 |
* end to start.
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
TEXT_CLUSTER_FLAG_BACKWARD = CAIRO_TEXT_CLUSTER_FLAG_BACKWARD
|
|
Packit Service |
e3b512 |
} TextClusterFlags;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
//TODO: Documentation
|
|
Packit Service |
e3b512 |
typedef enum
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Completely inside region
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
REGION_OVERLAP_IN = CAIRO_REGION_OVERLAP_IN,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Completely outside region
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
REGION_OVERLAP_OUT = CAIRO_REGION_OVERLAP_OUT,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* Partly inside region
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
REGION_OVERLAP_PART = CAIRO_REGION_OVERLAP_PART
|
|
Packit Service |
e3b512 |
} RegionOverlap;
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/**
|
|
Packit Service |
e3b512 |
* A set of synthesis options to control how FreeType renders the glyphs for a
|
|
Packit Service |
e3b512 |
* particular font face.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* FreeType provides the ability to synthesize different glyphs from a base
|
|
Packit Service |
e3b512 |
* font, which is useful if you lack those glyphs from a true bold or oblique
|
|
Packit Service |
e3b512 |
* font.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* Individual synthesis features of a @c FtFontFace can be set using
|
|
Packit Service |
e3b512 |
* @c FtFontFace::set_synthesize(), or disabled using
|
|
Packit Service |
e3b512 |
* @c FtFontFace::unset_synthesize(). The currently enabled set of synthesis
|
|
Packit Service |
e3b512 |
* options can be queried with @c FtFontFace::get_synthesize().
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* Note: that when synthesizing glyphs, the font metrics returned will only be
|
|
Packit Service |
e3b512 |
* estimates.
|
|
Packit Service |
e3b512 |
*
|
|
Packit Service |
e3b512 |
* @since 1.12
|
|
Packit Service |
e3b512 |
*/
|
|
Packit Service |
e3b512 |
enum FtSynthesize {
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/// Embolden the glyphs (redraw with a pixel offset)
|
|
Packit Service |
e3b512 |
FT_SYNTHESIZE_BOLT = CAIRO_FT_SYNTHESIZE_BOLD,
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
/// Slant the glyph outline by 12 degrees to the right.
|
|
Packit Service |
e3b512 |
FT_SYNTHESIZE_OBLIQUE = CAIRO_FT_SYNTHESIZE_OBLIQUE
|
|
Packit Service |
e3b512 |
};
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
inline FtSynthesize operator|(FtSynthesize a, FtSynthesize b)
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
return static_cast<FtSynthesize>(static_cast<int>(a) | static_cast<int>(b));
|
|
Packit Service |
e3b512 |
}
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
inline FtSynthesize operator&(FtSynthesize a, FtSynthesize b)
|
|
Packit Service |
e3b512 |
{
|
|
Packit Service |
e3b512 |
return static_cast<FtSynthesize>(static_cast<int>(a) & static_cast<int>(b));
|
|
Packit Service |
e3b512 |
}
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
} // namespace Cairo
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
#endif //__CAIROMM_ENUMS_H
|
|
Packit Service |
e3b512 |
|
|
Packit Service |
e3b512 |
// vim: ts=2 sw=2 et
|