signature PANGO
structure Pango : PANGO
The Pango structure provides facilities for layout and rendering of text with an emphasis on internationalization.
See the overview page for a general introduction to the GTK library binding.
See also: GLib, Atk, Gdk, Gtk, Canvas
import signature PANGO from "x-alice:/lib/gtk/PANGO-sig"
import structure Pango from "x-alice:/lib/gtk/Pango"
signature PANGO =
sig
type object = Core.object
type gtype = Core.gtype
type gvalue = Core.gvalue
type prop = Core.prop
type prop_initializer = Core.prop_initializer
(* begin of CORE-sig.aml *)
datatype event =
EVENT_NOTHING
| EVENT_DELETE
| EVENT_DESTROY
| EVENT_EXPOSE of
{window:object, send:bool,
area_x:int, area_y:int, area_height:int, area_width:int,
region:object, count:int}
| EVENT_MOTION_NOTIFY of
{window:object, send:bool, time:int,
x:real, y:real,
state:int, is_hint:int,
device: object, x_root:real, y_root:real}
| EVENT_BUTTON_PRESS of
{window:object, send:bool, time:int,
x:real, y:real, state:int, button:int,
device: object, x_root:real, y_root:real}
| EVENT_2BUTTON_PRESS of
{window:object, send:bool, time:int,
x:real, y:real, state:int, button:int,
device: object, x_root:real, y_root:real}
| EVENT_3BUTTON_PRESS of
{window:object, send:bool, time:int,
x:real, y:real, state:int, button:int,
device: object, x_root:real, y_root:real}
| EVENT_BUTTON_RELEASE of
{window:object, send:bool, time:int,
x:real, y:real, state:int, button:int,
device: object, x_root:real, y_root:real}
| EVENT_KEY_PRESS of
{window:object, send:bool, time:int, state:int,
keyval:int, length:int, string:string,
hardware_keycode:int, group:int}
| EVENT_KEY_RELEASE of
{window:object, send:bool, time:int, state:int,
keyval:int, length:int, string:string,
hardware_keycode:int, group:int}
| EVENT_ENTER_NOTIFY of
{window:object, send:bool, subwindow:object, time:int,
x:real, y:real, x_root:real, y_root:real,
mode:int, detail:int, focus:bool, state:int}
| EVENT_LEAVE_NOTIFY of
{window:object, send:bool, subwindow:object, time:int,
x:real, y:real, x_root:real, y_root:real,
mode:int, detail:int, focus:bool, state:int}
| EVENT_FOCUS_CHANGE of {window:object, send:bool, hasFocus:bool}
| EVENT_CONFIGURE of
{window:object, send:bool, x:int, y:int,
width:int, height:int}
| EVENT_MAP
| EVENT_UNMAP
| EVENT_PROPERTY_NOTIFY
| EVENT_SELECTION_CLEAR
| EVENT_SELECTION_REQUEST
| EVENT_SELECTION_NOTIFY
| EVENT_PROXIMITY_IN
| EVENT_PROXIMITY_OUT
| EVENT_DRAG_ENTER
| EVENT_DRAG_LEAVE
| EVENT_DRAG_MOTION
| EVENT_DRAG_STATUS
| EVENT_DROP_START
| EVENT_DROP_FINISHED
| EVENT_CLIENT_EVENT
| EVENT_VISIBILITY_NOTIFY of
{window:object, send:bool, state:int}
| EVENT_NO_EXPOSE of {window:object, send:bool}
| EVENT_SCROLL of
{window:object, send:bool, time:int, x:real, y:real,
state:int, direction:int, device:object,
x_root:real, y_root:real}
| EVENT_WINDOW_STATE
| EVENT_SETTING
| EVENT_UNSUPPORTED of object
datatype arg =
BOOL of bool
| INT of int
| REAL of real
| STRING of string
| OBJECT of object
| LIST of object list
| EVENT of event
val NULL : object
val TRUE : int
val FALSE : int
type callback_function = object * arg list -> unit
val signalConnect : object * string * callback_function -> int
val signalConnectAfter : object * string * callback_function -> int
val signalDisconnect : object * int -> unit
val signalHandlerBlock : object * int -> unit
val signalHandlerUnblock : object * int -> unit
val latin1ToUtf8 : string -> string
val utf8ToLatin1 : string -> string
val lock : Lock.lock
structure Types :
sig
val string : gtype
val int : gtype
val float : gtype
val double : gtype
val pixbuf : gtype
end
structure Value :
sig
(* exception TypeError *)
val undefined : unit -> gvalue
val int : int -> gvalue
val enum : int * gtype -> gvalue
val string : string -> gvalue
val float : real -> gvalue
val double : real -> gvalue
val bool : bool -> gvalue
val object : object -> gvalue
val toInt : gvalue -> int
val toString : gvalue -> string
val toReal : gvalue -> real
val toBool : gvalue -> bool
val toObject : gvalue -> object
val getType : gvalue -> gtype
end
structure Prop :
sig
val setL : object -> prop_initializer list -> unit
val set : 'a prop -> object * 'a -> unit
val get : 'a prop -> object -> 'a
val rawSet : object * string * gvalue -> unit
val rawGet : object * string -> gvalue
val name : 'a prop -> string
val prop : 'a prop * 'a -> prop_initializer
(* creation *)
val newProp : string * ('a -> gvalue) * (gvalue -> 'a) -> 'a prop
end
(* end of CORE-sig.aml *)
structure EllipsizeMode :
sig
datatype t =
END
| MIDDLE
| NONE
| START
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure Direction :
sig
datatype t =
LTR
| RTL
| TTB_LTR
| TTB_RTL
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure TabAlign :
sig
datatype t =
LEFT
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure WrapMode :
sig
datatype t =
CHAR
| WORD
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure Alignment :
sig
datatype t =
CENTER
| LEFT
| RIGHT
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure FontMask :
sig
datatype flag =
FAMILY
| SIZE
| STRETCH
| STYLE
| VARIANT
| WEIGHT
type t = flag list
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure Stretch :
sig
datatype t =
CONDENSED
| EXPANDED
| EXTRA_CONDENSED
| EXTRA_EXPANDED
| NORMAL
| SEMI_CONDENSED
| SEMI_EXPANDED
| ULTRA_CONDENSED
| ULTRA_EXPANDED
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure Weight :
sig
datatype t =
BOLD
| HEAVY
| LIGHT
| NORMAL
| ULTRABOLD
| ULTRALIGHT
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure Variant :
sig
datatype t =
NORMAL
| SMALL_CAPS
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure Style :
sig
datatype t =
ITALIC
| NORMAL
| OBLIQUE
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure CoverageLevel :
sig
datatype t =
APPROXIMATE
| EXACT
| FALLBACK
| NONE
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure Underline :
sig
datatype t =
DOUBLE
| LOW
| NONE
| SINGLE
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure AttrType :
sig
datatype t =
BACKGROUND
| FAMILY
| FONT_DESC
| FOREGROUND
| INVALID
| LANGUAGE
| RISE
| SCALE
| SHAPE
| SIZE
| STRETCH
| STRIKETHROUGH
| STYLE
| UNDERLINE
| VARIANT
| WEIGHT
val getType : unit -> gtype
val toInt : t -> int
val fromInt : int -> t
end
structure TabArray :
sig
(* constructors *)
val newWithPositions : int * bool * TabAlign.t * int -> object
val new : int * bool -> object
(* methods *)
val getPositionsInPixels : object -> bool
val getTab : object * int * TabAlign.t * int -> TabAlign.t * int
val setTab : object * int * TabAlign.t * int -> unit
val resize : object * int -> unit
val getSize : object -> int
val free : object -> unit
val copy : object -> object
val getType : unit -> gtype
end
structure LayoutIter :
sig
(* constructors *)
(* methods *)
val getBaseline : object -> int
val getLayoutExtents : object * object * object -> unit
val getLineYrange : object * int * int -> int * int
val getLineExtents : object * object * object -> unit
val getRunExtents : object * object * object -> unit
val getClusterExtents : object * object * object -> unit
val getCharExtents : object * object -> unit
val nextLine : object -> bool
val nextRun : object -> bool
val nextCluster : object -> bool
val nextChar : object -> bool
val atLastLine : object -> bool
val getIndex : object -> int
val free : object -> unit
val getType : unit -> gtype
end
structure Language :
sig
(* constructors *)
val fromString : string -> object
(* methods *)
val toString : object -> string
val matches : object * string -> bool
end
structure GlyphString :
sig
(* constructors *)
val new : unit -> object
(* methods *)
val getLogicalWidths : object * string * int * int * int -> int
val extentsRange : object * int * int * object * object * object -> unit
val extents : object * object * object * object -> unit
val free : object -> unit
val copy : object -> object
val getType : unit -> gtype
val setSize : object * int -> unit
val getFieldNumGlyphs : object -> int
val setFieldNumGlyphs : object * int -> unit
val getFieldLogClusters : object -> object
val setFieldLogClusters : object * int -> int
val getFieldGlyphs : object -> object
val setFieldGlyphs : object * object -> unit
end
structure FontMetrics :
sig
(* constructors *)
(* methods *)
val getApproximateDigitWidth : object -> int
val getApproximateCharWidth : object -> int
val getDescent : object -> int
val getAscent : object -> int
val unref : object -> unit
val reference : object -> object
val getType : unit -> gtype
end
structure FontDescription :
sig
(* constructors *)
val fromString : string -> object
val new : unit -> object
(* methods *)
val toFilename : object -> string
val toString : object -> string
val betterMatch : object * object * object -> bool
val mergeStatic : object * object * bool -> unit
val merge : object * object * bool -> unit
val unsetFields : object * FontMask.t -> unit
val getSetFields : object -> FontMask.t
val getSize : object -> int
val setSize : object * int -> unit
val getStretch : object -> Stretch.t
val setStretch : object * Stretch.t -> unit
val getWeight : object -> Weight.t
val setWeight : object * Weight.t -> unit
val getVariant : object -> Variant.t
val setVariant : object * Variant.t -> unit
val getStyle : object -> Style.t
val setStyle : object * Style.t -> unit
val getFamily : object -> string
val setFamilyStatic : object * string -> unit
val setFamily : object * string -> unit
val free : object -> unit
val equal : object * object -> bool
val hash : object -> int
val copyStatic : object -> object
val copy : object -> object
end
structure Color :
sig
(* constructors *)
val new : { blue : int, green : int, red : int } -> object
(* methods *)
val parse : object * string -> bool
val free : object -> unit
val copy : object -> object
val getType : unit -> gtype
val getFieldRed : object -> int
val setFieldRed : object * int -> unit
val getFieldGreen : object -> int
val setFieldGreen : object * int -> unit
val getFieldBlue : object -> int
val setFieldBlue : object * int -> unit
end
structure Attribute :
sig
(* constructors *)
(* methods *)
val equal : object * object -> bool
val destroy : object -> unit
val copy : object -> object
end
structure LayoutLine :
sig
(* constructors *)
val new : { is_paragraph_start : int, length : int, resolved_dir : int, runs : object list, start_index : int } -> object
(* methods *)
val getPixelExtents : object * object * object -> unit
val getExtents : object * object * object -> unit
val indexToX : object * int * bool * int -> int
val xToIndex : object * int * int * int -> bool * int * int
val unref : object -> unit
val reference : object -> unit
val getFieldStartIndex : object -> int
val setFieldStartIndex : object * int -> unit
val getFieldRuns : object -> object list
val setFieldRuns : object * (object list) -> unit
val getFieldResolvedDir : object -> int
val setFieldResolvedDir : object * int -> unit
val getFieldLength : object -> int
val setFieldLength : object * int -> unit
val getFieldIsParagraphStart : object -> int
val setFieldIsParagraphStart : object * int -> unit
end
structure Rectangle :
sig
(* constructors *)
val new : { height : int, width : int, x : int, y : int } -> object
(* methods *)
val getFieldY : object -> int
val setFieldY : object * int -> unit
val getFieldX : object -> int
val setFieldX : object * int -> unit
val getFieldWidth : object -> int
val setFieldWidth : object * int -> unit
val getFieldHeight : object -> int
val setFieldHeight : object * int -> unit
end
structure Layout :
sig
(* constructors *)
val new : object -> object
(* methods *)
val getIter : object -> object
val getLines : object -> object list
val getLine : object * int -> object
val getLineCount : object -> int
val getPixelSize : object * int * int -> int * int
val getSize : object * int * int -> int * int
val getPixelExtents : object * object * object -> unit
val getExtents : object * object * object -> unit
val xyToIndex : object * int * int * int * int -> bool * int * int
val moveCursorVisually : object * bool * int * int * int * int * int -> int * int
val getCursorPos : object * int * object * object -> unit
val indexToPos : object * int * object -> unit
val contextChanged : object -> unit
val getSingleParagraphMode : object -> bool
val setSingleParagraphMode : object * bool -> unit
val getTabs : object -> object
val setTabs : object * object -> unit
val getAlignment : object -> Alignment.t
val setAlignment : object * Alignment.t -> unit
val getAutoDir : object -> bool
val setAutoDir : object * bool -> unit
val getJustify : object -> bool
val setJustify : object * bool -> unit
val getSpacing : object -> int
val setSpacing : object * int -> unit
val getIndent : object -> int
val setIndent : object * int -> unit
val getWrap : object -> WrapMode.t
val setWrap : object * WrapMode.t -> unit
val getWidth : object -> int
val setWidth : object * int -> unit
val setFontDescription : object * object -> unit
val setMarkup : object * string * int -> unit
val getText : object -> string
val setText : object * string * int -> unit
val getContext : object -> object
val copy : object -> object
val getType : unit -> gtype
(* properties *)
end
structure FontsetSimple :
sig
(* constructors *)
(* methods *)
(* properties *)
end
structure Fontset :
sig
(* constructors *)
(* methods *)
val getMetrics : object -> object
val getFont : object * int -> object
(* properties *)
end
structure FontMap :
sig
(* constructors *)
(* methods *)
val loadFontset : object * object * object * object -> object
val loadFont : object * object * object -> object
(* properties *)
end
structure FontFamily :
sig
(* constructors *)
(* methods *)
val isMonospace : object -> bool
val getName : object -> string
val getType : unit -> gtype
(* properties *)
end
structure FontFace :
sig
(* constructors *)
(* methods *)
val getFaceName : object -> string
val describe : object -> object
val getType : unit -> gtype
(* properties *)
end
structure Font :
sig
(* constructors *)
(* methods *)
val getMetrics : object * object -> object
val describe : object -> object
val getType : unit -> gtype
val descriptionsFree : (object vector) -> unit
(* properties *)
end
structure Context :
sig
(* constructors *)
(* methods *)
val getBaseDir : object -> Direction.t
val setBaseDir : object * Direction.t -> unit
val setLanguage : object * object -> unit
val getLanguage : object -> object
val getFontDescription : object -> object
val setFontDescription : object * object -> unit
val getMetrics : object * object * object -> object
val loadFontset : object * object * object -> object
val loadFont : object * object -> object
(* properties *)
end
structure Parse:
sig
val markup : string * int * int * object * (string vector) * object -> bool
end
structure Attr:
sig
val listGetType : unit -> gtype
val fallbackNew : bool -> object
val scaleNew : real -> object
val shapeNew : object * object -> object
val riseNew : int -> object
val strikethroughNew : bool -> object
val underlineNew : Underline.t -> object
val fontDescNew : object -> object
val stretchNew : Stretch.t -> object
val variantNew : Variant.t -> object
val weightNew : Weight.t -> object
val styleNew : Style.t -> object
val sizeNew : int -> object
val backgroundNew : int * int * int -> object
val foregroundNew : int * int * int -> object
val familyNew : string -> object
val languageNew : object -> object
end
structure Find:
sig
val paragraphBoundary : string * int * int * int -> int * int
end
structure Reorder:
sig
val items : (object list) -> object list
end
end
We do not give a full documentation here. We rather recommend
to read the Porting Guide. It
gives a comprehensive overview on what has been made available.