Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
pango-gravity.h File Reference
#include <glib.h>
#include <pango/pango-matrix.h>
#include <pango/pango-script.h>

Go to the source code of this file.

Macros

#define PANGO_GRAVITY_IS_VERTICAL(gravity)    ((gravity) == PANGO_GRAVITY_EAST || (gravity) == PANGO_GRAVITY_WEST)
 
#define PANGO_GRAVITY_IS_IMPROPER(gravity)    ((gravity) == PANGO_GRAVITY_WEST || (gravity) == PANGO_GRAVITY_NORTH)
 

Enumerations

enum  PangoGravity {
  PANGO_GRAVITY_SOUTH , PANGO_GRAVITY_EAST , PANGO_GRAVITY_NORTH , PANGO_GRAVITY_WEST ,
  PANGO_GRAVITY_AUTO
}
 
enum  PangoGravityHint { PANGO_GRAVITY_HINT_NATURAL , PANGO_GRAVITY_HINT_STRONG , PANGO_GRAVITY_HINT_LINE }
 

Functions

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
 

Macro Definition Documentation

◆ PANGO_GRAVITY_IS_IMPROPER

#define PANGO_GRAVITY_IS_IMPROPER ( gravity)     ((gravity) == PANGO_GRAVITY_WEST || (gravity) == PANGO_GRAVITY_NORTH)

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

Definition at line 113 of file pango-gravity.h.

113#define PANGO_GRAVITY_IS_IMPROPER(gravity) \
114 ((gravity) == PANGO_GRAVITY_WEST || (gravity) == PANGO_GRAVITY_NORTH)

◆ PANGO_GRAVITY_IS_VERTICAL

#define PANGO_GRAVITY_IS_VERTICAL ( gravity)     ((gravity) == PANGO_GRAVITY_EAST || (gravity) == PANGO_GRAVITY_WEST)

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

Definition at line 98 of file pango-gravity.h.

98#define PANGO_GRAVITY_IS_VERTICAL(gravity) \
99 ((gravity) == PANGO_GRAVITY_EAST || (gravity) == PANGO_GRAVITY_WEST)

Enumeration Type Documentation

◆ PangoGravity

PangoGravity: @PANGO_GRAVITY_SOUTH: Glyphs stand upright (default) @PANGO_GRAVITY_EAST: Glyphs are rotated 90 degrees counter-clockwise. @PANGO_GRAVITY_NORTH: Glyphs are upside-down. @PANGO_GRAVITY_WEST: Glyphs are rotated 90 degrees clockwise. @PANGO_GRAVITY_AUTO: Gravity is resolved from the context matrix

PangoGravity 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 [struc.nosp@m.t@Pa.nosp@m.ngo.M.nosp@m.atri.nosp@m.x], 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 [metho.nosp@m.d@Pa.nosp@m.ngo.C.nosp@m.onte.nosp@m.xt.se.nosp@m.t_ba.nosp@m.se_gr.nosp@m.avit.nosp@m.y] and can only be returned by [metho.nosp@m.d@Pa.nosp@m.ngo.C.nosp@m.onte.nosp@m.xt.ge.nosp@m.t_ba.nosp@m.se_gr.nosp@m.avit.nosp@m.y].

See also: [enum@.nosp@m.Pang.nosp@m.o.Gra.nosp@m.vity.nosp@m.Hint]

Since: 1.16

Enumerator
PANGO_GRAVITY_SOUTH 
PANGO_GRAVITY_EAST 
PANGO_GRAVITY_NORTH 
PANGO_GRAVITY_WEST 
PANGO_GRAVITY_AUTO 

Definition at line 53 of file pango-gravity.h.

53 {
PangoGravity
@ PANGO_GRAVITY_WEST
@ PANGO_GRAVITY_AUTO
@ PANGO_GRAVITY_EAST
@ PANGO_GRAVITY_SOUTH
@ PANGO_GRAVITY_NORTH

◆ PangoGravityHint

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.

PangoGravityHint defines how horizontal scripts should behave in a vertical context.

That is, English excerpts in a vertical paragraph for example.

See also [enum@.nosp@m.Pang.nosp@m.o.Gra.nosp@m.vity]

Since: 1.16

Enumerator
PANGO_GRAVITY_HINT_NATURAL 
PANGO_GRAVITY_HINT_STRONG 
PANGO_GRAVITY_HINT_LINE 

Definition at line 81 of file pango-gravity.h.

81 {
PangoGravityHint
@ PANGO_GRAVITY_HINT_STRONG
@ PANGO_GRAVITY_HINT_LINE
@ PANGO_GRAVITY_HINT_NATURAL

Function Documentation

◆ pango_gravity_get_for_matrix()

PANGO_AVAILABLE_IN_1_16 PangoGravity pango_gravity_get_for_matrix ( const PangoMatrix * matrix)

◆ pango_gravity_get_for_script()

PANGO_AVAILABLE_IN_1_16 PangoGravity pango_gravity_get_for_script ( PangoScript script,
PangoGravity base_gravity,
PangoGravityHint hint )

◆ pango_gravity_get_for_script_and_width()

PANGO_AVAILABLE_IN_1_26 PangoGravity pango_gravity_get_for_script_and_width ( PangoScript script,
gboolean wide,
PangoGravity base_gravity,
PangoGravityHint hint )

◆ pango_gravity_to_rotation()

PANGO_AVAILABLE_IN_1_16 double pango_gravity_to_rotation ( PangoGravity gravity)