📄 pango-attributes.h
字号:
/* Pango * pango-attributes.h: Attributed text * * Copyright (C) 2000 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_ATTRIBUTES_H__#define __PANGO_ATTRIBUTES_H__#include <pango/pango-font.h>#include <glib-object.h>G_BEGIN_DECLS/* PangoColor */typedef struct _PangoColor PangoColor;struct _PangoColor{ guint16 red; guint16 green; guint16 blue;};#define PANGO_TYPE_COLOR pango_color_get_type ()GType pango_color_get_type (void) G_GNUC_CONST;PangoColor *pango_color_copy (const PangoColor *src);void pango_color_free (PangoColor *color);gboolean pango_color_parse (PangoColor *color, const char *spec);gchar *pango_color_to_string(const PangoColor *color);/* Attributes */typedef struct _PangoAttribute PangoAttribute;typedef struct _PangoAttrClass PangoAttrClass;typedef struct _PangoAttrString PangoAttrString;typedef struct _PangoAttrLanguage PangoAttrLanguage;typedef struct _PangoAttrInt PangoAttrInt;typedef struct _PangoAttrSize PangoAttrSize;typedef struct _PangoAttrFloat PangoAttrFloat;typedef struct _PangoAttrColor PangoAttrColor;typedef struct _PangoAttrFontDesc PangoAttrFontDesc;typedef struct _PangoAttrShape PangoAttrShape;#define PANGO_TYPE_ATTR_LIST pango_attr_list_get_type ()typedef struct _PangoAttrList PangoAttrList;typedef struct _PangoAttrIterator PangoAttrIterator;typedef enum{ PANGO_ATTR_INVALID, /* 0 is an invalid attribute type */ PANGO_ATTR_LANGUAGE, /* PangoAttrLanguage */ PANGO_ATTR_FAMILY, /* PangoAttrString */ PANGO_ATTR_STYLE, /* PangoAttrInt */ PANGO_ATTR_WEIGHT, /* PangoAttrInt */ PANGO_ATTR_VARIANT, /* PangoAttrInt */ PANGO_ATTR_STRETCH, /* PangoAttrInt */ PANGO_ATTR_SIZE, /* PangoAttrSize */ PANGO_ATTR_FONT_DESC, /* PangoAttrFontDesc */ PANGO_ATTR_FOREGROUND, /* PangoAttrColor */ PANGO_ATTR_BACKGROUND, /* PangoAttrColor */ PANGO_ATTR_UNDERLINE, /* PangoAttrInt */ PANGO_ATTR_STRIKETHROUGH, /* PangoAttrInt */ PANGO_ATTR_RISE, /* PangoAttrInt */ PANGO_ATTR_SHAPE, /* PangoAttrShape */ PANGO_ATTR_SCALE, /* PangoAttrFloat */ PANGO_ATTR_FALLBACK, /* PangoAttrInt */ PANGO_ATTR_LETTER_SPACING, /* PangoAttrInt */ PANGO_ATTR_UNDERLINE_COLOR, /* PangoAttrColor */ PANGO_ATTR_STRIKETHROUGH_COLOR,/* PangoAttrColor */ PANGO_ATTR_ABSOLUTE_SIZE, /* PangoAttrSize */ PANGO_ATTR_GRAVITY, /* PangoAttrInt */ PANGO_ATTR_GRAVITY_HINT /* PangoAttrInt */} PangoAttrType;typedef enum { PANGO_UNDERLINE_NONE, PANGO_UNDERLINE_SINGLE, PANGO_UNDERLINE_DOUBLE, PANGO_UNDERLINE_LOW, PANGO_UNDERLINE_ERROR} PangoUnderline;struct _PangoAttribute{ const PangoAttrClass *klass; guint start_index; /* in bytes */ guint end_index; /* in bytes. The character at this index is not included */};typedef gboolean (*PangoAttrFilterFunc) (PangoAttribute *attribute, gpointer data);typedef gpointer (*PangoAttrDataCopyFunc) (gconstpointer data);struct _PangoAttrClass{ /*< public >*/ PangoAttrType type; PangoAttribute * (*copy) (const PangoAttribute *attr); void (*destroy) (PangoAttribute *attr); gboolean (*equal) (const PangoAttribute *attr1, const PangoAttribute *attr2);};struct _PangoAttrString{ PangoAttribute attr; char *value;};struct _PangoAttrLanguage{ PangoAttribute attr; PangoLanguage *value;};struct _PangoAttrInt{ PangoAttribute attr; int value;};struct _PangoAttrFloat{ PangoAttribute attr; double value;};struct _PangoAttrColor{ PangoAttribute attr; PangoColor color;};struct _PangoAttrSize{ PangoAttribute attr; int size; guint absolute : 1;};struct _PangoAttrShape{ PangoAttribute attr; PangoRectangle ink_rect; PangoRectangle logical_rect; gpointer data; PangoAttrDataCopyFunc copy_func; GDestroyNotify destroy_func;};struct _PangoAttrFontDesc{ PangoAttribute attr; PangoFontDescription *desc;};PangoAttrType pango_attr_type_register (const gchar *name);PangoAttribute * pango_attribute_copy (const PangoAttribute *attr);void pango_attribute_destroy (PangoAttribute *attr);gboolean pango_attribute_equal (const PangoAttribute *attr1, const PangoAttribute *attr2);PangoAttribute *pango_attr_language_new (PangoLanguage *language);PangoAttribute *pango_attr_family_new (const char *family);PangoAttribute *pango_attr_foreground_new (guint16 red, guint16 green, guint16 blue);PangoAttribute *pango_attr_background_new (guint16 red, guint16 green, guint16 blue);PangoAttribute *pango_attr_size_new (int size);PangoAttribute *pango_attr_size_new_absolute (int size);PangoAttribute *pango_attr_style_new (PangoStyle style);PangoAttribute *pango_attr_weight_new (PangoWeight weight);PangoAttribute *pango_attr_variant_new (PangoVariant variant);PangoAttribute *pango_attr_stretch_new (PangoStretch stretch);PangoAttribute *pango_attr_font_desc_new (const PangoFontDescription *desc);PangoAttribute *pango_attr_underline_new (PangoUnderline underline);PangoAttribute *pango_attr_underline_color_new (guint16 red, guint16 green, guint16 blue);PangoAttribute *pango_attr_strikethrough_new (gboolean strikethrough);PangoAttribute *pango_attr_strikethrough_color_new (guint16 red, guint16 green, guint16 blue);PangoAttribute *pango_attr_rise_new (int rise);PangoAttribute *pango_attr_scale_new (double scale_factor);PangoAttribute *pango_attr_fallback_new (gboolean enable_fallback);PangoAttribute *pango_attr_letter_spacing_new (int letter_spacing);PangoAttribute *pango_attr_shape_new (const PangoRectangle *ink_rect, const PangoRectangle *logical_rect);PangoAttribute *pango_attr_shape_new_with_data (const PangoRectangle *ink_rect, const PangoRectangle *logical_rect, gpointer data, PangoAttrDataCopyFunc copy_func, GDestroyNotify destroy_func);PangoAttribute *pango_attr_gravity_new (PangoGravity gravity);PangoAttribute *pango_attr_gravity_hint_new (PangoGravityHint hint);GType pango_attr_list_get_type (void) G_GNUC_CONST;PangoAttrList * pango_attr_list_new (void);PangoAttrList * pango_attr_list_ref (PangoAttrList *list);void pango_attr_list_unref (PangoAttrList *list);PangoAttrList * pango_attr_list_copy (PangoAttrList *list);void pango_attr_list_insert (PangoAttrList *list, PangoAttribute *attr);void pango_attr_list_insert_before (PangoAttrList *list, PangoAttribute *attr);void pango_attr_list_change (PangoAttrList *list, PangoAttribute *attr);void pango_attr_list_splice (PangoAttrList *list, PangoAttrList *other, gint pos, gint len);PangoAttrList *pango_attr_list_filter (PangoAttrList *list, PangoAttrFilterFunc func, gpointer data);PangoAttrIterator *pango_attr_list_get_iterator (PangoAttrList *list);void pango_attr_iterator_range (PangoAttrIterator *iterator, gint *start, gint *end);gboolean pango_attr_iterator_next (PangoAttrIterator *iterator);PangoAttrIterator *pango_attr_iterator_copy (PangoAttrIterator *iterator);void pango_attr_iterator_destroy (PangoAttrIterator *iterator);PangoAttribute * pango_attr_iterator_get (PangoAttrIterator *iterator, PangoAttrType type);void pango_attr_iterator_get_font (PangoAttrIterator *iterator, PangoFontDescription *desc, PangoLanguage **language, GSList **extra_attrs);GSList * pango_attr_iterator_get_attrs (PangoAttrIterator *iterator);gboolean pango_parse_markup (const char *markup_text, int length, gunichar accel_marker, PangoAttrList **attr_list, char **text, gunichar *accel_char, GError **error);G_END_DECLS#endif /* __PANGO_ATTRIBUTES_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -