/usr/include/pango-1.0/pango/pango-gravity.h is in libpango1.0-dev 1.40.14-1ubuntu0.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | /* Pango
* pango-gravity.h: Gravity routines
*
* Copyright (C) 2006, 2007 Red Hat Software
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef __PANGO_GRAVITY_H__
#define __PANGO_GRAVITY_H__
#include <glib.h>
G_BEGIN_DECLS
/**
* PangoGravity:
* @PANGO_GRAVITY_SOUTH: Glyphs stand upright (default)
* @PANGO_GRAVITY_EAST: Glyphs are rotated 90 degrees clockwise
* @PANGO_GRAVITY_NORTH: Glyphs are upside-down
* @PANGO_GRAVITY_WEST: Glyphs are rotated 90 degrees counter-clockwise
* @PANGO_GRAVITY_AUTO: Gravity is resolved from the context matrix
*
* The #PangoGravity type represents the orientation of glyphs in a segment
* of text. This is useful when rendering vertical text layouts. In
* those situations, the layout is rotated using a non-identity PangoMatrix,
* and then glyph orientation is controlled using #PangoGravity.
* Not every value in this enumeration makes sense for every usage of
* #PangoGravity; for example, %PANGO_GRAVITY_AUTO only can be passed to
* pango_context_set_base_gravity() and can only be returned by
* pango_context_get_base_gravity().
*
* See also: #PangoGravityHint
*
* Since: 1.16
**/
typedef enum {
PANGO_GRAVITY_SOUTH,
PANGO_GRAVITY_EAST,
PANGO_GRAVITY_NORTH,
PANGO_GRAVITY_WEST,
PANGO_GRAVITY_AUTO
} PangoGravity;
/**
* PangoGravityHint:
* @PANGO_GRAVITY_HINT_NATURAL: scripts will take their natural gravity based
* on the base gravity and the script. This is the default.
* @PANGO_GRAVITY_HINT_STRONG: always use the base gravity set, regardless of
* the script.
* @PANGO_GRAVITY_HINT_LINE: for scripts not in their natural direction (eg.
* Latin in East gravity), choose per-script gravity such that every script
* respects the line progression. This means, Latin and Arabic will take
* opposite gravities and both flow top-to-bottom for example.
*
* The #PangoGravityHint defines how horizontal scripts should behave in a
* vertical context. That is, English excerpt in a vertical paragraph for
* example.
*
* See #PangoGravity.
*
* Since: 1.16
**/
typedef enum {
PANGO_GRAVITY_HINT_NATURAL,
PANGO_GRAVITY_HINT_STRONG,
PANGO_GRAVITY_HINT_LINE
} PangoGravityHint;
/**
* PANGO_GRAVITY_IS_VERTICAL:
* @gravity: the #PangoGravity to check
*
* Whether a #PangoGravity represents vertical writing directions.
*
* Returns: %TRUE if @gravity is %PANGO_GRAVITY_EAST or %PANGO_GRAVITY_WEST,
* %FALSE otherwise.
*
* Since: 1.16
**/
#define PANGO_GRAVITY_IS_VERTICAL(gravity) \
((gravity) == PANGO_GRAVITY_EAST || (gravity) == PANGO_GRAVITY_WEST)
/**
* PANGO_GRAVITY_IS_IMPROPER:
* @gravity: the #PangoGravity to check
*
* Whether a #PangoGravity represents a gravity that results in reversal of text direction.
*
* Returns: %TRUE if @gravity is %PANGO_GRAVITY_WEST or %PANGO_GRAVITY_NORTH,
* %FALSE otherwise.
*
* Since: 1.32
**/
#define PANGO_GRAVITY_IS_IMPROPER(gravity) \
((gravity) == PANGO_GRAVITY_WEST || (gravity) == PANGO_GRAVITY_NORTH)
#include <pango/pango-matrix.h>
#include <pango/pango-script.h>
PANGO_AVAILABLE_IN_1_16
double pango_gravity_to_rotation (PangoGravity gravity) G_GNUC_CONST;
PANGO_AVAILABLE_IN_1_16
PangoGravity pango_gravity_get_for_matrix (const PangoMatrix *matrix) G_GNUC_PURE;
PANGO_AVAILABLE_IN_1_16
PangoGravity pango_gravity_get_for_script (PangoScript script,
PangoGravity base_gravity,
PangoGravityHint hint) G_GNUC_CONST;
PANGO_AVAILABLE_IN_1_26
PangoGravity pango_gravity_get_for_script_and_width
(PangoScript script,
gboolean wide,
PangoGravity base_gravity,
PangoGravityHint hint) G_GNUC_CONST;
G_END_DECLS
#endif /* __PANGO_GRAVITY_H__ */
|